Structure¶
Core library¶
TruncPoly/TruncPolySystem.hh- polynomial algebra and polynomial-system composition engine
Optical elements¶
OpticalElements/TwoPlane5.hh: input (world+pupil) → ray parameterizationOpticalElements/Propagation5.hh: free-space propagationOpticalElements/Spherical5.hh: spherical refraction/reflection expansionsOpticalElements/Cylindrical5.hh: cylindrical refraction expansionsOpticalElements/OpticalMaterial.hh: glass database + Sellmeier IOROpticalElements/FindFocus.hh: back focal length / magnification utilitiesOpticalElements/PointToPupil5.hh: point-to-pupil mapping
Examples¶
examples/Example_BasicArithmetic.cpp: tutorial-style walkthrough of core APIexamples/Example_PostprocessImage.cpp: image-space postprocess renderer through a lens systemexamples/Example_EclipsedBokeh.cpp: synthetic “eclipsed bokeh” demo (EXR sequence output)
Tools:
tools/: helper scripts and small utilities (sanity sweeps, EXR stats, reproducibility helpers)
Assets / data¶
systems/*.lens: lens sequences consumed by the postprocess exampleinclude/spectrum.h: wavelength↔RGB conversions used by the postprocess example
File responsibilities (quick index)¶
TruncPoly/TruncPolySystem.hh: polynomial algebra, system composition, derivatives, interpolation helpersOpticalElements/*.hh: element builder functions returning polynomial systemsexamples/Example_BasicArithmetic.cpp: API and lens-system walkthroughexamples/Example_PostprocessImage.cpp: postprocess renderer with.lensparsing and EXR outputsystems/*.lens: lens sequencesinclude/CImg.h: image I/O and buffer ops (vendored)include/spectrum.h: wavelength↔RGB helpers used by postprocess example