Camera
Camera represents the eye(s) through which the scene is viewed.
A Camera has a position and orientation and controls projection and exposure. For stereoscopic rendering, a Camera maintains two separate "eyes" (Eye 0 and Eye 1).
Coordinate system: Camera points towards its -Z axis; +Y is up, +X is right. Near/far planes are at -distance(near) and -distance(far) in view space.
Depth-buffer precision: Near plane distance greatly affects depth precision. Use the largest possible near distance; typical ratios: 1:100 to 1:100000 (near:far).
Exposure: Camera exposure (aperture, shutter speed, sensitivity) controls overall scene brightness, interacting with light intensities just like a real camera.
Stereoscopic rendering: The Camera's transform defines "head" space. Each eye's transform relative to head space is set via setEyeModelMatrix, and each eye can have its own projection matrix via setCustomEyeProjection.
Types
Properties
Get the camera's far plane distance used for culling. Note: for rendering, the far plane is set to infinity internally for depth precision.
Get the camera's focal length in meters for a 35mm reference sensor. Computed from Eye 0's projection matrix.
Set the focus distance for depth-of-field post-processing.
The native object, for interop with code calling the Fila* C API directly. Read-only: this wrapper owns it.
Get the camera's sensitivity in ISO.
Get the camera's shutter speed in seconds.
Functions
Get the projection matrix used for culling (far plane is finite).
Get the eye-from-view matrix of an eye (the inverse of its setEyeModelMatrix).
Get the camera's field of view in degrees.
Get the camera's forward vector (direction opposite to -Z, i.e., camera looking direction).
Get the camera's normalized left vector (basis vector for +X in world space).
Get the camera's model matrix (position and orientation in world space).
Get the camera's position in world space.
Get the projection matrix used for rendering (far plane set to infinity).
Get the 2D scaling factors applied to the projection matrix.
Get the 2D translation shift applied to the projection matrix.
Get the camera's normalized up vector (basis vector for +Y in world space).
Get the camera's view matrix (inverse of the model matrix).
Set custom projection matrices for stereoscopic rendering (each eye can have different projection).
Set a custom projection matrix used for both rendering and culling.
Set custom projection matrices for rendering and culling separately.
Set the camera's exposure directly (unit-less approach).
Set the camera's exposure using physical camera parameters.
Set the position of an individual eye relative to the camera (head) space.
Set the projection matrix from focal length (lens-based approach).
Set the camera's model matrix (position and orientation).
Set the projection matrix from field-of-view and aspect ratio.
Set the projection matrix from six frustum planes.
Apply a 2D scaling to the projection matrix after projection.