KarmaEngine
Game Engine for practical learning and research purposes
|
Backend data containing stuff for Vulkan renderer for KarmaGui. More...
#include <KarmaGuiVulkanHandler.h>
Public Attributes | |
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. | |
Backend data containing stuff for Vulkan renderer for KarmaGui.
The object is accessed by the acessor function KarmaGuiRenderer::GetBackendRendererUserData()
VkDeviceSize Karma::KarmaGui_ImplVulkan_Data::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.
VkDescriptorSetLayout Karma::KarmaGui_ImplVulkan_Data::DescriptorSetLayout |
A handle to the descriptorsetlayout created by backend in KarmaGuiVulkanHandler::KarmaGui_ImplVulkan_CreateDescriptorSetLayout.
A descriptor set layout object is defined by an array of zero or more descriptor bindings. Each individual descriptor binding is specified by a descriptor type, a count (array size) of the number of descriptors in the binding, a set of shader stages that can access the binding, and (if using immutable samplers) an array of sampler descriptors.
In this backend context, the layout is created for fonts to be programmed? in fragment shader stage.
VkDescriptorSet Karma::KarmaGui_ImplVulkan_Data::FontDescriptorSet |
Container for uploading image texture relevant data, TextureView for instance, from CPU to GPU.
VkImage Karma::KarmaGui_ImplVulkan_Data::FontImage |
A 2D font image object with following properties.
VkDeviceMemory Karma::KarmaGui_ImplVulkan_Data::FontMemory |
The memory resource allocated for the fonts to be displayed by the backend.
VkSampler Karma::KarmaGui_ImplVulkan_Data::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.
VkImageView Karma::KarmaGui_ImplVulkan_Data::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.
VkPipeline Karma::KarmaGui_ImplVulkan_Data::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.
VkPipelineCreateFlags Karma::KarmaGui_ImplVulkan_Data::PipelineCreateFlags |
Flags to be set for Vulkan's graphics pipeline.
VkPipelineLayout Karma::KarmaGui_ImplVulkan_Data::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.
VkRenderPass Karma::KarmaGui_ImplVulkan_Data::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.
Set to KarmaGui_ImplVulkan_InitInfo.RenderPass in the function KarmaGuiRenderer::KarmaGui_ImplVulkan_Init
VkShaderModule Karma::KarmaGui_ImplVulkan_Data::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.
VkShaderModule Karma::KarmaGui_ImplVulkan_Data::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.
uint32_t Karma::KarmaGui_ImplVulkan_Data::Subpass |
Not sure what the use of this Subpass is. Seems vestigial?
VkBuffer Karma::KarmaGui_ImplVulkan_Data::UploadBuffer |
Vulkan buffer containing font texture pixels.
VkDeviceMemory Karma::KarmaGui_ImplVulkan_Data::UploadBufferMemory |
Device allocated memory for font image pixels' buffer.
KarmaGui_ImplVulkan_InitInfo Karma::KarmaGui_ImplVulkan_Data::VulkanInitInfo |
KarmaGui's initialization data.
std::vector<KarmaGui_ImplVulkan_Image_TextureData*> Karma::KarmaGui_ImplVulkan_Data::vulkanMesaDecalDataList |
List of vulkan images' textures, for instance icons and stuff.