pub struct GaussianTransformBuffer(/* private fields */);Expand description
The Gaussian transform buffer.
This buffer holds the Gaussian transformation data, including size, display mode, SH degree, and whether to show SH0.
Implementations§
Source§impl GaussianTransformBuffer
impl GaussianTransformBuffer
Sourcepub fn update(
&self,
queue: &Queue,
size: f32,
display_mode: GaussianDisplayMode,
sh_deg: GaussianShDegree,
no_sh0: bool,
max_std_dev: GaussianMaxStdDev,
)
pub fn update( &self, queue: &Queue, size: f32, display_mode: GaussianDisplayMode, sh_deg: GaussianShDegree, no_sh0: bool, max_std_dev: GaussianMaxStdDev, )
Update the Gaussian transformation buffer.
Sourcepub fn update_with_pod(&self, queue: &Queue, transform: &GaussianTransformPod)
pub fn update_with_pod(&self, queue: &Queue, transform: &GaussianTransformPod)
Update the Gaussian transformation buffer with GaussianTransformPod.
Trait Implementations§
Source§impl BufferWrapper for GaussianTransformBuffer
impl BufferWrapper for GaussianTransformBuffer
Source§const DEFAULT_USAGES: BufferUsages = _
const DEFAULT_USAGES: BufferUsages = _
The default usages.
Source§fn download<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 self,
device: &'life1 Device,
queue: &'life2 Queue,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, DownloadBufferError>> + Send + 'async_trait>>where
Self: Send + Sync + 'async_trait,
T: 'async_trait + NoUninit + AnyBitPattern,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn download<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 self,
device: &'life1 Device,
queue: &'life2 Queue,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, DownloadBufferError>> + Send + 'async_trait>>where
Self: Send + Sync + 'async_trait,
T: 'async_trait + NoUninit + AnyBitPattern,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Download the buffer data into a
Vec.Source§fn prepare_download(
&self,
device: &Device,
encoder: &mut CommandEncoder,
) -> Buffer
fn prepare_download( &self, device: &Device, encoder: &mut CommandEncoder, ) -> Buffer
Prepare for downloading the buffer data. Read more
Source§fn map_download<'life0, 'life1, 'async_trait, T>(
download: &'life0 Buffer,
device: &'life1 Device,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, DownloadBufferError>> + Send + 'async_trait>>where
T: 'async_trait + NoUninit + AnyBitPattern,
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn map_download<'life0, 'life1, 'async_trait, T>(
download: &'life0 Buffer,
device: &'life1 Device,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, DownloadBufferError>> + Send + 'async_trait>>where
T: 'async_trait + NoUninit + AnyBitPattern,
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Map the download buffer to read the buffer data. Read more
Source§fn map_download_with_poll_type<'life0, 'life1, 'async_trait, T>(
download: &'life0 Buffer,
device: &'life1 Device,
poll_type: PollType,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, DownloadBufferError>> + Send + 'async_trait>>where
T: 'async_trait + NoUninit + AnyBitPattern,
'life0: 'async_trait,
'life1: 'async_trait,
fn map_download_with_poll_type<'life0, 'life1, 'async_trait, T>(
download: &'life0 Buffer,
device: &'life1 Device,
poll_type: PollType,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, DownloadBufferError>> + Send + 'async_trait>>where
T: 'async_trait + NoUninit + AnyBitPattern,
'life0: 'async_trait,
'life1: 'async_trait,
Map the download buffer to read the buffer data with custom
wgpu::PollType. Read moreSource§impl Clone for GaussianTransformBuffer
impl Clone for GaussianTransformBuffer
Source§fn clone(&self) -> GaussianTransformBuffer
fn clone(&self) -> GaussianTransformBuffer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GaussianTransformBuffer
impl Debug for GaussianTransformBuffer
Source§impl FixedSizeBufferWrapper for GaussianTransformBuffer
impl FixedSizeBufferWrapper for GaussianTransformBuffer
Source§type Pod = GaussianTransformPod
type Pod = GaussianTransformPod
The POD element type that defines the layout/size.
Source§fn pod_size() -> BufferAddress
fn pod_size() -> BufferAddress
Returns the size in bytes of the POD element.
Source§fn verify_buffer_size(
buffer: &Buffer,
) -> Result<(), FixedSizeBufferWrapperError>
fn verify_buffer_size( buffer: &Buffer, ) -> Result<(), FixedSizeBufferWrapperError>
Check if the given buffer matches the expected size. Read more
Source§fn download_single(
&self,
device: &Device,
queue: &Queue,
) -> impl Future<Output = Result<Self::Pod, DownloadBufferError>> + Send
fn download_single( &self, device: &Device, queue: &Queue, ) -> impl Future<Output = Result<Self::Pod, DownloadBufferError>> + Send
Download a single
FixedSizeBufferWrapper::Pod.Source§impl From<GaussianTransformBuffer> for Buffer
impl From<GaussianTransformBuffer> for Buffer
Source§fn from(wrapper: GaussianTransformBuffer) -> Self
fn from(wrapper: GaussianTransformBuffer) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for GaussianTransformBuffer
impl !RefUnwindSafe for GaussianTransformBuffer
impl Send for GaussianTransformBuffer
impl Sync for GaussianTransformBuffer
impl Unpin for GaussianTransformBuffer
impl !UnwindSafe for GaussianTransformBuffer
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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