You have a G-Buffer and an L-Bufferīasically you draw the scene geometry outputting depth, normal, shininess/roughness and some other crap needed for lighting (outdoor masks), total FBO size is between 64 to 104 bytes (the bigger value is for optional albedo).Īs an optional you can have emissives write into the L-Buffer which is 3 values of diffuse and 3 values of specular, or 1 value of specular if you're poor (and Crysis 2 on console was).Īaaand it needs to be a blendable HDR format, so either you waste 2 alpha channels or you use R11G11B10F (or you can't even be clever and pre-divide your light value by the exposure, because of blending).Īfter filling the G-Buffer you fill the L-Buffer (the L-Buffer shares zbuffer with G-Buffer), you draw the light bounding geometry (icospheres, cubes, cones) into the scene additively. or GPU Gems 3 method (Tabula Rasa), improved upon by Crytek in Crysis is the deferred lighting. There are 4 ways of doing deferred, it kind of correlates to what you are deferring lighting, shading or rendering.ġ) The old S.T.A.L.K.E.R. but right now this depends on the outcome of several benchmarks.
This might make it into the irr::ext:: namespace of IrrlichtBAW.