A simple C++ program used to verify the caustics pattern produced by the output of Kassubeck et al.'s implementation of Schwartzburg et al.'s High-contrast computational caustic design.
Make sure to include these when building the program.
- First build the caustics display executable.
- Run Kassubeck et al.'s implementation to obtain an .obj file for your target image. The target image must be 256x256 pixels.
- Place the .obj file in the same directory as the built executable.
- Open the command line in the same directory, and run:
causticsdisplay.exe [filename].obj [receiver_plane]
The first argument is the .obj file, and the second argument is the distance to the receiver plane when generating the .obj file. - If successful, the display window will open shortly and the caustics pattern will be shown.
The window can be resized to make the pattern more clear.
Pressing W and S will increase or decrease the receiver plane distance, respectively, in order to fine-tune the spacing.
Pressing Q will display the current distance in the console.
Photo of a marble fox I found on Google, made grayscale and shrunk down to 256x256
(file too large to upload to GitHub - I've uploaded it here to test with yourself!)
(The display window was resized to be larger to make the image more clear, the program will start at 256x256 resolution. It may look a little funky in the README but you can still make out the image, full resolution in ./img/caustics.png!)