pub struct Scene3DData {
pub meshes: Vec<MeshDraw>,
pub points: Vec<PointDraw>,
pub lines: Vec<LineDraw>,
pub camera: ResolvedCamera,
pub lights: LightRig,
pub style: SceneStyle,
pub capture_depth: bool,
}Expand description
Everything a backend needs to render one scene, all backend-neutral.
Fields§
§meshes: Vec<MeshDraw>Mesh marks; opaque ones draw first, translucent ones back-to-front.
points: Vec<PointDraw>Point/scatter marks, drawn after meshes so data is never veiled.
lines: Vec<LineDraw>Line marks, drawn after meshes so data is never veiled.
camera: ResolvedCameraThe resolved (auto-framed) camera for this frame.
lights: LightRigThe key + hemispheric-ambient light rig shading lit materials.
style: SceneStyleScene-level styling: grid, background, MSAA, axis visibility.
capture_depth: boolWhether the backend should capture this scene’s depth buffer for
label occlusion. Set when the scene has scene-anchored labels (axis
labels today); lets label-free scenes skip the resolve + read-back
cost. See SceneDepthMap.
Implementations§
Source§impl Scene3DData
impl Scene3DData
Sourcepub fn content_bounds(
meshes: &[MeshDraw],
points: &[PointDraw],
lines: &[LineDraw],
) -> Aabb
pub fn content_bounds( meshes: &[MeshDraw], points: &[PointDraw], lines: &[LineDraw], ) -> Aabb
Combined world-space bounds of all marks — each handle’s local bounds transformed by its mark transform, unioned. Empty when there is no geometry.
Computed from the draw lists before assembling Scene3DData,
because the camera is resolved (auto-framed) against these bounds
and then stored in camera. Taking slices lets callers compute it
at that point.
Trait Implementations§
Source§impl Clone for Scene3DData
impl Clone for Scene3DData
Source§fn clone(&self) -> Scene3DData
fn clone(&self) -> Scene3DData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for Scene3DData
impl RefUnwindSafe for Scene3DData
impl Send for Scene3DData
impl Sync for Scene3DData
impl Unpin for Scene3DData
impl UnsafeUnpin for Scene3DData
impl UnwindSafe for Scene3DData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.