Skip to content

renderer: consolidate Vulkan view settings, env access, lighting and dumps - #13

Merged
brianmk merged 1 commit into
fix/vulkan-ortho-two-sided-ringfrom
fix/vulkan-renderer-dedup
Sep 10, 2026
Merged

renderer: consolidate Vulkan view settings, env access, lighting and dumps#13
brianmk merged 1 commit into
fix/vulkan-ortho-two-sided-ringfrom
fix/vulkan-renderer-dedup

Conversation

@brianmk

@brianmk brianmk commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Stacked on fix/vulkan-ortho-two-sided-ring (the coin commit for FreeCAD-vulkan FreeCAD#25); contains only the new renderer work.

  • Add public SoVulkanViewMode / SoVulkanViewSettings and SoVulkanRenderManager::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.
  • Route every environment read 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 world-space SoLightingData through setSceneLights() to both backends.
  • Move the clip-debug trace out of prepareRenderParams() into a helper.
  • Shader/backend follow-ups for the above.

…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.
@brianmk
brianmk merged commit 438a70a into fix/vulkan-ortho-two-sided-ring Sep 10, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant