The Joe Engine
Joe's engine programming playground
JoeEngine::JEShader Class Referenceabstract

The JEShader class. More...

#include <VulkanShader.h>

Inheritance diagram for JoeEngine::JEShader:
JoeEngine::JEVulkanShader JoeEngine::JEDeferredGeometryShader JoeEngine::JEDeferredShader JoeEngine::JEForwardShader JoeEngine::JEForwardTranslucentShader JoeEngine::JEOITSortShader JoeEngine::JEPointsShader JoeEngine::JEShadowShader

Public Member Functions

 JEShader ()=delete
 Delete constructor (deleted). More...
 
 JEShader (const std::string &vertPath, const std::string &fragPath)
 Constructor. More...
 
virtual ~JEShader ()=default
 Destructor (default) (virtual). More...
 
virtual void Cleanup ()=0
 Purely virtual cleanup function. More...
 
virtual void UpdateUniformBuffers (VkDevice device, uint32_t currentImage)=0
 Purely virtual function for updating shader buffers. More...
 

Protected Attributes

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 JEShader class.

Abstract base class for derived shader classes. Meant to be extended by shader classes for multiple graphics APIs, e.g., Vulkan, D3DX, OpenGL, etc.

Constructor & Destructor Documentation

◆ JEShader() [1/2]

JoeEngine::JEShader::JEShader ( )
delete

Delete constructor (deleted).

◆ JEShader() [2/2]

JoeEngine::JEShader::JEShader ( const std::string &  vertPath,
const std::string &  fragPath 
)
inline

Constructor.

◆ ~JEShader()

virtual JoeEngine::JEShader::~JEShader ( )
virtualdefault

Destructor (default) (virtual).

Member Function Documentation

◆ Cleanup()

virtual void JoeEngine::JEShader::Cleanup ( )
pure virtual

Purely virtual cleanup function.

Implemented in JoeEngine::JEVulkanShader.

◆ UpdateUniformBuffers()

virtual void JoeEngine::JEShader::UpdateUniformBuffers ( VkDevice  device,
uint32_t  currentImage 
)
pure virtual

Purely virtual function for updating shader buffers.

Parameters
devicethe Vulkan logical device.
currentImagethe currently active swap chain image.

Implemented in JoeEngine::JEVulkanShader.

Member Data Documentation

◆ m_fragPath

const std::string JoeEngine::JEShader::m_fragPath
protected

Path to fragment shader source file.

◆ m_vertPath

const std::string JoeEngine::JEShader::m_vertPath
protected

Path to vertex shader source file.


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