RendererBackend¶
OpenGL Renderer backend implementation.
Overview¶
Typical use cases:
Defining OpenGL-specific renderer backend implementations
TODO:
Optimize dynamic instance data management to reduce memory usage and improve performance. (Map/Unmap or Persistent Mapping)
Implement frustum culling to avoid rendering objects outside the view.
Implement MSAA or FXAA for better visual quality.
Add support for more complex shapes and 3D graphics.
Implement a more advanced shader system to support various effects and materials.
Implement a profiler to identify and address performance bottlenecks.
Make texture atlas support different filtering modes (nearest, linear, mipmaps).
Make the masking faster and more efficient by optimizing the shader and reducing overdraw.
Maybe one day remove this abomination: “&shader == &this->maskShader” UPDATE : did it :)
Add batch break indices.
Header¶
<RaeptorCogs/GAPI/GL/RendererBackend.hpp>
Metadata¶
- Author
Estorc
- Version
v1.0
- Copyright
Copyright (c) 2025 Estorc MIT License.
Classes¶
Class |
Description |
|---|---|
|
OpenGL Renderer backend implementation. |
-
class RendererBackend : public RaeptorCogs::GAPI::Common::RendererBackend¶
OpenGL Renderer backend implementation.
Provides OpenGL-specific implementations for the renderer backend interface.
Note
This class inherits from the common RendererBackend interface.
Public Functions
-
inline RendererBackend()¶
Constructor for RendererBackend.
-
virtual ~RendererBackend() override¶
Destructor for RendererBackend.
Cleans up resources used by the RendererBackend.
-
virtual void initialize() override¶
-
virtual bool isInitialized() const override¶
-
inline virtual GraphicsBackend getBackendType() const override¶
-
inline virtual std::shared_ptr<Common::ObjectData> Create(std::type_index type) override¶
-
virtual Common::WindowContext *createWindowContext() override¶
-
inline virtual ImGuiModule &getImGuiModule() override¶
-
inline virtual GraphicCore &getGraphicCore() override¶
-
inline virtual RenderPipeline &getRenderPipeline() override¶
Private Members
-
ImGuiModule imGui¶
ImGui implementation instance.
Holds the OpenGL-specific ImGui implementation.
-
GraphicCore graphicCore¶
Graphic core implementation.
Manages OpenGL core functionalities.
-
RenderPipeline renderPipeline¶
Render pipeline implementation.
Manages the OpenGL rendering pipeline.
-
inline RendererBackend()¶