SceneCamera¶
Stereo Camera in 3D space.
SceneCamera represents the virtual camera chassis, while SceneCapture represents the virtual film: For capturing the textures SceneCapture is needed.

Camera + Capture Relationship
In SPARCK, cameras and captures work as a pair:
- SceneCamera (this node): Defines the viewpoint, lens properties, and stereo configuration — the "camera chassis"
- SceneCapture: Renders the scene from the camera's viewpoint — the "virtual film"
You always need both nodes to render a view. Connect SceneCapture's parent property to this SceneCamera.
Reference¶
The following properties can be configured for this node:
| Property | Type | Description |
|---|---|---|
gizmo |
- | show Camera icon in selected render group |
parent |
- | parent transformation node |
position |
(local transformation) | position x y z |
rotation |
(local transformation) | rotation x y z |
scale |
(local transformation) | scale x y z |
dimension |
- | suggested captured texture size. |
lens |
- | lens type. |
ratio |
- | render image ratio. |
angle |
- | field of view [deg] |
near |
- | near frustum clip |
far |
- | far frustum clip |
stereo |
- | set stereo mode. |
spread |
(only stereo mode) | sets spread between two eyes |
rotate |
(only stereo mode) | sets rotation between two eyes |
| Inlet | Type | Description |
|---|---|---|
| properties | properties | properties | use message [set <propertyPath> <value(s)>] (without node/<nodeName> at the beginning) to set internal properties |
| Outlet | Type | Description |
|---|---|---|
| camera | message | camera intrinsics [p_patrix, frustum] |
Lens and Frustum Settings¶
Configuring the View
Control how the camera sees the scene:
| Property | Description |
|---|---|
| lens | Lens type (perspective, orthographic, etc.) |
| angle | Field of view in degrees — wider angles capture more but with more distortion |
| ratio | Aspect ratio of the rendered image (e.g., 16:9, 4:3) |
| near | Near clipping plane — objects closer than this are not rendered |
| far | Far clipping plane — objects further than this are not rendered |
The dimension property suggests the texture resolution for the SceneCapture, which determines the final render quality.
Stereo Rendering¶
Creating Stereo 3D Content
SceneCamera supports stereo rendering for 3D glasses, VR goggles, or anaglyph displays:
- Enable
stereomode on the SceneCamera - Adjust
spreadto set the eye separation distance (interpupillary distance) - Optionally adjust
rotatefor toe-in convergence - The connected SceneCapture will automatically output two textures (left and right eye)
For anaglyph output, connect both textures to a ShaderAnaglyph node.
Stereo Parameters
| Parameter | Effect |
|---|---|
| spread | Distance between virtual eyes — increase for more dramatic 3D effect |
| rotate | Toe-in angle between cameras — use for convergence at specific depth |
For comfortable viewing, match the spread to real human interpupillary distance (~63mm) scaled to your scene.
Positioning the Camera¶
Transformation Hierarchy
SceneCamera uses the standard SPARCK transformation system:
- parent: Link to a TfmNode or RigidBody for hierarchical positioning
- position/rotation/scale: Local transformations relative to parent
For tracked cameras in motion capture setups, set a RigidBody as the parent to have the camera follow a physical object.
Camera Gizmo¶
Visualizing Camera Position
Enable gizmo to display a camera icon in the 3DViewer:
- Helps visualize camera position and orientation during setup
- Select which render group displays the gizmo
- Useful for debugging multi-camera setups
SceneCamera vs Other Cameras¶
Choosing the Right Camera
SPARCK offers several camera types for different purposes:
| Camera Type | Best For |
|---|---|
| SceneCamera | General-purpose rendering, stereo 3D content |
| LookAtCamera | CAVE-like VR, controlled cuts through objects |
| BoxMapCamera | 360° captures, raymarching, dome projections |
| Beamer | Physical projector simulation with calibration |
-
Quick Start
Get started with SceneCamera in minutes
-
Complementing SceneCamera
-
Tutorials
-
Community
Need help or want to suggest improvements?
Last updated: 2025-12-01 | Edit this page on GitHub