1. Master Gemstone Optical Constants Table
Every material in Indicatrix ships with empirical dispersion coefficients calibrated against peer-reviewed optical and spectroscopic literature.
| Species (Variety) | Crystal System | Optical Character | n_D (589 nm) | Dispersion (n_F−n_C) | Birefringence (Δn) | Specific Gravity |
|---|---|---|---|---|---|---|
| Diamond (C) | Cubic | Isotropic | 2.4173 | 0.0440 | 0.0000 | 3.52 |
| Sapphire / Ruby (Al₂O₃) | Trigonal | Uniaxial Negative | 1.7682 | 0.0180 | -0.0082 | 4.00 |
| Alexandrite (BeAl₂O₄:Cr) | Orthorhombic | Biaxial Positive | 1.7450 | 0.0150 | +0.0090 | 3.73 |
| Emerald (Beryl) | Hexagonal | Uniaxial Negative | 1.5770 | 0.0140 | -0.0060 | 2.72 |
| Aquamarine (Beryl) | Hexagonal | Uniaxial Negative | 1.5750 | 0.0140 | -0.0060 | 2.72 |
| Moissanite (4H-SiC) | Hexagonal | Uniaxial Positive | 2.6500 | 0.1040 | +0.0430 | 3.22 |
| High Zircon (ZrSiO₄) | Tetragonal | Uniaxial Positive | 1.9250 | 0.0380 | +0.0590 | 4.70 |
| Tanzanite (Zoisite) | Orthorhombic | Biaxial Positive | 1.6910 | 0.0210 | +0.0090 | 3.35 |
| Topaz (Al₂SiO₄(F,OH)₂) | Orthorhombic | Biaxial Positive | 1.6190 | 0.0140 | +0.0080 | 3.53 |
| Tourmaline (Elbaite) | Trigonal | Uniaxial Negative | 1.6240 | 0.0170 | -0.0180 | 3.06 |
| Quartz / Amethyst / Citrine | Trigonal | Uniaxial Positive | 1.5442 | 0.0130 | +0.0091 | 2.65 |
| Spinel (MgAl₂O₄) | Cubic | Isotropic | 1.7180 | 0.0200 | 0.0000 | 3.60 |
| Demantoid Garnet (Andradite) | Cubic | Isotropic | 1.8880 | 0.0570 | 0.0000 | 3.84 |
| Tsavorite Garnet (Grossular) | Cubic | Isotropic | 1.7400 | 0.0270 | 0.0000 | 3.61 |
| Pyrope / Almandine Garnet | Cubic | Isotropic | 1.740–1.790 | 0.0240 | 0.0000 | 3.78 |
| Peridot (Olivine) | Orthorhombic | Biaxial Positive | 1.6540 | 0.0200 | +0.0360 | 3.34 |
| Benitoite (BaTiSi₃O₉) | Hexagonal | Uniaxial Positive | 1.7570 | 0.0460 | +0.0470 | 3.65 |
| Synthetic Rutile (TiO₂) | Tetragonal | Uniaxial Positive | 2.6130 | 0.3300 | +0.2870 | 4.26 |
| Cubic Zirconia (ZrO₂) | Cubic | Isotropic | 2.1500 | 0.0600 | 0.0000 | 5.70 |
2. Alexandrite & The "Daylight-to-Incandescent" Shift
Chrysoberyl variety Alexandrite is famed as "emerald by day, ruby by night".
This phenomenon cannot be replicated by adjusting an RGB albedo color. It occurs because Alexandrite's chromium chromophore (Cr³⁺) creates a transmission window with two competing peaks: one in the blue-green (500 nm) and one in the deep red (680 nm), separated by a strong absorption valley around 580 nm (yellow).
- Under daylight (D65, ~6500K) rich in blue/green photons, the 500 nm transmission window dominates, rendering the stone a cool emerald green.
- Under incandescent lighting (~2850K) rich in red photons, the 680 nm red transmission window dominates, shifting the perceived hue to intense ruby red.
- In addition, Alexandrite is orthorhombic biaxial, exhibiting distinct trichroic absorption along its α, β, and γ optical axes. Indicatrix evaluates these absorption tensors directionally per ray.
3. Sapphire & Ruby Dichroism
Corundum is trigonal uniaxial negative. Light traveling through a sapphire or ruby experiences two distinct absorption behaviors:
- Ordinary Ray (o-ray): Vibrating perpendicular to the c-axis, exhibiting deeper, richer violet-blue in sapphire or vivid crimson in ruby.
- Extraordinary Ray (e-ray): Vibrating parallel to the c-axis, exhibiting lighter, greenish-blue or pale orange-red.
Lapidaries deliberately orient the gemstone's table facet perpendicular to the c-axis to display the most saturated o-ray color face-up. In Indicatrix, you can adjust the crystallographic c-axis angle interactively in the Settings dialog to visualize the impact of crystal orientation on color yield.
4. High-Dispersion & Extreme Birefringence Materials
While conventional renderers struggle with diamond, they completely break down on extreme optical materials:
- Synthetic Rutile (TiO₂) has a dispersion of 0.330 (nearly 8 times diamond!) and a massive birefringence of +0.287. Light rays split so violently that every back facet appears double.
- Moissanite (4H-SiC) has more than double the dispersion of diamond (0.104) and high birefringence (+0.043), creating brilliant disco-ball rainbow flashes and visible facet doubling.
Indicatrix models these extreme physics without numerical instability, using strict ULP-bounded math and Russian-roulette path bounds.
5. Creating Custom Gem Materials
You can define custom gem species and synthetic crystals in apps/indicatrix-cut using the Material Editor or in TOML configuration files:
# Example custom synthetic garnet definition
[[custom_material]]
name = "Cerium-doped YAG"
crystal_system = "Cubic"
optical_character = "Isotropic"
refractive_index_d = 1.832
dispersion_delta = 0.028
birefringence_delta = 0.0
specific_gravity = 4.56
c_axis = [0.0, 1.0, 0.0]
# Inclusion scattering parameters (silk / rutile simulation)
scattering_sigma_s = 0.15 # 0.0 = clean, 0.05-3.0 = hazy to milky
scattering_g = 0.7 # Henyey-Greenstein forward scattering asymmetry
edge_rounding_radius = 0.005 # micron-scale soft facet edge glint