Thursday, August 20, 2009

Deferred Lighting

hi, quick update
last crytek presentation they show their deferred lighting system, and i thought.. hmmm, i implemented those things few months ago, doing test and stuff to see if its good, but i didn't finsih all the tiny things that make it unstable (i wanted to focus on things other the graphics & effect), so last week i finished handling those tiny things and here is the result:

87 dynamic lights (yes, they all cast dynamic shadows)


mikfig said...
This comment has been removed by the author.
mikfig said...

how are you doing shadow mapping for so many lights? is it some kind of deferred technique?

orenk2k said...

well, basically i'm not, when i wrote "yes, they all cast dynamic shadows", i meant that they all cast dynamic shadows if they get their space or allowed to do that from the shadow cache system, so when i'm far only the nearest/biggest (depends their priority) will cast shadows and when i get closer other lights get their shadows cache and allow to cast instead of the other ones which are not important by now.
note that the cache system can be set by telling it how much mem you want to spend on shadows so you can have a lot shadows casting lights if you have 512 mb gpu mem.
anyway, in the image i'v a bug which prevent from the small lights to cast their shadows ;) so this image is not showing exactly what i wrote...
as for deferred tech, well i'v few tricks i want to implement to optimize the shadow code, but the problem with deferred is that you only have geometry info about what you are seeing, so shadows from hidden objects can't be done this way, so not everything could use deferred.
thanks and bye

mikfig said...

ok thanks :D