Trait spirv_std::image::ImageWithMethods
source · pub trait ImageWithMethods<SampledType: SampleType<FORMAT, COMPONENTS>, const DIM: u32, const DEPTH: u32, const ARRAYED: u32, const MULTISAMPLED: u32, const SAMPLED: u32, const FORMAT: u32, const COMPONENTS: u32, Params> {
// Required methods
fn fetch_with<I>(
&self,
coordinate: impl ImageCoordinate<I, DIM, ARRAYED>,
params: Params
) -> SampledType::SampleResult
where I: Integer;
fn gather_with<F>(
&self,
sampler: Sampler,
coordinate: impl ImageCoordinate<F, DIM, ARRAYED>,
component: u32,
params: Params
) -> SampledType::Vec4
where Self: HasGather,
F: Float;
fn sample_with<F>(
&self,
sampler: Sampler,
coord: impl ImageCoordinate<F, DIM, ARRAYED>,
params: Params
) -> SampledType::SampleResult
where F: Float;
fn sample_depth_reference_with<F>(
&self,
sampler: Sampler,
coordinate: impl ImageCoordinate<F, DIM, ARRAYED>,
depth_reference: f32,
params: Params
) -> SampledType
where F: Float;
fn sample_with_project_coordinate_with<F>(
&self,
sampler: Sampler,
project_coordinate: impl ImageCoordinate<F, DIM, { _ }>,
params: Params
) -> SampledType::SampleResult
where F: Float;
fn sample_depth_reference_with_project_coordinate_with<F>(
&self,
sampler: Sampler,
project_coordinate: impl ImageCoordinate<F, DIM, { _ }>,
depth_reference: f32,
params: Params
) -> SampledType
where F: Float;
}
Expand description
Helper trait that defines all *_with
methods on an Image
that use the extra image operands,
such as bias or lod, defined by the SampleParams
struct.
Required Methods§
sourcefn fetch_with<I>(
&self,
coordinate: impl ImageCoordinate<I, DIM, ARRAYED>,
params: Params
) -> SampledType::SampleResultwhere
I: Integer,
fn fetch_with<I>( &self, coordinate: impl ImageCoordinate<I, DIM, ARRAYED>, params: Params ) -> SampledType::SampleResultwhere I: Integer,
Fetch a single texel with a sampler set at compile time
sourcefn gather_with<F>(
&self,
sampler: Sampler,
coordinate: impl ImageCoordinate<F, DIM, ARRAYED>,
component: u32,
params: Params
) -> SampledType::Vec4where
Self: HasGather,
F: Float,
fn gather_with<F>( &self, sampler: Sampler, coordinate: impl ImageCoordinate<F, DIM, ARRAYED>, component: u32, params: Params ) -> SampledType::Vec4where Self: HasGather, F: Float,
Gathers the requested component from four texels.
sourcefn sample_with<F>(
&self,
sampler: Sampler,
coord: impl ImageCoordinate<F, DIM, ARRAYED>,
params: Params
) -> SampledType::SampleResultwhere
F: Float,
fn sample_with<F>( &self, sampler: Sampler, coord: impl ImageCoordinate<F, DIM, ARRAYED>, params: Params ) -> SampledType::SampleResultwhere F: Float,
Sample texels at coord
from the image using sampler
.
sourcefn sample_depth_reference_with<F>(
&self,
sampler: Sampler,
coordinate: impl ImageCoordinate<F, DIM, ARRAYED>,
depth_reference: f32,
params: Params
) -> SampledTypewhere
F: Float,
fn sample_depth_reference_with<F>( &self, sampler: Sampler, coordinate: impl ImageCoordinate<F, DIM, ARRAYED>, depth_reference: f32, params: Params ) -> SampledTypewhere F: Float,
Sample the image’s depth reference
sourcefn sample_with_project_coordinate_with<F>(
&self,
sampler: Sampler,
project_coordinate: impl ImageCoordinate<F, DIM, { _ }>,
params: Params
) -> SampledType::SampleResultwhere
F: Float,
fn sample_with_project_coordinate_with<F>( &self, sampler: Sampler, project_coordinate: impl ImageCoordinate<F, DIM, { _ }>, params: Params ) -> SampledType::SampleResultwhere F: Float,
Sample the image with a project coordinate
sourcefn sample_depth_reference_with_project_coordinate_with<F>(
&self,
sampler: Sampler,
project_coordinate: impl ImageCoordinate<F, DIM, { _ }>,
depth_reference: f32,
params: Params
) -> SampledTypewhere
F: Float,
fn sample_depth_reference_with_project_coordinate_with<F>( &self, sampler: Sampler, project_coordinate: impl ImageCoordinate<F, DIM, { _ }>, depth_reference: f32, params: Params ) -> SampledTypewhere F: Float,
Sample the image’s depth reference with the project coordinate