| 123456789101112131415161718192021222324252627282930313233343536 |
- #ifdef GL_ES
- precision mediump float;
- #endif
- attribute lowp vec4 position;
- attribute lowp vec3 normal;
- attribute lowp vec2 texCoord;
- uniform mat4 modelMatrix;
- uniform mat4 viewMatrix;
- uniform mat4 projectionMatrix;
- varying lowp vec2 texCoordVar;
- varying lowp vec3 varNormal;
- varying lowp vec4 varPosition;
- 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()
- {
- mat4 modelViewMatrix = viewMatrix * modelMatrix;
- lowp vec4 p = modelViewMatrix * position;
- lowp mat3 rotN = mat3_emu(modelViewMatrix);
- varNormal = normalize(rotN * normal);
- varPosition = modelViewMatrix * position;
- gl_Position = projectionMatrix * p;
- texCoordVar = texCoord;
- }
|