@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
2 lines (1 loc) • 1.31 kB
JavaScript
export default "\n// INSERT DEFINES\n\n\n#if DEPTH_PACKING == 3200\n\n uniform float opacity;\n\n#endif\n\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n\n #include <clipping_planes_fragment>\n\n vec4 diffuseColor = vec4( 1.0 );\n\n #if DEPTH_PACKING == 3200\n\n diffuseColor.a = opacity;\n\n #endif\n\n\n #include <map_fragment>\n #include <alphamap_fragment>\n\n // INSERT BODY\n // the new body lines should be added before the alphatest_fragment\n // so that alpha is set before (which is really how it would be set if the alphamap_fragment above was used by the material node parameters)\n\n #include <alphatest_fragment>\n\n #include <logdepthbuf_fragment>\n\n\n // Higher precision equivalent of gl_FragCoord.z. This assumes depthRange has been left to its default values.\n float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\n #if DEPTH_PACKING == 3200\n\n gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), diffuseColor.a );\n\n #elif DEPTH_PACKING == 3201\n\n gl_FragColor = packDepthToRGBA( fragCoordZ );\n\n #endif\n\n}\n";