8 #include "rendertarget.h" 
    9 #include "vertexattributedeclaration.h" 
   10 #include "samplerdeclaration.h" 
   11 #include "shadervariabledeclarations.h" 
   12 #include "shaderconstant.h" 
   13 #include "shaderconstantdeclaration.h" 
   17 #include <utility/dllexport.h> 
   18 #include <nap/resource.h> 
   19 #include <rtti/factory.h> 
   45         const std::vector<BufferObjectDeclaration>& 
getUBODeclarations()
 const      { 
return mUBODeclarations; }
 
   79         VkDescriptorSetLayout                           mDescriptorSetLayout = VK_NULL_HANDLE;  
 
  150          bool load(
const std::string& displayName, 
const std::vector<std::string>& searchPaths, 
const char* vertShader, 
int vertSize, 
const char* fragShader, 
int fragSize, 
utility::ErrorState& errorState);
 
  164         VkShaderModule                                  mVertexModule = VK_NULL_HANDLE;         
 
  165         VkShaderModule                                  mFragmentModule = VK_NULL_HANDLE;       
 
  200         bool mEnableMaxGroupSizeDefault = 
false; 
 
  213         virtual bool load(
const std::string& displayName, 
const std::vector<std::string>& searchPaths, 
const char* compShader, 
int compSize, 
utility::ErrorState& errorState);
 
  216         glm::uvec3                                          mWorkGroupSize;                         
 
  217         std::unordered_map<uint, std::string>               mWorkGroupSizeOverrides;                
 
  218         VkShaderModule                                      mComputeModule = VK_NULL_HANDLE;        
 
  242         bool mRestrictModuleIncludes = 
false;           
 
  265         bool mRestrictModuleIncludes = 
false;           
 
  
std::string mFragPath
Property: 'mFragShader' path to the fragment shader on disk.
Definition: shader.h:241
 
unsigned int uint
Definition: numeric.h:23
 
SamplerDeclarations mSamplerDeclarations
All sampler declarations.
Definition: shader.h:77
 
BufferObjectDeclarationList mUBODeclarations
All uniform buffer object declarations.
Definition: shader.h:75
 
const ShaderConstantDeclarations & getConstantDeclarations() const
Definition: shader.h:55
 
std::string mDisplayName
Filename of shader used as display name.
Definition: shader.h:74
 
std::unordered_map< std::string, std::unique_ptr< VertexAttributeDeclaration > > VertexAttributeDeclarations
Definition: vertexattributedeclaration.h:31
 
const std::unordered_map< uint, std::string > & getWorkGroupSizeOverrides() const
Definition: shader.h:198
 
std::string mVertPath
Property: 'mVertShader' path to the vertex shader on disk.
Definition: shader.h:240
 
Definition: errorstate.h:19
 
const glm::uvec3 & getWorkGroupSize() const
Definition: shader.h:191
 
const SamplerDeclarations & getSamplerDeclarations() const
Definition: shader.h:40
 
BufferObjectDeclarationList mSSBODeclarations
All storage buffer object declarations.
Definition: shader.h:76
 
std::vector< ShaderConstantDeclaration > ShaderConstantDeclarations
Definition: shaderconstantdeclaration.h:43
 
Definition: renderservice.h:198
 
const std::string & getDisplayName() const
Definition: shader.h:60
 
VkShaderModule getVertexModule() const
Definition: shader.h:130
 
const VertexAttributeDeclarations & getAttributes() const
Definition: shader.h:125
 
const std::vector< BufferObjectDeclaration > & getUBODeclarations() const
Definition: shader.h:45
 
uint ShaderTypeFlags
Definition: shader.h:117
 
std::vector< nap::BufferObjectDeclaration > BufferObjectDeclarationList
Definition: shadervariabledeclarations.h:191
 
std::string mComputePath
Property: 'ComputeShader' path to the vertex shader on disk.
Definition: shader.h:264
 
const std::vector< BufferObjectDeclaration > & getSSBODeclarations() const
Definition: shader.h:50
 
Definition: templateapp.h:17
 
std::vector< SamplerDeclaration > SamplerDeclarations
Definition: samplerdeclaration.h:47
 
VkDescriptorSetLayout getDescriptorSetLayout() const
Definition: shader.h:65
 
Definition: resource.h:19
 
ShaderConstantDeclarations mConstantDeclarations
All shader constant declarations.
Definition: shader.h:78
 
VkShaderModule getFragmentModule() const
Definition: shader.h:135
 
EShaderType
Definition: shader.h:112
 
VkShaderModule getComputeModule() const
Definition: shader.h:186