3
// Node indices for each link
11
__global float * g_vertexInverseMasses,
12
__global float4 * g_vertexPositions,
13
__global float4 * g_vertexVelocity,
14
__global float4 * g_vertexPreviousPositions,
15
__global float4 * g_vertexForceAccumulator GUID_ARG)
17
int nodeID = get_global_id(0);
18
if( nodeID < numNodes )
20
float4 position = g_vertexPositions[nodeID];
21
float4 velocity = g_vertexVelocity[nodeID];
22
float4 force = g_vertexForceAccumulator[nodeID];
23
float inverseMass = g_vertexInverseMasses[nodeID];
25
g_vertexPreviousPositions[nodeID] = position;
26
velocity += force * inverseMass * solverdt;
27
position += velocity * solverdt;
29
g_vertexForceAccumulator[nodeID] = (float4)(0.f, 0.f, 0.f, 0.0f);
30
g_vertexPositions[nodeID] = position;
31
g_vertexVelocity[nodeID] = velocity;
b'\\ No newline at end of file'