12#ifndef GAMP_RENDER_GL_GLLITERALS_HPP_
13#define GAMP_RENDER_GL_GLLITERALS_HPP_
24 using namespace jau::enums;
92 case GL_UNSIGNED_BYTE:
93 return "GL_UNSIGNED_BYTE";
96 case GL_UNSIGNED_SHORT:
97 return "GL_UNSIGNED_SHORT";
106 case GL_UNSIGNED_INT:
107 return "GL_UNSIGNED_INT";
122 case GL_VERTEX_ARRAY:
123 return "GL_VERTEX_ARRAY";
124 case GL_NORMAL_ARRAY:
125 return "GL_NORMAL_ARRAY";
127 return "GL_COLOR_ARRAY";
128 case GL_TEXTURE_COORD_ARRAY:
129 return "GL_TEXTURE_COORD_ARRAY";
136 case GL_VERTEX_SHADER:
137 case GL_FRAGMENT_SHADER:
138 case GL_GEOMETRY_SHADER:
139 case GL_TESS_CONTROL_SHADER:
140 case GL_TESS_EVALUATION_SHADER:
141 case GL_COMPUTE_SHADER:
150 case GL_VERTEX_SHADER:
151 return "VERTEX_SHADER";
152 case GL_FRAGMENT_SHADER:
153 return "FRAGMENT_SHADER";
154 case GL_GEOMETRY_SHADER:
155 return "GEOMETRY_SHADER";
156 case GL_TESS_CONTROL_SHADER:
157 return "TESS_CONTROL_SHADER";
158 case GL_TESS_EVALUATION_SHADER:
159 return "TESS_EVALUATION_SHADER";
160 case GL_COMPUTE_SHADER:
161 return "COMPUTE_SHADER";
162 default:
return "UNKNOWN_SHADER";
168 if( 3 == glVersion.
major() ) {
170 }
else if( 2 == glVersion.
major() ) {
173 }
else if( 1 == glVersion.
major() ) {
175 }
else if( 2 == glVersion.
major() ) {
176 switch( glVersion.
minor() ) {
180 }
else if( 3 == glVersion.
major() && 2 >= glVersion.
minor() ) {
181 switch( glVersion.
minor() ) {
191 inline static constexpr std::string_view
gca_Vertex =
"gca_Vertex";
192 inline static constexpr std::string_view
gca_Normal =
"gca_Normal";
193 inline static constexpr std::string_view
gca_Color =
"gca_Color";
203 switch( glArrayIndex ) {
204 case GL_VERTEX_ARRAY:
206 case GL_NORMAL_ARRAY:
210 case GL_TEXTURE_COORD_ARRAY:
211 if( 0 <= multiTexCoordIndex ) {
212 return std::string(
gca_MultiTexCoord).append(std::to_string(multiTexCoordIndex));
214 return std::string(
gca_MultiTexCoord).append(std::to_string(multiTexCoordIndex));
Simple version number class containing a version number either being defined explicit or derived from...
constexpr int major() const noexcept
constexpr int minor() const noexcept
constexpr bool has_any(const E mask, const E bits) noexcept
#define JAU_MAKE_BITFIELD_ENUM_STRING(type,...)
GLProfileMask
OpenGL profile-mask bits.
static constexpr jau::util::VersionNumber Version4_3
Version 4.3.
static constexpr std::string_view gca_InterleaveArray
static constexpr jau::util::VersionNumber Version1_4
Version 1.4, i.e.
static constexpr jau::util::VersionNumber Version4_0
Version 4.0.
std::string getPredefinedArrayIndexName(GLenum glArrayIndex, GLint multiTexCoordIndex)
static constexpr jau::util::VersionNumber Version1_10
Version 1.10, i.e.
static constexpr jau::util::VersionNumber Version1_30
Version 1.30, i.e.
static constexpr std::string_view gca_MultiTexCoord
static constexpr jau::util::VersionNumber Version1_1
Version 1.1, i.e.
static constexpr GLenum GL_NVIDIA_PLATFORM_BINARY_NV
static constexpr jau::util::VersionNumber Version2_0
Version 2.0.
static constexpr jau::util::VersionNumber Version1_0
Version 1.00, i.e.
constexpr std::string_view getGLTypeName(GLenum type) noexcept
static constexpr jau::util::VersionNumber Version1_50
Version 1.50, i.e.
constexpr jau::util::VersionNumber getGLSLVersionNumber(const jau::util::VersionNumber &glVersion, GLProfileMask mask)
static constexpr std::string_view gca_Color
constexpr std::string_view shaderTypeString(GLenum type) noexcept
constexpr bool isValidShaderType(GLenum type) noexcept
static constexpr jau::util::VersionNumber Version3_1
Version 3.1.
static constexpr jau::util::VersionNumber Version1_40
Version 1.40, i.e.
static constexpr std::string_view gca_Normal
static constexpr std::string_view gca_Vertex
static constexpr jau::util::VersionNumber Version1_5
Version 1.5, i.e.
static constexpr jau::util::VersionNumber Version1_20
Version 1.20, i.e.
constexpr std::string_view getGLArrayName(GLenum array) noexcept
static constexpr jau::util::VersionNumber Version0_0
Version 0.00, i.e.
static constexpr jau::util::VersionNumber Version3_0
Version 3.0.
static constexpr jau::util::VersionNumber Version3_2
Version 3.2.
static constexpr jau::util::VersionNumber Version1_2
Version 1.2, i.e.
@ compat
Desktop compatibility profile.
@ core
Desktop core profile.