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", so this trait is not object safe.