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 |