8 #include "vulkan/vulkan_core.h"
9 #include "rtti/typeinfo.h"
12 #include <nap/numeric.h>
105 std::vector<std::unique_ptr<ShaderVariableDeclaration>>
mMembers;
119 std::vector<std::unique_ptr<ShaderVariableStructDeclaration>>
mElements;
137 std::unique_ptr<ShaderVariableStructDeclaration>
mElement;
unsigned int uint
Definition: numeric.h:23
Definition: shadervariabledeclarations.h:58
BufferObjectDeclaration(const std::string &name, int binding, VkShaderStageFlags inStages, EDescriptorType descriptorType, int size)
EShaderVariableValueType mType
ShaderVariable type.
Definition: shadervariabledeclarations.h:80
ShaderVariableValueDeclaration(const std::string &name, int offset, int size, EShaderVariableValueType type)
uint8_t uint8
Definition: numeric.h:16
virtual ~ShaderVariableDeclaration()
Definition: shadervariabledeclarations.h:63
int mNumElements
Total number of elements in list.
Definition: shadervariabledeclarations.h:153
int mOffset
Memory offset.
Definition: shadervariabledeclarations.h:66
std::vector< std::unique_ptr< ShaderVariableStructDeclaration > > mElements
Struct declaration.
Definition: shadervariabledeclarations.h:119
int mNumElements
Total number of struct elements in list.
Definition: shadervariabledeclarations.h:138
Definition: shadervariabledeclarations.h:131
int mStride
Stride of struct element in array.
Definition: shadervariabledeclarations.h:139
const ShaderVariableDeclaration & getBufferDeclaration() const
int mStride
Stride of element in array.
Definition: shadervariabledeclarations.h:154
Definition: shadervariabledeclarations.h:113
ShaderVariableDeclaration(const std::string &name, int offset, int size)
ShaderVariableStructArrayDeclaration(const std::string &name, int offset, int size)
VkShaderStageFlags mStages
Shader stages: vertex, fragment, compute etc.
Definition: shadervariabledeclarations.h:180
BufferObjectDeclaration & operator=(BufferObjectDeclaration &&inRHS)
EShaderVariableValueType mElementType
Shader variable type.
Definition: shadervariabledeclarations.h:152
EDescriptorType mDescriptorType
The type of descriptor for this resource.
Definition: shadervariabledeclarations.h:106
EDescriptorType
Definition: shadervariabledeclarations.h:28
EShaderVariableValueType
Definition: shadervariabledeclarations.h:38
std::vector< nap::BufferObjectDeclaration > BufferObjectDeclarationList
Definition: shadervariabledeclarations.h:184
int mSize
Total size (in bytes) of declaration.
Definition: shadervariabledeclarations.h:67
@ Uniform
Specifies a uniform buffer descriptor. device readonly.
Definition: shadervariabledeclarations.h:87
Definition: shadervariabledeclarations.h:74
std::string mName
Name of the declaration.
Definition: shadervariabledeclarations.h:65
ShaderVariableValueArrayDeclaration(const std::string &name, int offset, int size, int stride, EShaderVariableValueType elementType, int numElements)
@ Unknown
unknown or invalid shader uniform
Definition: shadervariabledeclarations.h:162
ShaderVariableStructBufferDeclaration(const std::string &name, int offset, int size, int stride, int numElements)
@ Storage
Specifies a storage buffer descriptor. device read/write.
int mBinding
Shader binding identifier.
Definition: shadervariabledeclarations.h:179
std::unique_ptr< ShaderVariableStructDeclaration > mElement
Struct declaration.
Definition: shadervariabledeclarations.h:137
std::vector< std::unique_ptr< ShaderVariableDeclaration > > mMembers
All shader declarations associated with struct.
Definition: shadervariabledeclarations.h:105
Definition: shadervariabledeclarations.h:146