Personal project, graphics & GPU engineering / 2026
Weave Runtime
A native C++20 digital-human workbench connecting MetaHuman DNA, facial evaluation, Vulkan GPU skinning, CUDA shared memory and custom GPU cloth. Character data comes from Unreal; the application renders outside it.
The problem
Character evaluation, facial DNA, GPU deformation and cloth need consistent coordinate spaces and execution order. CUDA and Vulkan must exchange data without races, and the result needs numerical verification as well as visual inspection.
The approach
An isolated Unreal exporter prepares Ada's character data. CPU OpenRigLogic evaluates facial joints; Vulkan compute handles skinning and custom Jacobi PBD cloth. UUID-matched CUDA and Vulkan devices exchange a force field through Win32 external memory and binary semaphores. Fence-controlled per-frame resources and explicit compute-to-render dependencies make ownership inspectable.
The result
Recorded September 27, 2026: five benchmark scenarios passed numerical GPU verification, three CTest tests passed including walk kinematics, and a separate 600-frame synchronization-validation run reported zero Vulkan errors. The fitted-garment build measured 1.210 ms p95 application frame interval on an RTX 4080 SUPER / Ryzen 7 9800X3D, Windows Release, at a 1000 x 1000 scene target. This uncapped fixed-tick benchmark is not input-to-display latency or a production performance guarantee.
Inside the project
Fitted garment and coordinated motion
Measured Ada waist contour, a four-row pinned waistband, tucked shirt geometry and stitched band shading. Procedural walk-in-place uses two-bone leg IK, alternating stance/swing targets, foot clearance and opposing arm motion, without root travel.
Character evaluation
93,483 skinned vertices, 1,190 merged skin joints and actual DNA/OpenRigLogic facial joint evaluation, with blink, jaw and smile controls.
Shared GPU force field
CUDA writes forces into imported Vulkan memory. CPU facial evaluation and pose uploads remain; this is not an entirely zero-transfer character pipeline.
Custom cloth solver
6,144 particles, three substeps and 16 iterations by default, with stretch, shear, bending, tethers, floor and capsule collision.
Inspectable rendering
PBR shading, skin textures, textile detail, hair cards, orbit controls and GPU readback verification. First 60 benchmark frames discarded; GPU timestamps exclude CUDA, CPU RigLogic, UI and presentation.
Built with
- C++20
- Vulkan
- CUDA
- GPU cloth
- OpenRigLogic
- MetaHuman DNA
- GLSL
- Dear ImGui
Personal portfolio demonstration with AI-assisted implementation. Ada is an existing MetaHuman asset; OpenRigLogic and other libraries are credited dependencies. Bootstrap code adapts Dear ImGui's MIT Vulkan example. Custom PBD, not PhysX or NvCloth. No live tracking, self-collision, continuous collision detection, rendered corrective blend shapes, full MetaHuman shader parity or automatic distance-based LOD switching.