8 #include "rendertarget.h"
9 #include "vertexattributedeclaration.h"
10 #include "samplerdeclaration.h"
11 #include "shadervariabledeclarations.h"
15 #include <utility/dllexport.h>
16 #include <nap/resource.h>
17 #include <rtti/factory.h>
43 const std::vector<BufferObjectDeclaration>&
getUBODeclarations()
const {
return mUBODeclarations; }
66 VkDescriptorSetLayout mDescriptorSetLayout = VK_NULL_HANDLE;
125 bool load(
const std::string& displayName,
const char* vertShader,
int vertSize,
const char* fragShader,
int fragSize,
utility::ErrorState& errorState);
139 VkShaderModule mVertexModule = VK_NULL_HANDLE;
140 VkShaderModule mFragmentModule = VK_NULL_HANDLE;
187 virtual bool load(
const std::string& displayName,
const char* compShader,
int compSize,
utility::ErrorState& errorState);
190 glm::u32vec3 mWorkGroupSize;
191 VkShaderModule mComputeModule = VK_NULL_HANDLE;
193 std::vector<int> mWorkGroupSizeConstantIds;
std::string mFragPath
Property: 'mFragShader' path to the fragment shader on disk.
Definition: shader.h:216
SamplerDeclarations mSamplerDeclarations
All sampler declarations.
Definition: shader.h:65
BufferObjectDeclarationList mUBODeclarations
All uniform buffer object declarations.
Definition: shader.h:63
std::string mDisplayName
Filename of shader used as display name.
Definition: shader.h:62
std::unordered_map< std::string, std::unique_ptr< VertexAttributeDeclaration > > VertexAttributeDeclarations
Definition: vertexattributedeclaration.h:31
std::string mVertPath
Property: 'mVertShader' path to the vertex shader on disk.
Definition: shader.h:215
Definition: errorstate.h:19
const SamplerDeclarations & getSamplerDeclarations() const
Definition: shader.h:38
BufferObjectDeclarationList mSSBODeclarations
All storage buffer object declarations.
Definition: shader.h:64
glm::u32vec3 getWorkGroupSize() const
Definition: shader.h:166
Definition: renderservice.h:268
const std::string & getDisplayName() const
Definition: shader.h:53
VkShaderModule getVertexModule() const
Definition: shader.h:106
const VertexAttributeDeclarations & getAttributes() const
Definition: shader.h:101
const std::vector< BufferObjectDeclaration > & getUBODeclarations() const
Definition: shader.h:43
std::vector< nap::BufferObjectDeclaration > BufferObjectDeclarationList
Definition: shadervariabledeclarations.h:184
std::string mComputePath
Property: 'ComputeShader' path to the vertex shader on disk.
Definition: shader.h:238
const std::vector< BufferObjectDeclaration > & getSSBODeclarations() const
Definition: shader.h:48
std::vector< SamplerDeclaration > SamplerDeclarations
Definition: samplerdeclaration.h:43
VkDescriptorSetLayout getDescriptorSetLayout() const
Definition: shader.h:58
Definition: resource.h:19
const std::vector< int > & getWorkGroupSizeConstantIds() const
Definition: shader.h:175
VkShaderModule getFragmentModule() const
Definition: shader.h:111
VkShaderModule getComputeModule() const
Definition: shader.h:161