Cameray
Cameray is a lens editor and simulator for fun. It's could be used for studying an optics system of DSLR in an interactive way. But the project is in a very early version. The program is still crash-prone and also lack of many realistic camera features now.
Usage
Just clone the repo and go to the root directory and run
You can install it by pip using:
python -m pip install cameray
and then enter
cameray
to run it.
Or, just clone the repo and go to the root directory and run
python -m pip install setuptools
python setup.py sdist
python setup.py install
and enter
cameray
to run it.
Credits
-
Taichi is the core of the simulator. It's a powerful programming language embedded in Python for high-performance numerical computations. Without the help of it, this project can not be implemented in such an efficient way in Python. (The ray-tracing part of the project is from Taichi's cornell box example now. A general renderer should replace it in the near future.)
-
DearPyGui, an easy-to-use Python GUI framework based on ImGUI. Besides the native ImGUI widgets, it also wraps many other 3rd party ImGUI plugins (Imnodes). It's convenient to provide a friendly GUI for Cameray.
Dependencies
Cameray only could be run in Python 3.7/3.7/3.8/3.9 because Taichi only support these versions.
Roadmap
-
Stablity
-
A more realistic camera model considering general optical spectrum
-
General renderer
-
A more detail 2D camera illustration. (More kinds of rays and lens data)
-
Undo/Redo for Editor