Imaging System Simulation
Sequential imaging
The framework performs fast sequential imaging of the things in object space.
The GIF shows an ISO12233 chart shot through a Biotar 50mm f/1.4 lens. The chart is placed at different distance and scaled to fit the field of view, showing the distortion and focus breathing of the lens.
Manipulating the virtual lens is the same as using a real one, aperture can be set to a certain f-number like a real lens. User can either manually adjust the focus distance, or type in a distance and the system will auto-focus to that distance.
Non-sequential imaging
At the same time of performing sequential imaging, the framework also keep a a track of non-sequential rays.
If needed, the non-sequential rays can be extracted and traced over to yield the result of flare and glares. The effect takes into consideration not only primary optical surfaces, but also lens edges, blackening, and the metal inner lens barrel.
The user can also apply anti-reflection coatings to specific surfaces, making flare and glare effects art-directable.
Aperture control
The framework takes in SVG file of aperture blades and constructs a diaphragm from them. This enables it to accurately recreate any types of aperture and, consequently, any bokeh shape.
When given a aperture value, the framework compares the size of the theoretical entrance pupil size between the maximum aperture and the desired aperture, calculating an area ratio. Induvial blades are then rotated, the framework keeps updating the resulting area ratio and automatically adjust the degree of rotation to make sure it stops at the area that would calculates to the exact aperture value.
Additionally, the diaphragm is linked directly to the pupil. As such, when set to sample from pupil rather than 1st surface, no samples will be wasted due to reduced aperture.
Full production IO support
The framework is designed specifically for the media production.