]> git.sesse.net Git - nageru/blob - sor.vert
Compute diffusivity instead of smoothness, which saves a flow-size texture; shaves...
[nageru] / sor.vert
1 #version 450 core
2
3 layout(location=0) in vec2 position;
4 out vec2 tc, tc_left, tc_down;
5 out float element_sum_idx;
6
7 uniform sampler2D diff_flow_tex, diffusivity_tex;
8
9 void main()
10 {
11         // The result of glOrtho(0.0, 1.0, 0.0, 1.0, 0.0, 1.0) is:
12         //
13         //   2.000  0.000  0.000 -1.000
14         //   0.000  2.000  0.000 -1.000
15         //   0.000  0.000 -2.000 -1.000
16         //   0.000  0.000  0.000  1.000
17         gl_Position = vec4(2.0 * position.x - 1.0, 2.0 * position.y - 1.0, -1.0, 1.0);
18         tc = position;
19         tc_left = vec2(tc.x - 0.5f / textureSize(diffusivity_tex, 0).x, tc.y);
20         tc_down = vec2(tc.x, tc.y - 0.5f / textureSize(diffusivity_tex, 0).y);
21
22         vec2 element_idx = position * textureSize(diff_flow_tex, 0) - 0.5;
23         element_sum_idx = element_idx.x + element_idx.y;
24 }