UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

26 lines (25 loc) 839 B
var gsplatPacking_default = ` fn pack8888(v: vec4f) -> u32 { let t = vec4u(v * 255.0) << vec4u(24u, 16u, 8u, 0u); return t.x | t.y | t.z | t.w; } fn pack101010(v: vec3f) -> u32 { let t = vec3u(v * vec3f(1023.0, 1023.0, 1023.0)) << vec3u(20u, 10u, 0u); return t.x | t.y | t.z; } fn pack111110(v: vec3f) -> u32 { let t = vec3u(v * vec3f(2047.0, 2047.0, 1023.0)) << vec3u(21u, 10u, 0u); return t.x | t.y | t.z; } fn unpack8888(v: u32) -> vec4f { return vec4f((vec4u(v) >> vec4u(24u, 16u, 8u, 0u)) & vec4u(0xffu)) / 255.0; } fn unpack101010(v: u32) -> vec3f { return vec3f((vec3u(v) >> vec3u(20u, 10u, 0u)) & vec3u(0x3ffu)) / 1023.0; } fn unpack111110(v: u32) -> vec3f { return vec3f((vec3u(v) >> vec3u(21u, 10u, 0u)) & vec3u(0x7ffu, 0x7ffu, 0x3ffu)) / vec3f(2047.0, 2047.0, 1023.0); }`; export { gsplatPacking_default as default };