Features
Here are the asked features of the raytracer project:
Must
-
Primitives:
- Sphere
- Plane
-
Transformations:
- Translation
-
Light:
- Directional light
- Ambient light
-
Material:
- Flat color
-
Scene configuration:
- Add primitives to scene
- Setup lighting
- Setup camera
-
Interface:
- No GUI, output to a PPM file
Should
- Primitives:
- Cylinder
- Cone
- Transformations:
- Rotation
- Light:
- Dropshadows
Could
- Primitives:
- Limited cylinder (0.5)
- Limited cone (0.5)
- Torus (1)
- Tanglecube (1)
- Triangles (1)
- .OBJ file (1)
- Fractals (2)
- Möbius strip (2)
- Transformations:
- Scale (0.5)
- Shear (0.5)
- Transformation matrix (2)
- Scene graph (2)
- Light:
- Multiple directional lights (0.5)
- Multiple point lights (1)
- Colored light (0.5)
- Phong reflection model (2)
- Ambient occlusion (2)
- Material:
- Transparency (0.5)
- Refraction (1)
- Reflection (0.5)
- Texturing from file (1)
- Texturing from procedural generation of chessboard (1)
- Texturing from procedural generation of Perlin noise (1)
- Normal mapping (2)
- Scene configuration:
- Import a scene in a scene (2)
- Setup antialiasing through supersampling (0.5)
- Setup antialiasing through adaptive supersampling (1)
- Optimizations:
- Space partitioning (2)
- Multithreading (1)
- Clustering (3)
- Interface:
- Display the image during and after generation (1)
- Exit during or after generation (0.5)
- Scene preview using a basic and fast renderer (2)
- Automatic reload of the scene at file change (1)