Initial Commit

This commit is contained in:
Matthew Jakeman 2020-11-20 01:44:09 +13:00
commit 6aedd09913
4 changed files with 2164 additions and 0 deletions

24
README.md Normal file
View file

@ -0,0 +1,24 @@
# tinyray
A simple raytracer in exactly 450 lines of C
![Output](output.bmp)
### Features
* Sphere-Ray Intersection
* Materials
* Diffuse and Specular Lighting
* Point, Directional, and Ambient Lights
* Custom Floating-Point Vector Library
* Output to image with stb_image
* Gradient Background
* Watermark
### Helpful Resources
I created this toy raytracer to learn about basic raytracing (and for fun, of course), taking inspiration from the following resources:
- [Gabriel Gambetta: Computer Graphics From Scratch](https://www.gabrielgambetta.com/computer-graphics-from-scratch/basic-ray-tracing.html)
- [Scratch A Pixel: Minimal Ray Tracing](https://www.scratchapixel.com/lessons/3d-basic-rendering/minimal-ray-tracer-rendering-simple-shapes/ray-sphere-intersection)
- [ssloy's tinyraytracer](https://github.com/ssloy/tinyraytracer)
The first link is especially helpful in understanding how raytracing works from a mathematical perspective.
**I created this for fun for the UoA ENGGEN 131 Art Challenge**