SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::IShaderModule Class Referenceabstract

Interface representing a single shader module, a part of a IShaderProgram. More...

#include <Shader.h>

Inheritance diagram for spark::render::IShaderModule:
spark::render::vk::VulkanShaderModule

Public Member Functions

virtual ShaderStage stage () const noexcept=0
 Gets the type of the shader.
 
virtual const std::string & fileName () const noexcept=0
 Gets the name of the file this shader was loaded from.
 
virtual const std::string & entryPoint () const noexcept=0
 Gets the entry point of this shader.
 

Detailed Description

Interface representing a single shader module, a part of a IShaderProgram.

Note
A IShaderModule corresponds to a single source file.

Member Function Documentation

◆ entryPoint()

virtual const std::string & spark::render::IShaderModule::entryPoint ( ) const
nodiscardpure virtualnoexcept

Gets the entry point of this shader.

Returns
A std::string containing the name of the entry point of this shader.

Implemented in spark::render::vk::VulkanShaderModule.

◆ fileName()

virtual const std::string & spark::render::IShaderModule::fileName ( ) const
nodiscardpure virtualnoexcept

Gets the name of the file this shader was loaded from.

Returns
A std::string containing the name of the file this shader was loaded from.

Implemented in spark::render::vk::VulkanShaderModule.

◆ stage()

virtual ShaderStage spark::render::IShaderModule::stage ( ) const
nodiscardpure virtualnoexcept

Gets the type of the shader.

Returns
A ShaderStage representing the stage of the pipeline this shader is used in.

Implemented in spark::render::vk::VulkanShaderModule.