diff options
Diffstat (limited to 'engine/src/rendering')
| -rw-r--r-- | engine/src/rendering/backend/opengl.rs | 8 | ||||
| -rw-r--r-- | engine/src/rendering/main_render_pass.rs | 13 |
2 files changed, 9 insertions, 12 deletions
diff --git a/engine/src/rendering/backend/opengl.rs b/engine/src/rendering/backend/opengl.rs index 47c2145..c1e4823 100644 --- a/engine/src/rendering/backend/opengl.rs +++ b/engine/src/rendering/backend/opengl.rs @@ -3,6 +3,7 @@ use std::borrow::Cow; use std::collections::HashMap; +use ecs::query::term::With; use glutin::config::Config as GlutinConfig; use glutin::display::GetGlDisplay; use glutin::error::Error as GlutinError; @@ -101,6 +102,7 @@ use crate::rendering::{ SurfaceSpec, POST_RENDER_PHASE, RENDER_PHASE, + TargetWindow }; use crate::shader::cursor::BindingValue as ShaderBindingValue; use crate::shader::{ @@ -183,6 +185,7 @@ fn prepare_windows( window_query: Query< (Option<&Window>, &mut WindowCreationAttributes), ( + With<TargetWindow>, Without<CreationReady>, Without<WindowGlConfig>, Without<WindowClosed>, @@ -258,7 +261,10 @@ fn prepare_windows( #[tracing::instrument(skip_all)] fn init_window_graphics( - window_query: Query<(&Window, &WindowGlConfig), (Without<SurfaceSpec>,)>, + window_query: Query< + (&Window, &WindowGlConfig), + (With<TargetWindow>, Without<SurfaceSpec>,) + >, windowing_context: Single<WindowingContext>, graphics_props: Single<GraphicsProperties>, mut graphics_ctx: Single<GraphicsContext>, diff --git a/engine/src/rendering/main_render_pass.rs b/engine/src/rendering/main_render_pass.rs index a733482..3429e34 100644 --- a/engine/src/rendering/main_render_pass.rs +++ b/engine/src/rendering/main_render_pass.rs @@ -6,16 +6,7 @@ use crate::ecs::Query; use crate::model::{MaterialSearchResult, Model}; use crate::rendering::object::{Id as ObjectId, Store as ObjectStore}; use crate::rendering::{ - BufferClearMask, - Command, - DrawMeshOptions, - DrawProperties, - DrawPropertiesUpdateFlags, - MeshUsage, - PendingShaderBindings, - RenderPass, - RenderPasses, - SurfaceSpec, + BufferClearMask, Command, DrawMeshOptions, DrawProperties, DrawPropertiesUpdateFlags, MeshUsage, PendingShaderBindings, RenderPass, RenderPasses, SurfaceSpec, TargetWindow }; use crate::shader::default::ASSET_LABEL as DEFAULT_SHADER_ASSET_LABEL; use crate::shader::{ @@ -36,7 +27,7 @@ type RenderableEntity<'a> = ( #[tracing::instrument(skip_all)] pub fn add_main_render_passes( renderable_query: Query<RenderableEntity<'_>, (Without<NoDraw>,)>, - window_surface_spec_query: Query<(&SurfaceSpec,), (With<Window>,)>, + window_surface_spec_query: Query<(&SurfaceSpec,), (With<Window>, With<TargetWindow>)>, assets: Single<Assets>, shader_context: Single<ShaderContext>, mut render_passes: Single<RenderPasses>, |
