Sori et tulee hieman myöhään.
Deferred rendering/Lighting tarkoittaa yleensä sitä, että ensin kaikki kuvan sisältämä läpinäkymättömät esineet lasketaan niin sanottuun G-Bufferiin.
Eli tehdään kuvia joissa kerrotaan jokaisen pikselin etäisyys kamerasta, mihin suuntaan normaalin normaali osoittaa (minkä suuntainen pinta on kyseessä), mitä materiaalia pinta on ja sen väri.
Nuo ovat yleensä ne minimi tiedot.. eli. (normal, Z-buffer, albedo/color, specularity, material-ID)
Tämän tarkoitus on muuttaa normaali renderointi tapa hieman erilaiseksi.
Normaalisti kun esinettä valaistaan usealle valolla, joudutaan esineen kaikki tiedot syöttämään uudestaan vertex shadereiden läpi ja laskemaan kaikki pikselin tiedot uudestaan.
(vertex puolella rotaatiot kaikki asetukset mitä pikseli shader tarvii..)
(pixel puolella, esineen väri, normaalin suunta, relief map joudutaan laskemaan uusiksi..jne.)
Kun nämä on laskettu valmiiksi Deferred Rendering/Lighting tekniikoilla juuri tuonne G-Bufferiin, niitä ei tarvii enään uudestaan laskea.
Uudet valot lasketaan periaatteessa vain ruudulle spriteinä joilla otetaan G-Bufferista kyseisen alueen tiedot ja ajetaan niiden läpi valon tyyppi, sijainti ja pari muuta hassua tietoa mukaan lukien tietenkin perus valon laskukaava.
Uuteen valon ei enään tarvitse tietää mitä esinettä se valaisee ja täten ei tarvita käyttää ollenkaan vertex shadereita ja pixel shader laskujenkin osuus vähenee huomattavasti.
Tekniikka on lmainio, kun näytöllä on Paljon pieniä valoja, valot kun maksavat yhtä paljon kun pikseleiden määrä mitä nuo valaisee.
Ongelmiksi tulee sitten läpinäkyvät esineet, mokomia kun ei voi normaalisti tallentaa G-Bufferiin.
Hieman lisätietoa niille jotka haluavat oppia.
http://www.beyond3d.com/content/articles/19/
http://www.talula.demon.co.uk/DeferredShading.pdf (varoitus .PDF)