doc
This commit is contained in:
@@ -28,36 +28,3 @@ Avec notre nouvelle architecture "Atelier", la distinction est devenue encore pl
|
||||
| TextureView | Par-Frame | Fenêtre temporaire sur la texture active du swapchain. |
|
||||
|
||||
---
|
||||
|
||||
## Ce qui a changé dans l'implémentation
|
||||
|
||||
Le Renderer n'est plus le propriétaire de la Surface. Sa méthode `render` est devenue un orchestrateur généraliste :
|
||||
|
||||
```rust
|
||||
// Le Renderer ne connait plus la surface, il reçoit la vue
|
||||
pub fn render(
|
||||
&self,
|
||||
device: &wgpu::Device,
|
||||
queue: &wgpu::Queue,
|
||||
view: &wgpu::TextureView,
|
||||
mesh: &Mesh,
|
||||
material: &Material
|
||||
) {
|
||||
let mut encoder = device.create_command_encoder(...);
|
||||
|
||||
{
|
||||
let mut render_pass = encoder.begin_render_pass(...);
|
||||
render_pass.set_pipeline(&material.pipeline); // Recette via Material
|
||||
render_pass.set_vertex_buffer(0, mesh.vertex_buffer.slice(..));
|
||||
// ... dessin ...
|
||||
} // render_pass est automatiquement drop ici
|
||||
|
||||
queue.submit(std::iter::once(encoder.finish()));
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Pourquoi c'est l'étape logique suivante
|
||||
|
||||
En déléguant la gestion du Pipeline au Material et la possession de la Surface au Context, ton Renderer est devenu un moteur d'exécution pur. Il n'a plus besoin d'être réinitialisé quand la fenêtre change ou quand tu changes de shader : il est prêt à dessiner n'importe quel combo Mesh/Material que tu lui passes en paramètre.
|
||||
|
||||
Reference in New Issue
Block a user