Class Renderer

Inheritance Relationships

Base Type

Class Documentation

class Renderer : public CE::Rendering::Renderer

Declaration: final

Implements rendering commands using a separately owned OpenGL context.

initialize() makes that context current before loading GL entry points; deinitialize() deletes all tracked GPU resources before releasing it. The supplied context must outlive this renderer. Destruction attempts owner-thread cleanup; failed context recovery invalidates retained handles without OpenGL calls. A stopped renderer cannot be restarted with its old cached assets.

Public Functions

explicit Renderer(::CE::Rendering::OpenGL::Context &context)
virtual ~Renderer() override
void set_native_diagnostics(bool enabled)
virtual void initialize() override
virtual void deinitialize() override
virtual void maintain_resources() override
virtual void render(const ::CE::Rendering::Frame &frame) override
virtual void clear() override
virtual void set_viewport(::CE::Platform::FramebufferSize size) override
virtual void set_depth_test(bool enabled) override
virtual void set_clear_colour(float r, float g, float b, float a) override
virtual void set_camera_matrices(const glm::mat4 &projection, const glm::mat4 &view) override
std::shared_ptr<::CE::Rendering::OpenGL::ResourceLifetime> resources() const

Declaration: [[nodiscard]]