Currently, I don't have a lot of free time, because of some changes in my private life. That's why I don't have much time to work on Irrlicht, answer mails, blog, etc. Sorry for that. But yesterday (national holiday) I grabbed some few free hours to play around with Global Illumination: I implemented Radiosity into irrEdit
. The following screen shot shows the first result: A scene lighted with a single point light, calculated with two different lighting algorithms
It doesn't look very impressive yet, I know. Especially if you compare the calculation times: The scene on the left image needed 0.3 seconds to be calculated, the right one about 40 seconds. And this gets even less impressive if you think that you can produce nearly the same result by using the fast version with a shadow opacity value of about 0.8 (which is the default value in irrEdit currently and has been changed to 1.0 here to make the difference more obvious). In addition, I'm not very sure if the result is 100% correct. I didn't make a lot of tests yet. But it's a first step.
I still have to play around and adjust some stuff in the radiosity renderer, but it works. The cool thing about it: It already theoretically can do nice things like color bleeding and area lights. Another cool feature: Everything is currently implemented in software, everything is running on the CPU, and I already prepared the renderer to run in multiple threads, on multiple cores. But I also prepared it to utilize the GPU for its calculations, just a few dozen lines need to be added to let the renderer use those crazy fast graphics hardware available today.