czm_inverseNormal3D

czm_inverseNormal3D

An automatic GLSL uniform representing a 3x3 normal transformation matrix that transforms normal vectors in eye coordinates to 3D model coordinates. This is the opposite of the transform provided by czm_normal. In 3D mode, this is identical to czm_inverseNormal, but in 2D and Columbus View it represents the inverse 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.

Like all automatic uniforms, czm_inverseNormal3D 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_inverseNormal3D;

// Example
vec3 normalMC = czm_inverseNormal3D * normalEC;
See:
Source: