remove broken instancing example
This commit is contained in:
		
							parent
							
								
									115a009c16
								
							
						
					
					
						commit
						57109f8726
					
				| @ -1,102 +0,0 @@ | ||||
| use bevy::prelude::*; | ||||
| use rand::{rngs::StdRng, Rng, SeedableRng}; | ||||
| 
 | ||||
| fn main() { | ||||
|     App::build() | ||||
|         .add_default_plugins() | ||||
|         .add_startup_system(setup) | ||||
|         .add_system(build_move_system()) | ||||
|         .add_plugin(DiagnosticsPlugin { | ||||
|             print_diagnostics: true, | ||||
|             ..Default::default() | ||||
|         }) | ||||
|         .run(); | ||||
| } | ||||
| 
 | ||||
| fn build_move_system() -> Box<dyn Schedulable> { | ||||
|     SystemBuilder::new("move") | ||||
|         .read_resource::<Time>() | ||||
|         .write_resource::<AssetStorage<StandardMaterial>>() | ||||
|         .with_query(<(Write<Translation>, Read<Handle<StandardMaterial>>)>::query()) | ||||
|         .build(move |_, world, (time, material_storage), person_query| { | ||||
|             for (mut translation, material_handle) in person_query.iter_mut(world) { | ||||
|                 let material = material_storage.get_mut(&material_handle).unwrap(); | ||||
|                 translation.0 += math::vec3(1.0, 0.0, 0.0) * time.delta_seconds; | ||||
|                 material.albedo = material.albedo | ||||
|                     + Color::rgb(-time.delta_seconds, -time.delta_seconds, time.delta_seconds); | ||||
|             } | ||||
|         }) | ||||
| } | ||||
| 
 | ||||
| fn setup(world: &mut World, resources: &mut Resources) { | ||||
|     let mut mesh_storage = resources.get_mut::<AssetStorage<Mesh>>().unwrap(); | ||||
|     let mut material_storage = resources | ||||
|         .get_mut::<AssetStorage<StandardMaterial>>() | ||||
|         .unwrap(); | ||||
|     let cube_handle = mesh_storage.add(Mesh::from(shape::Cube)); | ||||
|     let plane_handle = mesh_storage.add(Mesh::from(shape::Plane { size: 10.0 })); | ||||
|     let cube_material_handle = material_storage.add(StandardMaterial { | ||||
|         albedo: Color::rgb(0.5, 0.4, 0.3), | ||||
|         ..Default::default() | ||||
|     }); | ||||
|     let plane_material_handle = material_storage.add(StandardMaterial { | ||||
|         albedo: Color::rgb(0.1, 0.2, 0.1), | ||||
|         ..Default::default() | ||||
|     }); | ||||
| 
 | ||||
|     let mut builder = world.build(); | ||||
|     builder | ||||
|         // plane
 | ||||
|         .add_entity(MeshEntity { | ||||
|             mesh: plane_handle, | ||||
|             material: plane_material_handle, | ||||
|             ..Default::default() | ||||
|         }) | ||||
|         // cube
 | ||||
|         .add_entity(MeshEntity { | ||||
|             mesh: cube_handle, | ||||
|             material: cube_material_handle, | ||||
|             translation: Translation::new(0.0, 0.0, 1.0), | ||||
|             ..Default::default() | ||||
|         }) | ||||
|         // light
 | ||||
|         .add_entity(LightEntity { | ||||
|             translation: Translation::new(4.0, -4.0, 5.0), | ||||
|             ..Default::default() | ||||
|         }) | ||||
|         // camera
 | ||||
|         .add_entity(CameraEntity { | ||||
|             local_to_world: LocalToWorld(Mat4::look_at_rh( | ||||
|                 Vec3::new(3.0, 8.0, 5.0), | ||||
|                 Vec3::new(0.0, 0.0, 0.0), | ||||
|                 Vec3::new(0.0, 0.0, 1.0), | ||||
|             )), | ||||
|             ..Default::default() | ||||
|         }); | ||||
| 
 | ||||
|     let mut rng = StdRng::from_entropy(); | ||||
|     for _ in 0..500 { | ||||
|         let spawned_material_handle = material_storage.add(StandardMaterial { | ||||
|             albedo: Color::rgb( | ||||
|                 rng.gen_range(0.0, 1.0), | ||||
|                 rng.gen_range(0.0, 1.0), | ||||
|                 rng.gen_range(0.0, 1.0), | ||||
|             ), | ||||
|             ..Default::default() | ||||
|         }); | ||||
|         builder.add_entity(MeshEntity { | ||||
|             mesh: cube_handle, | ||||
|             material: spawned_material_handle, | ||||
|             translation: Translation::new( | ||||
|                 rng.gen_range(-50.0, 50.0), | ||||
|                 rng.gen_range(-50.0, 50.0), | ||||
|                 0.0, | ||||
|             ), | ||||
|             renderable: Renderable { | ||||
|                 is_instanced: true, | ||||
|                 ..Default::default() | ||||
|             }, | ||||
|             ..Default::default() | ||||
|         }); | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Carter Anderson
						Carter Anderson