Browse Source

support camera movement by default

Lucas Stadler 10 years ago
parent
commit
5ba30a77fd
2 changed files with 10 additions and 23 deletions
  1. 9 23
      glsl/defaultFiles.js
  2. 1 0
      glsl/transformShader.js

+ 9 - 23
glsl/defaultFiles.js

88
}
88
}
89
89
90
uniform vec3 origin; //#slider[(-10.0,0.41,10.0),(-10.0,2.03,10.0),(-10.0,-1.34,10.0)]
90
uniform vec3 origin; //#slider[(-10.0,0.41,10.0),(-10.0,2.03,10.0),(-10.0,-1.34,10.0)]
91
uniform vec3 angle; //#slider[(-3.0,0.31,3.0),(-3.0,1.77,3.0),(-3.0,-0.18,3.0)]
92
uniform vec3 color; //#slider[(0.0, 1.0, 1.0),(0.0,0.0,1.0),(0.0,0.0,1.0)]
93
uniform float colorMix; //#slider[0.0,0.9,1.0]
91
uniform float whee; //#slider[-3.1415,0.0,3.1415]
94
92
95
void main() {
93
void main() {
96
  vec2 q = gl_FragCoord.xy / iResolution.xy;
97
  vec2 p = -1.0 + 2.0*q;
98
  p.x *= iResolution.x / iResolution.y;
99
  vec2 mo = iMouse.xy/iResolution.xy;
94
  // screen coords (0,0)..(width,height) to "centered" & normalized coords (-1,-1)..(1,1)
95
  vec2 normalizedCoord = -1.0 + gl_FragCoord.xy / iResolution * 2.0;
96
  // aspect ratio (?)
97
  normalizedCoord.x *= iResolution.x / iResolution.y;
100
98
101
  float time = 15.0 + 0.0; // iGlobalTime
99
  mat3 ca = setCamera(origin, origin + iDirection, whee);
100
  vec3 direction = ca * normalize(vec3(normalizedCoord.xy, 2.5));
102
101
103
  // camera	
104
  vec3 ro = origin; //vec3( -0.5+3.2*cos(0.1*time + 6.0*mo.x), 1.0 + 2.0*mo.y, 0.5 + 3.2*sin(0.1*time + 6.0*mo.x) );
105
  vec3 ta = angle; //vec3( -0.5, -0.4, 0.5 );
106
107
  // camera-to-world transformation
108
  mat3 ca = setCamera( ro, ta, 0.0 );
109
110
  // ray direction
111
  vec3 rd = ca * normalize( vec3(p.xy, 2.5) );
112
113
  // render	
114
  float dist = trace(ro, rd);
102
  // render
103
  float dist = trace(origin, direction);
115
  vec3 col = vec3(dist, dist, dist);
104
  vec3 col = vec3(dist, dist, dist);
116
105
117
  col = mix(color, col, colorMix);
118
  //col = pow( col, vec3(0.4545));
119
120
  gl_FragColor = vec4( col, 1.0 );
106
  gl_FragColor = vec4( col, 1.0 );
121
}`
107
}`
122
};
108
};

+ 1 - 0
glsl/transformShader.js

3
uniform float iGlobalTime;
3
uniform float iGlobalTime;
4
uniform vec2 iResolution;
4
uniform vec2 iResolution;
5
uniform vec3 iMouse;
5
uniform vec3 iMouse;
6
uniform vec3 iDirection;
6
7
7
`;
8
`;
8
9