stress test
This commit is contained in:
parent
85580c3dc5
commit
4e6bd99e8c
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
|
@ -6,6 +6,7 @@
|
||||||
"./Cargo.toml",
|
"./Cargo.toml",
|
||||||
"./Cargo.toml",
|
"./Cargo.toml",
|
||||||
"./Cargo.toml",
|
"./Cargo.toml",
|
||||||
|
"./Cargo.toml",
|
||||||
"./Cargo.toml"
|
"./Cargo.toml"
|
||||||
],
|
],
|
||||||
"rust-analyzer.cargo.target": "wasm32-unknown-unknown"
|
"rust-analyzer.cargo.target": "wasm32-unknown-unknown"
|
||||||
|
|
|
@ -6,7 +6,9 @@ use bevy::app::Update;
|
||||||
use bevy::asset::Assets;
|
use bevy::asset::Assets;
|
||||||
use bevy::asset::Handle;
|
use bevy::asset::Handle;
|
||||||
use bevy::ecs::component::Component;
|
use bevy::ecs::component::Component;
|
||||||
|
use bevy::ecs::query::With;
|
||||||
use bevy::ecs::system::Query;
|
use bevy::ecs::system::Query;
|
||||||
|
use bevy::ecs::system::Res;
|
||||||
use bevy::ecs::system::ResMut;
|
use bevy::ecs::system::ResMut;
|
||||||
use bevy::math::Vec3;
|
use bevy::math::Vec3;
|
||||||
use bevy::render::color::Color;
|
use bevy::render::color::Color;
|
||||||
|
@ -14,7 +16,9 @@ use bevy::render::mesh::Indices;
|
||||||
use bevy::render::mesh::Mesh;
|
use bevy::render::mesh::Mesh;
|
||||||
use bevy::render::mesh::PrimitiveTopology;
|
use bevy::render::mesh::PrimitiveTopology;
|
||||||
use bevy::render::render_asset::RenderAssetUsages;
|
use bevy::render::render_asset::RenderAssetUsages;
|
||||||
|
use bevy::time::Time;
|
||||||
use bevy::utils::hashbrown::HashMap;
|
use bevy::utils::hashbrown::HashMap;
|
||||||
|
use rand::Rng;
|
||||||
|
|
||||||
pub mod inputs;
|
pub mod inputs;
|
||||||
pub mod intersections;
|
pub mod intersections;
|
||||||
|
@ -477,3 +481,33 @@ fn emit_cube_at(
|
||||||
indices.extend([len + 2, len + 3, len + 1, len + 1, len + 3, len]);
|
indices.extend([len + 2, len + 3, len + 1, len + 1, len + 3, len]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Component)]
|
||||||
|
pub struct VoxelIterativeBuildTest {
|
||||||
|
pub timepast: f32,
|
||||||
|
pub count: usize,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn iterate_voxels(
|
||||||
|
time: Res<Time>,
|
||||||
|
mut query: Query<(&mut OctTreeModelComponent, &mut VoxelIterativeBuildTest)>,
|
||||||
|
) {
|
||||||
|
for (mut model, mut iter) in &mut query {
|
||||||
|
iter.timepast += time.delta_seconds();
|
||||||
|
const TIME_STEP: f32 = 0.01;
|
||||||
|
|
||||||
|
while iter.timepast >= TIME_STEP && iter.count > 0 {
|
||||||
|
iter.timepast -= TIME_STEP;
|
||||||
|
let mut rng = rand::thread_rng();
|
||||||
|
let x: f32 = rng.gen_range(-10.0..10.0);
|
||||||
|
let y: f32 = rng.gen_range(-10.0..10.0);
|
||||||
|
let z: f32 = rng.gen_range(-10.0..10.0);
|
||||||
|
let vec = Vec3::new(x.round(), y.round(), z.round());
|
||||||
|
let r: f32 = rng.gen_range(0.0..1.0);
|
||||||
|
let g: f32 = rng.gen_range(0.0..1.0);
|
||||||
|
let b: f32 = rng.gen_range(0.0..1.0);
|
||||||
|
model.model.set_voxel_at_location(vec, Color::rgb(r, g, b));
|
||||||
|
iter.count -= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ pub mod mesh_plugin {
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
orbit_camera::orbit_camera::*,
|
orbit_camera::orbit_camera::*,
|
||||||
vvlib::{octtree::OctTree, OctTreeModelComponent},
|
vvlib::{iterate_voxels, octtree::OctTree, OctTreeModelComponent, VoxelIterativeBuildTest},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub struct PluginInitializer;
|
pub struct PluginInitializer;
|
||||||
|
@ -11,6 +11,7 @@ pub mod mesh_plugin {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
app.add_systems(Startup, setup);
|
app.add_systems(Startup, setup);
|
||||||
app.add_systems(Update, pan_orbit_camera);
|
app.add_systems(Update, pan_orbit_camera);
|
||||||
|
app.add_systems(Update, iterate_voxels);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +29,10 @@ pub mod mesh_plugin {
|
||||||
..default()
|
..default()
|
||||||
},
|
},
|
||||||
model_oct,
|
model_oct,
|
||||||
|
VoxelIterativeBuildTest {
|
||||||
|
timepast: 0.,
|
||||||
|
count: 4096,
|
||||||
|
},
|
||||||
));
|
));
|
||||||
|
|
||||||
let camera_and_light_transform =
|
let camera_and_light_transform =
|
||||||
|
|
Loading…
Reference in a new issue