| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifdef GL_ES
- precision mediump float;
- #endif
- attribute vec4 position;
- attribute vec3 normal;
- attribute vec2 texCoord;
- varying vec3 varNormal;
- varying vec3 worldNormal;
- varying vec4 pos;
- varying vec4 rawpos;
- varying vec4 vertexColor;
- varying vec2 texCoordVar;
- uniform mat4 modelMatrix;
- uniform mat4 viewMatrix;
- uniform mat4 projectionMatrix;
- mat3 mat3_emu(mat4 m4) {
- return mat3(
- m4[0][0], m4[0][1], m4[0][2],
- m4[1][0], m4[1][1], m4[1][2],
- m4[2][0], m4[2][1], m4[2][2]);
- }
- void main() {
- varNormal = normal;
- mat3 rotN = mat3_emu(modelMatrix);
- worldNormal = rotN * normal;
- worldNormal = normalize(worldNormal);
- vec4 p = viewMatrix * modelMatrix * position;
- gl_Position = projectionMatrix * p;
- pos = viewMatrix * modelMatrix * position;
- rawpos = position;
- texCoordVar = texCoord;
- }
|