playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
29 lines (24 loc) • 698 B
JavaScript
var linearizeDepth_default = (
/* glsl */
`
float linearizeDepthWithParams(float z, vec4 cameraParams) {
if (cameraParams.w == 0.0)
return (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));
else
return cameraParams.z + z * (cameraParams.y - cameraParams.z);
}
uniform vec4 camera_params; // x: 1 / camera_far, y: camera_far, z: camera_near, w: is_ortho
float linearizeDepth(float z) {
return linearizeDepthWithParams(z, camera_params);
}
`
);
export {
linearizeDepth_default as default
};