refactor: 主渲染改为框架固定行为,派生类渲染扩展走 OnRenderOverlay
原设计 OnRender() 既承载默认渲染又是虚钩子,派生类一 override 主渲染就丢失(钩子语义与框架行为耦合)。现在 Run() 固定调 Renderer.Render(scene),OnRenderOverlay() 只做叠加层(ImGui/ 调试视图/编辑器 UI),不覆写则无叠加层——runtime 零渲染代码, editor 扩展不破坏主渲染。
This commit is contained in:
@@ -73,7 +73,9 @@ namespace Engine {
|
||||
// 延迟销毁在渲染前统一 flush,保证渲染遍历时池结构不变
|
||||
m_Scene->FlushDestroyQueue();
|
||||
|
||||
OnRender();
|
||||
// 主渲染是框架行为(不可覆盖);叠加层钩子在提交前执行
|
||||
m_Renderer->Render(*m_Scene, *m_Assets);
|
||||
OnRenderOverlay();
|
||||
|
||||
++m_FrameCount;
|
||||
}
|
||||
@@ -82,11 +84,6 @@ namespace Engine {
|
||||
ENGINE_INFO("Application stopped ({} frames)", m_FrameCount);
|
||||
}
|
||||
|
||||
void Application::OnRender()
|
||||
{
|
||||
m_Renderer->Render(*m_Scene, *m_Assets);
|
||||
}
|
||||
|
||||
void Application::DispatchEvent(const Event& event)
|
||||
{
|
||||
OnEvent(event);
|
||||
|
||||
Reference in New Issue
Block a user