diff options
Diffstat (limited to 'engine/src/rendering.rs')
| -rw-r--r-- | engine/src/rendering.rs | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/engine/src/rendering.rs b/engine/src/rendering.rs index 4871f08..e67a457 100644 --- a/engine/src/rendering.rs +++ b/engine/src/rendering.rs @@ -18,7 +18,7 @@ use crate::ecs::sole::Single; use crate::ecs::system::initializable::Initializable; use crate::ecs::system::observer::Observe; use crate::ecs::system::Into; -use crate::ecs::{declare_entity, Component, Query, Sole}; +use crate::ecs::{declare_entity, pair, Component, Query, Sole}; use crate::image::Image; use crate::mesh::Mesh; use crate::rendering::blending::Config as BlendingConfig; @@ -42,32 +42,13 @@ pub mod shader; static NEXT_SURFACE_ID: AtomicU64 = AtomicU64::new(0); -declare_entity!( - pub PRE_RENDER_PHASE, - ( - Phase, - Pair::builder() - .relation::<ChildOf>() - .target_id(*POST_UPDATE_PHASE) - .build() - ) -); - -declare_entity!( - pub RENDER_PHASE, - ( - Phase, - Pair::builder() - .relation::<ChildOf>() - .target_id(*PRE_RENDER_PHASE) - .build() - ) -); - -declare_entity!( - pub POST_RENDER_PHASE, - (Phase, Pair::builder().relation::<ChildOf>().target_id(*RENDER_PHASE).build()) -); +declare_entity! { +pub PRE_RENDER_PHASE: (Phase, pair!(ChildOf, { *POST_UPDATE_PHASE })); + +pub RENDER_PHASE: (Phase, pair!(ChildOf, { *PRE_RENDER_PHASE })); + +pub POST_RENDER_PHASE: (Phase, pair!(ChildOf, { *RENDER_PHASE })); +} builder! { #[builder(name=ExtensionBuilder, derives=(Debug, Clone, Default))] |
