Projects

Projects

Here are my personal projects focused on Graphics Engineering and Physics Simulation. I enjoy exploring various graphics techniques and physics simulations using low-level APIs (DirectX 12, Vulkan).


🧵 XPBD Cloth Simulation (Vulkan)

Role: Solo DeveloperTech: C++, Vulkan, GLSL, Compute ShaderPeriod: 2025.10 ~ 2025.12

XPBD Cloth Simulation

💡 Project Overview

“PhysixStudio” is a GPU-based cloth simulation engine built from scratch using Vulkan. It implements the XPBD (Extended Position Based Dynamics) algorithm to simulate realistic cloth behavior with high stiffness stability.

🔧 Key Features

  • GPU-Driven Hybrid Solver: Implemented a Jacobi-style accumulation scheme using InterlockedAdd (AtomicAdd) to maximize GPU parallelism, while retaining Gauss-Seidel properties for specific constraints.
  • Robust Stability Control: Solved the “Jittering Cloth” instability (Zero-Energy Modes) by implementing Dot-product based Shear Constraints and Small-steps XPBD to handle high stiffness without exploding.
  • XPBD Implementation: Overcame the stiffness limitations of traditional PBD by introducing compliance (inverse stiffness), allowing for physically plausible material behavior independent of iteration count.
  • Explicit Synchronization: Manually managed Vulkan Compute-Graphics Queue barriers and memory barriers to ensure correct execution order between simulation steps and rendering.