diff --git a/examples/instancing.rs b/examples/instancing.rs index 01893fabf9..156e499e0e 100644 --- a/examples/instancing.rs +++ b/examples/instancing.rs @@ -157,10 +157,13 @@ fn create_person(world: &mut World, mesh_handle: Handle, translation: Tran Velocity { value: math::vec3(0.0, 0.0, 0.0), }, - Instanced, StandardMaterial { albedo: (math::vec4(0.5, 0.3, 0.3, 1.0) * random::()).into(), }, + Renderable { + instanced: true, + ..Default::default() + }, mesh_handle, LocalToWorld::identity(), translation, diff --git a/src/prelude.rs b/src/prelude.rs index 17509d66a9..d690fd49f0 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -9,8 +9,7 @@ pub use crate::{ pipeline::PipelineDescriptor, render_resource::{resource_name, resource_providers::UniformResourceProvider}, shader::{uniforms::StandardMaterial, Shader, ShaderDefSuffixProvider, ShaderStage}, - texture::{Texture, TextureType}, - ActiveCamera, ActiveCamera2d, Camera, CameraType, Color, ColorSource, Instanced, Light, + ActiveCamera, ActiveCamera2d, Camera, CameraType, Color, ColorSource, Light, Renderable, }, ui::{Anchors, Margins, Node}, diff --git a/src/render/draw_target/draw_targets/meshes_draw_target.rs b/src/render/draw_target/draw_targets/meshes_draw_target.rs index 407f40559b..790860a38a 100644 --- a/src/render/draw_target/draw_targets/meshes_draw_target.rs +++ b/src/render/draw_target/draw_targets/meshes_draw_target.rs @@ -7,7 +7,7 @@ use crate::{ pipeline::PipelineDescriptor, render_resource::{resource_name, ResourceInfo}, renderer::RenderPass, - Instanced, Renderable, + Renderable, }, }; @@ -25,7 +25,7 @@ impl DrawTarget for MeshesDrawTarget { let mut current_mesh_handle = None; let mut current_mesh_index_len = 0; let mesh_query = - <(Read>, Read)>::query().filter(!component::()); + <(Read>, Read)>::query(); for (entity, (mesh, renderable)) in mesh_query.iter_entities(world) { if !renderable.is_visible { diff --git a/src/render/mod.rs b/src/render/mod.rs index ef7fb39b02..1fcfdd5ac1 100644 --- a/src/render/mod.rs +++ b/src/render/mod.rs @@ -20,6 +20,4 @@ pub mod pipeline; pub mod render_resource; mod renderable; pub mod renderer; -pub mod texture; - -pub struct Instanced; +pub mod texture; \ No newline at end of file diff --git a/src/render/renderable.rs b/src/render/renderable.rs index 42cbd765f2..2b5b6fafb3 100644 --- a/src/render/renderable.rs +++ b/src/render/renderable.rs @@ -13,6 +13,7 @@ pub struct Renderable { pub is_visible: bool, pub pipelines: Vec>, pub shader_defs: HashSet, + pub instanced: bool, } impl Default for Renderable { @@ -23,6 +24,7 @@ impl Default for Renderable { Handle::new(0), // TODO: this could be better ], shader_defs: HashSet::new(), + instanced: false, } } }