Struct three_d::core::render_target::RenderTarget
source · [−]pub struct RenderTarget<'a, 'b> { /* private fields */ }Expand description
Adds additional functionality to write to and copy from both a ColorTargetTexture2D and a DepthTargetTexture2D at the same time. It purely adds functionality, so it can be created each time it is needed, the data is saved in the textures.
Implementations
sourceimpl<'a, 'b> RenderTarget<'a, 'b>
impl<'a, 'b> RenderTarget<'a, 'b>
sourcepub fn screen(context: &Context) -> ThreeDResult<Self>
pub fn screen(context: &Context) -> ThreeDResult<Self>
Returns the screen render target for this context. Write to this render target to draw something on the screen.
sourcepub fn new_depth(
context: &Context,
depth_texture: &'b mut DepthTargetTexture2D
) -> ThreeDResult<Self>
pub fn new_depth(
context: &Context,
depth_texture: &'b mut DepthTargetTexture2D
) -> ThreeDResult<Self>
Constructs a new render target that enables rendering into the given DepthTargetTexture2D.
sourcepub fn new(
context: &Context,
color_texture: &'a mut Texture2D,
depth_texture: &'b mut DepthTargetTexture2D
) -> ThreeDResult<Self>
pub fn new(
context: &Context,
color_texture: &'a mut Texture2D,
depth_texture: &'b mut DepthTargetTexture2D
) -> ThreeDResult<Self>
Constructs a new render target that enables rendering into the given ColorTargetTexture2D and DepthTargetTexture2D textures.
sourcepub fn new_color(
context: &Context,
color_texture: &'a mut Texture2D
) -> ThreeDResult<Self>
pub fn new_color(
context: &Context,
color_texture: &'a mut Texture2D
) -> ThreeDResult<Self>
Constructs a new render target that enables rendering into the given ColorTargetTexture2D.
sourcepub fn write(
&self,
clear_state: ClearState,
render: impl FnOnce() -> ThreeDResult<()>
) -> ThreeDResult<()>
pub fn write(
&self,
clear_state: ClearState,
render: impl FnOnce() -> ThreeDResult<()>
) -> ThreeDResult<()>
Renders whatever rendered in the render closure into the textures defined at construction.
Before writing, the textures are cleared based on the given clear state.
sourcepub fn read_color<T: TextureDataType>(
&self,
viewport: Viewport
) -> ThreeDResult<Vec<T>>
pub fn read_color<T: TextureDataType>(
&self,
viewport: Viewport
) -> ThreeDResult<Vec<T>>
Returns the values of the pixels in this texture inside the given viewport. The number of channels per pixel and the data format for each channel is specified by the generic parameter.
Note: On web, the data format needs to match the data format of the color texture.
sourcepub fn read_depth(&self, viewport: Viewport) -> ThreeDResult<Vec<f32>>
pub fn read_depth(&self, viewport: Viewport) -> ThreeDResult<Vec<f32>>
Returns the depth values from the screen as a list of 32-bit floats. Only available on desktop.
sourcepub fn copy_from(
&self,
color_texture: Option<&Texture2D>,
depth_texture: Option<&DepthTargetTexture2D>,
viewport: Viewport,
write_mask: WriteMask
) -> ThreeDResult<()>
pub fn copy_from(
&self,
color_texture: Option<&Texture2D>,
depth_texture: Option<&DepthTargetTexture2D>,
viewport: Viewport,
write_mask: WriteMask
) -> ThreeDResult<()>
Copies the content of the color and depth texture to the specified viewport of this render target. Only copies the channels given by the write mask.
sourcepub fn copy_from_array(
&self,
color_texture: Option<(&Texture2DArray, u32)>,
depth_texture: Option<(&DepthTargetTexture2DArray, u32)>,
viewport: Viewport,
write_mask: WriteMask
) -> ThreeDResult<()>
pub fn copy_from_array(
&self,
color_texture: Option<(&Texture2DArray, u32)>,
depth_texture: Option<(&DepthTargetTexture2DArray, u32)>,
viewport: Viewport,
write_mask: WriteMask
) -> ThreeDResult<()>
Copies the content of the given layers of the color and depth array textures to the specified viewport of this render target. Only copies the channels given by the write mask.
Trait Implementations
Auto Trait Implementations
impl<'a, 'b> !RefUnwindSafe for RenderTarget<'a, 'b>
impl<'a, 'b> !Send for RenderTarget<'a, 'b>
impl<'a, 'b> !Sync for RenderTarget<'a, 'b>
impl<'a, 'b> Unpin for RenderTarget<'a, 'b>
impl<'a, 'b> !UnwindSafe for RenderTarget<'a, 'b>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more