UNPKG

playcanvas

Version:

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

3 lines (2 loc) 846 B
declare const _default: "\n// Rotation source data is f16 - compute in half precision\nfn quatToMat3(r: half4) -> half3x3 {\n let r2: half4 = r + r;\n let x: half = r2.x * r.w;\n let y: half4 = r2.y * r;\n let z: half4 = r2.z * r;\n let w: half = r2.w * r.w;\n\n return half3x3(\n half(1.0) - z.z - w, y.z + x, y.w - z.x,\n y.z - x, half(1.0) - y.y - w, z.w + y.x,\n y.w + z.x, z.w - y.x, half(1.0) - y.y - z.z\n );\n}\n\nfn quatMul(a: half4, b: half4) -> half4 {\n return half4(\n a.w * b.x + a.x * b.w + a.y * b.z - a.z * b.y,\n a.w * b.y - a.x * b.z + a.y * b.w + a.z * b.x,\n a.w * b.z + a.x * b.y - a.y * b.x + a.z * b.w,\n a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z\n );\n}\n"; export default _default;