Create mesh pass pool + redraw loop
This commit is contained in:
parent
bbc6cf5c07
commit
1e54c54407
12
src/main.rs
12
src/main.rs
|
@ -41,12 +41,18 @@ fn main() {
|
|||
let window = WindowBuilder::new().build(&event_loop).unwrap();
|
||||
let mut renderer = pollster::block_on(make_window_renderer(&window));
|
||||
|
||||
let mesh_pass = pass::mesh::MeshPass::new();
|
||||
let device = renderer.get_device();
|
||||
let mesh_pass = pass::mesh::MeshPass::new(device.to_owned());
|
||||
renderer.add_pass(mesh_pass);
|
||||
|
||||
renderer.render();
|
||||
|
||||
event_loop.run(move |event, _, control_flow| match event {
|
||||
Event::RedrawRequested(_) => {
|
||||
renderer.render();
|
||||
}
|
||||
Event::MainEventsCleared => {
|
||||
std::thread::sleep(std::time::Duration::from_secs_f32( 1.0 / 60.0 ));
|
||||
window.request_redraw();
|
||||
}
|
||||
Event::WindowEvent {
|
||||
ref event,
|
||||
window_id,
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
use super::*;
|
||||
use crate::mesh::*;
|
||||
|
||||
pub struct FrameData {}
|
||||
|
||||
pub struct MeshPass {}
|
||||
pub struct MeshPass {
|
||||
attr_store: Arc<AttrStore>,
|
||||
mesh_pool: Arc<MeshPool>,
|
||||
}
|
||||
|
||||
impl MeshPass {
|
||||
pub fn new() -> Self {
|
||||
Self {}
|
||||
pub fn new(device: Arc<wgpu::Device>) -> Self {
|
||||
let attr_store = AttrStore::new();
|
||||
let mesh_pool = MeshPool::new(device, attr_store.to_owned());
|
||||
|
||||
Self {
|
||||
attr_store,
|
||||
mesh_pool,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue