#include "Uniforms.vert" #include "Transform.vert" #include "ScreenPos.vert" #ifdef DIRLIGHT varying vec2 vScreenPos; #else varying vec4 vScreenPos; #endif varying vec3 vFarRay; #ifdef ORTHO varying vec3 vNearRay; #endif void main() { mat4 modelMatrix = iModelMatrix; vec3 worldPos = GetWorldPos(modelMatrix); gl_Position = GetClipPos(worldPos); #ifdef DIRLIGHT vScreenPos = GetScreenPosPreDiv(gl_Position); vFarRay = GetFarRay(gl_Position); #ifdef ORTHO vNearRay = GetNearRay(gl_Position); #endif #else vScreenPos = GetScreenPos(gl_Position); vFarRay = GetFarRay(gl_Position) * gl_Position.w; #ifdef ORTHO vNearRay = GetNearRay(gl_Position) * gl_Position.w; #endif #endif }