playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
31 lines (24 loc) • 701 B
JavaScript
var wgslGsplatProcess = `
uniform splatTextureSize: u32;
uniform dstTextureSize: u32;
uniform srcNumSplats: u32;
uniform dstNumSplats: u32;
var<private> processOutput: FragmentOutput;
@fragment
fn fragmentMain(input: FragmentInput) -> FragmentOutput {
let fragCoords = vec2i(input.position.xy);
let splatIndex = u32(fragCoords.y * i32(uniform.dstTextureSize) + fragCoords.x);
if (splatIndex >= uniform.dstNumSplats) {
discard;
}
setSplat(splatIndex);
process();
return processOutput;
}
`;
export { wgslGsplatProcess as default };