playcanvas
Version:
PlayCanvas WebGL game engine
18 lines (16 loc) • 590 B
JavaScript
var gsplatSogsSHVS = `
var packedShN: texture_2d<f32>;
uniform shN_mins: f32;
uniform shN_maxs: f32;
fn readSHData(source: ptr<function, SplatSource>, sh: ptr<function, array<vec3f, SH_COEFFS>>, scale: ptr<function, f32>) {
let t = vec2i(packedSample.xy & vec2u(255u));
let n = t.x + t.y * 256;
let u = (n % 64) * SH_COEFFS;
let v = n / 64;
for (var i: i32 = 0; i < SH_COEFFS; i = i + 1) {
sh[i] = mix(vec3f(uniform.shN_mins), vec3f(uniform.shN_maxs), unpack111110(pack8888(textureLoad(packedShN, vec2i(u + i, v), 0))));
}
*scale = 1.0;
}
`;
export { gsplatSogsSHVS as default };