From dcb292e00a8e7a5c36cc554bfe7fb3373cf59e6b Mon Sep 17 00:00:00 2001 From: Carter Anderson Date: Mon, 30 Mar 2020 15:44:29 -0700 Subject: [PATCH] quad uses size. polish examples --- assets/bevy_logo_dark_big.png | Bin 0 -> 30624 bytes examples/instancing_old.rs | 167 ------------------ examples/{simple.rs => scene.rs} | 0 examples/setup_system.rs | 23 +-- examples/texture.rs | 38 ++-- .../draw_targets/ui_draw_target.rs | 5 +- src/render/mesh.rs | 41 +++-- .../pipeline/pipelines/forward/forward.frag | 7 +- 8 files changed, 47 insertions(+), 234 deletions(-) create mode 100644 assets/bevy_logo_dark_big.png delete mode 100644 examples/instancing_old.rs rename examples/{simple.rs => scene.rs} (100%) diff --git a/assets/bevy_logo_dark_big.png b/assets/bevy_logo_dark_big.png new file mode 100644 index 0000000000000000000000000000000000000000..e00fce2442c7dc342aa88d900200bc3775130ccb GIT binary patch literal 30624 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¨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.unwrap(); - let cube_handle = mesh_storage.add(Mesh::load(MeshType::Cube)); - - world.insert( - (), - vec![ - // lights - ( - Light::default(), - LocalToWorld::identity(), - Translation::new(4.0, -4.0, 5.0), - Rotation::from_euler_angles(0.0, 0.0, 0.0), - ), - ], - ); - - world.insert( - (), - vec![ - // camera - ( - Camera::default(), - ActiveCamera, - LocalToWorld(Mat4::look_at_rh( - Vec3::new(6.0, -40.0, 20.0), - Vec3::new(0.0, 0.0, 0.0), - Vec3::new(0.0, 0.0, 1.0), - )), - ), - ], - ); - - let mut rng = StdRng::from_entropy(); - for _ in 0..70000 { - create_person( - world, - cube_handle, - Translation::new(rng.gen_range(-50.0, 50.0), 0.0, rng.gen_range(-50.0, 50.0)), - ); - } -} - -fn build_wander_system() -> Box { - let mut rng = StdRng::from_entropy(); - - SystemBuilder::new("Wander") - .read_resource::