1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! [`FrameScene`]: everything a frame tracer needs to render a scene, independent of
//! which backend traces it.
//!
//! Lives outside the `gpu` feature (unlike the code that dispatches it on the GPU)
//! because the wasm-safe CPU tracer in [`super::cpu_frame`] needs this exact struct
//! with no `gpu` feature enabled -- see that module's doc comment. The GPU megakernel
//! path (`renderer::gpu::frame`) re-exports this same type as `GpuFrameScene` so every
//! existing `GpuFrameScene { .. }` construction and import keeps compiling unchanged.
use crate::;
/// Everything the frame tracer needs to render a frame, GPU or CPU.
///
/// Bundled so a caller assembles the scene once rather than per chunk (the GPU side)
/// or per worker (the CPU side).