Struct nannou::wgpu::Textue5cfe74reSnapshot[][src]

pub struct Textue5cfe74reSnapshot { /* fields omitted */ }

A snapshot captured by a Capturer.

A snapshot is a thin wrapper around a wgpu::BufferImage that knows that the image format is specifically non-linear sRGBA8.

Implementations

impl Snapshot[src]

pub async fn read_async<'buffer>(
    &'buffer self
) -> Result<Rgba8AsyncMappedImageBuffer<'buffer>, BufferAsyncError>
[src]

Reads the non-linear sRGBA image from mapped memory and convert it to an owned buffer.

pub fn read<F>(
    self,
    callback: F
) -> Result<(), AwaitWorkerTimeout<impl Future<Output = ()>>> where
    F: 'static + Send + FnOnce(Result<Rgba8AsyncMappedImageBuffer<'_>, BufferAsyncError>), 
[src]

The same as read_async, but runs the resulting future on an inner threadpool and calls the given callback with the mapped image buffer once complete.

Note: The given callback will not be called until the memory is mapped and the device is polled. You should not rely on the callback being called immediately.

Note: The given callback will be called on the inner thread pool and will not be called on the current thread.

Note: This method may block if the associated wgpu::TextureCapturer has an active_futures count that is greater than the number of worker threads with which it was created. This is necessary in order to avoid “out of memory” errors resulting from an accumulating queue of pending texture buffers waiting to be mapped. To avoid blocking, you can try using a higher thread count, capturing a smaller texture, or using read_async instead and running the resulting future on a custom runtime or threadpool.

Auto Trait Implementations

impl !RefUnwindSafe for Snapshot

impl Send for Snapshot

impl Sync for Snapshot

impl Unpin for Snapshot

impl !UnwindSafe for Snapshot

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    T: Component + Float,
    D: AdaptFrom<S, Swp, Dwp, T>,
    Swp: WhitePoint,
    Dwp: WhitePoint
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> ConvertInto<U> for T where
    U: ConvertFrom<T>, 
[src]

impl<T> Downcast<T> for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> SetParameter for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Upcast<T> for T

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,