RenderPlan¶
Qualified name: algan.rendering.raytracing.tracer.RenderPlan
- class RenderPlan(backend, samples_per_pixel, requested_features, unsupported_features=(), truncations=TruncationCounts(surfaces_per_ray=0, shadow_lights=0, sheet_layers=0, dropped_continuations=0, closed_shell_ring=0, medium_stack=0, medium_query=0), path_samples_mean=0.0)[source]¶
Bases:
objectResolved renderer route and capability assessment for one batch.
The plan is attached to
scene.last_render_planand returned throughalgan.utils.algan_utils.RenderResultafter a file render. It is intentionally data-only so applications can log or serialize it without depending on Taichi/Torch implementation objects.Methods
as_dictAttributes
is_supportedSamples per pixel the path tracer actually took, averaged over every path-traced cell of the render job.
How often each of the renderer's fixed ceilings bound, cumulative over the render job (see
algan.rendering.raytracing.truncation).unsupported_featuresbackendsamples_per_pixelrequested_features- Parameters:
backend (Literal['deterministic_wavefront', 'path_tracer'])
samples_per_pixel (int)
requested_features (tuple[str, ...])
unsupported_features (tuple[str, ...])
truncations (TruncationCounts)
path_samples_mean (float)
- path_samples_mean: float = 0.0¶
Samples per pixel the path tracer actually took, averaged over every path-traced cell of the render job. With adaptive sampling on (
pt_error_target > 0)samples_per_pixelis only the ceiling and this is the measurement: converged pixels – every unlit 2-D pixel – stop atpt_min_samples. Zero means the path tracer did not run, so it is 0.0 on every deterministic render.
- truncations: TruncationCounts = TruncationCounts(surfaces_per_ray=0, shadow_lights=0, sheet_layers=0, dropped_continuations=0, closed_shell_ring=0, medium_stack=0, medium_query=0)¶
How often each of the renderer’s fixed ceilings bound, cumulative over the render job (see
algan.rendering.raytracing.truncation). Zero everywhere means nothing was silently dropped – the counters are unconditional, so a zero is a measurement rather than a missing instrument. Only the plan of a finished batch carries counts; the one built during validation is necessarily empty.