Repository navigation
OrdinaryLight v0.7.0
OrdinaryLight 0.7.0
Expand public resident-geometry and GPU graph interfaces, and reduce native GI
preparation, transport, and denoising work.
- Add public triangle BLAS resources and typed native triangle evaluation, alongside procedural AABB geometry. Primary, secondary, and visibility rays share the geometry and optical-boundary contracts.
- Add an optional emitter-influence callback to reject sampled-light connections before visibility. This is an explicitly biased application policy; default behavior accepts all connections.
- Expose typed full and identity-only primary-hit records, native geometry bindings for reusable primary operations, and public GI history invalidation.
- Add bounded persistent upload rings with one-shot packets, explicit cancellation and completion tracking; cache graph scheduling without caching per-frame callbacks or resource leases.
- Reduce resolve and secondary-path initialization traffic, reuse resolve scratch where lifetimes permit, and share denoiser geometry reads across diffuse/specular spatial filtering. Reset frames bypass ineligible temporal history.
- Add opt-in primary diffuse-continuation sampling with reciprocal probability weighting. The default remains 1.0; smooth reflection, transmission and custom scattering retain their existing continuation policy.
- Reject exactly black environment connections before secondary visibility, and correct shadow-work counters to count attempted queries.
- Expose optional Vulkan buffer float32 atomic-add capability for application-authored OrdinaryShade kernels. Unsupported devices retain existing rendering paths.
- Make standalone transport lighting include its generated analytic-light dependencies, and restore compiler/fault-injection regression coverage after shader generation and checkout-layout changes.
All authored shader behavior remains typed OrdinaryShade; generated text and
SPIR-V variants are included. Existing third-party FSR integration is retained.
Experimental scripts and performance reports document accepted and rejected
approaches; their diagnostic settings are not new renderer defaults.
Requires OrdinaryShade 0.1.0a8. Install the matching GitHub release wheels together.
Application-specific voxel averaging and the tuned atomic output policy remain
in vxl8r, outside this renderer release. Performance measurements in the
experiment reports are workload- and hardware-specific.
Quality baselines were explicitly accepted after comparison against v0.6.0:
all six denoiser noise scenarios and the small-emitter roulette case produced
identical quality metrics on the released and candidate implementations.
The denoiser baseline now records the current RTX 5090 Laptop measurements,
retaining existing quality/timing tolerances. The exact small-emitter matrix
configuration uses its measured roulette noise ratio with 15% relative headroom;
other configurations, error limits, and bias limits are unchanged. See
artifacts/release-regression-v0.7.0 for the original audit and release follow-up.