KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Karma::KarmaGui_ImplOpenGL3_Data Struct Reference

A data structure for KarmaGui's OpenGL backend renderer. More...

#include <KarmaGuiOpenGLHandler.h>

Inheritance diagram for Karma::KarmaGui_ImplOpenGL3_Data:

Public Member Functions

 KarmaGui_ImplOpenGL3_Data ()
 A constructor.
 

Public Attributes

GLuint GlVersion
 The OpenGL version in use.
 
char GlslVersionString [32]
 Specified by user or detected based on compile time GL settings.
 
GLuint FontTexture
 Array ID for OpenGL's font texture.
 
std::vector< MesaDecalDataopenglMesaDecalDataList
 The list of all the images' data to be used in KarmaGui with OpenGL api.
 
GLuint ShaderHandle
 The handle for KarmaGui's shader program.
 
GLint AttribLocationTex
 An integer that represents the location of a texture uniform variable within a program object.
 
GLint AttribLocationProjMtx
 An integer that represents the location of a projection matrix uniform variable within a program object.
 
GLuint AttribLocationVtxPos
 An integer that represents the location of a vertex position (model transform?) uniform variable within a program object.
 
GLuint AttribLocationVtxUV
 An integer that represents the location of a UV uniform variable within a program object.
 
GLuint AttribLocationVtxColor
 An integer that represents the location of a vertex colo(u)r uniform variable within a program object.
 
unsigned int VboHandle
 The handle for vertex buffer (GL_ARRAY_BUFFER) object meant for KarmaGui using OpenGL api.
 
unsigned int ElementsHandle
 The handle for index buffer (GL_ELEMENT_ARRAY_BUFFER) object meant for KarmaGui using OpenGL api.
 
GLsizeiptr VertexBufferSize
 The size of total sum of vertices in int units of sizeof(KGDrawVert) to be utilized by KarmaGui using OpenGL api.
 
GLsizeiptr IndexBufferSize
 The size of total sum of indices in int units of sizeof(KGDrawVert) to be utilized by KarmaGui using OpenGL api.
 
bool HasClipOrigin
 If extension GL_ARB_clip_control is supported and macro IMGUI_IMPL_OPENGL_MAY_HAVE_EXTENSIONS is defined or GlVersion >= 450 (setting the value true), then we look for clip origin. Assumption (in KarmaGui_ImplOpenGL3_SetupRenderState) is: origin is lower left.
 
bool UseBufferSubData
 True when the processor vendor is Intel and we are on Windows platform. When true glBufferSubData (instead of glBufferData) is used to upload vertex/index buffers.
 

Detailed Description

A data structure for KarmaGui's OpenGL backend renderer.

Note
Accessible via KarmaGuiRenderer::GetBackendRendererUserData()
Since
Karma 1.0.0

Constructor & Destructor Documentation

◆ KarmaGui_ImplOpenGL3_Data()

Karma::KarmaGui_ImplOpenGL3_Data::KarmaGui_ImplOpenGL3_Data ( )
inline

A constructor.

Since
Karma 1.0.0

Member Data Documentation

◆ AttribLocationProjMtx

GLint Karma::KarmaGui_ImplOpenGL3_Data::AttribLocationProjMtx

An integer that represents the location of a projection matrix uniform variable within a program object.

Since
Karma 1.0.0

◆ AttribLocationTex

GLint Karma::KarmaGui_ImplOpenGL3_Data::AttribLocationTex

An integer that represents the location of a texture uniform variable within a program object.

Since
Karma 1.0.0

◆ AttribLocationVtxColor

GLuint Karma::KarmaGui_ImplOpenGL3_Data::AttribLocationVtxColor

An integer that represents the location of a vertex colo(u)r uniform variable within a program object.

Since
Karma 1.0.0

◆ AttribLocationVtxPos

GLuint Karma::KarmaGui_ImplOpenGL3_Data::AttribLocationVtxPos

An integer that represents the location of a vertex position (model transform?) uniform variable within a program object.

Since
Karma 1.0.0

◆ AttribLocationVtxUV

GLuint Karma::KarmaGui_ImplOpenGL3_Data::AttribLocationVtxUV

An integer that represents the location of a UV uniform variable within a program object.

Since
Karma 1.0.0

◆ ElementsHandle

unsigned int Karma::KarmaGui_ImplOpenGL3_Data::ElementsHandle

The handle for index buffer (GL_ELEMENT_ARRAY_BUFFER) object meant for KarmaGui using OpenGL api.

Note
GL_ELEMENT_ARRAY_BUFFER is used to indicate the buffer you're presenting contains the indices of each element in the "other" (GL_ARRAY_BUFFER) buffer.
Since
Karma 1.0.0

◆ FontTexture

GLuint Karma::KarmaGui_ImplOpenGL3_Data::FontTexture

Array ID for OpenGL's font texture.

Note
Specifies an array in which the generated texture names are stored
See also
KarmaGuiOpenGLHandler::KarmaGui_ImplOpenGL3_CreateFontsTexture()
Since
Karma 1.0.0

◆ GlslVersionString

char Karma::KarmaGui_ImplOpenGL3_Data::GlslVersionString[32]

Specified by user or detected based on compile time GL settings.

Since
Karma 1.0.0

◆ GlVersion

GLuint Karma::KarmaGui_ImplOpenGL3_Data::GlVersion

The OpenGL version in use.

Note
Extracted at runtime using GL_MAJOR_VERSION, GL_MINOR_VERSION queries (e.g. 320 for GL 3.2)
Since
Karma 1.0.0

◆ HasClipOrigin

bool Karma::KarmaGui_ImplOpenGL3_Data::HasClipOrigin

If extension GL_ARB_clip_control is supported and macro IMGUI_IMPL_OPENGL_MAY_HAVE_EXTENSIONS is defined or GlVersion >= 450 (setting the value true), then we look for clip origin. Assumption (in KarmaGui_ImplOpenGL3_SetupRenderState) is: origin is lower left.

Note
GL_CLIP_ORIGIN (the clip volume origin, set with glClipControl). Support for GL 4.5 rarely used glClipControl(GL_UPPER_LEFT)
Since
Karma 1.0.0

◆ IndexBufferSize

GLsizeiptr Karma::KarmaGui_ImplOpenGL3_Data::IndexBufferSize

The size of total sum of indices in int units of sizeof(KGDrawVert) to be utilized by KarmaGui using OpenGL api.

Since
Karma 1.0.0

◆ openglMesaDecalDataList

std::vector<MesaDecalData> Karma::KarmaGui_ImplOpenGL3_Data::openglMesaDecalDataList

The list of all the images' data to be used in KarmaGui with OpenGL api.

Note
Usually used with KarmaGui_ImplOpenGL3_CreateTexture
Since
Karma 1.0.0

◆ ShaderHandle

GLuint Karma::KarmaGui_ImplOpenGL3_Data::ShaderHandle

The handle for KarmaGui's shader program.

Since
Karma 1.0.0

◆ UseBufferSubData

bool Karma::KarmaGui_ImplOpenGL3_Data::UseBufferSubData

True when the processor vendor is Intel and we are on Windows platform. When true glBufferSubData (instead of glBufferData) is used to upload vertex/index buffers.

Since
Karma 1.0.0

◆ VboHandle

unsigned int Karma::KarmaGui_ImplOpenGL3_Data::VboHandle

The handle for vertex buffer (GL_ARRAY_BUFFER) object meant for KarmaGui using OpenGL api.

See also
ElementsHandle
Since
Karma 1.0.0

◆ VertexBufferSize

GLsizeiptr Karma::KarmaGui_ImplOpenGL3_Data::VertexBufferSize

The size of total sum of vertices in int units of sizeof(KGDrawVert) to be utilized by KarmaGui using OpenGL api.

Since
Karma 1.0.0

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