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 window = WindowBuilder::new().build(&event_loop).unwrap();
|
||||||
let mut renderer = pollster::block_on(make_window_renderer(&window));
|
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.add_pass(mesh_pass);
|
||||||
|
|
||||||
renderer.render();
|
|
||||||
|
|
||||||
event_loop.run(move |event, _, control_flow| match event {
|
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 {
|
Event::WindowEvent {
|
||||||
ref event,
|
ref event,
|
||||||
window_id,
|
window_id,
|
||||||
|
|
|
@ -1,12 +1,22 @@
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use crate::mesh::*;
|
||||||
|
|
||||||
pub struct FrameData {}
|
pub struct FrameData {}
|
||||||
|
|
||||||
pub struct MeshPass {}
|
pub struct MeshPass {
|
||||||
|
attr_store: Arc<AttrStore>,
|
||||||
|
mesh_pool: Arc<MeshPool>,
|
||||||
|
}
|
||||||
|
|
||||||
impl MeshPass {
|
impl MeshPass {
|
||||||
pub fn new() -> Self {
|
pub fn new(device: Arc<wgpu::Device>) -> Self {
|
||||||
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