UNPKG

@playcanvas/splat-transform

Version:

Library and CLI tool for 3D Gaussian splat format conversion and transformation

11 lines (10 loc) 1.31 kB
/** * Spherical-harmonics degree-2 evaluation (5 additional coefficients per * channel, indices [3..7]). * * Reads: dirX, dirY, dirZ, base, splats, COEFFS_PER_CHANNEL, * SH_C2_0, SH_C2_1, SH_C2_2, SH_C2_3, SH_C2_4 * Defines: (mutates) cR, cG, cB */ declare const shBand2 = "\n {\n let n = COEFFS_PER_CHANNEL;\n let shBase = base + 14u;\n let xx2 = dirX * dirX;\n let yy2 = dirY * dirY;\n let zz2 = dirZ * dirZ;\n let xy2 = dirX * dirY;\n let yz2 = dirY * dirZ;\n let xz2 = dirX * dirZ;\n let b3 = SH_C2_0 * xy2;\n let b4 = SH_C2_1 * yz2;\n let b5 = SH_C2_2 * (2.0 * zz2 - xx2 - yy2);\n let b6 = SH_C2_3 * xz2;\n let b7 = SH_C2_4 * (xx2 - yy2);\n cR = cR + b3 * splats[shBase + 3u] + b4 * splats[shBase + 4u] + b5 * splats[shBase + 5u] + b6 * splats[shBase + 6u] + b7 * splats[shBase + 7u];\n cG = cG + b3 * splats[shBase + n + 3u] + b4 * splats[shBase + n + 4u] + b5 * splats[shBase + n + 5u] + b6 * splats[shBase + n + 6u] + b7 * splats[shBase + n + 7u];\n cB = cB + b3 * splats[shBase + 2u * n + 3u] + b4 * splats[shBase + 2u * n + 4u] + b5 * splats[shBase + 2u * n + 5u] + b6 * splats[shBase + 2u * n + 6u] + b7 * splats[shBase + 2u * n + 7u];\n }\n"; export { shBand2 };