Lines Matching full:params

60 } params;
69 return normalize(dist) * params.springStiffness * (length(dist) - restDist);
76 uint index = id.y * params.particleCount.x + id.x;
77 if (index > params.particleCount.x * params.particleCount.y)
88 vec3 force = params.gravity.xyz * params.particleMass;
96 force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH);
99 if (id.x < params.particleCount.x - 1) {
100 force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH);
103 if (id.y < params.particleCount.y - 1) {
104 force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV);
108 force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV);
111 if ((id.x > 0) && (id.y < params.particleCount.y - 1)) {
112 force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
116 force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
119 if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) {
120 force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
123 if ((id.x < params.particleCount.x - 1) && (id.y > 0)) {
124 force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
127 force += (-params.damping * vel);
130 vec3 f = force * (1.0 / params.particleMass);
131 particleOut[index].pos = vec4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0);
132 particleOut[index].vel = vec4(vel + f * params.deltaT, 0.0);
135 vec3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz;
136 if (length(sphereDist) < params.sphereRadius + 0.01) {
138 particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01);
150 b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos;
151 c = particleIn[index - params.particleCount.x].pos.xyz - pos;
154 if (id.x < params.particleCount.x - 1) {
155 a = particleIn[index - params.particleCount.x].pos.xyz - pos;
156 b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos;
161 if (id.y < params.particleCount.y - 1) {
163 a = particleIn[index + params.particleCount.x].pos.xyz - pos;
164 b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos;
168 if (id.x < params.particleCount.x - 1) {
170 b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos;
171 c = particleIn[index + params.particleCount.x].pos.xyz - pos;