Well, this is it. At this point, I am satisfied enough with the progress on my website to begin work on my raytracer. After all these long months of waiting, finally: less talk and more action!
I have several goals in mind when making my raytracer. Hopefully I can use this journal to keep my thoughts organized, my goals in focus, and my progress updated. Some will be easy, some will be insanely hard. Some of these goals might well be mutually contradictory, but hey, that's part of the fun! I want to see how much of this I can get done.
Let me start by enumerating the ones I can think of.
- scene description language
- ray data structure
- sphere data structure
- diffuse lighting
- specular lighting
- plane data structure
- area lighting
- directional lighting (lasers?)
- reflection
- refraction
- cylinder data structure
- torus data structure
- texturing
- "cloning" objects (to save memory)
- affine transformations (translate, rotate, scale)
- smoke
- caustics
- triangle data structure
- combining objects in some way
- continuously varying index of refraction
- chromatic dispersion
That should at least get me started! I'll probably take a break for the time being from active development on my website; this will be my new project.
Now to trace some rays!