Question about the evolution of lighting

Started by
20 comments, last by Alload 21 years, 9 months ago
How do you see the future of real time lighting? Do you think we will continue to use lightmap or will we go towards per-pixel lighting and real time shadows for entire scene?
Advertisement
Realistic all the way baby.


-AfroFire
AfroFire | Brin"The only thing that interferes with my learning is my education."-Albert Einstein
Currently, lightmaps are really just a stop-gap solution for the fact that we can''t do global illumination techniques (radiosity etc) in realtime.

I think that that is the real nirvana for lighting in graphics... realtime per-pixel global illumination. Pursuing this path really eliminates the need for hacks to make shadowing work (as is currently the case).
A realtime adaptive radiosity / raytracing hybrid combined with 4 dimensional BRDFs.

We''ll have to wait for the GeForce100 or so...
Maybe we could start a real-time radiosity or ray-trace on a per-vertex base just to see if it would work? I don''t know how radiosity works... But i''m sure Yann can provide the info on that

Sander Maréchal
[Lone Wolves Production][Articles][E-mail]

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

Here you go, some radiosity tutorials for beginners

Radiosity in English. Good introduction of the main concepts.
Radiosity in English part 2.
Radiosity lighting. Little sloppy writting, but informative and contains source.
Hugo Elias radiosity tutorial. A very easy to understand, excellent introduction.

About realtime radiosity: Even per vertex, it would be almost impossible on any non trivial scene. The problem are the form factor calculations, if you want accurate quality on a moderately complex scene (10k-50k tris), it takes hours (or even days) to compute a radiosity solution. There is some reasearch done on realtime progressive radiosity though. It precalc's everything, but as soon as the user moves an object, the radiosity is updated in realtime. This update, however, still takes several seconds. So, it isn't really useable in a game yet.

/ Yann

[Edit] added a link ... and fixed it

[edited by - Yann L on June 27, 2002 4:29:25 PM]
In my engine which doesn't support lightmaps (cause I don't know how to do them :D ), I light my scene using this algorithm:

Draw the scene with ambient light;for (each light){   if the light is a point light   {      draw stencil shadow volume;   }    draw the part of the scene which are lighted and add them to the color buffer using blending;}  


It works pretty well, but I just tested it with trivial scenes.

[edited by - Alload on June 27, 2002 5:32:07 PM]
I think the best light solution achievable today is:

_ using lightmaps for static geometry
_ using stencil shadow volumes for dynamic geometry

Don''t you think so?
No I don''t. Dynamic per-pixel lights with realtime shadows please.

Death of one is a tragedy, death of a million is just a statistic.
If at first you don't succeed, redefine success.
quote:Original post by python_regious
No I don''t. Dynamic per-pixel lights with realtime shadows please.


Are you serious? This means no global illumination at all.

And what realtime shadow technique would you use? I don''t think stencil shadow volumes are fast enough for big scene, aren''t they?

Moreover, which solution do you prefer?

Solution 1:

render scene with ambient color;

for each light
{
render the shadows;
render the illuminated part of the scene and blend it with the color buffer;
}


Solution 2:

render scene with ambient color;

for each light
{
render the shadows;
}

render the illuminated scene and blend it with the color buffer;


The solution 1 tends to be more realistic but is much slower than the solution 2.

This topic is closed to new replies.

Advertisement