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§impl Serialize for VertexFormat
impl Serialize for VertexFormat
impl Copy for VertexFormat
impl Eq for VertexFormat
impl StructuralPartialEq for VertexFormat
Auto Trait Implementations§
impl Freeze for VertexFormat
impl RefUnwindSafe for VertexFormat
impl Send for VertexFormat
impl Sync for VertexFormat
impl Unpin for VertexFormat
impl UnwindSafe for VertexFormat
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)