32 #include <engine/config.hpp>
42 m_light_probe_stage = std::make_unique<render::light_probe_stage>(pipeline,
resource_manager);
43 m_cascaded_shadow_map_stage = std::make_unique<render::cascaded_shadow_map_stage>(pipeline,
resource_manager);
44 m_culling_stage = std::make_unique<render::culling_stage>();
45 m_queue_stage = std::make_unique<render::queue_stage>();
57 m_light_probe_stage->execute(m_ctx);
82 m_cascaded_shadow_map_stage->execute(m_ctx);
85 m_culling_stage->execute(m_ctx);
88 m_queue_stage->execute(m_ctx);
Graphics pipeline interface.
void composite(render::context &ctx)
renderer(gl::pipeline &pipeline, ::resource_manager &resource_manager)
Constructs a renderer.
void render(float t, float dt, float alpha, scene::collection &collection)
Renders a collection of scene objects.
Manages the loading, caching, and saving of resources.
constexpr const render::compositor * get_compositor() const noexcept
Returns the camera's compositor.
Collection of scene objects.
const std::vector< object_base * > & get_objects() const noexcept
Returns all objects in the collection.
Abstract base class for scene objects.
static const std::atomic< std::size_t > object_type_id
Unique type ID for this scene object type.
const scene::camera * camera
Pointer to the camera.
float alpha
Subframe interpolation factor.
scene::collection * collection
Collection of scene objects being rendered.
std::vector< scene::object_base * > objects
Objects visible to the active camera.
float dt
Timestep, in seconds.
std::vector< const operation * > operations
Render operations generated by visible objects.
float t
Current time, in seconds.