From c99f127da3e7d2fa7563aae7ce8ee60ead82a907 Mon Sep 17 00:00:00 2001 From: numzero Date: Tue, 11 Nov 2025 00:49:26 +0300 Subject: [PATCH] separate render function --- src/main.rs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 8909a9b..a886807 100644 --- a/src/main.rs +++ b/src/main.rs @@ -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(); } _ => {}