[VerletClothSolver] Self-Collision

Hi guys,

i have lately been working on a little project to learn GPGPU programming and C++. Therefore i made a little Verlet Cloth Solver Plugin for Maya.
You can see how the Python Blockout of it looked a few months ago here if you like.

Since then i successfully implemented it serially on the CPU and paralell on the GPU. But one feature that is kind of critical to have before i can call
it finished for now would be some decent self collision. I looked for papers online, but most of them were a little science of their own. Maybe there is some commonly
used way of doing it amongst game programmers, i just dont know? Do you have any ideas?


Just to let you know what i discussed with some buddies here:

  1. For each point check the distance to the closest face
  2. Check if it was on an opposite normal direction the frame before
  3. If so, project it back to the position on this surface

…would that work? (I implemented convex collision with a similiar method, and it is very sketchy and unstable for some reason…)

cheers,
Timm