Skip to content

Latest commit

 

History

History
48 lines (40 loc) · 1.38 KB

File metadata and controls

48 lines (40 loc) · 1.38 KB

TODO

ISSUES

  • bounding box for plane ???

FEATURES

  • Reorganize sources
  • Command line interface
  • Yaml format for scene
  • Gui: display image during computation (gtk + canvas)
  • Replace Phong model with Blinn Phong : faster
  • Use Beer's Law for light attenuation inside material
  • Scale of light power ? apply automatic normalization ?
  • Other types of light sources : directional sources, area sources, environment sources
  • Shadow projected by transparent object ?
  • Anti-aliasing
  • Soft shadows
  • Depth of field
  • Texture : image on surface
  • Other shapes : triangle, rectangle, tor
  • Transparency - aka refraction
  • Add mirror reflection
  • Light intensity and color => through light power & distance
  • Take into account light source distance

IMPROVE / REFACTORING

  • Replace vector by tuple + functions : easier drop-in replacement for numpy
  • No need to return several points for intersection ?
  • Create a structure for surface properties ? with some predefined constants
  • Only return t, point could be computed when needed ?

PERFORMANCE

  • Bounding box algorithm for intersection : KD tree
  • Mask to avoid computing all pixels
  • Replace Vector class with ndarray
  • Matrix computation with numpy
  • Test with pypy
  • Test with pypy