KarmaEngine
Game Engine for practical learning and research purposes
|
A multiply inherited class for supporting both OpenGL and Vulkan API's. More...
#include <KarmaGuiRenderer.h>
Public Member Functions | |
KGTextureID | GetTextureIDAtIndex (uint32_t index) |
uint32_t | GetTextureWidthAtIndex (uint32_t index) |
uint32_t | GetTextureHeightAtIndex (uint32_t index) |
![]() | |
KarmaGui_ImplOpenGL3_Data () | |
A constructor. | |
Additional Inherited Members | |
![]() | |
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< MesaDecalData > | openglMesaDecalDataList |
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. | |
![]() | |
KarmaGui_ImplVulkan_InitInfo | VulkanInitInfo |
KarmaGui's initialization data. | |
VkRenderPass | RenderPass |
A render pass object represents a collection of attachments, subpasses, and dependencies between the subpasses, and describes how the attachments are used over the course of the subpasses. | |
VkDeviceSize | BufferMemoryAlignment |
The value for default alignment for index and vertex buffers. The value is set to 256 by DearImgui authors, so we do in KarmaGuiRenderer::KarmaGui_ImplVulkan_Init. | |
VkPipelineCreateFlags | PipelineCreateFlags |
Flags to be set for Vulkan's graphics pipeline. | |
VkDescriptorSetLayout | DescriptorSetLayout |
A handle to the descriptorsetlayout created by backend in KarmaGuiVulkanHandler::KarmaGui_ImplVulkan_CreateDescriptorSetLayout. | |
VkPipelineLayout | PipelineLayout |
Opaque handle to a pipeline layout object. Access to descriptor sets from a pipeline is accomplished through a pipeline layout. Zero or more descriptor set layouts and zero or more push constant ranges are combined to form a pipeline layout object describing the complete set of resources that can be accessed by a pipeline. The pipeline layout represents a sequence of descriptor sets with each having a specific layout. This sequence of layouts is used to determine the interface between shader stages and shader resources. Each pipeline is created using a pipeline layout. | |
VkPipeline | Pipeline |
A huge object in Vulkan that encompasses the configuration of the entire GPU for the draw. Once a pipeline is built, it can be bound inside a command buffer, and then when you draw anything it will use the bound pipeline. | |
uint32_t | Subpass |
Not sure what the use of this Subpass is. Seems vestigial? | |
VkShaderModule | ShaderModuleVert |
Opaque handle to a vertex shader module object for backend. Shader modules contain shader code and one or more entry points. Shaders are selected from a shader module by specifying an entry point as part of pipeline creation. The stages of a pipeline can use shaders that come from different modules. The shader code defining a shader module must be in the SPIR-V format, as described by the Vulkan Environment for SPIR-V appendix. | |
VkShaderModule | ShaderModuleFrag |
Opaque handle to fragment shader module object for backend. Shader modules contain shader code and one or more entry points. Shaders are selected from a shader module by specifying an entry point as part of pipeline creation. The stages of a pipeline can use shaders that come from different modules. The shader code defining a shader module must be in the SPIR-V format, as described by the Vulkan Environment for SPIR-V appendix. | |
VkSampler | FontSampler |
Opaque handle to a sampler object. The object represents the state of an image sampler which is used by the implementation to read image data and apply filtering and other transformations for the shader. | |
VkDeviceMemory | FontMemory |
The memory resource allocated for the fonts to be displayed by the backend. | |
VkImage | FontImage |
A 2D font image object with following properties. | |
VkImageView | FontView |
The image view, for 2D font, representing contiguous ranges of the image subresources and containing additional metadata which are used by pipeline shaders for reading or writing image data. | |
VkDescriptorSet | FontDescriptorSet |
Container for uploading image texture relevant data, TextureView for instance, from CPU to GPU. | |
VkDeviceMemory | UploadBufferMemory |
Device allocated memory for font image pixels' buffer. | |
VkBuffer | UploadBuffer |
Vulkan buffer containing font texture pixels. | |
std::vector< KarmaGui_ImplVulkan_Image_TextureData * > | vulkanMesaDecalDataList |
List of vulkan images' textures, for instance icons and stuff. | |
A multiply inherited class for supporting both OpenGL and Vulkan API's.