aboutsummaryrefslogtreecommitdiff
path: root/src/shader/code/collide.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader/code/collide.glsl')
-rw-r--r--src/shader/code/collide.glsl32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/shader/code/collide.glsl b/src/shader/code/collide.glsl
index 3982ad8..f960dcd 100644
--- a/src/shader/code/collide.glsl
+++ b/src/shader/code/collide.glsl
@@ -13,7 +13,19 @@ uniform uint nY;
const uint q = 9;
const float omega = 0.6;
-const float displayAmplifier = 1000.;
+const float displayAmplifier = 10.;
+
+float comp(int x, int y, vec2 v) {
+ return x*v.x + y*v.y;
+}
+
+float sq(float x) {
+ return x*x;
+}
+
+float norm(vec2 v) {
+ return sqrt(sq(v.x)+sq(v.y));
+}
float get(uint x, uint y, int i, int j) {
return collideCells[q*nX*y + q*x + (i+1)*3 + j+1];
@@ -24,9 +36,9 @@ void set(uint x, uint y, int i, int j, float v) {
}
void setFluid(uint x, uint y, vec2 v, float d) {
- fluidCells[3*nX*y + 3*x + 0] = float(x)-nX/2 + displayAmplifier*v.x;
- fluidCells[3*nX*y + 3*x + 1] = float(y)-nY/2 + displayAmplifier*v.y;
- fluidCells[3*nX*y + 3*x + 2] = d;
+ fluidCells[3*nX*y + 3*x + 0] = float(x)-nX/2;// + displayAmplifier*v.x;
+ fluidCells[3*nX*y + 3*x + 1] = float(y)-nY/2;// + displayAmplifier*v.y;
+ fluidCells[3*nX*y + 3*x + 2] = displayAmplifier * norm(v);
}
float density(uint x, uint y) {
@@ -70,18 +82,6 @@ float w(int i, int j) {
}
}
-float comp(int x, int y, vec2 v) {
- return x*v.x + y*v.y;
-}
-
-float sq(float x) {
- return x*x;
-}
-
-float norm(vec2 v) {
- return sqrt(sq(v.x)+sq(v.y));
-}
-
void main() {
const uint x = gl_GlobalInvocationID.x;
const uint y = gl_GlobalInvocationID.y;