pub struct PostProcessingUniformBuffers { /* private fields */ }
Expand description
A resource, part of the render world, that stores the
ChromaticAberrationUniform
s for each view.
Methods from Deref<Target = DynamicUniformBuffer<ChromaticAberrationUniform>>§
pub fn buffer(&self) -> Option<&Buffer>
pub fn binding(&self) -> Option<BindingResource<'_>>
pub fn is_empty(&self) -> bool
Sourcepub fn push(&mut self, value: &T) -> u32
pub fn push(&mut self, value: &T) -> u32
Push data into the DynamicUniformBuffer
’s internal vector (residing on system RAM).
pub fn set_label(&mut self, label: Option<&str>)
pub fn get_label(&self) -> Option<&str>
Sourcepub fn add_usages(&mut self, usage: BufferUsages)
pub fn add_usages(&mut self, usage: BufferUsages)
Add more BufferUsages
to the buffer.
This method only allows addition of flags to the default usage flags.
The default values for buffer usage are BufferUsages::COPY_DST
and BufferUsages::UNIFORM
.
Sourcepub fn get_writer<'a>(
&'a mut self,
max_count: usize,
device: &RenderDevice,
queue: &'a RenderQueue,
) -> Option<DynamicUniformBufferWriter<'a, T>>
pub fn get_writer<'a>( &'a mut self, max_count: usize, device: &RenderDevice, queue: &'a RenderQueue, ) -> Option<DynamicUniformBufferWriter<'a, T>>
Creates a writer that can be used to directly write elements into the target buffer.
This method uses less memory and performs fewer memory copies using over push
and write_buffer
.
max_count
must be greater than or equal to the number of elements that are to be written to the buffer, or
the writer will panic while writing. Dropping the writer will schedule the buffer write into the provided
RenderQueue
.
If there is no GPU-side buffer allocated to hold the data currently stored, or if a GPU-side buffer previously
allocated does not have enough capacity to hold max_count
elements, a new GPU-side buffer is created.
Returns None
if there is no allocated GPU-side buffer, and max_count
is 0.
Sourcepub fn write_buffer(&mut self, device: &RenderDevice, queue: &RenderQueue)
pub fn write_buffer(&mut self, device: &RenderDevice, queue: &RenderQueue)
Queues writing of data from system RAM to VRAM using the RenderDevice
and the provided RenderQueue
.
If there is no GPU-side buffer allocated to hold the data currently stored, or if a GPU-side buffer previously allocated does not have enough capacity, a new GPU-side buffer is created.
pub fn clear(&mut self)
Trait Implementations§
Source§impl Default for PostProcessingUniformBuffers
impl Default for PostProcessingUniformBuffers
Source§fn default() -> PostProcessingUniformBuffers
fn default() -> PostProcessingUniformBuffers
Source§impl Deref for PostProcessingUniformBuffers
impl Deref for PostProcessingUniformBuffers
Source§type Target = DynamicUniformBuffer<ChromaticAberrationUniform>
type Target = DynamicUniformBuffer<ChromaticAberrationUniform>
impl Resource for PostProcessingUniformBuffers
Auto Trait Implementations§
impl Freeze for PostProcessingUniformBuffers
impl !RefUnwindSafe for PostProcessingUniformBuffers
impl Send for PostProcessingUniformBuffers
impl Sync for PostProcessingUniformBuffers
impl Unpin for PostProcessingUniformBuffers
impl !UnwindSafe for PostProcessingUniformBuffers
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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