pub struct TextureUploader { /* private fields */ }Expand description
Helper to upload texture data from CPU to GPU.
Useful for video frame upload or dynamic texture updates.
Implementations§
Source§impl TextureUploader
impl TextureUploader
Sourcepub fn new(
context: &GraphicsContext,
width: u32,
height: u32,
format: TextureFormat,
) -> Self
pub fn new( context: &GraphicsContext, width: u32, height: u32, format: TextureFormat, ) -> Self
Create a new texture uploader with the specified dimensions.
§Arguments
context- The graphics contextwidth- Texture width in pixelsheight- Texture height in pixelsformat- Texture format (e.g., Rgba8UnormSrgb for standard images)
Sourcepub fn upload(&self, context: &GraphicsContext, data: &[u8])
pub fn upload(&self, context: &GraphicsContext, data: &[u8])
Upload pixel data to the texture.
§Arguments
context- The graphics contextdata- Raw pixel data (must match texture format and dimensions)
Sourcepub fn upload_region(
&self,
context: &GraphicsContext,
data: &[u8],
x: u32,
y: u32,
width: u32,
height: u32,
)
pub fn upload_region( &self, context: &GraphicsContext, data: &[u8], x: u32, y: u32, width: u32, height: u32, )
Upload a subregion of the texture.
§Arguments
context- The graphics contextdata- Raw pixel data for the regionx,y- Top-left corner of the regionwidth,height- Dimensions of the region
Sourcepub fn resize(&mut self, context: &GraphicsContext, width: u32, height: u32)
pub fn resize(&mut self, context: &GraphicsContext, width: u32, height: u32)
Resize the texture (creates a new texture internally).
Sourcepub fn view(&self) -> &TextureView
pub fn view(&self) -> &TextureView
Get the texture view for rendering.
Sourcepub fn format(&self) -> TextureFormat
pub fn format(&self) -> TextureFormat
Get the texture format.
Auto Trait Implementations§
impl Freeze for TextureUploader
impl !RefUnwindSafe for TextureUploader
impl Send for TextureUploader
impl Sync for TextureUploader
impl Unpin for TextureUploader
impl !UnwindSafe for TextureUploader
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> 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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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> 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>
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