DSDSWeb/static/js/Cesium-1.53/Source/Shaders/Builtin/Functions/depthClampFarPlane.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;
}