Fix editor crash when ScreenSpaceAmbient is enabled - #40
Open
Joyxt wants to merge 2 commits into
Open
Conversation
The editor GUI is drawn from ImGuiPass::Render, so ImGuiView::DrawGUI was updating the editor camera while render passes were being recorded. The FrameGraph could then be registered and setup with ScreenSpaceAmbient::None but rendered with GTAO, and ComputeDeferredLightingPass::Render asked for a "ScreenSpaceAmbient" resource that no pass had declared. - Update editor cameras from Editor::RunOneFrame, before the renderer runs - Snapshot the camera settings driving the FrameGraph once per frame in View - ComputeDeferredLightingPass::Render now follows the decision made in Setup Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fixe ambiant screen space
Member
|
Member
|
Build system has been fixed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The editor GUI is drawn from
ImGuiPass::Render, soImGuiView::DrawGUIwasupdating the editor camera while render passes were being recorded. On the
first frame the FrameGraph was registered and setup with
ScreenSpaceAmbient::None, then rendered withGTAO, andComputeDeferredLightingPass::Renderasked for a"ScreenSpaceAmbient"resource that no pass had declared — two asserts, then a null deref in
UserPass::getRWTexture.Editor::RunOneFrame, before the renderer runs(resolves the existing
// TODO : update editor camera *BEFORE* render?)View,so registration, Setup and Render always agree. Still needed on its own:
editing camera properties in the Inspector also happens inside
ImGuiPass::Render.ComputeDeferredLightingPass::Rendernow follows the decision made in Setup.Built and run on Win64 MSVC DX12, Debug and Release, 0 error / 0 warning