import type { Camera } from "$lib/splat.js/cameras/Camera"; import { Matrix4 } from "$lib/splat.js/math/Matrix4"; export function getViewMatrix(camera: Camera) { const R = camera.rotation.buffer; const t = camera.position.flat(); const camToWorld = [ [R[0], R[1], R[2], 0], [R[3], R[4], R[5], 0], [R[6], R[7], R[8], 0], [ -t[0] * R[0] - t[1] * R[3] - t[2] * R[6], -t[0] * R[1] - t[1] * R[4] - t[2] * R[7], -t[0] * R[2] - t[1] * R[5] - t[2] * R[8], 1, ], ].flat(); return new Matrix4(...camToWorld); }