Shader State Variables
Jitter provides several built in uniform variables exposing OpenGL state in a GLSL shader. These can be accessed by specifying the variable name in the state attribute of the XML param tag. e.g.
<param name="itvmat" type="mat3" state="NORMAL_MATRIX" />
Available state bindings are listed below.
Model View and Projection Matrices
WORLD_MATRIX
VIEW_MATRIX
MODELVIEW_MATRIX
PROJECTION_MATRIX
VIEW_PROJECTION_MATRIX
MODELVIEW_PROJECTION_MATRIX
PREV_MODELVIEW_PROJECTION_MATRIX
NORMAL_MATRIX
Texture
TEXTURE0-7_MATRIX
TEXDIM0-7
Light
LIGHT_VIEWPROJ_MATRIX0-7
LIGHT_RANGE0-7
LIGHT0-7_POSITION
LIGHT0-7_DIRECTION
LIGHT0-7_AMBIENT
LIGHT0-7_DIFFUSE
LIGHT0-7_SPECULAR
LIGHT0-7_CUTOFF
LIGHT0-7_EXPONENT
Vertex
POSITION
NORMAL
TANGENT
BITANGENT
VERTEX_ATTR
EDGEFLAG
BLENDWEIGHT
COLOR0
COLOR1
AMBIENT
DIFFUSE
SPECULAR
EMISSION
FOGCOORD
TEXCOORD0-7
TEXUNIT0-7
Camera
CAMERA_POSITION
CAMERA_DIRECTION
VIEWPORT
INVERSE_VIEWPORT
NEAR_CLIP
FAR_CLIP
FAR_CORNER
Matrix variables can be transformed in certain ways using the transform attribute in the XML param tag:
<param name="itvmat" type="mat4" state="VIEW_MATRIX" transform="INVERSE_TRANSPOSE" />
Matrix Transformations
IDENTITY
TRANSPOSE
INVERSE
INVERSE_TRANSPOSE