czm_normal3D
An automatic GLSL uniform representing a 3x3 normal transformation matrix that
transforms normal vectors in 3D model coordinates to eye coordinates.
In 3D mode, this is identical to
czm_normal, but in 2D and Columbus View it represents the normal transformation
matrix as if the camera were at an equivalent location in 3D mode. This is useful for lighting
2D and Columbus View in the same way that 3D is lit.
Positions should be transformed to eye coordinates using czm_modelView3D and
normals should be transformed using czm_normal3D
.
Like all automatic uniforms, czm_normal3D
does not need to be explicitly declared.
However, it can be explicitly declared when a shader is also used by other applications such
as a third-party authoring tool.
Example
// GLSL declaration uniform mat3 czm_normal3D; // Example vec3 eyeNormal = czm_normal3D * normal;