Imported Upstream version 2.81
[platform/upstream/libbullet.git] / src / BulletMultiThreaded / GpuSoftBodySolvers / OpenCL / OpenCLC10 / UpdatePositionsFromVelocities.cl
1 \r
2 MSTRINGIFY(\r
3 \r
4 \r
5 \r
6 \r
7 __kernel void \r
8 UpdatePositionsFromVelocitiesKernel( \r
9         const int numNodes,\r
10         const float solverSDT,\r
11         __global float4 * g_vertexVelocities,\r
12         __global float4 * g_vertexPreviousPositions,\r
13         __global float4 * g_vertexCurrentPosition GUID_ARG)\r
14 {\r
15         int vertexID = get_global_id(0);\r
16         if( vertexID < numNodes )\r
17         {       \r
18                 float4 previousPosition = g_vertexPreviousPositions[vertexID];\r
19                 float4 velocity         = g_vertexVelocities[vertexID];\r
20                 \r
21                 float4 newPosition      = previousPosition + velocity*solverSDT;\r
22                 \r
23                 g_vertexCurrentPosition[vertexID]   = newPosition;\r
24                 g_vertexPreviousPositions[vertexID] = newPosition;\r
25         }\r
26 }\r
27 \r
28 );