[ Acid @ 23.11.2003. 22:01 ] @
Pozdrav svima, imam jedno pitanje vezano za normale na poligonima:

Kada kreiram neki poligon od 3 vertexa:

verts(0).x=1
verts(0).y=1
verts(0).z=0

verts(1).x=-1
verts(1).y=-1
verts(1).z=0

verts(1).x=-1
verts(1).y=1
verts(1).z=0

Kako sada da postavim normalu da bi ovaj poligon mogao da bude osvetljen? I uopste kakav je to vektor kada ima samo jednu tacku?
Je li ta tacka koju ja pravim pocetak ili kraj vektora, ako je pocetak sta je kraj, a ako je kraj sta je pocetak?
[ yooyo @ 23.11.2003. 22:54 ] @
Ne postoje normale na poligonima. Postoje normale na vertexima.
Da bi lakse shvatio normale, zamisli male strelice koje izlaze iz svakog VERTEXA
nekog objekta. Npr. ako uzmes trougao i postavis na svaki vertex istu normalu
onda se to moze nazvati normala poligona. ako osvetlis takav trougao dobices
trougao konstantne boje.

Ali ako svaki vertex ima drugaciju normalu onda ces dobiti prelaz boja (shading).

Da se vratim na tvoj code... pored svakog vertexa (verts(N).x,y,z treba da imas
i vertex(N).nx,ny,nz)

yooyo
[ Reljam @ 24.11.2003. 03:16 ] @
Yoyo je u pravu. Nedostaju ti normale. A te tacke koje si opisao zamisli upravo tako, kao tacke, a ne kao vektore. Ovo je dobar sajt sa tutorialima, pogledaj ga:

http://www.riaz.de/tutorials/d3d.html
[ Acid @ 24.11.2003. 15:03 ] @
da li to znaci sledece. lokacija ove normale je kraj vektora a sam verteks pocetak? A, da li taj normali vektor mora da bude normalan na ravan poligona ili samo da pokazuje koja strana je lice poligona?
[ pearljam @ 24.11.2003. 22:05 ] @
Citat:

I uopste kakav je to vektor kada ima samo jednu tacku?


Pa svi vektori sa kojima se radi u matematici odredjeni su samo jednom tackom.
U matematici se radi sa slobodnim vektorima, tj. vektorima koje mozes
translatorno da pomeras u prostoru. Iz toga sledi da svaki vektor mozes
tako da pomeras sve dok njegov pocetak ne bude u koordinatnom
pocetku. Kada ga dovedes u takav polozaj onda onda njegova krajnja tacka
odredjuje i sam vektor. Znaci pocetna tacka svakog vektora(slobodnog) je koord. pocetak a krajnja je ona po cemu se razlikuju...
E yebigga, sad sam ga bas zakomplikovo :)
[ Acid @ 25.11.2003. 12:25 ] @
Nisi nimalo zakomplikovao, sad mi je sve mnogo jasnije. Ja sam jos u gimnaziji pa te ketore nismo nesto mnogo ni ucili. Hvala svima na odgovorima sada konacno kapiram normale.
[ Sasha++ @ 29.11.2003. 14:20 ] @

Znaci li to, ako se pomera vertex da se menja i vrednost normale na na taj vertex?
[ pearljam @ 29.11.2003. 22:56 ] @
Citat:

Znaci li to, ako se pomera vertex da se menja i vrednost normale na na taj vertex?


Nisam nikad radio u OpenGL-u tako da nisam siguran kako su tacno implementirali
osvetljenje ali normala na vertex ne bi trebala da se menja ako se vertex pomera translatorno. Medjutim ako vertex recimo zarotiras onda se sigurno menja i vrednost normale.
Medjutim ovaj odgovor nemoj da uzmes za sigurno tacan jer je bolje da odgovori neko ko ima iskustvo u OpenGl-u ili Direct3d-u...
[ tosa @ 30.11.2003. 10:10 ] @
Citat:
Sasha++:

Znaci li to, ako se pomera vertex da se menja i vrednost normale na na taj vertex?


Zavisi pre svega od veze tog vertexa sa drugim vertexima...
Ako na njegovu normalu utice vise primitiva od jedne, najcesce se pomeranjem
vertexa menja i normala.
[ Sasha++ @ 30.11.2003. 15:23 ] @
Situacija je sledeca:
Imam jedan automobil ciji vertexi imaju normale (koord. te tacke)
Ako pomeram auto (znaci i translacija i rotacija) da li se onda menjaju i vrednosti normale?
Vertexi se ne menjaju u odnosu na druge tj. ne dolazi do deformacije modela.
[ Reljam @ 30.11.2003. 20:39 ] @
Kratak odgovor: Ne.

Jedino sto utice na normale su deformacije tela. Rotacija i translacija nisu deformacije, tako da je sve ok.
[ Sasha++ @ 02.12.2003. 13:28 ] @
Izvinite sto sam dosadan, ali sta onda znaci ta tacka koja predstavlja normalu?
U odnosu na sta su te koordinate tj. da li su to world koordinate ili sta?
[ Reljam @ 02.12.2003. 18:21 ] @
Referentna tacka je vertex (ciju normalu gledas).