molstar
Version:
A comprehensive macromolecular library.
5 lines • 856 B
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.apply_fog = void 0;
exports.apply_fog = "\nfloat viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\nfloat fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\nfloat fogAlpha = (1.0 - fogFactor) * gl_FragColor.a;\nfloat preFogAlpha = gl_FragColor.a;\nif (!uTransparentBackground) {\n if (gl_FragColor.a < 1.0) {\n // transparent objects are blended with background color\n gl_FragColor.a = fogAlpha;\n } else {\n // mix opaque objects with background color\n gl_FragColor.rgb = mix(gl_FragColor.rgb, uFogColor, fogFactor);\n }\n} else {\n // pre-multiplied alpha expected for transparent background\n gl_FragColor.rgb *= fogAlpha;\n gl_FragColor.a = fogAlpha;\n}\n";
//# sourceMappingURL=apply-fog.glsl.js.map