cyborg/src/main.rs

33 lines
802 B
Rust
Raw Normal View History

2022-04-05 05:17:30 +00:00
use cyborg::{pass, scene, Renderer};
use legion::{IntoSoa, World};
use std::sync::{Arc, RwLock};
2022-04-05 04:21:14 +00:00
fn main() {
2022-04-05 05:17:30 +00:00
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(),
);
2022-04-05 04:21:14 +00:00
let mut renderer = Renderer::default();
2022-04-05 05:17:30 +00:00
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();
}
2022-04-05 04:21:14 +00:00
2022-04-05 05:17:30 +00:00
println!("Time elapsed: {:?}", start.elapsed());
2022-04-05 04:21:14 +00:00
}