pub trait SampleType<const FORMAT: u32, const COMPONENTS: u32>: Scalar {
    type SampleResult: Default;
    type Vec2: Default;
    type Vec3: Default;
    type Vec4: Default + VectorTruncateInto<Self::SampleResult>;
}
Expand description

Marker trait for arguments that accept single scalar values or vectors of scalars. Defines 2-, 3- and 4-component vector types based on the sample type.

Required Associated Types§

source

type SampleResult: Default

The default vector/scalar of ths sample type

source

type Vec2: Default

A 2-component vector of this sample type

source

type Vec3: Default

A 3-component vector of this sample type

source

type Vec4: Default + VectorTruncateInto<Self::SampleResult>

A 4-component vector of this sample type

Implementations on Foreign Types§

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for f32

§

type SampleResult = Vec3

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for u16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for i8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for i64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for u8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for i16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for u64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 4> for f32

§

type SampleResult = Vec4

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for i32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u8

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u16

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for f32

§

type SampleResult = Vec3

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for u32

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 3> for f64

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for f32

§

type SampleResult = Vec2

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 1> for f32

§

type SampleResult = f32

§

type Vec2 = Vec2

§

type Vec3 = Vec3

§

type Vec4 = Vec4

source§

impl SampleType<{ ImageFormat::$fmt as u32 }, 2> for i64

Implementors§