Expand description
indicatrix is a physically-based spectral gemstone renderer.
Turns GemCAD-style cutting instructions (facet angles and index positions) into rendered output: spectral analytical / Monte-Carlo raytracing through faceted gemstone geometry, plus brilliance / fire / scintillation metrics.
No UI toolkit or data-source dependency: callers supply plain
FacetSpec rows (or hand-built geometry::GpuFacetPlane sets) and a
optics::materials::GemMaterial, and get back pixels and/or metrics.
Re-exports§
pub use geometry::cuts::FacetSpec;
Modules§
- color
- color science: CIE 1931 color matching, gamut mapping, tone mapping, and the brilliance/fire/scintillation optical metrics.
- geometry
- Faceted gemstone solid geometry: the plane-arrangement B-rep, standard cut tables, girdle classification, and the meet-point solver.
- optics
- Physically-based optics: materials, dispersion, birefringence, polarization, and the spectral raytracer itself.
- render_
setup - Pure render-setup helpers shared by every renderer built on this crate.
- renderer
- CPU and (behind the
gpufeature) GPU rendering backends, buffer encoding, denoising, and tone mapping. - simd
- SIMD-accelerated plane-arena intersection kernels shared by the CPU raytracer. Runtime-dispatched SIMD kernels (AVX2 / AVX-512, with a scalar fallback).
Constants§
- BUILD_
ID - Build identity used by
indicatrix-net’s handshake: 16 lowercase hex chars, the 64-bit FNV-1a hash of this crate’s version string. - SOURCE_
HASH - Deterministic content hash of this crate’s source tree.
- VERSION
- This crate’s version, as the handshake identity is derived from it.