pub struct ExtractedScene {
pub render_items: Vec<ExtractedRenderItem>,
pub scene_id: u32,
pub scene_variants: SceneFeatures,
pub scene_defines: ShaderDefines,
pub background: BackgroundMode,
pub envvironment: Environment,
pub has_transmission: bool,
pub lights: Vec<ExtractedLight>,
/* private fields */
}Expand description
Extracted scene data
This is a lightweight structure containing only the minimal dataset needed for current frame rendering. Populated during Extract phase, after which the Scene borrow can be safely released.
§“Single Source of Truth” Design
render_items is the single, unified list of all active renderables.
No frustum culling is performed during extraction — that is deferred to the
Cull phase where each RenderView (main camera, shadow cascades, etc.)
performs its own culling against this shared list.
Fields§
§render_items: Vec<ExtractedRenderItem>All active render items (NOT frustum-culled).
Each RenderView in the Cull phase filters and culls from this list.
scene_id: u32Scene’s shader macro definitions
scene_variants: SceneFeatures§scene_defines: ShaderDefines§background: BackgroundMode§envvironment: Environment§has_transmission: bool§lights: Vec<ExtractedLight>Implementations§
Source§impl ExtractedScene
impl ExtractedScene
Sourcepub fn with_capacity(item_capacity: usize) -> Self
pub fn with_capacity(item_capacity: usize) -> Self
Pre-allocates capacity
Sourcepub fn extract_into(
&mut self,
scene: &mut Scene,
camera: &RenderCamera,
assets: &AssetServer,
resource_manager: &mut ResourceManager,
)
pub fn extract_into( &mut self, scene: &mut Scene, camera: &RenderCamera, assets: &AssetServer, resource_manager: &mut ResourceManager, )
Reuse current instance memory, extract data from Scene.
Extracts ALL active meshes into render_items without frustum culling.
Frustum culling is deferred to the Cull phase where each RenderView
independently culls from this unified list.
pub fn has_shadow_casters(&self) -> bool
Sourcepub fn render_item_count(&self) -> usize
pub fn render_item_count(&self) -> usize
Get render item count
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExtractedScene
impl !RefUnwindSafe for ExtractedScene
impl Send for ExtractedScene
impl Sync for ExtractedScene
impl Unpin for ExtractedScene
impl UnsafeUnpin for ExtractedScene
impl !UnwindSafe for ExtractedScene
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
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().