ianmackenzie / elm-3d-scene

A high-level 3D rendering engine for Elm, with support for lighting, shadows, and realistic materials.
https://package.elm-lang.org/packages/ianmackenzie/elm-3d-scene/latest/
Mozilla Public License 2.0
205 stars 27 forks source link

Support shadowing #3

Closed ianmackenzie closed 5 years ago

ianmackenzie commented 7 years ago

Either using traditional shadow maps or perhaps something clever/specialized like sets of analytical occluders (spheres, boxes etc.).

One cool approach would be to dynamically generate GLSL code for a given set of occluders; this could include hardcoded R-tree-like culling logic to quickly determine which occluders may affect a given light/ray.

ianmackenzie commented 6 years ago

Sample implementation of shadow volumes in JS, links courtesy of @architectcodes:

ianmackenzie commented 5 years ago

Initial experimentation with shadow volumes in Elm: https://github.com/w0rm/elm-webgl-playground/compare/shadow-volume

PixelPartner commented 5 years ago

Looks like you can close this.

ianmackenzie commented 5 years ago

Right you are! =) Would be cool to investigate shadow maps in the future but that will require changes to elm-explorations/webgl.