summaryrefslogtreecommitdiff
path: root/engine/src/rendering.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/rendering.rs')
-rw-r--r--engine/src/rendering.rs35
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))]