ConstructCaptureSource
A construct scene OPAL can look at from a camera it places (opal-vision §OVD-5, D15).
| Inherits | opal::vision::CaptureSource |
In the namespace construct::opal. Declared in src/libs/libconstruct/construct/opal/ConstructCaptureSource.hpp.
Detailed description
Backed by ConstructSceneRenderer, NOT by SDFThumbnailGenerator. That choice is forced rather than preferred (§OVR-4):
- SDFThumbnailGenerator::CameraParams is distance/yaw/pitch orbiting the ORIGIN, so a free eye and target cannot be expressed at all. - Every projection in that file is projMatrix.perspective(45.0f, ...). There is no orthographic path, and orthographic is mandatory for a box capture — foreshortening is exactly what hides a symmetry error. - Its subject is one Definition, never an arrangement of items.
ConstructSceneRenderer's CameraSnapshot is this spec's argument list with no translation: position, target, up, fovDegrees, nearPlane, farPlane, orthographic, orthoHeight.
Two constraints ride with it, and this class honors both. It renders on the thread that owns its RHI, so a capture runs on the GUI thread. And it renders a ConstructSnapshot rather than the live model, which needs six live objects that only the shell holds — hence the hooks below rather than a pointer to the scene.