4
updateVelocitiesFromPositionsWithoutVelocitiesKernel(
7
__global float4 * g_vertexPositions,
8
__global float4 * g_vertexPreviousPositions,
9
__global int * g_vertexClothIndices,
10
__global float * g_clothDampingFactor,
11
__global float4 * g_vertexVelocities,
12
__global float4 * g_vertexForces GUID_ARG)
15
int nodeID = get_global_id(0);
16
if( nodeID < numNodes )
18
float4 position = g_vertexPositions[nodeID];
19
float4 previousPosition = g_vertexPreviousPositions[nodeID];
20
float4 velocity = g_vertexVelocities[nodeID];
21
int clothIndex = g_vertexClothIndices[nodeID];
22
float dampingFactor = g_clothDampingFactor[clothIndex];
23
float velocityCoefficient = (1.f - dampingFactor);
25
float4 difference = position - previousPosition;
27
velocity = difference*velocityCoefficient*isolverdt;
29
g_vertexVelocities[nodeID] = velocity;
30
g_vertexForces[nodeID] = (float4)(0.f, 0.f, 0.f, 0.f);
b'\\ No newline at end of file'