StapleGL
Header-only C++20 OpenGL wrapper
|
Namespaces | |
namespace | shader_data_type |
namespace | util |
Classes | |
class | cubemap |
Cube map texture wrapper. More... | |
class | framebuffer |
Framebuffer Object (FBO) wrapper. More... | |
class | index_buffer |
Element Buffer Object (EBO) wrapper. More... | |
class | renderbuffer |
Render Buffer Object (RBO) wrapper. More... | |
struct | resolution |
A struct that represents an image's dimensions. More... | |
struct | shader |
Individual shader struct. More... | |
class | shader_program |
Shader program class. More... | |
class | texture_2d |
2D texture wrapper. More... | |
struct | texture_antialias |
OpenGL texture details relating to the number of samples to use for the texture. More... | |
struct | texture_color |
OpenGL texture details relating to the color format and data type. More... | |
struct | texture_filter |
OpenGL texture details relating to filtering and clamping of the image. More... | |
class | uniform_buffer |
Uniform Buffer Object (UBO) wrapper. More... | |
class | vertex_array |
Vertex Array Object (VAO) wrapper. More... | |
struct | vertex_attribute |
Vertex attribute. More... | |
class | vertex_buffer |
Vertex Buffer Object (VBO) wrapper. More... | |
class | vertex_buffer_inst |
A vertex buffer object for instanced rendering. More... | |
class | vertex_buffer_layout |
Vertex buffer layout. More... | |
Concepts | |
concept | plain_old_data |
Concept that specifies that a type is a Plain Old Data (POD) type. | |
Enumerations | |
enum class | fbo_attachment : std::uint8_t { NONE = 0x00 , ATTACH_DEPTH_BUFFER = 0x01 , ATTACH_STENCIL_BUFFER = 0x02 , ATTACH_DEPTH_STENCIL_BUFFER = 0x03 } |
enum class for framebuffer attachments. More... | |
enum class | shader_type { vertex , fragment , tess_control , tess_eval , geometry } |
The type of the shader. More... | |
enum | tex_samples : int32_t { MSAA_X1 = 1 , MSAA_X2 = 2 , MSAA_X4 = 4 , MSAA_X8 = 8 , MSAA_X16 = 16 , MSAA_X32 = 32 } |
An enum that represents the number of samples for a texture. More... | |
enum | driver_draw_hint { STATIC_DRAW = GL_STATIC_DRAW , DYNAMIC_DRAW = GL_DYNAMIC_DRAW , STREAM_DRAW = GL_STREAM_DRAW } |
Enum that specifies the usage hint of a buffer. More... | |
enum | driver_access_specifier { READ_ONLY = GL_READ_ONLY , WRITE_ONLY = GL_WRITE_ONLY , READ_WRITE = GL_READ_WRITE } |
Enum that specifies the access specifier of a buffer. More... | |
Functions | |
std::string | shader_type_to_string (shader_type type) noexcept |
static constexpr auto | to_mipmap (std::int32_t filter_type) -> std::int32_t |
Convert a filter type to its mipmap counterpart. | |
Enum that specifies the access specifier of a buffer.
Enumerator | |
---|---|
READ_ONLY | |
WRITE_ONLY | |
READ_WRITE |
Definition at line 64 of file vertex_buffer.hpp.
Enum that specifies the usage hint of a buffer.
The usage hint is a hint to the driver on how the buffer will be used, it is not a guarantee but setting this accordingly is likely to have positive performance implications on your application.
Enumerator | |
---|---|
STATIC_DRAW | |
DYNAMIC_DRAW | |
STREAM_DRAW |
Definition at line 51 of file vertex_buffer.hpp.
|
strong |
enum class for framebuffer attachments.
Enumerator | |
---|---|
NONE | |
ATTACH_DEPTH_BUFFER | |
ATTACH_STENCIL_BUFFER | |
ATTACH_DEPTH_STENCIL_BUFFER |
Definition at line 40 of file framebuffer.hpp.
|
strong |
The type of the shader.
used to differentiate between shader types.
Enumerator | |
---|---|
vertex | |
fragment | |
tess_control | |
tess_eval | |
geometry |
Definition at line 38 of file shader.hpp.
enum staplegl::tex_samples : int32_t |
An enum that represents the number of samples for a texture.
Enumerator | |
---|---|
MSAA_X1 | |
MSAA_X2 | |
MSAA_X4 | |
MSAA_X8 | |
MSAA_X16 | |
MSAA_X32 |
Definition at line 38 of file utility.hpp.
|
inlinenoexcept |
Definition at line 654 of file shader.hpp.
|
staticconstexpr |
Convert a filter type to its mipmap counterpart.
filter_type | the OpenGL enum value of the filter type. |
Definition at line 79 of file texture.hpp.