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: