renderer: consolidate Vulkan view settings, env access, lighting and dumps - #13
Merged
brianmk merged 1 commit intoSep 10, 2026
Merged
Conversation
…dumps - Add public SoVulkanViewMode / SoVulkanViewSettings and SoVulkanRenderManager::setViewSettings()/invalidateViewSettings(): the whole viewport display/tuning state now crosses the app boundary as one value type that the manager diffs once, instead of a dozen per-field setters and mirrors. - Route every environment read in the Vulkan renderer through the shared SoVulkanShared helpers (envString/envSet/envInt/envFloat/envFlagEnabled) and make the flag opt-out policy uniform (retained-IR replay now honors false/off too). - Add SoVulkanDeviceCaps to SoVulkanDeviceContext so the RTX backend consumes the embedding application's probe instead of re-enumerating extensions. - Add SoVulkanShared::dumpImageToHost() and use it for the RT storage-image dump (one-shot submit instead of a hand-rolled command buffer/wait). - Add SoRenderIR::lightToWorld() and carry the authoritative scene lighting as SoLightingData (world space) through setSceneLights() to both backends. - Move the clip-debug trace out of prepareRenderParams() into a helper. - Shader/backend follow-ups for the above.
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.
Stacked on
fix/vulkan-ortho-two-sided-ring(the coin commit for FreeCAD-vulkan FreeCAD#25); contains only the new renderer work.SoVulkanViewMode/SoVulkanViewSettingsandSoVulkanRenderManager::setViewSettings()/invalidateViewSettings(): the whole viewport display/tuning state crosses the app boundary as one value type the manager diffs once, replacing a dozen per-field setters and "last applied" mirrors.SoVulkanSharedhelpers (envString/envSet/envInt/envFloat/envFlagEnabled) and make the flag opt-out policy uniform (retained-IR replay now honorsfalse/offtoo).SoVulkanDeviceCapstoSoVulkanDeviceContextso the RTX backend consumes the embedding application's probe instead of re-enumerating extensions.SoVulkanShared::dumpImageToHost()and use it for the RT storage-image dump (one-shot submit instead of a hand-rolled command buffer/wait).SoRenderIR::lightToWorld()and carry the authoritative scene lighting as world-spaceSoLightingDatathroughsetSceneLights()to both backends.prepareRenderParams()into a helper.