Skip to content

Refactor scene rendering with explicit per-view state - #3256

Merged
halx99 merged 6 commits into
devfrom
camera-refactor
Jul 30, 2026
Merged

Refactor scene rendering with explicit per-view state#3256
halx99 merged 6 commits into
devfrom
camera-refactor

Conversation

@halx99

@halx99 halx99 commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator
  • Introduce SceneViewData and SceneRenderState to carry immutable per-pass view, projection, renderer, and camera-mask data through scene traversal.
  • Remove the global visiting-Camera state and migrate render commands, background brushes, offscreen rendering, extensions, tests, and Lua bindings to explicit view data.
  • Rework OpenXR rendering to build independent per-eye views without mutating persistent Camera objects.
  • Unify VR pointer-ray hit testing across 2D, UI, terrain, and multi-camera scenes, with consistent world-space hit results and reticle rendering.
  • Fix view-dependent regressions in skyboxes, VideoPlayer controls, RenderTexture paths, and grid-based transition effects.

Describe your changes

Issue ticket number and link

Checklist before requesting a review

For each PR

  • Add Copyright if it missed:
    - "Copyright (c) 2019-present Axmol Engine contributors (see AUTHORS.md)."

  • I have performed a self-review of my code.

    Optional:

    • I have checked readme and add important infos to this PR.
    • I have added/adapted some tests too.

For core/new feature PR

  • I have checked readme and add important infos to this PR.
  • I have added thorough tests.

Axmol 3.x ------------------------------------------------------------

For each 3.x PR

  • Check the '#include "axmol.h"' and replace it with the needed headers.

- Introduce `SceneViewData` and `SceneRenderState` to carry immutable per-pass view, projection, renderer, and camera-mask data through scene traversal.
- Remove the global visiting-Camera state and migrate render commands, background brushes, offscreen rendering, extensions, tests, and Lua bindings to explicit view data.
- Rework OpenXR rendering to build independent per-eye views without mutating persistent Camera objects.
- Unify VR pointer-ray hit testing across 2D, UI, terrain, and multi-camera scenes, with consistent world-space hit results and reticle rendering.
- Fix view-dependent regressions in skyboxes, VideoPlayer controls, RenderTexture paths, and grid-based transition effects.
@halx99 halx99 added this to the 3.0.0 milestone Jul 29, 2026
@halx99 halx99 added enhancement New feature or request breaking changes labels Jul 29, 2026
@halx99
halx99 marked this pull request as draft July 29, 2026 16:03
@halx99

halx99 commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

/clang-format

@halx99
halx99 marked this pull request as ready for review July 30, 2026 04:51
@halx99
halx99 merged commit a3534ec into dev Jul 30, 2026
20 checks passed
@halx99
halx99 deleted the camera-refactor branch July 30, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking changes enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants