This application implements the method described in the paper Poisson-Based Continuous Surface Generation for Goal-Based Caustics.
Result simulated with Blender using LuxRender:
- Implementation of the Poisson-based continuous surface generation algorithm.
- exports a solidified .obj
- the only c++17 non-standard dependancy is libpng
- can export the the inverse transport map
- multithreaded poisson solver
Portable builds for Windows x64 and Unix can be found under Releases.
input_image | parameterization | inverted parameterization | 3d_model | simulation | |
---|---|---|---|---|---|
Lena | |||||
Siggraph logo | |||||
Hello World |
transport from an image to an almost uniform distribution:
Shadow of the machined prototype:
- updated height solver -> this will allow more freedom in the lens design
- reflective caustics -> is currently not that usefull because of the limited freedom in the height solver
- circular lenses
- create portable builds for Win/Linux in releases
- GUI application
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature
) - Make your changes
- Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature
) - Create a new Pull Request
This project uses the MIT License.
Thank you to Yue et al for their awesome research paper.
I would also like to thank Matt Ferraro for providing their informative article about the paper.