Connecting to browser GPU…

Photon camera

View illumination from simulated optical photons. Choose a glass prism, fluorescent coating, scattering volume, or TPB-coated PMT, then orbit the camera to inspect the scene.

Loading spectral transport and photon camera…
How this image is formed

Every simulated photon contributes to wavelength-binned light maps: incident energy on diffuse room walls, polarization moments at volume-scattering collisions, and actual fluorescent emission. The camera gathers these maps with geometric visibility, wavelength-dependent Fresnel refraction, polarized Rayleigh weighting and Beer attenuation. Brightness is normalized by the number of launched photons; increasing that count reduces sampling noise. Orbiting reuses the event maps.

Camera passes average samples at each pixel to reduce image noise. Each pass jitters the pixel ray and samples optical interactions across the wavelength bins, reusing the same photon maps. Additional passes do not simulate the forward photons again.

The view is a finite-resolution photon-density estimate, with 64 wavelength bins and bounded spatial maps. The beam and visible area lights are a weighted source mixture; both are fully transported through glass and the scattering volume. Broad ceiling illumination uses a coarser wall-density map than the focused beam. It includes the first diffuse wall reflection, and uses weak Rayleigh haze in the prism and fluorescent scenes. Fluorescence spectra and lifetimes are modeled in transport; this camera shows steady-state illumination. The image uses Chroma's CIE color tables and exposure. UV is invisible. There are no sampled trajectory lines or added glow overlays. The optical diagnostics page shows spectra, timing distributions, and sampled trajectories.

The PMT example uses a curved R5912 mesh with a 126–130 nm source and explicitly synthetic calibration tables. Forward transport keeps the complete PMT. The optional cutaway hides part of the PMT for inspection; that clipped image is a diagnostic view of the unchanged photon maps. Photocathode detections are counted separately and do not emit light. UV stays invisible unless its false-color control is enabled.

GPU work runs in bounded batches. Low adds idle time; hidden tabs pause, and Stop cancels at the next batch.