Skip to main content
gamedev.net
🔒 Locked

learning radiosity

Started by Gammastrahler Apr 11, 2002 at 5:58 PM 2 replies 300+ views
Original Post
Gammastrahler
Gammastrahler
hi! i want to learn radiosity. i know this is a complex algorithm to a vast extent. the problem is that, even though the web has a ton of tutorials on radiosity, most of them give just a briefly explanation of how the algorithm works, but that´s all. the articles on gamedev are good but they also are very short. what i need is a complete paper that goes into detail and covers all scopes of this subject. it should be theory and praxis, including some source code. i think a book would be the best choice, but amazon.com/de has three books, two appear to be the same and are sold out, and the third seems to be not as useful for me. has anyone practical knowledge with radiosity and can tell me some good sources? thanks gammastrahler [edited by - gammastrahler on April 11, 2002 7:01:57 PM]
TerranFury
TerranFury
You know about lightmap rendering? It's basically doing that over and over and over again. You just treat each and every lightmap texel as a light source. Light ends up reflecting around off of surfaces. After many iterations, the change between iterations becomes negligible; it converges.

My favorite website describing radiosity is here.

It does go into some more complicated stuff though that you probably don't need. It's easiest (and less likely to result in bugs) to skip the hemicubes and just cast raysin a hemisphere. The main advantage of the hemicube is that it can be used with hardware rendering of the scene (which, btw, I wouldn't recommend if you're just starting out). If you're doing everything in software, then just using hemispheres shouldn't be any slower.

One point that the site I gave you doesn't make clear is this: Generally, you just choose the patch with the highest light value and cast it to all the other patches. Then you just repeat with whatever is now the brightest patch. In this way, the light will be distributed.

[edited by - TerranFury on April 11, 2002 8:57:28 PM]
Gravity
Gravity
Just looking over the sight and the algorithm, it seems to me like you can start with any patch you like, because the light will get distributed as you run more passes.

You''re determining the light on each patch by calculating how much light that patch "sees". If the first pass it doesn''t see anything, the next pass it might after the other patches have been calculated.
Gammastrahler
Gammastrahler
my engine currently uses lightmap rendering, using the lambertian equation for diffuse lighting. but this looks not always good...

i want to implement full-featured radiosity lighting to generate my lightmaps, but i want to code it for myself instead of using a radiosity processor.

i know there is a book called "Radiosity: From A Programmers perspective" but this seems to be sold out. If anyone knows where i could get an used exemplar, please let me know!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.