NDEVR
API Documentation
VulkanShader

A shader program used to render data in Vulkan. More...

Public Member Functions

 VulkanShader (const Buffer< char > &data, const ConstPointer< VulkanDevice > &device)
 Constructs a shader from raw SPIR-V data.
 VulkanShader (const ConstPointer< VulkanDevice > &device)
 Constructs an empty shader on the given device.
 VulkanShader (const File &file, const ConstPointer< VulkanDevice > &device)
 Constructs a shader from a SPIR-V file.
 VulkanShader (VulkanShader &&device) noexcept
 Move constructor.
 ~VulkanShader ()
 Destructor.
void cleanup ()
 Releases the Vulkan shader module.
void createShader (const Buffer< char > &data)
 Creates a shader module from raw SPIR-V data.
void createShader (const File &file)
 Creates a shader module from a SPIR-V file.
void setInstance (const ConstPointer< VulkanDevice > &device)
 Sets the Vulkan device for this shader.
VkShaderModule vkShader () const
 Returns the Vulkan shader module handle.

Detailed Description

A shader program used to render data in Vulkan.


Definition at line 47 of file VulkanShader.h.

Constructor & Destructor Documentation

◆ VulkanShader() [1/4]

VulkanShader::VulkanShader ( VulkanShader && device)
noexcept

Move constructor.

Parameters
[in]deviceThe shader to move from.

References VulkanShader().

Referenced by VulkanShader().

◆ VulkanShader() [2/4]

VulkanShader::VulkanShader ( const ConstPointer< VulkanDevice > & device)

Constructs an empty shader on the given device.

Parameters
[in]deviceThe Vulkan device.

◆ VulkanShader() [3/4]

VulkanShader::VulkanShader ( const File & file,
const ConstPointer< VulkanDevice > & device )

Constructs a shader from a SPIR-V file.

Parameters
[in]fileThe shader file.
[in]deviceThe Vulkan device.

◆ VulkanShader() [4/4]

VulkanShader::VulkanShader ( const Buffer< char > & data,
const ConstPointer< VulkanDevice > & device )

Constructs a shader from raw SPIR-V data.

Parameters
[in]dataThe shader bytecode.
[in]deviceThe Vulkan device.

◆ ~VulkanShader()

VulkanShader::~VulkanShader ( )

Destructor.

Releases the shader module.

Member Function Documentation

◆ createShader() [1/2]

void VulkanShader::createShader ( const Buffer< char > & data)

Creates a shader module from raw SPIR-V data.

Parameters
[in]dataThe shader bytecode.

◆ createShader() [2/2]

void VulkanShader::createShader ( const File & file)

Creates a shader module from a SPIR-V file.

Parameters
[in]fileThe shader file.

◆ setInstance()

void VulkanShader::setInstance ( const ConstPointer< VulkanDevice > & device)

Sets the Vulkan device for this shader.

Parameters
[in]deviceThe Vulkan device.

◆ vkShader()

VkShaderModule VulkanShader::vkShader ( ) const
inline

Returns the Vulkan shader module handle.

Returns
The VkShaderModule.

Definition at line 78 of file VulkanShader.h.


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