Skip to content

Add the ability to sort Drawables (new subdivision of DrawData) to re_renderer#11131

Merged
Wumpf merged 15 commits intomainfrom
andreas/re_renderer/sorting
Sep 9, 2025
Merged

Add the ability to sort Drawables (new subdivision of DrawData) to re_renderer#11131
Wumpf merged 15 commits intomainfrom
andreas/re_renderer/sorting

Conversation

@Wumpf
Copy link
Copy Markdown
Member

@Wumpf Wumpf commented Sep 7, 2025

Related

What

Bit of an architectural shift on how we schedule drawing in re_renderer. Previously, we'd only supplied DrawData and drew them for every draw phase that made sense.
Now we additionally collect Drawables which refer into DrawData but unlike DrawData they are fixed size & super lightweight, allowing us to sort them depending on a phase's need i.e. far to near for transparent and aggressively batching for everything else.
This also means that Renderer::draw is now only called once in opaque draw phases with all collected draw data & drawables.
(it would be great to collect statistics about this, but that hasn't been implemented yet)

An updated overview of the drawing life cycle can be found in re_renderer's lib.rs

  • pass full ci

@Wumpf Wumpf added 🔺 re_renderer rendering, graphics, GPU 🚜 refactor Change the code, not the functionality exclude from changelog PRs with this won't show up in CHANGELOG.md labels Sep 7, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 7, 2025

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
e276e19 https://rerun.io/viewer/pr/11131 +nightly +main

Note: This comment is updated whenever you push a commit.

Base automatically changed from andreas/re_renderer/picking-config-refactor to main September 8, 2025 09:40
@Wumpf Wumpf force-pushed the andreas/re_renderer/sorting branch from 1d6ebe8 to 6e814ac Compare September 8, 2025 09:42
Copy link
Copy Markdown
Member

@IsseW IsseW left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very cool stuff!

@Wumpf Wumpf requested a review from IsseW September 9, 2025 09:09
@Wumpf
Copy link
Copy Markdown
Member Author

Wumpf commented Sep 9, 2025

@rerun-bot full-check

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 9, 2025

Started a full build: https://github.com/rerun-io/rerun/actions/runs/17577787670

@Wumpf Wumpf merged commit 8642651 into main Sep 9, 2025
83 of 84 checks passed
@Wumpf Wumpf deleted the andreas/re_renderer/sorting branch September 9, 2025 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

exclude from changelog PRs with this won't show up in CHANGELOG.md 🔺 re_renderer rendering, graphics, GPU 🚜 refactor Change the code, not the functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Draw order & (order independent) transparency

2 participants