tge/graphics/opengl/
primitive_type.rs

1
2#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq)]
3pub enum PrimitiveType {
4    Points,
5    LineStrip,
6    LineLoop,
7    Lines,
8    LineStripAdjacency,
9    LinesAdjacency,
10    TriangleStrip,
11    TriangleFan,
12    Triangles,
13    TriangleStripAdjacency,
14    TrianglesAdjacency,
15    Patches,
16}
17
18impl PrimitiveType {
19    pub(crate) fn to_flag(&self) -> u32 {
20        match self {
21            Self::Points => glow::POINTS,
22            Self::LineStrip => glow::LINE_STRIP,
23            Self::LineLoop => glow::LINE_LOOP,
24            Self::Lines => glow::LINES,
25            Self::LineStripAdjacency => glow::LINE_STRIP_ADJACENCY,
26            Self::LinesAdjacency => glow::LINES_ADJACENCY,
27            Self::TriangleStrip => glow::TRIANGLE_STRIP,
28            Self::TriangleFan => glow::TRIANGLE_FAN,
29            Self::Triangles => glow::TRIANGLES,
30            Self::TriangleStripAdjacency => glow::TRIANGLE_STRIP_ADJACENCY,
31            Self::TrianglesAdjacency => glow::TRIANGLES_ADJACENCY,
32            Self::Patches => glow::PATCHES,
33        }
34    }
35}