Skip to main content

OpenGLEnumMapper Namespace

Definition

namespace helios::opengl::OpenGLEnumMapper { ... }

Functions Index

GLenumtoOpenGL (const PrimitiveType primitiveType) noexcept

Converts an engine primitive type to its OpenGL primitive enum. More...

GLenumtoOpenGLBaseType (const VertexAttributeType attributeType) noexcept

Converts an engine attribute type to OpenGL. More...

Functions

toOpenGL()

GLenum helios::opengl::OpenGLEnumMapper::toOpenGL (const PrimitiveType primitiveType)
noexcept

Converts an engine primitive type to its OpenGL primitive enum.

Parameters
primitiveType

Engine primitive topology.

Returns

Matching OpenGL topology enum, or GL_TRIANGLES as fallback.

Definition at line 24 of file OpenGLEnumMapper.ixx.

24 [[nodiscard]] GLenum toOpenGL(const PrimitiveType primitiveType) noexcept {
25 switch (primitiveType) {
26 case PrimitiveType::Points:
27 return GL_POINTS;
28 case PrimitiveType::Lines:
29 return GL_LINES;
30 case PrimitiveType::LineLoop:
31 return GL_LINE_LOOP;
32 case PrimitiveType::LineStrip:
33 return GL_LINE_STRIP;
34 case PrimitiveType::Triangles:
35 return GL_TRIANGLES;
36 case PrimitiveType::TriangleStrip:
37 return GL_TRIANGLE_STRIP;
38 case PrimitiveType::TriangleFan:
39 return GL_TRIANGLE_FAN;
40 default:
41 return GL_TRIANGLES;
42 }
43 }

toOpenGLBaseType()

GLenum helios::opengl::OpenGLEnumMapper::toOpenGLBaseType (const VertexAttributeType attributeType)
noexcept

Converts an engine attribute type to OpenGL.

Parameters
attributeType

Engine attribute type.

Returns

Matching OpenGL attribute type enum.

Definition at line 51 of file OpenGLEnumMapper.ixx.

51 [[nodiscard]] GLenum toOpenGLBaseType(const VertexAttributeType attributeType) noexcept {
52 switch (attributeType) {
53 case VertexAttributeType::Float:
54 case VertexAttributeType::Vec3f:
55 case VertexAttributeType::Vec4f:
56 case VertexAttributeType::Mat4f:
57 return GL_FLOAT;
58 default:
59 std::unreachable();
60 }
61 }

The documentation for this namespace was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.