2
0

Material.vert 860 B

12345678910111213141516171819202122232425262728293031
  1. #include "Uniforms.vert"
  2. #include "Transform.vert"
  3. #include "ScreenPos.vert"
  4. #include "Lighting.vert"
  5. varying vec2 vTexCoord;
  6. #ifdef VERTEXCOLOR
  7. varying vec4 vColor;
  8. #endif
  9. varying vec4 vVertexLighting;
  10. varying vec4 vScreenPos;
  11. void main()
  12. {
  13. mat4 modelMatrix = iModelMatrix;
  14. vec3 worldPos = GetWorldPos(modelMatrix);
  15. gl_Position = GetClipPos(worldPos);
  16. vTexCoord = GetTexCoord(iTexCoord);
  17. vScreenPos = GetScreenPos(gl_Position);
  18. vVertexLighting = vec4(GetAmbient(GetZonePos(worldPos)), GetDepth(gl_Position));
  19. #ifdef NUMVERTEXLIGHTS
  20. vec3 normal = GetWorldNormal(modelMatrix);
  21. for (int i = 0; i < NUMVERTEXLIGHTS; ++i)
  22. vVertexLighting.rgb += GetVertexLight(i, worldPos, normal) * cVertexLights[i * 3].rgb;
  23. #endif
  24. #ifdef VERTEXCOLOR
  25. vColor = iColor;
  26. #endif
  27. }