/demos

A signed distance field raytracer.

Primary LanguageHTML

Demos Signed-Distance Field Raytracer
Robert Dionne
February 25, 2012

Demos is a signed distance field raytracer. See http://en.wikipedia.org/wiki/Signed_distance_function. It has a debug rendering mode that shows the number of loop iterations per fragment, an eye-tracker level-of-detail mode that lowers the raytracer accuracy for fragments towards the edges of the screen and a toggleable mesh intersector mode.

Video: http://goo.gl/3QiIu OR https://docs.google.com/file/d/0B5t1j58WWjsiOTkwOWU5MWMtMDBmMS00NDFiLWE1YWYtMDBjMTY5NTk5MjQw/edit

Requirements:
1) Macbook Pro running Mac OS X Snow Leopard.
2a) Google Chrome 17.0.963.56 or better: http://www.google.com/chrome
  OR
2b) Mozilla Firefox 10.0.2 or better: http://www.mozilla.com/en-US/firefox/new/

Running:
1) Visit http://robertsdionne.github.com/demos/ in Google Chrome 17 or Mozilla Firefox 10.
2) Select a demonstration to run by clicking the corresponding link:
  * Simple demonstration with specular and diffuse lighting.
  * Temple demonstration with approximate ambient occlusion.
  * Ambient occlusion demonstration with approximate ambient occlusion and "infinite" geometry.
  * Solar demonstration with Perlin simplex-noise generating the geometry in space and time.

Controls:
  W - Move shape up.
  S - Move shape down.
  A - Move shape left.
  D - Move shape right.
  Q - Move shape away.
  Z - Move shape toward.

  N - Cycle to next shape.
  P - Cycle to previous shape.

  Y - Toggle debug rendering mode in some demonstrations.
  U - Toggle lower level-of-detail near edges of screen.
  I - Toggle intersector mesh to demonstrate the coexistance of raytraced and
      traditional polygon geometry in the same scene with correct depth
      interaction.