The Joe Engine
Joe's engine programming playground
JoeEngine::JEDeferredShader Class Reference

The JEDeferredShader class. More...

#include <VulkanShader.h>

Inheritance diagram for JoeEngine::JEDeferredShader:
JoeEngine::JEVulkanShader JoeEngine::JEShader

Public Member Functions

 JEDeferredShader ()=delete
 Default constructor (delete). More...
 
 JEDeferredShader (const MaterialComponent &materialComponent, uint32_t numSourceTextures, uint32_t numUniformBuffers, VkDevice device, VkPhysicalDevice physicalDevice, const JEVulkanSwapChain &swapChain, VkRenderPass renderPass, const std::string &vertPath, const std::string &fragPath)
 Constructor. More...
 
- Public Member Functions inherited from JoeEngine::JEVulkanShader
 JEVulkanShader ()=delete
 Default constructor (deleted). More...
 
 JEVulkanShader (VkDevice device, const std::string &vertPath, const std::string &fragPath)
 Constructor. More...
 
virtual ~JEVulkanShader ()=default
 Destructor (default) (deleted). More...
 
void Cleanup () override
 Vulkan API-specific cleanup function. More...
 
virtual void UpdateUniformBuffers (VkDevice device, uint32_t currentImage) override
 Default shader data buffer update function. More...
 
VkPipeline GetPipeline () const
 
VkPipelineLayout GetPipelineLayout () const
 
VkDescriptorSetLayout GetDescriptorSetLayout (uint32_t index) const
 Get descriptor set layout object. More...
 
- Public Member Functions inherited from JoeEngine::JEShader
 JEShader ()=delete
 Delete constructor (deleted). More...
 
 JEShader (const std::string &vertPath, const std::string &fragPath)
 Constructor. More...
 
virtual ~JEShader ()=default
 Destructor (default) (virtual). More...
 

Additional Inherited Members

- Protected Member Functions inherited from JoeEngine::JEVulkanShader
virtual void CreateDescriptorSetLayouts (VkDevice device, uint32_t numSourceTextures, uint32_t numUniformBuffers, uint32_t numStorageBuffers)
 Base class version of descriptor set layout creation. More...
 
- Protected Attributes inherited from JoeEngine::JEVulkanShader
VkPipeline m_graphicsPipeline = VK_NULL_HANDLE
 Graphics pipeline object. More...
 
VkPipelineLayout m_pipelineLayout = VK_NULL_HANDLE
 Pipeline layout object. More...
 
std::vector< VkDescriptorSetLayout > m_descriptorSetLayouts
 List of descriptor set layouts (number of elements dependent on the purpose of the derived shader). More...
 
const VkDevice m_device
 Reference to the Vulkan logical device. More...
 
- Protected Attributes inherited from JoeEngine::JEShader
const std::string m_vertPath
 Path to vertex shader source file. More...
 
const std::string m_fragPath
 Path to fragment shader source file. More...
 

Detailed Description

The JEDeferredShader class.

Shader for shading objects given multiple G-buffers. Intended to be used with a screen-space triangle/quad.

See also
JEShader, JEVulkanShader

Constructor & Destructor Documentation

◆ JEDeferredShader() [1/2]

JoeEngine::JEDeferredShader::JEDeferredShader ( )
delete

Default constructor (delete).

◆ JEDeferredShader() [2/2]

JoeEngine::JEDeferredShader::JEDeferredShader ( const MaterialComponent materialComponent,
uint32_t  numSourceTextures,
uint32_t  numUniformBuffers,
VkDevice  device,
VkPhysicalDevice  physicalDevice,
const JEVulkanSwapChain swapChain,
VkRenderPass  renderPass,
const std::string &  vertPath,
const std::string &  fragPath 
)
inline

Constructor.


The documentation for this class was generated from the following files: