UNPKG

playcanvas

Version:

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

3 lines (2 loc) 796 B
declare const _default: "\nmat3 quatToMat3(vec4 R) {\n vec4 R2 = R + R;\n float X = R2.x * R.w;\n vec4 Y = R2.y * R;\n vec4 Z = R2.z * R;\n float W = R2.w * R.w;\n\n return mat3(\n 1.0 - Z.z - W,\n Y.z + X,\n Y.w - Z.x,\n Y.z - X,\n 1.0 - Y.y - W,\n Z.w + Y.x,\n Y.w + Z.x,\n Z.w - Y.x,\n 1.0 - Y.y - Z.z\n );\n}\n\n// Quaternion multiplication: result = a * b\nvec4 quatMul(vec4 a, vec4 b) {\n return vec4(\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;