WebGL – Deferred Arealights

To continue this series on WebGL-based deferred lighting, we just finished another deferred lighting demo at the redPlant demo section.

This new application is showing a deferred arealight implementation, again WebGL based, again done with three.js and again with public source.

Have fun and merry christmas!

  1. Martin,

    Great job with this deferred rendering project for three.js. I’ve been utilizing WebGLDeferredRenderer the last several weeks to create a scene with animated area lights.

    My knowledge about the graphics pipeline is limited, so I have a couple questions I am hoping you may have some time to answer. First, I see that fog is not implemented in WebGLDeferredRenderer. Is there anything that prevents fog from being implemented? I examined the code hoping that I might be able to add it, but I must admit that it’s very unclear to me how I would do so.

    Second, I wonder if you have any advice regarding performing tuning using deferred rendering. If you look at the project I linked to above, you’ll see that I render almost 500 individual Cube geometries to create a screen of lights (only 14 of these actually have area lights at their position so as to be conservative). A good graphics card is needed to render this well. I tried reusing a 5-sided geometry for each panel light’s casing, giving each a unique planar geometry for its emitting face, but that actually performed worse than 500 individual cubes. Do you have any recommendations for improving performance?

    Thanks for any helpful ideas you can offer!

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>