Compute the view matrix for a camera. Cached per worldMatrixVersion.
Floating-origin awareness: when camera._useFloatingOrigin is set
(LWR — wired by the scene's _update when the active scene camera is
bound to an LWR engine), the view matrix translation column is forced
to zero. The GPU vertex shader then sees the camera at the origin in
the eye-relative frame, matching the mesh-world UBO pack which
subtracted the camera position from world translations. View × world
in the shader produces eye-relative vertex coordinates at full
precision regardless of how far from world-origin the scene is.
When the flag is unset (standard non-LWR rendering), this path is
bit-identical to a normal R_inv * -cameraPos view matrix.
Compute the view matrix for a camera. Cached per worldMatrixVersion.
Floating-origin awareness: when
camera._useFloatingOriginis set (LWR — wired by the scene's_updatewhen the active scene camera is bound to an LWR engine), the view matrix translation column is forced to zero. The GPU vertex shader then sees the camera at the origin in the eye-relative frame, matching the mesh-world UBO pack which subtracted the camera position from world translations. View × world in the shader produces eye-relative vertex coordinates at full precision regardless of how far from world-origin the scene is.When the flag is unset (standard non-LWR rendering), this path is bit-identical to a normal
R_inv * -cameraPosview matrix.