RenderGraph::add_node now requires a name

This commit is contained in:
Carter Anderson 2020-05-13 17:35:48 -07:00
parent 06f3a4efb9
commit fb8f9e8636
7 changed files with 48 additions and 48 deletions

View file

@ -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>>()

View file

@ -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,

View file

@ -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!(

View file

@ -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();

View file

@ -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

View file

@ -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,

View file

@ -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,