|
1 | 1 | //! This example illustrates how to make headless renderer
|
2 |
| -//! derived from: https://sotrh.github.io/learn-wgpu/showcase/windowless/#a-triangle-without-a-window |
| 2 | +//! derived from: <https://sotrh.github.io/learn-wgpu/showcase/windowless/#a-triangle-without-a-window> |
3 | 3 | //! It follows this steps:
|
4 | 4 | //! 1) Render from camera to gpu-image render target
|
5 |
| -//! 2) Copy form gpu image to buffer using ImageCopyDriver node in RenderGraph |
6 |
| -//! 3) Copy from buffer to channel using image_copy::receive_image_from_buffer after RenderSet::Render |
7 |
| -//! 4) Save from channel to random named file using scene::update at PostUpdate in MainWorld |
8 |
| -//! 5) Exit if single_image setting is set |
| 5 | +//! 2) Copy form gpu image to buffer using `ImageCopyDriver` node in `RenderGraph` |
| 6 | +//! 3) Copy from buffer to channel using `image_copy::receive_image_from_buffer` after `RenderSet::Render` |
| 7 | +//! 4) Save from channel to random named file using `scene::update` at `PostUpdate` in `MainWorld` |
| 8 | +//! 5) Exit if `single_image` setting is set |
9 | 9 |
|
10 | 10 | use bevy::{
|
11 | 11 | app::ScheduleRunnerPlugin, core_pipeline::tonemapping::Tonemapping, prelude::*,
|
@@ -491,13 +491,13 @@ mod frame_capture {
|
491 | 491 | };
|
492 | 492 | }
|
493 | 493 | if scene_controller.single_image {
|
494 |
| - app_exit_writer.send(AppExit); |
| 494 | + app_exit_writer.send(AppExit::Success); |
495 | 495 | break;
|
496 | 496 | }
|
497 | 497 | }
|
498 | 498 | } else {
|
499 | 499 | // clears channel for skipped frames
|
500 |
| - while let Ok(_) = receiver.try_recv() {} |
| 500 | + while receiver.try_recv().is_ok() {} |
501 | 501 | scene_controller.state = SceneState::Render(n - 1);
|
502 | 502 | }
|
503 | 503 | }
|
|
0 commit comments