UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

3 lines (2 loc) 899 B
declare const _default: "\n#include \"screenDepthPS\"\nvarying uv0: vec2f;\nuniform params: vec3f;\n\n@fragment\nfn fragmentMain(input: FragmentInput) -> FragmentOutput {\n var output: FragmentOutput;\n\n let depth: f32 = getLinearScreenDepth(uv0);\n\n // near and far focus ranges\n let focusDistance: f32 = uniform.params.x;\n let focusRange: f32 = uniform.params.y;\n let invRange: f32 = uniform.params.z;\n let farRange: f32 = focusDistance + focusRange * 0.5;\n\n // near and far CoC\n let cocFar: f32 = min((depth - farRange) * invRange, 1.0);\n\n #ifdef NEAR_BLUR\n let nearRange: f32 = focusDistance - focusRange * 0.5;\n var cocNear: f32 = min((nearRange - depth) * invRange, 1.0);\n #else\n var cocNear: f32 = 0.0;\n #endif\n\n output.color = vec4f(cocFar, cocNear, 0.0, 0.0);\n return output;\n}\n"; export default _default;