playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 791 B
TypeScript
declare const _default: "\n#include \"gsplatPackingPS\"\n\nuniform highp sampler2D means_l;\nuniform highp sampler2D means_u;\n\nuniform highp uint numSplats;\nuniform highp vec3 means_mins;\nuniform highp vec3 means_maxs;\n\nvoid main(void) {\n int w = int(textureSize(means_l, 0).x);\n ivec2 uv = ivec2(gl_FragCoord.xy);\n if (uint(uv.x + uv.y * w) >= numSplats) {\n discard;\n }\n\n vec3 l = texelFetch(means_l, uv, 0).xyz;\n vec3 u = texelFetch(means_u, uv, 0).xyz;\n vec3 n = (l * 255.0 + u * 255.0 * 256.0) / 65535.0;\n vec3 v = mix(means_mins, means_maxs, n);\n vec3 center = sign(v) * (exp(abs(v)) - 1.0);\n\n // store float bits into u32 RGBA, alpha unused\n pcFragColor0 = uvec4(floatBitsToUint(center), 0u);\n}\n";
export default _default;