Open mcmonkey4eva opened 7 years ago
This should probably be sky light only, I don't see this being very effective with other light sources... but maybe it could be possible? One step at a time: See how well it works for sky lights... if it goes well, try for other types!
Possibly as well: a 'mixed' mode. Distant or insignificant or whatever objects get a generic area blast shadow, meanwhile important or close or whatever objects get individual scans.
This could potentially actually be fairly clever... As object shadows would rarely need updates!
I had an odd idea...
What if instead of building a shadow map for sky lighting, we calculated the shadow from each object into a massive array of relatively low-res
*
shadow images, and merely projected that down onto land?*
Current shadow map is generally pretty big,1024x1024
x light source count is standard. We could easily make this 64x64 without anyone complaining... But large objects would drop quality. Perhaps a giant 2d texture atlas as opposed to a 3D texture, thus allowing dynamic refitting? Would require more involved shader uniforms to pass the correct data in...Using some trickery
*
, this could even allow transparent objects to cast full accurate shadows!*
Trickery would basically just be a second buffer alongside the first that identifies rough alpha value of each shadow pixel.This would probably not be particularly efficient compared to standard shadow mapping, but might be worth a try?
Alternately, could be used for ONLY transparent shadows and NOT for opaques?