Class Renderer

Class Documentation

class Renderer

Main renderer with N-frames-in-flight synchronization.

Manages frame pacing, render targets, and per-frame resources.

Public Functions

Renderer(ProjectSettings &settings, renderer::vulkan::VulkanContext &context, ResourceRegistry &resource_registry)

Constructs renderer.

Parameters:
  • stack – Module stack

  • context – Vulkan context

~Renderer()

Destructor (cleans up frame resources)

void cleanup()

Cleans up renderer resources.

void begin_frame(const FrameContext &frame, const Reference<renderer::RenderTarget> &render_target)

Begins frame (wait for fence, acquire image, reset pools)

Parameters:

frame – Frame context

void end_frame(FrameContext &frame)

Ends frame (submit commands, present)

Parameters:

frame – Frame context

void post_update(FrameContext &frame)

Post-update hook (renders geometry)

Parameters:

frame – Frame context

void draw_geometry(FrameContext &frame, const vk::CommandBuffer &command_buffer)

Records geometry rendering commands.

Parameters:
  • frame – Frame context

  • command_buffer – Command buffer to record into

const RendererContext &get_renderer_context() const

Gets renderer context.