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::Vec4
fn gather_with<F>( &self, sampler: Sampler, coordinate: impl ImageCoordinate<F, DIM, ARRAYED>, component: u32, params: Params, ) -> SampledType::Vec4
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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".