separate render function

This commit is contained in:
numzero 2025-11-11 00:49:26 +03:00
parent 9054765bcc
commit c99f127da3

View File

@ -37,6 +37,32 @@ impl MainWindow {
}
}
fn render(&self, output: &wgpu::Texture) {
let view = output.create_view(&wgpu::TextureViewDescriptor::default());
let mut encoder = self
.device
.create_command_encoder(&wgpu::CommandEncoderDescriptor::default());
encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
color_attachments: &[Some(wgpu::RenderPassColorAttachment {
view: &view,
depth_slice: None,
resolve_target: None,
ops: wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color {
r: 0.1,
g: 0.2,
b: 0.8,
a: 1.0,
}),
store: wgpu::StoreOp::Store,
},
})],
depth_stencil_attachment: None,
..Default::default()
});
self.queue.submit(std::iter::once(encoder.finish()));
}
fn event(&mut self, event_loop: &ActiveEventLoop, event: WindowEvent) {
match event {
WindowEvent::CloseRequested => event_loop.exit(),
@ -62,8 +88,8 @@ impl MainWindow {
if !self.surface_configured {
return;
}
let output = self.surface.get_current_texture().unwrap();
self.render(&output.texture);
output.present();
}
_ => {}