OpenGL renderer implementation for rendering sprites, meshes, sky spheres, HUD, and debug elements. Handles the rendering pipeline using OpenGL, manages renderable components, and provides debug visualization.
bool Initialize(Window& pWindow) override;
Initializes the OpenGL renderer with the given window.
void BeginDraw() override;
Called each frame just before Draw().
void Draw() override;
Called each frame just after BeginDraw().
void EndDraw() override;
Called each frame just after Draw().
void Close() override;
Called when the program stops.
void Unload() override;
Called when the map is unload.
void AddSprite(SpriteComponent* pSprite) override;
Adds a sprite component to the renderer.
void RemoveSprite(SpriteComponent* pSprite) override;
Removes a sprite component from the renderer.
void AddMesh(MeshComponent* pMesh) override;
Adds a mesh component to the renderer.
void RemoveMesh(MeshComponent* pMesh) override;
Removes a mesh component from the renderer.
void AddSkySphere(SkySphereComponent* pSkySphere) override;
Adds a Skysphere actor to the renderer (only one at the time).
void RemoveSkySphere() override;
Removes the Skysphere actor to the renderer.
void SetViewMatrix(Matrix4DRow pViewMatrix) override;
Sets the view matrix for rendering.
void SetSpriteShaderProgram(ShaderProgram& shaderProgram) override;
Sets the shader program used for rendering sprites.
void SetHud(HudManager* pHud) override;
Sets the player's HUD.
inline HudManager* GetHud() const override
Gets the player's HUD.
DebugRenderer* GetDebugRenderer() const override
Returns the Debug Renderer.
void SetWireFrameMode(bool pWireframe) override;
Sets the wireframe mode on/off.