Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yslib/Cameray
A lens editor and simulator for fun.
https://github.com/yslib/Cameray
Last synced: 4 days ago
JSON representation
A lens editor and simulator for fun.
- Host: GitHub
- URL: https://github.com/yslib/Cameray
- Owner: yslib
- Created: 2021-09-21T03:47:03.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-18T05:46:37.000Z (almost 2 years ago)
- Last Synced: 2024-07-08T11:33:10.609Z (4 months ago)
- Language: Python
- Size: 1.41 MB
- Stars: 85
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-taichi - Cameray - It is a lens editor and simulator implemented in Taichi. (Applications / **Optics**)
- awesome-taichi - Cameray - It is a lens editor and simulator implemented in Taichi. (**Renderer**)
README
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.
![](./feature.jpg)
Usage
---Just clone the repo and go to the root directory and run
You can install it by pip using:
```shell
python -m pip install cameray
```and then enter
```shell
cameray
```
to run it.Or, just clone the repo and go to the root directory and run
```shell
python -m pip install setuptools
python setup.py sdist
python setup.py install
```
and enter```shell
cameray
```to run it.
Credits
---- [Taichi][1] 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][2], an easy-to-use Python GUI framework based on [ImGUI][3]. 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.
[1]: (https://github.com/taichi-dev/taichi)
[2]: (https://github.com/hoffstadt/DearPyGui)
[3]: (https://github.com/ocornut/imgui)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