Clear frames explicitly in integration example
				
					
				
			This commit is contained in:
		
							parent
							
								
									969de1d31c
								
							
						
					
					
						commit
						fd3801ed38
					
				| @ -154,37 +154,19 @@ pub fn main() { | ||||
|                     &wgpu::CommandEncoderDescriptor { label: None }, | ||||
|                 ); | ||||
| 
 | ||||
|                 // We draw the scene first
 | ||||
|                 let program = state.program(); | ||||
| 
 | ||||
|                 scene.draw( | ||||
|                     &mut encoder, | ||||
|                 { | ||||
|                     // We clear the frame
 | ||||
|                     let mut render_pass = scene.clear( | ||||
|                         &frame.view, | ||||
|                         &mut encoder, | ||||
|                         program.background_color(), | ||||
|                     ); | ||||
| 
 | ||||
|                 // If you are using this example and you have no `scene` on your application,
 | ||||
|                 // you can clear screen by this code.
 | ||||
|                 /* | ||||
|                 let _ = | ||||
|                     encoder.begin_render_pass(&wgpu::RenderPassDescriptor { | ||||
|                         color_attachments: &[ | ||||
|                             wgpu::RenderPassColorAttachmentDescriptor { | ||||
|                                 attachment: &frame.view, | ||||
|                                 resolve_target: None, | ||||
|                                 load_op: wgpu::LoadOp::Clear, | ||||
|                                 store_op: wgpu::StoreOp::Store, | ||||
|                                 clear_color: wgpu::Color { | ||||
|                                     r: 1.0, | ||||
|                                     g: 1.0, | ||||
|                                     b: 1.0, | ||||
|                                     a: 1.0, | ||||
|                                 }, | ||||
|                             }, | ||||
|                         ], | ||||
|                         depth_stencil_attachment: None, | ||||
|                     }); | ||||
|                 */ | ||||
|                     // Draw the scene
 | ||||
|                     scene.draw(&mut render_pass); | ||||
|                 } | ||||
| 
 | ||||
|                 // And then iced on top
 | ||||
|                 let mouse_interaction = renderer.backend_mut().draw( | ||||
|  | ||||
| @ -16,16 +16,14 @@ impl Scene { | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     pub fn draw( | ||||
|     pub fn clear<'a>( | ||||
|         &self, | ||||
|         encoder: &mut wgpu::CommandEncoder, | ||||
|         target: &wgpu::TextureView, | ||||
|         target: &'a wgpu::TextureView, | ||||
|         encoder: &'a mut wgpu::CommandEncoder, | ||||
|         background_color: Color, | ||||
|     ) { | ||||
|         let mut rpass = | ||||
|     ) -> wgpu::RenderPass<'a> { | ||||
|         encoder.begin_render_pass(&wgpu::RenderPassDescriptor { | ||||
|                 color_attachments: &[ | ||||
|                     wgpu::RenderPassColorAttachmentDescriptor { | ||||
|             color_attachments: &[wgpu::RenderPassColorAttachmentDescriptor { | ||||
|                 attachment: target, | ||||
|                 resolve_target: None, | ||||
|                 load_op: wgpu::LoadOp::Clear, | ||||
| @ -40,14 +38,15 @@ impl Scene { | ||||
|                         a: a as f64, | ||||
|                     } | ||||
|                 }, | ||||
|                     }, | ||||
|                 ], | ||||
|             }], | ||||
|             depth_stencil_attachment: None, | ||||
|             }); | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|         rpass.set_pipeline(&self.pipeline); | ||||
|         rpass.set_bind_group(0, &self.bind_group, &[]); | ||||
|         rpass.draw(0..3, 0..1); | ||||
|     pub fn draw<'a>(&'a self, render_pass: &mut wgpu::RenderPass<'a>) { | ||||
|         render_pass.set_pipeline(&self.pipeline); | ||||
|         render_pass.set_bind_group(0, &self.bind_group, &[]); | ||||
|         render_pass.draw(0..3, 0..1); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user