playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
3 lines (2 loc) • 918 B
TypeScript
declare const _default: "\n#include \"gsplatPackingPS\"\n\nvar sh_centroids: texture_2d<f32>;\n\nuniform shN_codebook: array<vec4f, 64>;\n\n@fragment\nfn fragmentMain(input: FragmentInput) -> FragmentOutput {\n var output: FragmentOutput;\n\n var uv = vec2i(input.position.xy);\n\n var shNSample = textureLoad(sh_centroids, uv, 0).xyz;\n\n#ifdef REORDER_V1\n output.color = unpack8888(pack111110(shNSample));\n#else\n // resolve shN codebook\n let shNIdx = vec3u(shNSample * 255.0);\n let shNV = vec3f(\n uniform.shN_codebook[shNIdx.x >> 2u][shNIdx.x & 3u],\n uniform.shN_codebook[shNIdx.y >> 2u][shNIdx.y & 3u],\n uniform.shN_codebook[shNIdx.z >> 2u][shNIdx.z & 3u]\n );\n output.color = unpack8888(pack111110((shNV - uniform.shN_codebook[0].x) / (uniform.shN_codebook[63].w - uniform.shN_codebook[0].x)));\n#endif\n\n return output;\n}\n";
export default _default;