playcanvas
Version:
PlayCanvas WebGL game engine
16 lines (14 loc) • 518 B
JavaScript
var glslGsplatSogsReorderPS = `
uniform usampler2D orderTexture;
uniform sampler2D sourceTexture;
uniform highp uint numSplats;
void main(void) {
uint w = uint(textureSize(sourceTexture, 0).x);
uint idx = uint(gl_FragCoord.x) + uint(gl_FragCoord.y) * w;
if (idx >= numSplats) discard;
uint sidx = texelFetch(orderTexture, ivec2(gl_FragCoord.xy), 0).x;
uvec2 suv = uvec2(sidx % w, sidx / w);
gl_FragColor = texelFetch(sourceTexture, ivec2(suv), 0);
}
`;
export { glslGsplatSogsReorderPS as default };