The JEVulkanShader.
More...
#include <VulkanShader.h>
|
virtual void | CreateDescriptorSetLayouts (VkDevice device, uint32_t numSourceTextures, uint32_t numUniformBuffers, uint32_t numStorageBuffers) |
| Base class version of descriptor set layout creation. More...
|
|
virtual void | CreateGraphicsPipeline (VkDevice device, VkShaderModule vertShaderModule, VkShaderModule fragShaderModule, VkExtent2D frameExtent, VkRenderPass renderPass, const MaterialComponent &materialComponent)=0 |
| Create graphics pipeline function. More...
|
|
The JEVulkanShader.
Class that directly extends the JEShader class. Meant to be extended by all specific Vulkan shader class. Stores Vulkan API specific data.
◆ JEVulkanShader() [1/2]
JoeEngine::JEVulkanShader::JEVulkanShader |
( |
| ) |
|
|
delete |
Default constructor (deleted).
◆ JEVulkanShader() [2/2]
JoeEngine::JEVulkanShader::JEVulkanShader |
( |
VkDevice |
device, |
|
|
const std::string & |
vertPath, |
|
|
const std::string & |
fragPath |
|
) |
| |
|
inline |
◆ ~JEVulkanShader()
virtual JoeEngine::JEVulkanShader::~JEVulkanShader |
( |
| ) |
|
|
virtualdefault |
Destructor (default) (deleted).
◆ Cleanup()
void JoeEngine::JEVulkanShader::Cleanup |
( |
| ) |
|
|
inlineoverridevirtual |
◆ CreateDescriptorSetLayouts()
virtual void JoeEngine::JEVulkanShader::CreateDescriptorSetLayouts |
( |
VkDevice |
device, |
|
|
uint32_t |
numSourceTextures, |
|
|
uint32_t |
numUniformBuffers, |
|
|
uint32_t |
numStorageBuffers |
|
) |
| |
|
inlineprotectedvirtual |
Base class version of descriptor set layout creation.
- Parameters
-
device | the Vulkan logical device. |
numSourceTextures | the number of uniform sampler textures. |
numUniformBuffers | the number of uniform data buffers. |
numStorageBuffers | the number of shader storage data buffers. |
◆ CreateGraphicsPipeline()
virtual void JoeEngine::JEVulkanShader::CreateGraphicsPipeline |
( |
VkDevice |
device, |
|
|
VkShaderModule |
vertShaderModule, |
|
|
VkShaderModule |
fragShaderModule, |
|
|
VkExtent2D |
frameExtent, |
|
|
VkRenderPass |
renderPass, |
|
|
const MaterialComponent & |
materialComponent |
|
) |
| |
|
protectedpure virtual |
Create graphics pipeline function.
- Parameters
-
device | the Vulkan logical device. |
vertShaderModule | the vertex shader module object. |
fragShaderModule | the fragment shader module object. |
frameExtent | the window/frame dimensions. |
renderPass | the intended Vulkan render pass object for the shader. |
materialComponent | the material properties for the shader. |
◆ GetDescriptorSetLayout()
VkDescriptorSetLayout JoeEngine::JEVulkanShader::GetDescriptorSetLayout |
( |
uint32_t |
index | ) |
const |
|
inline |
Get descriptor set layout object.
- Parameters
-
index | the specific descriptor set layout to return. |
- Returns
- the specific descriptor set layout.
◆ GetPipeline()
VkPipeline JoeEngine::JEVulkanShader::GetPipeline |
( |
| ) |
const |
|
inline |
Get graphics pipeline object.
- Returns
- the stored graphics pipeline object.
◆ GetPipelineLayout()
VkPipelineLayout JoeEngine::JEVulkanShader::GetPipelineLayout |
( |
| ) |
const |
|
inline |
Get graphics pipeline layout object.
- Returns
- the stored graphics pipeline layout object.
◆ UpdateUniformBuffers()
virtual void JoeEngine::JEVulkanShader::UpdateUniformBuffers |
( |
VkDevice |
device, |
|
|
uint32_t |
currentImage |
|
) |
| |
|
inlineoverridevirtual |
Default shader data buffer update function.
- Parameters
-
device | the Vulkan logical device. |
currentImage | the currently active swap chain image. |
Implements JoeEngine::JEShader.
◆ m_descriptorSetLayouts
std::vector<VkDescriptorSetLayout> JoeEngine::JEVulkanShader::m_descriptorSetLayouts |
|
protected |
List of descriptor set layouts (number of elements dependent on the purpose of the derived shader).
◆ m_device
const VkDevice JoeEngine::JEVulkanShader::m_device |
|
protected |
Reference to the Vulkan logical device.
◆ m_graphicsPipeline
VkPipeline JoeEngine::JEVulkanShader::m_graphicsPipeline = VK_NULL_HANDLE |
|
protected |
Graphics pipeline object.
◆ m_pipelineLayout
VkPipelineLayout JoeEngine::JEVulkanShader::m_pipelineLayout = VK_NULL_HANDLE |
|
protected |
The documentation for this class was generated from the following file: