Rather than creating the standard 'Hello World' when learning a new language, I thought I would set a goal of writing a raytracer and perhaps render the text 'Hello 'World' in 3D. First, I need to know how to write a raytracer...
I am confident writing C#, so this is my raytracer learning project. I want to be able to:
- Render the shapes: spheres, cubes, planes, cylinders, cones, tori
- Have multiple colored point lights
- Have reflective surfaces
- Implement a space-partitioning data structure (k-d tree, octree)
- Use JSON to describe a scene.
This is not meant to be the most effecient way of doing things, but instead is coded to be clear as to what is going on.