UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

36 lines (34 loc) 1.17 kB
function packMat4IntoF32WithOffset(view, mat, offsetFloats, srcOffsetFloats, offsetX, offsetY, offsetZ) { const src = mat; const s = srcOffsetFloats; const o = offsetFloats; view[o + 0] = src[s + 0]; view[o + 1] = src[s + 1]; view[o + 2] = src[s + 2]; view[o + 3] = src[s + 3]; view[o + 4] = src[s + 4]; view[o + 5] = src[s + 5]; view[o + 6] = src[s + 6]; view[o + 7] = src[s + 7]; view[o + 8] = src[s + 8]; view[o + 9] = src[s + 9]; view[o + 10] = src[s + 10]; view[o + 11] = src[s + 11]; view[o + 12] = src[s + 12] - offsetX; view[o + 13] = src[s + 13] - offsetY; view[o + 14] = src[s + 14] - offsetZ; view[o + 15] = src[s + 15]; } function makePackMeshWorld(scene) { return (view, mat, offsetFloats, srcOffsetFloats) => { const cam = scene.camera; if (!cam) { packMat4IntoF32WithOffset(view, mat, offsetFloats, srcOffsetFloats, 0, 0, 0); return; } const w = cam.worldMatrix; packMat4IntoF32WithOffset(view, mat, offsetFloats, srcOffsetFloats, w[12], w[13], w[14]); }; } export { makePackMeshWorld, packMat4IntoF32WithOffset }; //# sourceMappingURL=pack-mat4-with-offset-BPdKUZol.esm.js.map