Enum wgpu_types::VertexFormat
source · #[repr(C)]pub enum VertexFormat {
Show 45 variants
Uint8 = 0,
Uint8x2 = 1,
Uint8x4 = 2,
Sint8 = 3,
Sint8x2 = 4,
Sint8x4 = 5,
Unorm8 = 6,
Unorm8x2 = 7,
Unorm8x4 = 8,
Snorm8 = 9,
Snorm8x2 = 10,
Snorm8x4 = 11,
Uint16 = 12,
Uint16x2 = 13,
Uint16x4 = 14,
Sint16 = 15,
Sint16x2 = 16,
Sint16x4 = 17,
Unorm16 = 18,
Unorm16x2 = 19,
Unorm16x4 = 20,
Snorm16 = 21,
Snorm16x2 = 22,
Snorm16x4 = 23,
Float16 = 24,
Float16x2 = 25,
Float16x4 = 26,
Float32 = 27,
Float32x2 = 28,
Float32x3 = 29,
Float32x4 = 30,
Uint32 = 31,
Uint32x2 = 32,
Uint32x3 = 33,
Uint32x4 = 34,
Sint32 = 35,
Sint32x2 = 36,
Sint32x3 = 37,
Sint32x4 = 38,
Float64 = 39,
Float64x2 = 40,
Float64x3 = 41,
Float64x4 = 42,
Unorm10_10_10_2 = 43,
Unorm8x4Bgra = 44,
}
Expand description
Vertex Format for a VertexAttribute
(input).
Corresponds to WebGPU GPUVertexFormat
.
Variants§
Uint8 = 0
One unsigned byte (u8). u32
in shaders.
Uint8x2 = 1
Two unsigned bytes (u8). vec2<u32>
in shaders.
Uint8x4 = 2
Four unsigned bytes (u8). vec4<u32>
in shaders.
Sint8 = 3
One signed byte (i8). i32
in shaders.
Sint8x2 = 4
Two signed bytes (i8). vec2<i32>
in shaders.
Sint8x4 = 5
Four signed bytes (i8). vec4<i32>
in shaders.
Unorm8 = 6
One unsigned byte (u8). [0, 255] converted to float [0, 1] f32
in shaders.
Unorm8x2 = 7
Two unsigned bytes (u8). [0, 255] converted to float [0, 1] vec2<f32>
in shaders.
Unorm8x4 = 8
Four unsigned bytes (u8). [0, 255] converted to float [0, 1] vec4<f32>
in shaders.
Snorm8 = 9
One signed byte (i8). [-127, 127] converted to float [-1, 1] f32
in shaders.
Snorm8x2 = 10
Two signed bytes (i8). [-127, 127] converted to float [-1, 1] vec2<f32>
in shaders.
Snorm8x4 = 11
Four signed bytes (i8). [-127, 127] converted to float [-1, 1] vec4<f32>
in shaders.
Uint16 = 12
One unsigned short (u16). u32
in shaders.
Uint16x2 = 13
Two unsigned shorts (u16). vec2<u32>
in shaders.
Uint16x4 = 14
Four unsigned shorts (u16). vec4<u32>
in shaders.
Sint16 = 15
One signed short (u16). i32
in shaders.
Sint16x2 = 16
Two signed shorts (i16). vec2<i32>
in shaders.
Sint16x4 = 17
Four signed shorts (i16). vec4<i32>
in shaders.
Unorm16 = 18
One unsigned short (u16). [0, 65535] converted to float [0, 1] f32
in shaders.
Unorm16x2 = 19
Two unsigned shorts (u16). [0, 65535] converted to float [0, 1] vec2<f32>
in shaders.
Unorm16x4 = 20
Four unsigned shorts (u16). [0, 65535] converted to float [0, 1] vec4<f32>
in shaders.
Snorm16 = 21
One signed short (i16). [-32767, 32767] converted to float [-1, 1] f32
in shaders.
Snorm16x2 = 22
Two signed shorts (i16). [-32767, 32767] converted to float [-1, 1] vec2<f32>
in shaders.
Snorm16x4 = 23
Four signed shorts (i16). [-32767, 32767] converted to float [-1, 1] vec4<f32>
in shaders.
Float16 = 24
One half-precision float (no Rust equiv). f32
in shaders.
Float16x2 = 25
Two half-precision floats (no Rust equiv). vec2<f32>
in shaders.
Float16x4 = 26
Four half-precision floats (no Rust equiv). vec4<f32>
in shaders.
Float32 = 27
One single-precision float (f32). f32
in shaders.
Float32x2 = 28
Two single-precision floats (f32). vec2<f32>
in shaders.
Float32x3 = 29
Three single-precision floats (f32). vec3<f32>
in shaders.
Float32x4 = 30
Four single-precision floats (f32). vec4<f32>
in shaders.
Uint32 = 31
One unsigned int (u32). u32
in shaders.
Uint32x2 = 32
Two unsigned ints (u32). vec2<u32>
in shaders.
Uint32x3 = 33
Three unsigned ints (u32). vec3<u32>
in shaders.
Uint32x4 = 34
Four unsigned ints (u32). vec4<u32>
in shaders.
Sint32 = 35
One signed int (i32). i32
in shaders.
Sint32x2 = 36
Two signed ints (i32). vec2<i32>
in shaders.
Sint32x3 = 37
Three signed ints (i32). vec3<i32>
in shaders.
Sint32x4 = 38
Four signed ints (i32). vec4<i32>
in shaders.
Float64 = 39
One double-precision float (f64). f32
in shaders. Requires Features::VERTEX_ATTRIBUTE_64BIT
.
Float64x2 = 40
Two double-precision floats (f64). vec2<f32>
in shaders. Requires Features::VERTEX_ATTRIBUTE_64BIT
.
Float64x3 = 41
Three double-precision floats (f64). vec3<f32>
in shaders. Requires Features::VERTEX_ATTRIBUTE_64BIT
.
Float64x4 = 42
Four double-precision floats (f64). vec4<f32>
in shaders. Requires Features::VERTEX_ATTRIBUTE_64BIT
.
Unorm10_10_10_2 = 43
Three unsigned 10-bit integers and one 2-bit integer, packed into a 32-bit integer (u32). [0, 1024] converted to float [0, 1] vec4<f32>
in shaders.
Unorm8x4Bgra = 44
Four unsigned 8-bit integers, packed into a 32-bit integer (u32). [0, 255] converted to float [0, 1] vec4<f32>
in shaders.
Implementations§
Trait Implementations§
source§impl Clone for VertexFormat
impl Clone for VertexFormat
source§fn clone(&self) -> VertexFormat
fn clone(&self) -> VertexFormat
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for VertexFormat
impl Debug for VertexFormat
source§impl<'de> Deserialize<'de> for VertexFormat
impl<'de> Deserialize<'de> for VertexFormat
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Hash for VertexFormat
impl Hash for VertexFormat
source§impl PartialEq for VertexFormat
impl PartialEq for VertexFormat
source§fn eq(&self, other: &VertexFormat) -> bool
fn eq(&self, other: &VertexFormat) -> bool
self
and other
values to be equal, and is used
by ==
.