Expand description
§optica — participating-media and optics foundations
optica provides fast, typed building blocks for optics and radiative-transfer
workloads: rays, optical coefficients, scattering phase functions, sampled
spectra, interpolation tables, and optical-depth integration kernels.
The crate is intentionally domain-agnostic. It does not include astronomy, planetary constants, ephemerides, or site-specific policies.
§Feature flags
std(default): enablesstd-dependent helpers (ASCII loader, etc.).alloc: enables heap-backed containers inno_stdbuilds. All public types that useVec/Box/Stringare gated behindallocorstd.serde: derivesSerialize/Deserializefor the public data, error, and policy enums.
§References
- Chandrasekhar, Radiative Transfer.
- Bodhaine et al. (1999), Rayleigh optical-depth approximation.
Re-exports§
pub use grid::AxisDirection;pub use grid::ConstantRegion;
Modules§
- data
- Provenance metadata for tabulated optics inputs and generated products.
- grid
- Typed interpolation grids for optics workloads.
- medium
- Participating-medium abstractions and optical coefficients.
- phase
- Scattering phase functions for participating-media models.
- prelude
- Convenient re-exports for common
opticaworkflows. - ray
- Typed rays and ray segments.
- scatter
- Generic single-scattering depth parameterizations.
- spectrum
- Sampled-spectrum container, interpolation, integration, and loaders.
- transport
- Optical-depth integration and transport helpers.