#include <Renderer.h>
|
| void | collect_render_commands_recursive (EntityID entity_id, const glm::vec3 &camera_pos) |
| |
| void | ensure_shadow_map (Entity *light_entity, const LightComponent &light) |
| |
| void | store_lights_in_context (const std::vector< Entity * > &light_entities, CameraComponent &camera) |
| |
| void | collect_lights_from_scene (Scene &scene, CameraComponent &camera) |
| |
| void | collect_geometry_from_scene (Scene &scene, const glm::vec3 camera_pos) |
| |
| void | execute_main_pass (Scene &scene, CameraComponent &camera) |
| |
| glm::mat4 | calculate_light_view_proj (Entity *light_entity, LightComponent *light, const CameraComponent &camera) |
| |
| void | draw_shadow_geometry (const glm::mat4 &light_view_proj) |
| |
| void | execute_shadow_passes (Scene &scene, CameraComponent &camera) |
| |
| void | execute_geometry_pass (const glm::mat4 &view, const glm::mat4 &proj) |
| |
| void | execute_skybox_pass (Scene *scene, const glm::mat4 &view, const glm::mat4 &projection, CameraComponent *camera_comp) const |
| |
| void | execute_transparency_pass (const glm::mat4 &view, const glm::mat4 &proj) |
| |
| void | draw_render_command (const RenderCommand &cmd, const glm::mat4 &view, const glm::mat4 &projection) |
| |
| void | draw_instanced_command (const InstancedRenderCommand &cmd, const glm::mat4 &view, const glm::mat4 &projection) |
| |
Definition at line 61 of file Renderer.h.
◆ RendererFboId
| Enumerator |
|---|
| SCREEN_TEXTURE_1 | |
| SCREEN_TEXTURE_2 | |
| SHADOW_MAP | |
Definition at line 107 of file Renderer.h.
◆ Renderer()
| hellfire::Renderer::Renderer |
( |
| ) |
|
◆ ~Renderer()
| hellfire::Renderer::~Renderer |
( |
| ) |
|
|
default |
◆ begin_frame()
| void hellfire::Renderer::begin_frame |
( |
| ) |
|
◆ calculate_light_view_proj()
◆ clear_draw_list()
| void hellfire::Renderer::clear_draw_list |
( |
| ) |
|
◆ collect_geometry_from_scene()
| void hellfire::Renderer::collect_geometry_from_scene |
( |
Scene & |
scene, |
|
|
const glm::vec3 |
camera_pos |
|
) |
| |
|
private |
◆ collect_lights_from_scene()
◆ collect_render_commands_recursive()
| void hellfire::Renderer::collect_render_commands_recursive |
( |
EntityID |
entity_id, |
|
|
const glm::vec3 & |
camera_pos |
|
) |
| |
|
private |
◆ compile_material_shader()
| uint32_t hellfire::Renderer::compile_material_shader |
( |
std::shared_ptr< Material > |
material | ) |
|
◆ create_main_framebuffer()
| void hellfire::Renderer::create_main_framebuffer |
( |
uint32_t |
width, |
|
|
uint32_t |
height |
|
) |
| |
◆ draw_instanced_command()
| void hellfire::Renderer::draw_instanced_command |
( |
const InstancedRenderCommand & |
cmd, |
|
|
const glm::mat4 & |
view, |
|
|
const glm::mat4 & |
projection |
|
) |
| |
|
private |
◆ draw_render_command()
| void hellfire::Renderer::draw_render_command |
( |
const RenderCommand & |
cmd, |
|
|
const glm::mat4 & |
view, |
|
|
const glm::mat4 & |
projection |
|
) |
| |
|
private |
◆ draw_shadow_geometry()
| void hellfire::Renderer::draw_shadow_geometry |
( |
const glm::mat4 & |
light_view_proj | ) |
|
|
private |
◆ end_frame()
| void hellfire::Renderer::end_frame |
( |
| ) |
|
◆ ensure_shadow_map()
◆ execute_geometry_pass()
| void hellfire::Renderer::execute_geometry_pass |
( |
const glm::mat4 & |
view, |
|
|
const glm::mat4 & |
proj |
|
) |
| |
|
private |
◆ execute_main_pass()
◆ execute_shadow_passes()
◆ execute_skybox_pass()
| void hellfire::Renderer::execute_skybox_pass |
( |
Scene * |
scene, |
|
|
const glm::mat4 & |
view, |
|
|
const glm::mat4 & |
projection, |
|
|
CameraComponent * |
camera_comp |
|
) |
| const |
|
private |
◆ execute_transparency_pass()
| void hellfire::Renderer::execute_transparency_pass |
( |
const glm::mat4 & |
view, |
|
|
const glm::mat4 & |
proj |
|
) |
| |
|
private |
◆ get_fallback_shader()
| Shader * hellfire::Renderer::get_fallback_shader |
( |
| ) |
const |
|
inline |
◆ get_main_output_texture()
| uint32_t hellfire::Renderer::get_main_output_texture |
( |
| ) |
const |
◆ get_object_id_texture()
| uint32_t hellfire::Renderer::get_object_id_texture |
( |
| ) |
const |
◆ get_shader_for_material()
| Shader & hellfire::Renderer::get_shader_for_material |
( |
const std::shared_ptr< Material > & |
material | ) |
|
◆ get_shader_manager()
◆ get_shader_registry()
◆ get_shadow_settings()
◆ init()
| void hellfire::Renderer::init |
( |
| ) |
|
◆ render()
| void hellfire::Renderer::render |
( |
Scene & |
scene, |
|
|
const Entity * |
camera_override = nullptr |
|
) |
| |
◆ render_frame()
◆ reset_framebuffer_data()
| void hellfire::Renderer::reset_framebuffer_data |
( |
| ) |
|
◆ resize_main_framebuffer()
| void hellfire::Renderer::resize_main_framebuffer |
( |
uint32_t |
width, |
|
|
uint32_t |
height |
|
) |
| |
◆ set_fallback_shader()
| void hellfire::Renderer::set_fallback_shader |
( |
Shader & |
fallback_shader | ) |
|
◆ set_render_to_framebuffer()
| void hellfire::Renderer::set_render_to_framebuffer |
( |
bool |
enable | ) |
|
|
inline |
◆ store_lights_in_context()
| void hellfire::Renderer::store_lights_in_context |
( |
const std::vector< Entity * > & |
light_entities, |
|
|
CameraComponent & |
camera |
|
) |
| |
|
private |
◆ context_
◆ current_fb_index_
| int hellfire::Renderer::current_fb_index_ = 0 |
|
private |
◆ fallback_program_
| uint32_t hellfire::Renderer::fallback_program_ |
|
private |
◆ fallback_shader_
| Shader* hellfire::Renderer::fallback_shader_ |
|
private |
◆ framebuffer_height_
| uint32_t hellfire::Renderer::framebuffer_height_ |
|
private |
◆ framebuffer_width_
| uint32_t hellfire::Renderer::framebuffer_width_ |
|
private |
◆ opaque_instanced_objects_
◆ opaque_objects_
◆ render_to_framebuffer_
| bool hellfire::Renderer::render_to_framebuffer_ |
|
private |
◆ scene_
| Scene* hellfire::Renderer::scene_ |
|
private |
◆ scene_framebuffers_
| std::unique_ptr<Framebuffer> hellfire::Renderer::scene_framebuffers_[2] |
|
private |
◆ shader_manager_
◆ shader_registry_
◆ shadow_maps_
◆ shadow_material_
| std::shared_ptr<Material> hellfire::Renderer::shadow_material_ |
|
private |
◆ shadow_settings_
◆ skybox_renderer_
◆ transparent_instanced_objects_
◆ transparent_objects_
| std::vector<RenderCommand> hellfire::Renderer::transparent_objects_ |
|
private |
The documentation for this class was generated from the following files: