Jump to content
  • Advertisement
Sign in to follow this  
greenmachine

Modern Real-time Lighting

This topic is 5382 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Can someone please write a little summary about real-time lighting methods above the basic (flat, pervertex) ones, which can be used in game engines? Which handles shadowing, what are the advantages/disadvantages, etc... of each one? Thanks

Share this post


Link to post
Share on other sites
Advertisement
Environment mapping can be really useful. By rendering a cubemap, you can do (perhaps approximately but anyway) realtime global illumination, with clever techniques.

One modern area of research is precomputed radiance transfer. There you store a "transfer function" (a spherical function that tells how much light from each direction affects the vertex) at each vertex. The transfer function can be as accurate as you need (unshadowed, shadowed, globally illuminated...). Then you just integrate the product of the transfer function at each vertex with the incoming light (from an environment map) to get the final lighting (assuming diffuse surfaces...)

One popular alternative for storing the transfer functions is spherical harmonics, because it's pretty easy, requires low storage , is fast, and it has no artifacts (ie. aliasing or noise). Wavelets have also been used - wavelets are great for high-frequency (eg. sharp shadows) effects, but in "real situtations" the discretized mesh makes high-frequency effects look rather bad.

OK, end of rant here.

-- Mikko

Share this post


Link to post
Share on other sites
@uutee: I'm currently designing my new engine and thought of implementing enviroment mapping. my idea was to look first for geometry chuncs which uses enviroment maps, then render this maps first (cubemaps) and after this task is complete, render the scene by using the previously rendered enviroment maps.
so, this should do for some situations, but what about scenes in which geometry chuncs with enviroment maps are close together?

so, for example, if two spheres with enviroment maps are close together in a scene? how can the recursive effect that occurs be handled? you know - you look at one of the spheres and can see the other sphere, which of course includes a reflection of the sphere itself etc... this would require many rendering passes... you know any good method to solve this efficient?

Share this post


Link to post
Share on other sites
Radiance Transfer is a really cool area of computer graphics and i don't see people talking about it as much as i'd like, there are some problems with it though, for example if you are calculating a grid of transfered radiance only rigidly moving objects can be handled, plus if you have more than one shadow caster, when the objects radiance volume intersect there will be inaccuracies.

But despite these setbacks, they are great for lighting outdoor environments, provide extremely realistic hemispherical shading, as well as soft shadows and inter-reflections to boot.

I'm currently toying with the idea of writing a series of articles on this topic, would anyone be interested in this at all?

Share this post


Link to post
Share on other sites
Yep, great idea. A concise set of articles explaining PRT would be just what the doctor ordered ;-)

Cheers,
Dchavez.

Share this post


Link to post
Share on other sites
Quote:
Original post by Moagly
I'm currently toying with the idea of writing a series of articles on this topic, would anyone be interested in this at all?


Go for it!

Share this post


Link to post
Share on other sites
Quote:
Original post by Moagly
Radiance Transfer is a really cool area of computer graphics and i don't see people talking about it as much as i'd like
Definitely. It has the capability of doing some really cool things. My current research involves non-SH-based PRT, and it's producing some very interesting results.

Share this post


Link to post
Share on other sites
It's encouraging to see that people are interested in this area, what sort of depth would people be interested in, I was thinking about providing a full background of global illumination and physically based lighting models deriving the rendering equation, because when i first started studying this area i found difficult to understand exactly what was happening, do you think this is a good idea, or will it be a waste of time, should i just stick to the spherical harmonics and demonstrate the implementation?

Thankyou for your encouraging comments.

Share this post


Link to post
Share on other sites
theoretical background is always cool. Especially if the link between theory and implementation is made clear. You could provide the theory as optional.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!