Što je osvjetljenje po pixelu?

“Osvjetljenje po pikselu” je izraz koji se koristi u računalnoj grafici kako bi označio da će trodimenzionalna (3D) scena odrediti boju objekata na bazi piksel po piksel umjesto na bazi vrh po vrh. Upotreba osvjetljenja po pikselu umjesto osvjetljenja po vrhovima obično stvara gotovu sliku ili okvir koji ima realističniji i često oštriji, definiraniji izgled, posebno kada se koristi mapiranje bumpova. Općenito, osvjetljenje po pikselu implementirano je korištenjem pikselskih shadera koji mogu koristiti brojne načine za izračunavanje kako svjetlost u sceni pogađa određeno područje scene i koje boje bi trebala biti rezultirajuća površina. U 3D aplikacijama u kojima je brzina renderiranja važna, kao što je dinamička animacija, sjenčanje po pikselu možda nije praktično jer može zahtijevati višestruke prolaze kroz scenu ili jednostavno može potrajati predugo i onemogućiti postizanje prihvatljivog broja sličica u sekundi.

Jedan od češćih oblika primjene svjetla na 3D scenu je korištenje metode poznate kao osvjetljenje po verteksu. Ova tehnika uzima vrhove objekta – točke gdje se susreću linije objekta – i određuje kako bi površina objekta trebala izgledati na tom mjestu. Kada svi vrhovi u sceni imaju priložene informacije o osvjetljenju, renderer će koristiti interpolaciju ili druge vrste algoritama za procjenu izgleda površine objekta između vrhova. To općenito rezultira područjima koja se oslanjaju na visoku gustoću vrhova u objektu kako bi postigli oštre svjetlosne efekte, kao što je phong highlight, dok će oblik kao što je kocka sa samo šest vrhova imati široko, stupnjevano osvjetljenje preko površina, bez obzira na teksturu ili položaj osvjetljenja.

Nasuprot tome, program može implementirati osvjetljenje po pikselu. To uključuje prolazak kroz svaki od piksela u rasteriziranoj sceni i određivanje pojedinačne boje i osvjetljenja za svaki piksel, bez obzira na njegovu blizinu vrhuncu. Rezultati su obično oštra, precizna rasvjeta, posebno sa spekularnim efektima. Kompromis za bolju kvalitetu slike je dulje vrijeme renderiranja, jer svaki piksel mora biti obrađen pikselskim shaderom, iako to nije uvijek briga za 3D modeliranje i programe za grafiku i renderiranje koji ne moraju održavati određenu brzinu kadrova.

Dramatični učinci osvjetljenja po pikselu kada se pravilno primjenjuju mogu zapravo poboljšati izgled objekta koji ima primijenjeno zamršeno mapiranje neravnina i sitni detalji mogu biti izgubljeni s osvjetljenjem po vrhovima. Proceduralne teksture također mogu imati koristi od pristupa osvjetljenju po pikselu. Dodatno, posebni efekti kao što su volumeni sjena zahtijevaju korištenje osvjetljenja po pikselu, kao i složene refleksije svjetla, sustavi čestica ili čak aureole u nekim slučajevima.