原设计 OnRender() 既承载默认渲染又是虚钩子,派生类一 override 主渲染就丢失(钩子语义与框架行为耦合)。现在 Run() 固定调 Renderer.Render(scene),OnRenderOverlay() 只做叠加层(ImGui/ 调试视图/编辑器 UI),不覆写则无叠加层——runtime 零渲染代码, editor 扩展不破坏主渲染。
原设计 OnRender() 既承载默认渲染又是虚钩子,派生类一 override 主渲染就丢失(钩子语义与框架行为耦合)。现在 Run() 固定调 Renderer.Render(scene),OnRenderOverlay() 只做叠加层(ImGui/ 调试视图/编辑器 UI),不覆写则无叠加层——runtime 零渲染代码, editor 扩展不破坏主渲染。