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
30.10.2003. u 14:50
Reljam Relja Markovic Project Natal - Microsoft Game Studios Seattle, WA
Član broj: 531 Poruke: 1739 *.attbi.cable.earthlink.net
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.
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
31.10.2003. u 00:25
Reljam Relja Markovic Project Natal - Microsoft Game Studios Seattle, WA
Član broj: 531 Poruke: 1739 *.attbi.cable.earthlink.net
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.