You might ask yourself what this is and why it is in the gallery, but bear with me:
The images you see are Luxcore renders done with bidir caustics. The photographic chart you see is only a caustic effect, the plane itself is white diffuse with no texture.
Before I go into details: Watch the video below - it shows the whole process and will make everything much clearer.
after the video - here are some more details:
This is a ‘real’ photographic lens, more specifically a so called ‘cooke-triplet’ that I built from scratch - so no reference values were used beyond copying the rough layout of the three lenses.
The first part of the process happens in Rhino / Grasshopper where I built a parametric lens template and a whole evaluation system for light rays (in 2d).
Running the parameters through a genetic optimization algorithm (Galapagos) it found a ‘good’ solution - meaning a lens configuration that produces a sharp image at a given distance.
After that I exported the lenses as objs to blender and gave them a glass shader, build a housing, film plate and placed a emitter with a texture (the chart) in front of it at the right distance.
Additionally, here is a big screenshot from the Grasshopper setup. I would wish that Grasshopper gets a bit more attention in the discussion on everything nodes. Because it is being worked on for about 10 years and it does many things very well (conceptually)
Yes but right now only by eyeballing the right distance…
I could run a second algorithm with fixed lens shapes but variable lens positions to find out where different focal planes are (in grasshopper).
Maybe i will do that soon - lots of free time these days
I’m curious - are you doing this as part of an optical design project, or are you just trying to see what you can do with the software? Pretty amazing in any case.
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
10
I was loading it in v2.3 and it seemed way too bright, this explains it. There were some changes in v2.3 that break backwards compatibility.
Fortunately I wrote an automatic converter script to port it with one click (in LuxCore tools panel in the render properties).
As a Rhino/Grasshopper user here I would like to study your definition if you are willing to share. I want to learn as much as possible on how to use Grasshopper as it is a very powerful tool.
I’m not super familiar with LuxCore or optics in general, but I really enjoyed experimenting with this setup! I tried turning on dispersion with the glass material for some chromatic aberration (slightly different camera position accounts for the cropping):
For on-camera lights, it can’t generate the diffraction from the aperture, so I put a small rounded glass material (1.0 IOR with 0.00354 dispersion) along the edge of the aperture to try to simulate it:
Just came across your project on youtube, really awseome stuff! I’m planning on something similar, but for freeform optics and this would be a great base to work on! Are you willing to share your rhino/grasshopper file? I already tried to replicate it from the video and the picture, but didn’t manage to do it completely…