playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
23 lines (22 loc) • 593 B
JavaScript
var linearizeDepth_default = `
fn linearizeDepthWithParams(z: f32, cameraParams: vec4f) -> f32 {
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 camera_params: vec4f;
fn linearizeDepth(z: f32) -> f32 {
return linearizeDepthWithParams(z, uniform.camera_params);
}
`;
export {
linearizeDepth_default as default
};