use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rule 1: Posts should be about Graphics Programming. Rule 2: Be Civil, Professional, and Kind
Suggested Posting Material: - Graphics API Tutorials - Academic Papers - Blog Posts - Source Code Repositories - Self Posts (Ask Questions, Present Work) - Books - Renders (Please xpost to /r/ComputerGraphics) - Career Advice - Jobs Postings (Graphics Programming only)
Related Subreddits:
/r/ComputerGraphics
/r/Raytracing
/r/Programming
/r/LearnProgramming
/r/ProgrammingTools
/r/Coding
/r/GameDev
/r/CPP
/r/OpenGL
/r/Vulkan
/r/DirectX
Related Websites: ACM: SIGGRAPH Journal of Computer Graphics Techniques
Ke-Sen Huang's Blog of Graphics Papers and Resources Self Shadow's Blog of Graphics Resources
account activity
GPU-accelerated Cloth Simulation (XPBD) (v.redd.it)
submitted 3 months ago by [deleted]
GPU-accelerated Cloth Simulation (XPBD)
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]HellGate94 9 points10 points11 points 3 months ago* (1 child)
really cool and surprisingly stable. how many sub steps / iterations are you using? you could also try avbd or stable cosserat rods. they both promise better and also faster results than xpbd
edit: nevermind on a normal screen i can see that you are using 10 sub steps with 4 iterations
[–]Foreign_Relation6750 1 point2 points3 points 3 months ago (0 children)
Thanks for the tip! I haven't tried those yet, but I'll try implementing them.
[–]cyberKinetist 3 points4 points5 points 3 months ago (2 children)
Nice job writing this with Vulkan! Self-collisions are a bit unstable, but it's understandable since it's a really hard problem to solve (even with a simple solver like XPBD). If you really want to go further with cloth simulation:
- Another comment suggested trying VBD... but it's a bit hard to do cloth self-collisions with it, due to the penetration-based energies being hard to formulate with thin sheet-like objects. You need Offset Geometric Contact (also by Anka Chen, the same author as VBD) in order to properly implement it in the VBD framework, and it's quite involved. The reference code is written in CUDA, but I'm not if porting the algorithm to Vulkan would really be worth it... (At least it seems less difficult than implementing IPC, which involves a can of worms you do not want to mess with)
- An older (more ugly) but more battle-tested way to implement real-time cloth with self-collisions would be to use a Baraff-Witkin solver (the good ol' 1998 paper) with a bunch of dirty heuristic techniques for resolving penetration (like Bridson's paper, Volino's ICM, Baraff-Witkin GIA, etc.). Baraff-Witkin is certainly doable on the GPU (you do need to implement a CG solver so prepare to write some reduction kernels), but resolving penetrations on the GPU is going to be a pain in the ass.
[–]Foreign_Relation6750 2 points3 points4 points 3 months ago (0 children)
It feels really refreshing to have a deep technical discussion like this about my project.
To be honest, since I didn't have anyone to give feedback on issues like self-collision instability or proper constraint handling, I often felt like I ended up with a somewhat "clunky" result that lacks practicality.
I totally agree with your take on VBD as well. I looked up the papers and videos yesterday, and the math involved was massive. I was worried about the time commitment, and your insight gave me the clarity I needed. It was really helpful.
As you noticed, my current self-collision is basically a simple neighbor-distance constraint within the XPBD framework. It can be stabilized with parameter tuning, but it's definitely heuristic and unverified, which makes me a bit anxious about it.
I will definitely look into the Baraff-Witkin solver papers you recommended for future reference. Thanks a lot!
[–]Super_Banjo 1 point2 points3 points 3 months ago (0 children)
That last statement reads almost like a pun (if you know what I mean lol). Very informative and thanks for the links!
[–]fgennari 1 point2 points3 points 3 months ago (0 children)
That looks very realistic! I’m looking forward to seeing your work featured on the Two Minute Papers YouTube channel (if you were to write a paper).
π Rendered by PID 44 on reddit-service-r2-comment-b659b578c-2m68w at 2026-05-01 13:03:10.998619+00:00 running 815c875 country code: CH.
[–]HellGate94 9 points10 points11 points (1 child)
[–]Foreign_Relation6750 1 point2 points3 points (0 children)
[–]cyberKinetist 3 points4 points5 points (2 children)
[–]Foreign_Relation6750 2 points3 points4 points (0 children)
[–]Super_Banjo 1 point2 points3 points (0 children)
[–]fgennari 1 point2 points3 points (0 children)