mirror of
https://github.com/bevyengine/bevy
synced 2025-02-16 14:08:32 +00:00
RenderGraph::add_node now requires a name
This commit is contained in:
parent
06f3a4efb9
commit
fb8f9e8636
7 changed files with 48 additions and 48 deletions
|
@ -25,15 +25,15 @@ pub trait ForwardPbrRenderGraphBuilder {
|
|||
|
||||
impl ForwardPbrRenderGraphBuilder for RenderGraph {
|
||||
fn add_pbr_graph(&mut self, resources: &Resources) -> &mut Self {
|
||||
self.add_system_node_named(
|
||||
self.add_system_node(
|
||||
node::LOCAL_TO_WORLD,
|
||||
UniformNode::<LocalToWorld>::new(true)
|
||||
);
|
||||
self.add_system_node_named(
|
||||
self.add_system_node(
|
||||
node::STANDARD_MATERIAL,
|
||||
AssetUniformNode::<StandardMaterial>::new(true)
|
||||
);
|
||||
self.add_system_node_named(node::LIGHTS, LightsNode::new(10));
|
||||
self.add_system_node(node::LIGHTS, LightsNode::new(10));
|
||||
let mut shaders = resources.get_mut::<Assets<Shader>>().unwrap();
|
||||
let mut pipelines = resources
|
||||
.get_mut::<Assets<PipelineDescriptor>>()
|
||||
|
|
|
@ -61,15 +61,15 @@ impl BaseRenderGraphBuilder for RenderGraph {
|
|||
config: &BaseRenderGraphConfig,
|
||||
) -> &mut Self {
|
||||
if config.add_3d_camera {
|
||||
self.add_system_node_named(node::CAMERA, CameraNode::default());
|
||||
self.add_system_node(node::CAMERA, CameraNode::default());
|
||||
}
|
||||
|
||||
if config.add_2d_camera {
|
||||
self.add_system_node_named(node::CAMERA2D, Camera2dNode::default());
|
||||
self.add_system_node(node::CAMERA2D, Camera2dNode::default());
|
||||
}
|
||||
|
||||
if config.add_main_depth_texture {
|
||||
self.add_node_named(
|
||||
self.add_node(
|
||||
node::MAIN_DEPTH_TEXTURE,
|
||||
WindowTextureNode::new(
|
||||
WindowReference::Primary,
|
||||
|
@ -92,7 +92,7 @@ impl BaseRenderGraphBuilder for RenderGraph {
|
|||
}
|
||||
|
||||
if config.add_main_pass {
|
||||
self.add_node_named(
|
||||
self.add_node(
|
||||
node::MAIN_PASS,
|
||||
PassNode::new(PassDescriptor {
|
||||
color_attachments: vec![RenderPassColorAttachmentDescriptor {
|
||||
|
@ -124,7 +124,7 @@ impl BaseRenderGraphBuilder for RenderGraph {
|
|||
}
|
||||
}
|
||||
|
||||
self.add_node_named(
|
||||
self.add_node(
|
||||
node::PRIMARY_SWAP_CHAIN,
|
||||
WindowSwapChainNode::new(
|
||||
WindowReference::Primary,
|
||||
|
|
|
@ -11,7 +11,7 @@ pub struct RenderGraph {
|
|||
}
|
||||
|
||||
impl RenderGraph {
|
||||
pub fn add_node<T>(&mut self, node: T) -> NodeId
|
||||
pub fn add_node_nameless<T>(&mut self, node: T) -> NodeId
|
||||
where
|
||||
T: Node,
|
||||
{
|
||||
|
@ -20,7 +20,7 @@ impl RenderGraph {
|
|||
id
|
||||
}
|
||||
|
||||
pub fn add_node_named<T>(&mut self, name: impl Into<Cow<'static, str>>, node: T) -> NodeId
|
||||
pub fn add_node<T>(&mut self, name: impl Into<Cow<'static, str>>, node: T) -> NodeId
|
||||
where
|
||||
T: Node,
|
||||
{
|
||||
|
@ -33,15 +33,15 @@ impl RenderGraph {
|
|||
id
|
||||
}
|
||||
|
||||
pub fn add_system_node<T>(&mut self, node: T) -> NodeId
|
||||
pub fn add_system_node_nameless<T>(&mut self, node: T) -> NodeId
|
||||
where
|
||||
T: SystemNode + 'static,
|
||||
{
|
||||
self.new_node_systems.push(node.get_system());
|
||||
self.add_node(node)
|
||||
self.add_node_nameless(node)
|
||||
}
|
||||
|
||||
pub fn add_system_node_named<T>(
|
||||
pub fn add_system_node<T>(
|
||||
&mut self,
|
||||
name: impl Into<Cow<'static, str>>,
|
||||
node: T,
|
||||
|
@ -50,7 +50,7 @@ impl RenderGraph {
|
|||
T: SystemNode + 'static,
|
||||
{
|
||||
self.new_node_systems.push(node.get_system());
|
||||
self.add_node_named(name, node)
|
||||
self.add_node(name, node)
|
||||
}
|
||||
|
||||
pub fn get_node_state(
|
||||
|
@ -365,10 +365,10 @@ mod tests {
|
|||
#[test]
|
||||
pub fn test_graph_edges() {
|
||||
let mut graph = RenderGraph::default();
|
||||
let a_id = graph.add_node_named("A", TestNode::new(0, 1));
|
||||
let b_id = graph.add_node_named("B", TestNode::new(0, 1));
|
||||
let c_id = graph.add_node_named("C", TestNode::new(1, 1));
|
||||
let d_id = graph.add_node_named("D", TestNode::new(1, 0));
|
||||
let a_id = graph.add_node("A", TestNode::new(0, 1));
|
||||
let b_id = graph.add_node("B", TestNode::new(0, 1));
|
||||
let c_id = graph.add_node("C", TestNode::new(1, 1));
|
||||
let d_id = graph.add_node("D", TestNode::new(1, 0));
|
||||
|
||||
graph.add_slot_edge("A", "out_0", "C", "in_0").unwrap();
|
||||
graph.add_node_edge("B", "C").unwrap();
|
||||
|
@ -438,7 +438,7 @@ mod tests {
|
|||
|
||||
let mut graph = RenderGraph::default();
|
||||
|
||||
graph.add_node_named("A", MyNode { value: 42 });
|
||||
graph.add_node("A", MyNode { value: 42 });
|
||||
|
||||
let node: &MyNode = graph.get_node("A").unwrap();
|
||||
assert_eq!(node.value, 42, "node value matches");
|
||||
|
@ -455,9 +455,9 @@ mod tests {
|
|||
pub fn test_slot_already_occupied() {
|
||||
let mut graph = RenderGraph::default();
|
||||
|
||||
graph.add_node_named("A", TestNode::new(0, 1));
|
||||
graph.add_node_named("B", TestNode::new(0, 1));
|
||||
graph.add_node_named("C", TestNode::new(1, 1));
|
||||
graph.add_node("A", TestNode::new(0, 1));
|
||||
graph.add_node("B", TestNode::new(0, 1));
|
||||
graph.add_node("C", TestNode::new(1, 1));
|
||||
|
||||
graph.add_slot_edge("A", 0, "C", 0).unwrap();
|
||||
assert_eq!(
|
||||
|
@ -475,8 +475,8 @@ mod tests {
|
|||
pub fn test_edge_already_exists() {
|
||||
let mut graph = RenderGraph::default();
|
||||
|
||||
graph.add_node_named("A", TestNode::new(0, 1));
|
||||
graph.add_node_named("B", TestNode::new(1, 0));
|
||||
graph.add_node("A", TestNode::new(0, 1));
|
||||
graph.add_node("B", TestNode::new(1, 0));
|
||||
|
||||
graph.add_slot_edge("A", 0, "B", 0).unwrap();
|
||||
assert_eq!(
|
||||
|
|
|
@ -323,16 +323,16 @@ mod tests {
|
|||
//
|
||||
// H -> I -> J
|
||||
|
||||
let a_id = graph.add_node_named("A", TestNode::new(0, 1));
|
||||
let b_id = graph.add_node_named("B", TestNode::new(2, 1));
|
||||
let c_id = graph.add_node_named("C", TestNode::new(2, 1));
|
||||
let d_id = graph.add_node_named("D", TestNode::new(1, 0));
|
||||
let e_id = graph.add_node_named("E", TestNode::new(0, 1));
|
||||
let f_id = graph.add_node_named("F", TestNode::new(0, 2));
|
||||
let g_id = graph.add_node_named("G", TestNode::new(1, 0));
|
||||
let h_id = graph.add_node_named("H", TestNode::new(0, 1));
|
||||
let i_id = graph.add_node_named("I", TestNode::new(1, 1));
|
||||
let j_id = graph.add_node_named("J", TestNode::new(1, 0));
|
||||
let a_id = graph.add_node("A", TestNode::new(0, 1));
|
||||
let b_id = graph.add_node("B", TestNode::new(2, 1));
|
||||
let c_id = graph.add_node("C", TestNode::new(2, 1));
|
||||
let d_id = graph.add_node("D", TestNode::new(1, 0));
|
||||
let e_id = graph.add_node("E", TestNode::new(0, 1));
|
||||
let f_id = graph.add_node("F", TestNode::new(0, 2));
|
||||
let g_id = graph.add_node("G", TestNode::new(1, 0));
|
||||
let h_id = graph.add_node("H", TestNode::new(0, 1));
|
||||
let i_id = graph.add_node("I", TestNode::new(1, 1));
|
||||
let j_id = graph.add_node("J", TestNode::new(1, 0));
|
||||
|
||||
graph.add_node_edge("A", "B").unwrap();
|
||||
graph.add_node_edge("B", "C").unwrap();
|
||||
|
@ -445,16 +445,16 @@ mod tests {
|
|||
//
|
||||
// H -> I -> J
|
||||
|
||||
let _a_id = graph.add_node_named("A", TestNode::new(0, 1));
|
||||
let b_id = graph.add_node_named("B", TestNode::new(2, 1));
|
||||
let c_id = graph.add_node_named("C", TestNode::new(2, 1));
|
||||
let d_id = graph.add_node_named("D", TestNode::new(1, 0));
|
||||
let _e_id = graph.add_node_named("E", TestNode::new(0, 1));
|
||||
let f_id = graph.add_node_named("F", TestNode::new(0, 2));
|
||||
let g_id = graph.add_node_named("G", TestNode::new(1, 0));
|
||||
let h_id = graph.add_node_named("H", TestNode::new(0, 1));
|
||||
let i_id = graph.add_node_named("I", TestNode::new(1, 1));
|
||||
let j_id = graph.add_node_named("J", TestNode::new(1, 0));
|
||||
let _a_id = graph.add_node("A", TestNode::new(0, 1));
|
||||
let b_id = graph.add_node("B", TestNode::new(2, 1));
|
||||
let c_id = graph.add_node("C", TestNode::new(2, 1));
|
||||
let d_id = graph.add_node("D", TestNode::new(1, 0));
|
||||
let _e_id = graph.add_node("E", TestNode::new(0, 1));
|
||||
let f_id = graph.add_node("F", TestNode::new(0, 2));
|
||||
let g_id = graph.add_node("G", TestNode::new(1, 0));
|
||||
let h_id = graph.add_node("H", TestNode::new(0, 1));
|
||||
let i_id = graph.add_node("I", TestNode::new(1, 1));
|
||||
let j_id = graph.add_node("J", TestNode::new(1, 0));
|
||||
|
||||
graph.add_node_edge("A", "B").unwrap();
|
||||
graph.add_node_edge("B", "C").unwrap();
|
||||
|
|
|
@ -67,13 +67,13 @@ pub trait UiRenderGraphBuilder {
|
|||
|
||||
impl UiRenderGraphBuilder for RenderGraph {
|
||||
fn add_ui_graph(&mut self, resources: &Resources) -> &mut Self {
|
||||
self.add_system_node_named(
|
||||
self.add_system_node(
|
||||
"color_material",
|
||||
AssetUniformNode::<ColorMaterial>::new(false),
|
||||
);
|
||||
self.add_node_edge("color_material", base_render_graph::node::MAIN_PASS)
|
||||
.unwrap();
|
||||
self.add_system_node_named("rect", UniformNode::<Rect>::new(false));
|
||||
self.add_system_node("rect", UniformNode::<Rect>::new(false));
|
||||
self.add_node_edge("rect", base_render_graph::node::MAIN_PASS)
|
||||
.unwrap();
|
||||
let mut pipelines = resources
|
||||
|
|
|
@ -56,7 +56,7 @@ fn setup(
|
|||
}));
|
||||
|
||||
render_graph
|
||||
.add_system_node_named("my_material", AssetUniformNode::<MyMaterial>::new(true));
|
||||
.add_system_node("my_material", AssetUniformNode::<MyMaterial>::new(true));
|
||||
let main_pass: &mut PassNode = render_graph.get_node_mut("main_pass").unwrap();
|
||||
main_pass.add_pipeline(
|
||||
pipeline_handle,
|
||||
|
|
|
@ -65,7 +65,7 @@ fn setup(
|
|||
))),
|
||||
}));
|
||||
render_graph
|
||||
.add_system_node_named("my_material", AssetUniformNode::<MyMaterial>::new(true));
|
||||
.add_system_node("my_material", AssetUniformNode::<MyMaterial>::new(true));
|
||||
let main_pass: &mut PassNode = render_graph.get_node_mut("main_pass").unwrap();
|
||||
main_pass.add_pipeline(
|
||||
pipeline_handle,
|
||||
|
|
Loading…
Add table
Reference in a new issue