Page 1 of 1

Radiosity Lighting

Posted: Thu Feb 21, 2008 9:35 am
by VladR
First I set up a thread at a rebirth section but I was navigated here since D2X-XL is supposed to have colored lightmaps already, so it should be easier. But I`ll rather start from scratch:

`ve been thinking about this for quite a few years, probably since I managed to code a working radiosity renderer, so it`s not just an idea I got in a sudden inspiration rage.

We would re-light the levels, produce lightmaps and at run-time just blend them with the base material texture. Then we could switch off the current vertex lighting.

The difference would be huge. It wouldn`t have to be so colorful as Forsaken has been, but at least there would be nice and smooth lighting.

Example of lightmaps can be seen here:
http://www.avenger.sk/Radiosity/ScreenShot001.png
http://www.avenger.sk/Radiosity/ScreenShot002.png
http://www.avenger.sk/Radiosity/ObjectTexture.bmp

While I don`t know anything about the way how Descent codebase is structured, I believe Diedel could be helpful here. Plus, I`ve got about 8 yrs of C++/DirectX experience.
Though in this case it would be mainly a matter of sorting the lightmaps the way the base level is rendered. Which is far from being complicated.

Sure, my free time is a scarce commodity, but I genuinely believe I owe it to Descent and what it provided me with - an absolutely unique and non-reproducible gameplay experience. Something like Magic Carpet 1 or Dungeon Keeper 1 games.
And seeing how my son leaves his PS1/PS2/PSP/X360 and goes playing Descent 1 just shows that this game is a piece of art and deserves getting better.

Posted: Thu Feb 21, 2008 3:36 pm
by Sirius
I'm not completely sure whether it goes as far as you're looking at, but this probably gives a fair idea what D2X-XL lightmaps can look like:
http://www.descent2.de/images/antho1_5.jpg

Posted: Thu Feb 21, 2008 4:03 pm
by VladR
That screenshot shows just ambient lighting through lightmap, maybe some sort of huge point light.
But I`m talking about Global Illumination solution - i.e. the ray is scatterred multiple times throughout the environment - creating soft shadows and the wonderful borders between the dark and lit parts (which only radiosity can create).
You could combine as many different colored lights as you want - the lightmap doesn`t care if there`s 1 or 15 lights - there`s no real-time performance difference.
Of course, it would still have to preserve the dark, cold look. But even with White, Blue and Grey lights (and occasional red ones around lava parts), it would be quite different.
I`m not sure if you can see it from this screenshot http://www.avenger.sk/Radiosity/ScreenShot004.png but each lighted part doesn`t have the same contrast/size. Because it`s a global illumination, it depends on the intensity of the light,distance from surface and the angle between light direction and surface normal - so the final look would be quite varied. Not just same cloned lightmaps placed all over the level.
You`re probably not going to believe me but Radiosity was more and harder work for me than creating a 6DOF engine (yes, I`ve got something own, playable already). On the other hand, I`ve got it prepared for real-time lighting - yes I mean real-time radiosity (with certain, non-visible hacks), but that is possible only with my own renderer since it`s all designed/coded that way.

Well, if Diedel has already tweaked a Descent renderer in such a way that whole level can be lightmapped, there shouldn`t be much coding left. Just importing the levels into my engine/editor. Setting up lights there and creating the lightmaps and importing them back to D2X.

I hope that the D2X doesn`t impose any limit on lightmap resolution. With today`s 1 GB gfx cards, we wouldn`t have to limit ourselves just to low-res lightmaps. But we could have several detail levels of them and depending on capacity of your gfx card you could choose the lightmap quality.

Posted: Thu Feb 21, 2008 5:34 pm
by Duper
Hit his forums and ask there. He doesn't frequent here often. (long story)

Posted: Thu Feb 21, 2008 11:20 pm
by heftig
I'm sure D2X-XL does not do any global illumination. It has got some kind of custom software-driven vertex lighting.

Re:

Posted: Fri Feb 22, 2008 12:23 am
by Aus-RED-5
Duper wrote:Hit his forums and ask there. He doesn't frequent here often.
http://www.descent2.de/forum/index.php

Posted: Fri Feb 22, 2008 2:05 am
by VladR
OK, didn`t know he doesn`t visit these forums. From early browsing of these forums he seems to be here a lot, though I haven`t been wathing the date of the post, of course - so those might be a year old.

Thanks for the direction to his forums - I`ll write there.