72 Shader(
const std::string &name);
108 std::vector<std::pair<MaterialDescriptor, Program *>>
m_variants;
Shader()
Definition Shader.cpp:26
const std::vector< PushConstantData > & GetPushConstantBindings() const
Definition Shader.h:87
const std::vector< BufferBindingData > & GetBufferBindings() const
Definition Shader.h:91
size_t GetConstantStorageSize() const
Definition Shader.h:85
std::vector< PushConstantData > m_pushConstantInfo
Definition Shader.h:111
uint32_t m_constantStorageSize
Definition Shader.h:107
std::string GetProgramDefines(const MaterialDescriptor &desc)
Definition Shader.cpp:134
std::vector< std::pair< MaterialDescriptor, Program * > > m_variants
Definition Shader.h:108
std::vector< BufferBindingData > m_bufferBindingInfo
Definition Shader.h:112
std::map< size_t, std::string > m_nameMap
Definition Shader.h:114
size_t GetNumBufferBindings() const
Definition Shader.h:90
std::vector< TextureBindingData > m_textureBindingInfo
Definition Shader.h:110
static constexpr GLuint InvalidBinding
Definition Shader.h:69
Program * LoadProgram(const MaterialDescriptor &desc)
Definition Shader.cpp:126
void Reload()
Definition Shader.cpp:109
size_t AddBufferBinding(const std::string &name, uint32_t binding)
Definition Shader.cpp:230
TextureBindingData GetTextureBindingInfo(size_t name) const
Definition Shader.cpp:273
ProgramDef m_programDef
Definition Shader.h:106
size_t AddTextureBinding(const std::string &name, TextureType type, uint32_t binding)
Definition Shader.cpp:238
size_t AddConstantBinding(const std::string &name, ConstantDataFormat format, uint32_t binding)
Definition Shader.cpp:246
Program * GetProgramForDesc(const MaterialDescriptor &desc)
Definition Shader.cpp:96
PushConstantData GetPushConstantInfo(size_t name) const
Definition Shader.cpp:281
BufferBindingData GetBufferBindingInfo(size_t name) const
Definition Shader.cpp:289
const std::string & GetString(size_t name) const
Definition Shader.h:93
size_t GetNumPushConstants() const
Definition Shader.h:86
uint32_t GetNumVariants() const
Definition Shader.h:78
size_t GetNumTextureBindings() const
Definition Shader.h:81
virtual ~Shader()
Definition Shader.cpp:88
const std::vector< TextureBindingData > & GetTextureBindings() const
Definition Shader.h:82
Definition Background.h:14
TextureType
Definition Texture.h:38
ConstantDataFormat
Definition Types.h:55
size_t name
Definition Shader.h:42
GLuint binding
Definition Shader.h:45
uint32_t index
Definition Shader.h:43
uint32_t _unused
Definition Shader.h:47
std::string name
Definition Shader.h:51
std::string fragmentShader
Definition Shader.h:53
std::string vertexShader
Definition Shader.h:52
std::string defines
Definition Shader.h:54
ConstantDataFormat format
Definition Shader.h:29
uint32_t offset
Definition Shader.h:27
uint32_t index
Definition Shader.h:23
GLuint binding
Definition Shader.h:25
size_t name
Definition Shader.h:22
GLuint binding
Definition Shader.h:36
TextureType format
Definition Shader.h:38
size_t name
Definition Shader.h:33
uint32_t index
Definition Shader.h:34