Skip to content

Latest commit

 

History

History
75 lines (55 loc) · 2.61 KB

README.md

File metadata and controls

75 lines (55 loc) · 2.61 KB

WebGL raytracer app

https://oseiskar.github.io/webgl-raytracer/

The idea is to create a framework for composing different WebGL raytracers from shared pieces of GLSL fragment shader code. Different combination of rendering methods, material models, cameras and data structures may be used.

Utilizes my glsl-bench library (included as a submodule) & TWGL for the WebGL boilerplate, for example, everything not related to "worlds with two triangles".

img

Development

Installation

npm install
npm run build
# npm run watch # for hot reloading

Usage

python3 -m http.server 8000 --bind 127.0.0.1 # or similar
# then go to http://localhost:8000/

Deployment

# TODO: hacky
git checkout gh-pages
git reset --hard A_COMMIT_SHA_WITHOUT_BUNDLE_JS
git rebase main
npm run build
git add .
git commit -m "Deploy"
git push -f

Features

Implemented

To-do list

  • faster subsurface scattering
  • cylinders and cones
  • constructive solid geometry
  • triangle meshes & octrees
  • interval arithmetic implicit surfaces
  • spectral color model (enables dispersion)
  • reconstruction filter for blurring highlights

References

Miscellaneous interesting free online material on raytracing