28 lines
628 B
GLSL
28 lines
628 B
GLSL
// emulated noperspective
|
|
#ifndef LOG_DEPTH
|
|
varying float v_WindowZ;
|
|
#endif
|
|
|
|
/**
|
|
* Clamps a vertex to the far plane.
|
|
*
|
|
* @name czm_depthClampFarPlane
|
|
* @glslFunction
|
|
*
|
|
* @param {vec4} coords The vertex in clip coordinates.
|
|
* @returns {vec4} The vertex clipped to the far plane.
|
|
*
|
|
* @example
|
|
* gl_Position = czm_depthClampFarPlane(czm_modelViewProjection * vec4(position, 1.0));
|
|
*
|
|
* @see czm_writeDepthClampedToFarPlane
|
|
*/
|
|
vec4 czm_depthClampFarPlane(vec4 coords)
|
|
{
|
|
#ifndef LOG_DEPTH
|
|
v_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w;
|
|
coords.z = min(coords.z, coords.w);
|
|
#endif
|
|
return coords;
|
|
}
|