Знам, че идеята не е оригинална, но мисля, че ще упражни поне половината от материала. Не смятам да затворя проекта след края на курса. Възможностите за разширение са сравнително неограничени. Ще опреснявам списък с функционалностите, които ще добавям.
Minimal
Geometry
- intersect with basic objects (plane, sphere, rectangle)
- intersect with triangle mesh
- translate / rotate / scale
Textures
- diffuse
- specular
Camera
- perspective
Lighting
- hard shadows
Good to have
Geometry
- bounding box
- k-d trees
Textures
- normal
- bitmap
- reflection
- refraction
- layered
Camera
- parallel
- fish eye
Lighting
- soft shadows
- global illumination
Scene
- load / save scenes
- save renderings
- environment map