vOOlkan
An object oriented approach to Vulkan
Vulkan::PipelineOptions::Shader Class Reference

A Shader is a program which runs on the GPU and performs graphics. More...

#include <Shader.h>

Public Member Functions

 Shader (const LogicalDevice &virtualGpu, std::string spirvFileName, VkShaderStageFlagBits shaderType, std::string entrypoint="main")
 Creates a shader starting from the SPIR-V code. More...
 
 Shader (const Shader &)=delete
 
 Shader (Shader &&)=delete
 
Shaderoperator= (const Shader &)=delete
 
Shaderoperator= (Shader &&)=delete
 
 ~Shader ()
 
const VkPipelineShaderStageCreateInfo & operator+ () const
 Returns the underlying VkPipelineShaderStageCreateInfo struct. More...
 

Detailed Description

A Shader is a program which runs on the GPU and performs graphics.

Constructor & Destructor Documentation

◆ Shader() [1/3]

Vulkan::PipelineOptions::Shader::Shader ( const LogicalDevice virtualGpu,
std::string  spirvFileName,
VkShaderStageFlagBits  shaderType,
std::string  entrypoint = "main" 
)

Creates a shader starting from the SPIR-V code.

Parameters
virtualGpuThe LogicalDevice where the Pipeline using this shader will run on.
spirvFileNamePath to the SPIR-V code. The root of the path is the folder where the executable od the program using this class is placed.
shaderTypeThe type of the shader (generally a vertex, tessellation or fragment shader).
entrypointName of the first function to call in the shader.

◆ Shader() [2/3]

Vulkan::PipelineOptions::Shader::Shader ( const Shader )
delete

◆ Shader() [3/3]

Vulkan::PipelineOptions::Shader::Shader ( Shader &&  )
delete

◆ ~Shader()

Vulkan::PipelineOptions::Shader::~Shader ( )

Member Function Documentation

◆ operator+()

const VkPipelineShaderStageCreateInfo & Vulkan::PipelineOptions::Shader::operator+ ( ) const

Returns the underlying VkPipelineShaderStageCreateInfo struct.

Returns
The underlying VkPipelineShaderStageCreateInfo struct.

◆ operator=() [1/2]

Shader & Vulkan::PipelineOptions::Shader::operator= ( const Shader )
delete

◆ operator=() [2/2]

Shader & Vulkan::PipelineOptions::Shader::operator= ( Shader &&  )
delete

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