Skip to main content

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)