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


Classes | |
| struct | BindingSlot |
Public Member Functions | |
| CShaderProgramARB (CDevice *device, const VfsPath &path, const VfsPath &vertexFilePath, const VfsPath &fragmentFilePath, const CShaderDefines &defines, const std::map< CStrIntern, std::pair< CStr, int > > &vertexIndices, const std::map< CStrIntern, std::pair< CStr, int > > &fragmentIndices, int streamflags) | |
| ~CShaderProgramARB () override | |
| bool | Compile (GLuint target, const char *targetName, GLuint program, const VfsPath &file, const CStr &code) |
| 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 |
| 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 Member Functions | |
| BindingSlot & | GetOrCreateBindingSlot (const CStrIntern name) |
| void | SetUniform (const BindingSlot &bindingSlot, const float v0, const float v1, const float v2, const float v3) |
| void | SetUniform (const GLenum target, const int location, const float v0, const float v1, const float v2, const float v3) |
| void | SetUniformMatrix (const BindingSlot &bindingSlot, PS::span< const float > values) |
| void | SetUniformMatrix (const GLenum target, const int location, PS::span< const float > values) |
Private Attributes | |
| CDevice * | m_Device = nullptr |
| std::vector< VfsPath > | m_FileDependencies |
| GLuint | m_VertexProgram |
| GLuint | m_FragmentProgram |
| 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.
|
inline |
|
inlineoverridevirtual |
Implements Renderer::Backend::IShaderProgram.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements Renderer::Backend::IShaderProgram.
|
inlineprivate |
|
inlineoverridevirtual |
Implements Renderer::Backend::GL::CShaderProgram.
|
inlineprivate |
|
inlineprivate |
|
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.
|
inlineprivate |
|
inlineprivate |
|
inlineoverridevirtual |
Unbinds the shader from the GL context.
Call this after rendering with it.
Implements Renderer::Backend::GL::CShaderProgram.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |