Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[re_renderer] Introduce DrawPhasees for simplistic multi pass rendering #1419

Merged
merged 3 commits into from
Feb 27, 2023

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented Feb 27, 2023

Or rather as a first and super easy step towards it. Also takes the first step towards supporting transparency, see #702 Replaces previous sorting key!

Very simple idea: Every Renderer is invoked with every DrawPhase it registered for. DrawPhase have a strict order and implicitly describe the wgpu::RenderPass that is passed for drawing.
Nice perk is that our previously very special composition renderer is now just another regular renderer - the only one interested in the Composition phase!

For now and forseeable future, these passes are managed by the ViewBuilder (unchanged!). At some point we will probably make DrawPhase a more complex object, but this is not today!

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I've added a line to CHANGELOG.md (if this is a big enough change to warrant it)

…dering

Or rather as a first and super easy step towards it. Also takes the first step towards supporting transparency, see #702
Replaces previous sorting key!

Very simple idea: Every `Renderer` is invoked with every `DrawPhase` it registered for.
`DrawPhase` have a strict order and implicitly describe the `wgpu::RenderPass` that is passed for drawing.

For now and forseeable future, these passes are managed by the ViewBuilder (unchanged!).
At some point we will probably make `DrawPhase` a more complex object, but this is not today!
@Wumpf Wumpf added the 🔺 re_renderer affects re_renderer itself label Feb 27, 2023
Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

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

Very nice!

Some day soon we need to consider how we express general render-graphcs

crates/re_renderer/src/renderer/mod.rs Outdated Show resolved Hide resolved
crates/re_renderer/src/view_builder.rs Outdated Show resolved Hide resolved
@Wumpf
Copy link
Member Author

Wumpf commented Feb 27, 2023

oops, added a wip file. reverting!

@Wumpf Wumpf force-pushed the andreas/re_renderer/phases branch from 248dd6e to 9b990f3 Compare February 27, 2023 16:50
@Wumpf Wumpf changed the title [re_renderer] Introduce DrawPhasees for simpl(istic) multi pass rendering [re_renderer] Introduce DrawPhasees for simplistic multi pass rendering Feb 27, 2023
@Wumpf Wumpf merged commit 96b3035 into main Feb 27, 2023
@Wumpf Wumpf deleted the andreas/re_renderer/phases branch February 27, 2023 17:02
emilk pushed a commit that referenced this pull request Mar 2, 2023
…ring (#1419)

Or rather as a first and super easy step towards it. Also takes the first step towards supporting transparency, see #702
Replaces previous sorting key!

Very simple idea: Every `Renderer` is invoked with every `DrawPhase` it registered for.
`DrawPhase` have a strict order and implicitly describe the `wgpu::RenderPass` that is passed for drawing.

For now and forseeable future, these passes are managed by the ViewBuilder (unchanged!).
At some point we will probably make `DrawPhase` a more complex object, but this is not today!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔺 re_renderer affects re_renderer itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants