![]() |
Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|


Classes | |
| struct | BindingSlot |
| struct | ShaderStage |
Public Member Functions | |
| CShaderProgramGLSL (CDevice *device, const CStr &name, const VfsPath &programPath, PS::span< const std::tuple< VfsPath, GLenum > > shaderStages, const CShaderDefines &defines, const std::map< CStrIntern, int > &vertexAttribs, int streamflags) | |
| ~CShaderProgramGLSL () override | |
| bool | Link (const VfsPath &path) |
| void | Bind (CShaderProgram *previousShaderProgram) override |
| Binds the shader into the GL context. More... | |
| void | Unbind () override |
| Unbinds the shader from the GL context. More... | |
| IDevice * | GetDevice () override |
| int32_t | GetBindingSlot (const CStrIntern name) const override |
| TextureUnit | GetTextureUnit (const int32_t bindingSlot) override |
| void | SetUniform (const int32_t bindingSlot, const float value) override |
| void | SetUniform (const int32_t bindingSlot, const float valueX, const float valueY) override |
| void | SetUniform (const int32_t bindingSlot, const float valueX, const float valueY, const float valueZ) override |
| void | SetUniform (const int32_t bindingSlot, const float valueX, const float valueY, const float valueZ, const float valueW) override |
| void | SetUniform (const int32_t bindingSlot, PS::span< const float > values) override |
| void | VertexAttribPointer (const VertexAttributeStream stream, const Format format, const uint32_t offset, const uint32_t stride, const VertexAttributeRate rate, const void *data) override |
| std::vector< VfsPath > | GetFileDependencies () const override |
Public Member Functions inherited from Renderer::Backend::GL::CShaderProgram | |
| ~CShaderProgram () override | |
| virtual void | Bind (CShaderProgram *previousShaderProgram)=0 |
| Binds the shader into the GL context. More... | |
| virtual void | Unbind ()=0 |
| Unbinds the shader from the GL context. More... | |
| virtual TextureUnit | GetTextureUnit (const int32_t bindingSlot)=0 |
| virtual void | SetUniform (const int32_t bindingSlot, const float value)=0 |
| virtual void | SetUniform (const int32_t bindingSlot, const float valueX, const float valueY)=0 |
| virtual void | SetUniform (const int32_t bindingSlot, const float valueX, const float valueY, const float valueZ)=0 |
| virtual void | SetUniform (const int32_t bindingSlot, const float valueX, const float valueY, const float valueZ, const float valueW)=0 |
| virtual void | SetUniform (const int32_t bindingSlot, PS::span< const float > values)=0 |
| virtual void | VertexAttribPointer (const VertexAttributeStream stream, const Format format, const uint32_t offset, const uint32_t stride, const VertexAttributeRate rate, const void *data) |
| bool | IsStreamActive (const VertexAttributeStream stream) const |
| void | AssertPointersBound () |
| Checks that all the required vertex attributes have been set. More... | |
| virtual int32_t | GetBindingSlot (const CStrIntern name) const =0 |
| virtual std::vector< VfsPath > | GetFileDependencies () const =0 |
Public Member Functions inherited from Renderer::Backend::IDeviceObject< IShaderProgram > | |
| virtual | ~IDeviceObject () |
| virtual IDevice * | GetDevice ()=0 |
| T * | As () |
Private Attributes | |
| CDevice * | m_Device = nullptr |
| CStr | m_Name |
| std::vector< VfsPath > | m_FileDependencies |
| std::map< CStrIntern, int > | m_VertexAttribs |
| std::vector< int > | m_ActiveVertexAttributes |
| GLuint | m_Program |
| PS::StaticVector< ShaderStage, 5 > | m_ShaderStages |
| std::vector< BindingSlot > | m_BindingSlots |
| std::unordered_map< CStrIntern, int32_t > | m_BindingSlotsMapping |
Additional Inherited Members | |
Public Types inherited from Renderer::Backend::GL::CShaderProgram | |
| typedef CStrIntern | attrib_id_t |
Static Public Member Functions inherited from Renderer::Backend::GL::CShaderProgram | |
| static std::unique_ptr< CShaderProgram > | Create (CDevice *device, const CStr &name, const CShaderDefines &baseDefines) |
Protected Member Functions inherited from Renderer::Backend::GL::CShaderProgram | |
| CShaderProgram (int streamflags) | |
| void | VertexPointer (const Renderer::Backend::Format format, GLsizei stride, const void *pointer) |
| void | NormalPointer (const Renderer::Backend::Format format, GLsizei stride, const void *pointer) |
| void | ColorPointer (const Renderer::Backend::Format format, GLsizei stride, const void *pointer) |
| void | TexCoordPointer (GLenum texture, const Renderer::Backend::Format format, GLsizei stride, const void *pointer) |
| void | BindClientStates () |
| void | UnbindClientStates () |
Protected Attributes inherited from Renderer::Backend::GL::CShaderProgram | |
| int | m_StreamFlags |
| int | m_ValidStreams |
|
inline |
|
inlineoverride |
|
inlineoverridevirtual |
Binds the shader into the GL context.
Call this before calling Uniform() or trying to render with it.
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Implements Renderer::Backend::IShaderProgram.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements Renderer::Backend::IShaderProgram.
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inline |
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Unbinds the shader from the GL context.
Call this after rendering with it.
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineoverridevirtual |
Reimplemented from Renderer::Backend::GL::CShaderProgram.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |