#include <shader.h>
Public Member Functions | |
ComputeShaderFromFile (Core &core) | |
virtual bool | init (utility::ErrorState &error) override |
![]() | |
ComputeShader (Core &core) | |
~ComputeShader () | |
VkShaderModule | getComputeModule () const |
const glm::uvec3 & | getWorkGroupSize () const |
const std::unordered_map< uint, std::string > & | getWorkGroupSizeOverrides () const |
![]() | |
BaseShader (Core &core) | |
virtual | ~BaseShader () |
const SamplerDeclarations & | getSamplerDeclarations () const |
const std::vector< BufferObjectDeclaration > & | getUBODeclarations () const |
const std::vector< BufferObjectDeclaration > & | getSSBODeclarations () const |
const ShaderConstantDeclarations & | getConstantDeclarations () const |
const std::string & | getDisplayName () const |
VkDescriptorSetLayout | getDescriptorSetLayout () const |
void | clear () |
![]() | |
Resource () | |
![]() | |
Object () | |
virtual | ~Object () |
virtual void | onDestroy () |
Object (Object &)=delete | |
Object & | operator= (const Object &)=delete |
Object (Object &&)=delete | |
Object & | operator= (Object &&)=delete |
Public Attributes | |
std::string | mComputePath |
Property: 'ComputeShader' path to the vertex shader on disk. More... | |
bool | mRestrictModuleIncludes = false |
Property: 'RestrictModuleIncludes' excludes shader include file search paths in module data folders. More... | |
![]() | |
bool | mEnableMaxGroupSizeDefault = false |
Property: Overwrite work group size with maximum supported work-group size. More... | |
![]() | |
std::string | mID |
Property: 'mID' unique name of the object. Used as an identifier by the system. More... | |
Additional Inherited Members | |
![]() | |
static bool | isIDProperty (rtti::Instance &object, const rtti::Property &property) |
![]() | |
virtual bool | load (const std::string &displayName, const std::vector< std::string > &searchPaths, const char *compShader, int compSize, utility::ErrorState &errorState) |
![]() | |
bool | initLayout (VkDevice device, nap::utility::ErrorState &errorState) |
bool | verifyShaderVariableDeclarations (utility::ErrorState &errorState) |
![]() | |
RenderService * | mRenderService = nullptr |
Handle to render engine. More... | |
std::string | mDisplayName |
Filename of shader used as display name. More... | |
BufferObjectDeclarationList | mUBODeclarations |
All uniform buffer object declarations. More... | |
BufferObjectDeclarationList | mSSBODeclarations |
All storage buffer object declarations. More... | |
SamplerDeclarations | mSamplerDeclarations |
All sampler declarations. More... | |
ShaderConstantDeclarations | mConstantDeclarations |
All shader constant declarations. More... | |
VkDescriptorSetLayout | mDescriptorSetLayout = VK_NULL_HANDLE |
Descriptor set layout. More... | |
Loads a GLSL compute shader from disk using the provided compute shader path. The shader cross compiles the loaded GLSL shader code to SPIR-V, creates the shader module and parses all the uniforms and samplers.
ComputeShaderFromFile | ( | Core & | core | ) |
|
overridevirtual |
Cross compiles the loaded GLSL shader code to SPIR-V, creates the shader module and parses all the uniforms and samplers.
error | contains the error if initialization fails. |
Reimplemented from Object.
std::string mComputePath |
Property: 'ComputeShader' path to the vertex shader on disk.
bool mRestrictModuleIncludes = false |
Property: 'RestrictModuleIncludes' excludes shader include file search paths in module data folders.