|
Gamp v0.0.7-54-gccdc599
Gamp: Graphics, Audio, Multimedia and Processing
|
Specifies the OpenGL profile. More...
#include <GLContext.hpp>
Public Member Functions | |
| constexpr | GLProfile () noexcept |
| constexpr | GLProfile (const jau::util::VersionNumber &version, GLProfileMask profileMask) noexcept |
| Create a new instance. | |
| constexpr | GLProfile (std::string_view tag) noexcept |
| Create a new instance, merely deriving from given tag. | |
| std::string | getGLSLVersionString () const |
| Returns the GLSL version string as to be used in a shader program, including a terminating newline ' ', i.e. | |
| constexpr const jau::util::VersionNumber & | glslVersion () const noexcept |
| constexpr bool | hasGLSL () const noexcept |
| Indicates whether this profile supports GLSL, i.e. | |
| constexpr bool | isGL2 () const noexcept |
| Indicates whether this profile is capable of GL2 . | |
| constexpr bool | isGL2ES1 () const noexcept |
| Indicates whether this profile is capable of GL2ES1. | |
| constexpr bool | isGL2ES2 () const noexcept |
| Indicates whether this profile is capable of GL2ES2. | |
| constexpr bool | isGL2ES3 () const noexcept |
| Indicates whether this profile is capable of GL2ES3. | |
| constexpr bool | isGL2GL3 () const noexcept |
| Indicates whether this profile is capable of GL2GL3. | |
| constexpr bool | isGL3 () const noexcept |
| Indicates whether this profile is capable of GL3. | |
| constexpr bool | isGL3bc () const noexcept |
| Indicates whether this profile is capable of GL3bc. | |
| constexpr bool | isGL3core () const noexcept |
| Indicates whether this profile is capable of GL3 core (only). | |
| constexpr bool | isGL3ES3 () const noexcept |
| Indicates whether this profile is capable of GL3ES3. | |
| constexpr bool | isGL4 () const noexcept |
| Indicates whether this profile is capable of GL4. | |
| constexpr bool | isGL4bc () const noexcept |
| Indicates whether this profile is capable of GL4bc. | |
| constexpr bool | isGL4core () const noexcept |
| Indicates whether this profile is capable of GL4 core (only). | |
| constexpr bool | isGL4ES3 () const noexcept |
| Indicates whether this profile is capable of GL4ES3. | |
| constexpr bool | isGLcore () const noexcept |
| Indicates whether this GL object uses a GL core profile. | |
| constexpr bool | isGLES () const noexcept |
| Indicates whether this profile is capable of GLES. | |
| constexpr bool | isGLES1 () const noexcept |
| Indicates whether this profile is capable of GLES1. | |
| constexpr bool | isGLES2 () const noexcept |
| Indicates whether this profile is capable of GLES2. | |
| constexpr bool | isGLES3 () const noexcept |
| Indicates whether this profile is capable of GLES3. | |
| constexpr bool | isValid () const noexcept |
| bool | isValidArrayDataType (GLenum index, GLsizei comps, GLenum type, bool isVertexAttribPointer, bool throwException) const |
| General validation if index, comps and type are valid for the current profile. | |
| constexpr bool | isValidDataType (GLenum type) const noexcept |
| General validation if type is a valid GL data type for the current profile. | |
| constexpr bool | nativeGLCompat () const noexcept |
| Indicates whether either of the native OpenGL compatibility profiles are in use. | |
| constexpr bool | nativeGLCore () const noexcept |
| Indicates whether either of the native OpenGL core profiles are in use. | |
| constexpr bool | nativeGLES () const noexcept |
| Indicates whether either of the native OpenGL ES profiles are in use. | |
| constexpr bool | nativeGLES1 () const noexcept |
| Indicates whether the native OpenGL ES1 profile is in use. | |
| constexpr bool | nativeGLES2 () const noexcept |
| Indicates whether the native OpenGL ES3 or ES2 profile is in use. | |
| constexpr bool | nativeGLES3 () const noexcept |
| Indicates whether the native OpenGL ES2 profile is in use. | |
| constexpr GLProfileMask | profileMask () const noexcept |
| const jau::type_info & | signature () const noexcept override |
| std::string | toString () const override |
Public Member Functions inherited from gamp::render::RenderProfile | |
| constexpr | RenderProfile () noexcept |
| Create an undefined instance. | |
| constexpr | RenderProfile (const std::string_view profile, const jau::util::VersionNumber &version) noexcept |
| Create an instance w/ unique name. | |
| virtual | ~RenderProfile () noexcept=default |
| constexpr const std::string_view | name () const noexcept |
| constexpr bool | operator== (const RenderProfile &rhs) const noexcept |
| constexpr const jau::util::VersionNumber & | version () const noexcept |
Static Public Member Functions | |
| static const GLProfile & | downcast (const RenderProfile &rp) |
Downcast dereferenced given const RenderProfile& to const GLProfile&, throws exception if signature doesn't match GLSignature() | |
| static const jau::type_info & | GLSignature () noexcept |
| static constexpr bool | isValidTag (std::string_view tag) noexcept |
Static Public Attributes | |
| static constexpr std::string_view | GL2 = "GL2" |
| The desktop OpenGL profile 1.x up to 3.0. | |
| static constexpr std::string_view | GL3 = "GL3" |
| The desktop OpenGL core profile 3.x, with x >= 1. | |
| static constexpr std::string_view | GL3bc = "GL3bc" |
| The desktop OpenGL compatibility profile 3.x, with x >= 1, ie GL2 plus GL3. | |
| static constexpr std::string_view | GL4 = "GL4" |
| The desktop OpenGL core profile 4.x, with x >= 0. | |
| static constexpr std::string_view | GL4bc = "GL4bc" |
| The desktop OpenGL compatibility profile 4.x, with x >= 0, ie GL2 plus GL4. | |
| static constexpr std::string_view | GL_UNDEF = "undef" |
| The default profile, used for the device default profile map. | |
| static constexpr std::string_view | GLES1 = "GLES1" |
| The embedded OpenGL profile ES 1.x, with x >= 0. | |
| static constexpr std::string_view | GLES2 = "GLES2" |
| The embedded OpenGL profile ES 2.x, with x >= 0. | |
| static constexpr std::string_view | GLES3 = "GLES3" |
| The embedded OpenGL profile ES 3.x, with x >= 0. | |
Static Public Attributes inherited from gamp::render::RenderProfile | |
| static constexpr std::string_view | RP_UNDEF = "undef" |
| The default profile, used for the device default profile map. | |
Protected Member Functions | |
| void | clear () noexcept override |
Additional Inherited Members | |
Static Protected Member Functions inherited from gamp::render::RenderProfile | |
| static const RenderProfile & | getUndef () noexcept |
Protected Attributes inherited from gamp::render::RenderProfile | |
| friend | RenderContext |
Specifies the OpenGL profile.
Definition at line 42 of file GLContext.hpp.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Create a new instance.
Definition at line 164 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Create a new instance, merely deriving from given tag.
Definition at line 171 of file GLContext.hpp.
|
inlinestaticconstexprnoexcept |
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from gamp::render::RenderProfile.
Definition at line 154 of file GLContext.hpp.
|
inlinestaticnoexcept |
|
inlineoverridevirtualnoexcept |
Reimplemented from gamp::render::RenderProfile.
Definition at line 178 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Definition at line 180 of file GLContext.hpp.
|
inlinestatic |
Downcast dereferenced given const RenderProfile& to const GLProfile&, throws exception if signature doesn't match GLSignature()
Definition at line 183 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Definition at line 190 of file GLContext.hpp.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL4bc.
Includes [ GL4bc ].
Definition at line 194 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL4 core (only).
Includes [ GL4 ].
Definition at line 199 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL4.
Includes [ GL4bc, GL4 ].
Definition at line 204 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL3bc.
Includes [ GL4bc, GL3bc ].
Definition at line 209 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL3 core (only).
Includes [ GL4, GL3 ].
Definition at line 214 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL3.
Includes [ GL4bc, GL4, GL3bc, GL3 ].
Definition at line 219 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL2 .
Includes [ GL4bc, GL3bc, GL2 ].
Definition at line 224 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GLES1.
Includes [ GLES1 ].
Definition at line 229 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GLES2.
Includes [ GLES2, GLES3 ].
Definition at line 234 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GLES3.
Includes [ GLES3 ].
Definition at line 239 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GLES.
Includes [ GLES1, GLES2, GLES3 ].
Definition at line 244 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL2ES1.
Includes [ GL4bc, GL3bc, GL2, GLES1, GL2ES1 ].
GL2ES1 is the intersection of the desktop GL2 and embedded ES1 profile.
Definition at line 255 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL2GL3.
Includes [ GL4bc, GL4, GL3bc, GL3, GL2, GL2GL3 ].
GL2GL3 is the intersection of the desktop GL2 and GL3 profile.
Definition at line 266 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL2ES2.
Includes [ GL4bc, GL4, GL3bc, GL3, GLES3, GL2, GL2GL3, GL2ES2, GLES2 ].
GL2ES2 is the intersection of the desktop GL2 and embedded ES2 profile.
Definition at line 277 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL2ES3.
Includes [ GL4bc, GL4, GL3bc, GL3, GLES3, GL3ES3, GL2, GL2GL3 ].
GL2ES3 is the intersection of the desktop GL2 and embedded ES3 profile.
Definition at line 290 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this GL object uses a GL core profile.
Includes [ GL4, GL3, GLES3, GL2ES2 ].
Definition at line 300 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL3ES3.
Includes [ GL4bc, GL4, GL3bc, GL3, GLES3 ].
GL3ES3 is the intersection of the desktop GL3 and embedded ES3 profile.
Definition at line 311 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile is capable of GL4ES3.
Includes [ GL4bc, GL4, GLES3 ].
Definition at line 316 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether this profile supports GLSL, i.e.
nativeGLES2() || ( !nativeGLES() && m_version.major()>1 ).
Definition at line 321 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether the native OpenGL ES1 profile is in use.
This requires an EGL interface.
Definition at line 330 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether the native OpenGL ES3 or ES2 profile is in use.
This requires an EGL, ES3 or ES2 compatible interface.
Definition at line 338 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether the native OpenGL ES2 profile is in use.
This requires an EGL, ES3 compatible interface.
Definition at line 346 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether either of the native OpenGL ES profiles are in use.
Definition at line 351 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether either of the native OpenGL core profiles are in use.
Definition at line 356 of file GLContext.hpp.
|
inlineconstexprnoexcept |
Indicates whether either of the native OpenGL compatibility profiles are in use.
Definition at line 361 of file GLContext.hpp.
|
inlineconstexprnoexcept |
General validation if type is a valid GL data type for the current profile.
Disclaimer: The validation might not satisfy updated OpenGL specifications.
Definition at line 371 of file GLContext.hpp.
| bool GLProfile::isValidArrayDataType | ( | GLenum | index, |
| GLsizei | comps, | ||
| GLenum | type, | ||
| bool | isVertexAttribPointer, | ||
| bool | throwException ) const |
General validation if index, comps and type are valid for the current profile.
Disclaimer: The validation might not satisfy updated OpenGL specifications.
Definition at line 25 of file gamp_gl.cpp.
|
inline |
Returns the GLSL version string as to be used in a shader program, including a terminating newline '
', i.e.
for desktop
version 110 .. version 150 core version 330 compatibility ...
And for ES:
version 100 version 300 es ..
If context has not been made current yet, a string of zero length is returned.
Definition at line 430 of file GLContext.hpp.
|
inlineoverridevirtual |
Reimplemented from gamp::render::RenderProfile.
Definition at line 449 of file GLContext.hpp.
|
staticconstexpr |
The desktop OpenGL compatibility profile 4.x, with x >= 0, ie GL2 plus GL4.
bc stands for backward compatibility.
Definition at line 46 of file GLContext.hpp.
|
staticconstexpr |
The desktop OpenGL core profile 4.x, with x >= 0.
Definition at line 49 of file GLContext.hpp.
|
staticconstexpr |
The desktop OpenGL compatibility profile 3.x, with x >= 1, ie GL2 plus GL3.
bc stands for backward compatibility.
Definition at line 53 of file GLContext.hpp.
|
staticconstexpr |
The desktop OpenGL core profile 3.x, with x >= 1.
Definition at line 56 of file GLContext.hpp.
|
staticconstexpr |
The desktop OpenGL profile 1.x up to 3.0.
Definition at line 59 of file GLContext.hpp.
|
staticconstexpr |
The embedded OpenGL profile ES 1.x, with x >= 0.
Definition at line 62 of file GLContext.hpp.
|
staticconstexpr |
The embedded OpenGL profile ES 2.x, with x >= 0.
Definition at line 65 of file GLContext.hpp.
|
staticconstexpr |
The embedded OpenGL profile ES 3.x, with x >= 0.
Definition at line 68 of file GLContext.hpp.
|
staticconstexpr |
The default profile, used for the device default profile map.
Definition at line 71 of file GLContext.hpp.