33 lines
802 B
Rust
33 lines
802 B
Rust
use cyborg::{pass, scene, Renderer};
|
|
use legion::{IntoSoa, World};
|
|
use std::sync::{Arc, RwLock};
|
|
|
|
fn main() {
|
|
let world = Arc::new(RwLock::new(World::default()));
|
|
|
|
world.write().unwrap().extend(
|
|
(
|
|
vec![scene::MeshComponent {}; 1000],
|
|
vec![
|
|
scene::TransformComponent {
|
|
transform: glam::Mat4::IDENTITY,
|
|
};
|
|
1000
|
|
],
|
|
)
|
|
.into_soa(),
|
|
);
|
|
|
|
let mut renderer = Renderer::default();
|
|
let mesh_pass = pass::mesh::MeshPass::new(world);
|
|
renderer.add_pass_arc(mesh_pass);
|
|
|
|
let start = std::time::Instant::now();
|
|
for n in 0..1000 {
|
|
println!("Frame #{}:", n);
|
|
renderer.render();
|
|
}
|
|
|
|
println!("Time elapsed: {:?}", start.elapsed());
|
|
}
|