add comments

This commit is contained in:
Bailey Harrison 2023-09-02 19:14:12 +01:00
parent 977da197e2
commit 010ecb1641
4 changed files with 12 additions and 13 deletions

View File

@ -33,7 +33,7 @@ class Renderer {
void PreRender(bool window_is_resized, glm::mat4 camera_transform);
// staticList can be nullptr to render nothing
void Render(const RenderList* static_list, const RenderList* dynamic_list);
void Render(const RenderList& static_list, const RenderList& dynamic_list);
// getters
@ -96,4 +96,4 @@ class Renderer {
} // namespace engine
#endif
#endif

View File

@ -183,7 +183,7 @@ void Application::GameLoop() {
auto mesh_render_system = scene->GetSystem<MeshRenderSystem>();
const RenderList* static_list = mesh_render_system->GetStaticRenderList();
const RenderList* dynamic_list = mesh_render_system->GetDynamicRenderList();
renderer_->Render(static_list, dynamic_list);
renderer_->Render(*static_list, *dynamic_list);
}
/* poll events */

View File

@ -90,20 +90,17 @@ void Renderer::PreRender(bool window_is_resized, glm::mat4 camera_transform) {
&frame_uniform.uniform_buffer_data);
}
void Renderer::Render(const RenderList* static_list,
const RenderList* dynamic_list) {
assert(static_list != nullptr);
assert(dynamic_list != nullptr);
void Renderer::Render(const RenderList& static_list,
const RenderList& dynamic_list) {
last_bound_pipeline_ = nullptr;
gfx::DrawBuffer* draw_buffer = device_->BeginRender();
if (!static_list->empty()) {
DrawRenderList(draw_buffer, *static_list);
if (!static_list.empty()) {
DrawRenderList(draw_buffer, static_list);
}
if (!dynamic_list->empty()) {
DrawRenderList(draw_buffer, *dynamic_list);
if (!dynamic_list.empty()) {
DrawRenderList(draw_buffer, dynamic_list);
}
device_->FinishRender(draw_buffer);
@ -138,4 +135,4 @@ void Renderer::DrawRenderList(gfx::DrawBuffer* draw_buffer,
}
}
} // namespace engine
} // namespace engine

View File

@ -27,9 +27,11 @@ void MeshRenderSystem::OnComponentInsert(uint32_t entity) {
void MeshRenderSystem::OnUpdate(float ts) {
// do stuff
(void)ts;
// update the static render list only if it needs updating
if (list_needs_rebuild_) {
RebuildStaticRenderList();
}
// update the dynamic render list always
BuildRenderList(dynamic_render_list_, false);
}