struct Vertex { vec3 position; vec2 uv; uvec3 normal; vec3 velocity; vec3 prevPosition; float inverseMass; }; struct Face { uint a; uint b; uint c; }; struct Edge { uint a; uint b; float restLength; float compliance; }; struct Triangle { uint a; uint b; uint c; float restArea; float compliance; }; struct Tetrahedron { uint a; uint b; uint c; uint d; float restVolume; float compliance; };