[ Acid @ 30.10.2003. 14:50 ] @
Pozdrav svima,
napravio sam kocku koja se okrece oko Y ose. Kocka je napravljena od 12 poligona (2 poligona za svaku stranicu, to je 36 tacaka). Pitanje glasi: da bi ta kocka imala osvetljenje da li mora da bude nacinjena od vise od 2 poligona po stranici? HVALA
[ Reljam @ 30.10.2003. 16:28 ] @
Ne mora, mozes da imas osvetljenje i sa samo 2 trougla po strani (i cak moze da izgleda pristojno), ali da bi imao osvetljenje treba da imas normale na vertexe.
[ yooyo @ 31.10.2003. 00:25 ] @
Reljam je u pravu... ima samo jos jedna sitnica... Postoje 2 vrste
osvetljenja (per vertex i per-pixel).

Per-vertex osvetljenje racuna kolicinu svetla u vertexima kocke i dobijenu
boju interpolira po trouglu. To znaci da ako postavis svetlo malo iznad
jedne od strana kocke (koja ima 2 trougla), cela strana kocke ce biti "podjednako"
osvetljena. Medjutim ako napravis kocku cija strana se sastoji od mrezice
vertexa (npr. 16x16) onda ces primetiti finije prelaze boja.

Per-pixel osvetljenje nema ovih problema. Boja se racuna za svaki
pixel i ima efekat kao da si napravio stranu kockice od velikog broja
vertexa. Za koriscenje per-pixel osvetljenja potrebno je malo vise
poznavati API sa kojim radis (OpenGL ili DirectX).

Ako koristis DX pogledaj primere u DXSDK, a ako koristis OpenGL
idi na nvidia.com i potrazi primere za per-pixel osvetljenje.

yooyo
[ Reljam @ 31.10.2003. 02:00 ] @
Tacno, samo da dodam jos da je per-vertex osvetljenje (to je ono sto se dobija kao 'default' osvetljenje u D3Du i OpenGLu) mnogo lakse za implementaciju i ne zahteva specijalan hardver. Per-pixel osvetljenje obicno zahteva hardver koji podrzava pixel shadere.

Tako da ako pocinjes da se bavis svim ovim, toplo preporucujem da koristis per-vertex osvetljenje - em ga je lakse odraditi, em ima vise primera na netu, a i radi na vise kartica.