12345678910111213141516171819202122232425262728293031323334353637 |
- #version 430
- layout (location = 0) in vec3 position;
- layout (location = 1) in vec4 color;
- layout (location = 2) in vec2 textureCoord;
- layout (location = 3) in vec3 normal;
- uniform mat4 projMatrix;
- uniform mat4 viewMatrix;
- uniform mat4 modelMatrix;
- out vec3 varPosition;
- out vec2 varTextureCoord;
- out vec4 varColor;
- out vec3 varNormal;
- void main(void)
- {
- // transforming normals must not use the fourth dimension
- varNormal = (viewMatrix * modelMatrix * vec4(normal, 0.0)).xyz;
-
- varTextureCoord = textureCoord;
- varColor = vec4(color.xyz, 1);
- if(abs(normal.x) == 1)
- {
- varColor = varColor * 0.8;
- }
- if(abs(normal.z) == 1)
- {
- varColor = varColor * 0.9;
- }
-
- vec4 viewPos = viewMatrix * modelMatrix * vec4(position, 1.0);
- varPosition = viewPos.xyz;
- gl_Position = projMatrix * viewPos;
- }
|