pub struct AlphaBatchBuilder {
pub alpha_batch_list: AlphaBatchList,
pub opaque_batch_list: OpaqueBatchList,
pub render_task_id: RenderTaskId,
render_task_address: RenderTaskAddress,
}Expand description
Encapsulates the logic of building batches for items that are blended.
Fields§
§alpha_batch_list: AlphaBatchList§opaque_batch_list: OpaqueBatchList§render_task_id: RenderTaskId§render_task_address: RenderTaskAddressImplementations§
Source§impl AlphaBatchBuilder
impl AlphaBatchBuilder
pub fn new( screen_size: DeviceIntSize, break_advanced_blend_batches: bool, lookback_count: usize, render_task_id: RenderTaskId, render_task_address: RenderTaskAddress, memory: &FrameMemory, ) -> Self
Sourcefn clear(&mut self)
fn clear(&mut self)
Clear all current batches in this builder. This is typically used when a primitive is encountered that occludes all previous content in this batch list.
pub fn build( self, batch_containers: &mut Vec<AlphaBatchContainer, FrameAllocator>, merged_batches: &mut AlphaBatchContainer, task_rect: DeviceIntRect, task_scissor_rect: Option<DeviceIntRect>, )
pub fn push_single_instance( &mut self, key: BatchKey, features: BatchFeatures, bounding_rect: &PictureRect, z_id: ZBufferId, instance: PrimitiveInstanceData, )
pub fn set_params_and_get_batch( &mut self, key: BatchKey, features: BatchFeatures, bounding_rect: &PictureRect, z_id: ZBufferId, ) -> &mut Vec<PrimitiveInstanceData, FrameAllocator>
Auto Trait Implementations§
impl Freeze for AlphaBatchBuilder
impl RefUnwindSafe for AlphaBatchBuilder
impl Send for AlphaBatchBuilder
impl !Sync for AlphaBatchBuilder
impl Unpin for AlphaBatchBuilder
impl UnsafeUnpin for AlphaBatchBuilder
impl UnwindSafe for AlphaBatchBuilder
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