/global-illumination-js

Global illumination engine using path tracing written in typescript

Primary LanguageTypeScriptMIT LicenseMIT

Global Illumination JS Summary

Build Status

I am a Global Illumination renderer using path tracing written by Nidin Vinayakan in Typescript/Javascript.

Rendering algorithm is ported from Go implementation written by Michael Fogleman

##Disclaimer: Currently it only works with Firefox Nightly since multi-threading relying on SharedArrayBuffer.

Features

  • Supports OBJ
  • Supports textures, bump maps and normal maps
  • Uses k-d trees to accelerate ray intersection tests
  • Supports various material properties
  • Light sources with configurable attenuation
  • Supports configurable depth of field
  • Supports iterative rendering
  • Uses all CPU cores in parallel

TODO

Here are things that I'm planning, or at least hoping, to do.

  • Shared scene
  • Binary STL and ASCII STL Loader
  • Subsurface scattering
  • Atmosphere
  • Constructive solid geometry
  • Animation support?

Links

Here are some resources that I have found useful.

Samples