Struct webrender::render_task_graph::RenderTaskGraph
source · pub struct RenderTaskGraph {
pub tasks: Vec<RenderTask>,
pub passes: Vec<Pass>,
frame_id: FrameId,
pub task_data: Vec<RenderTaskData>,
}
Expand description
The RenderTaskGraph is the immutable representation of the render task graph. It is built by the RenderTaskGraphBuilder, and is constructed once per frame.
Fields§
§tasks: Vec<RenderTask>
List of tasks added to the graph
passes: Vec<Pass>
The passes that were created, based on dependencies between tasks
frame_id: FrameId
Current frame id, used for debug validation
task_data: Vec<RenderTaskData>
GPU specific data for each task that is made available to shaders
Implementations§
source§impl RenderTaskGraph
impl RenderTaskGraph
pub fn resolve_texture( &self, task_id: impl Into<Option<RenderTaskId>>, ) -> Option<TextureSource>
pub fn resolve_location( &self, task_id: impl Into<Option<RenderTaskId>>, gpu_cache: &GpuCache, ) -> Option<(GpuCacheAddress, TextureSource)>
fn resolve_impl( &self, task_id: RenderTaskId, gpu_cache: &GpuCache, ) -> Option<(GpuCacheAddress, TextureSource)>
Trait Implementations§
source§impl Index<RenderTaskId> for RenderTaskGraph
impl Index<RenderTaskId> for RenderTaskGraph
Batching uses index access to read information about tasks
source§type Output = RenderTask
type Output = RenderTask
The returned type after indexing.
source§fn index(&self, id: RenderTaskId) -> &RenderTask
fn index(&self, id: RenderTaskId) -> &RenderTask
Performs the indexing (
container[index]
) operation. Read moreAuto Trait Implementations§
impl Freeze for RenderTaskGraph
impl RefUnwindSafe for RenderTaskGraph
impl Send for RenderTaskGraph
impl Sync for RenderTaskGraph
impl Unpin for RenderTaskGraph
impl UnwindSafe for RenderTaskGraph
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
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more