-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
RenderTask #21603
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
base: main
Are you sure you want to change the base?
RenderTask #21603
Conversation
Is ordering always (before, myself, after)? If so is it enough to specify before and after? |
I suppose yeah, but before/after can be more than 1 thing. |
I think @torsteingrindvik was suggesting having type AfterNodeLabel = Node3d::EndPrepasses;
type RenderNodeLabel = node::graph::SolariLightingNode;
type BeforeNodeLabel = Node3d::EndMainPass;
// this is the same for all RenderTasks
fn render_node_ordering() -> impl IntoRenderNodeArray {
(
Self::AfterNodeLabel,
Self::RenderNodeLabel,
Self::BeforeNodeLabel,
)
} |
No yeah I get the idea. I just don't think we can do that because you could want more than 1 thing before/after. |
About the ordering I suppose // Ordering defined by a (before) tuple and an (after) tuple
fn render_node_ordering() -> (impl IntoRenderNodeArray, impl IntoRenderNodeArray) {
(
(Node3d::Before0),
(Node3d::After0, Node3d::After1),
)
} could work, alternatively splitting it up fn render_nodes_before() -> impl IntoRenderNodeArray {
Node3d::Before0
}
fn render_nodes_after() -> impl IntoRenderNodeArray {
(Node3d::After0, Node3d::After1)
} not a huge ergonomics win but perhaps worth considering to not have to name the "self node" an extra time. |
Objective
Material
andFullscreenMaterial
Solution
Testing
Showcase
While a showcase should aim to be brief and digestible, you can use a toggleable section to save space on longer showcases:
Click to view showcase