Todo list

Raytracer

The first aim is to get a realtime raytracer working. Because the majority of geometry will be static, raytracers are faster than 3d cards with opengl or direct3d for the task. Once we will expand the program to dynamic data, such as avatars and daydream parts, we will introduce a hybrid technology that merges the depth buffers and color buffers on the GPU side.

  • Add texturing. textures will be swizzled, like they are in GPUs, for better bilinear filtering performance.
  • Add mipmapping, based on ray differentials.
  • Add shadow rays.
  • Add physically correct reflections, and cubemap support when approximations are enough.
  • Add hybrid rendering (mix GPU synthetized 3D objects with raytraced ones). Done.
  • Add Inverse frustum culling.
  • Add Inverse recursive frustum culling.
  • Add soft shadows using a single ray query (own algorithm).
  • Add path tracing.

My references for raytracing.

  • Ingo wald's thesis about realtime raytracing and interactive global illumination.
  • ompf, my favorite raytracing forum.