playcanvas
Version:
PlayCanvas WebGL game engine
4 lines (2 loc) • 1.04 kB
JavaScript
var gsplatVS = '\n#include "gsplatCommonVS"\nvarying mediump vec2 gaussianUV;\nvarying mediump vec4 gaussianColor;\n#ifndef DITHER_NONE\n varying float id;\n#endif\nmediump vec4 discardVec = vec4(0.0, 0.0, 2.0, 1.0);\nvoid main(void) {\n SplatSource source;\n if (!initSource(source)) {\n gl_Position = discardVec;\n return;\n }\n vec3 modelCenter = readCenter(source);\n SplatCenter center;\n if (!initCenter(source, modelCenter, center)) {\n gl_Position = discardVec;\n return;\n }\n SplatCorner corner;\n if (!initCorner(source, center, corner)) {\n gl_Position = discardVec;\n return;\n }\n vec4 clr = readColor(source);\n #if SH_BANDS > 0\n vec3 dir = normalize(center.view * mat3(center.modelView));\n clr.xyz += evalSH(source, dir);\n #endif\n clipCorner(corner, clr.w);\n gl_Position = center.proj + vec4(corner.offset, 0, 0);\n gaussianUV = corner.uv;\n gaussianColor = vec4(prepareOutputFromGamma(max(clr.xyz, 0.0)), clr.w);\n #ifndef DITHER_NONE\n id = float(source.id);\n #endif\n}\n';
export { gsplatVS as default };