Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sriramsk1999/nanoraytracer
A recursive raytracer written in scratch from C++
https://github.com/sriramsk1999/nanoraytracer
Last synced: 1 day ago
JSON representation
A recursive raytracer written in scratch from C++
- Host: GitHub
- URL: https://github.com/sriramsk1999/nanoraytracer
- Owner: sriramsk1999
- License: mit
- Created: 2023-09-30T09:22:24.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-04T15:32:40.000Z (about 1 year ago)
- Last Synced: 2023-11-04T16:23:29.608Z (about 1 year ago)
- Language: C++
- Size: 3.17 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nanoraytracer
A simple recursive raytracer written in C++. Supports shadows, reflections, diffuse/specular lighting and sphere/triangle primitives.
## Usage
``` sh
make nanoraytracer
./nanoraytracer
```See [demo/](demo/) for an example and info on specification of the input scenefile.
## Roadmap
- **LVL 0**
- Add **circle** primitive
- Create demo gif to showcase project
- **LVL 1**
- Port from Makefile to CMake to enable cross-platform build
- Anti-Aliasing
- Add Logging, Progress Bar, Profiling
- Support Refraction/Transparency
- Parallelize with OpenMP / OpenCL
- **LVL 2**
- Enable loading of arbitrary mesh file
- Migrate to better representation of scene (yaml? XML?)
- Path Tracing## Acknowledgements
The skeleton of the code in this repo is adapted from the homework assignments of CSE167 at UCSD.