pub struct ViewTarget { /* private fields */ }Implementations§
Source§impl ViewTarget
 
impl ViewTarget
pub const TEXTURE_FORMAT_HDR: TextureFormat = TextureFormat::Rgba16Float
Sourcepub fn get_color_attachment(&self) -> RenderPassColorAttachment<'_>
 
pub fn get_color_attachment(&self) -> RenderPassColorAttachment<'_>
Retrieve this target’s main texture’s color attachment.
Sourcepub fn get_unsampled_color_attachment(&self) -> RenderPassColorAttachment<'_>
 
pub fn get_unsampled_color_attachment(&self) -> RenderPassColorAttachment<'_>
Retrieve this target’s “unsampled” main texture’s color attachment.
Sourcepub fn main_texture(&self) -> &Texture
 
pub fn main_texture(&self) -> &Texture
The “main” unsampled texture.
Sourcepub fn main_texture_other(&self) -> &Texture
 
pub fn main_texture_other(&self) -> &Texture
The other “main” unsampled texture.
In most cases you should use Self::main_texture instead and never this.
The textures will naturally be swapped when Self::post_process_write is called.
A use case for this is to be able to prepare a bind group for all main textures ahead of time.
Sourcepub fn main_texture_view(&self) -> &TextureView
 
pub fn main_texture_view(&self) -> &TextureView
The “main” unsampled texture.
Sourcepub fn main_texture_other_view(&self) -> &TextureView
 
pub fn main_texture_other_view(&self) -> &TextureView
The other “main” unsampled texture view.
In most cases you should use Self::main_texture_view instead and never this.
The textures will naturally be swapped when Self::post_process_write is called.
A use case for this is to be able to prepare a bind group for all main textures ahead of time.
Sourcepub fn sampled_main_texture(&self) -> Option<&Texture>
 
pub fn sampled_main_texture(&self) -> Option<&Texture>
The “main” sampled texture.
Sourcepub fn sampled_main_texture_view(&self) -> Option<&TextureView>
 
pub fn sampled_main_texture_view(&self) -> Option<&TextureView>
The “main” sampled texture view.
pub fn main_texture_format(&self) -> TextureFormat
Sourcepub fn is_hdr(&self) -> bool
 
pub fn is_hdr(&self) -> bool
Returns true if and only if the main texture is Self::TEXTURE_FORMAT_HDR
Sourcepub fn out_texture(&self) -> &TextureView
 
pub fn out_texture(&self) -> &TextureView
The final texture this view will render to.
pub fn out_texture_color_attachment( &self, clear_color: Option<LinearRgba>, ) -> RenderPassColorAttachment<'_>
Sourcepub fn out_texture_format(&self) -> TextureFormat
 
pub fn out_texture_format(&self) -> TextureFormat
The format of the final texture this view will render to
Sourcepub fn post_process_write(&self) -> PostProcessWrite<'_>
 
pub fn post_process_write(&self) -> PostProcessWrite<'_>
This will start a new “post process write”, which assumes that the caller
will write the PostProcessWrite’s source to the destination.
source is the “current” main texture. This will internally flip this
ViewTarget’s main texture to the destination texture, so the caller
must ensure source is copied to destination, with or without modifications.
Failing to do so will cause the current main texture information to be lost.
Trait Implementations§
Source§impl Component for ViewTarget
 
impl Component for ViewTarget
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
 
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
 
type Mutability = Mutable
Component<Mutability = Mutable>],
while immutable components will instead have [Component<Mutability = Immutable>]. Read moreSource§fn register_required_components(
    _requiree: ComponentId,
    required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
 
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
 
fn clone_behavior() -> ComponentCloneBehavior
Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
    E: EntityMapper,
 
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
    E: EntityMapper,
EntityMapper. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component, this is populated by annotating fields containing entities with #[entities] Read moreAuto Trait Implementations§
impl Freeze for ViewTarget
impl !RefUnwindSafe for ViewTarget
impl Send for ViewTarget
impl Sync for ViewTarget
impl Unpin for ViewTarget
impl !UnwindSafe for ViewTarget
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<C> Bundle for Cwhere
    C: Component,
 
impl<C> Bundle for Cwhere
    C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn get_component_ids(
    components: &Components,
    ids: &mut impl FnMut(Option<ComponentId>),
)
 
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
    C: Component,
 
impl<C> BundleFromComponents for Cwhere
    C: Component,
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>, which can then be
downcast into Box<dyn 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>, which 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> DowncastSend for T
 
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
 
impl<T> DowncastSync for T
Source§impl<C> DynamicBundle for Cwhere
    C: Component,
 
impl<C> DynamicBundle for Cwhere
    C: Component,
Source§unsafe fn get_components(
    ptr: MovingPtr<'_, C>,
    func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
 
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§unsafe fn apply_effect(
    _ptr: MovingPtr<'_, MaybeUninit<C>>,
    _entity: &mut EntityWorldMut<'_>,
)
 
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
Source§impl<T, W> HasTypeWitness<W> for Twhere
    W: MakeTypeWitness<Arg = T>,
    T: ?Sized,
 
impl<T, W> HasTypeWitness<W> for Twhere
    W: MakeTypeWitness<Arg = T>,
    T: ?Sized,
Source§impl<T> Identity for Twhere
    T: ?Sized,
 
impl<T> Identity for Twhere
    T: ?Sized,
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