All files / engine/Source/Shaders CompositeOITFS.js

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34                                                                   
//This file is automatically rebuilt by the Cesium build process.
export default "/**\n\
 * Compositing for Weighted Blended Order-Independent Transparency. See:\n\
 * - http://jcgt.org/published/0002/02/09/\n\
 * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html\n\
 */\n\
\n\
uniform sampler2D u_opaque;\n\
uniform sampler2D u_accumulation;\n\
uniform sampler2D u_revealage;\n\
\n\
in vec2 v_textureCoordinates;\n\
\n\
void main()\n\
{\n\
    vec4 opaque = texture(u_opaque, v_textureCoordinates);\n\
    vec4 accum = texture(u_accumulation, v_textureCoordinates);\n\
    float r = texture(u_revealage, v_textureCoordinates).r;\n\
\n\
#ifdef MRT\n\
    vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);\n\
#else\n\
    vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r);\n\
#endif\n\
\n\
    out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;\n\
\n\
    if (opaque != czm_backgroundColor)\n\
    {\n\
        out_FragColor.a = 1.0;\n\
    }\n\
}\n\
";