Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

OpenGL, kocka i svjetlo

[es] :: 3D programiranje :: OpenGL, kocka i svjetlo

[ Pregleda: 3022 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Almedin

Član broj: 5895
Poruke: 425
*.dlp245.bih.net.ba.



+27 Profil

icon OpenGL, kocka i svjetlo15.07.2006. u 21:58 - pre 215 meseci
Moze li neka dobra dusa da mi okaci kod koji crta kocku kod koje je svaka strana druge boje i da je osvijetljena otprilike kao sto bi bila i u stvarnosti. Ja se mucim ali izgleda da mi nesto nije jasno oko svjetala ili izracunavanja normala, kocka je ili jarke boje odakle god da je gledam ili je siva. Inace radim u delphi-u.
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.beotel.net.



Profil

icon Re: OpenGL, kocka i svjetlo16.07.2006. u 15:37 - pre 215 meseci
vidi primere na http://nehe.gamedev.net.

Ako bi okacio svoj code ovde, mozda mogu da pomognem.

 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
*.dlp223.bih.net.ba.



+27 Profil

icon Re: OpenGL, kocka i svjetlo16.07.2006. u 18:22 - pre 215 meseci
Evo nesto sam napravio ali opet nije kako treba. Evo kompletan projekt. Mišem se pritisne na OpenGL prozor i pomjeranjem pomijera se kamera, tockicem misa pomijeramo kameru naprijed-nazad. Sa pritisnutim CTRL pomijera se zuta kugla koja predstavlja svjetlo. vidjeces da postoji neogicnost izmedju pozicije svjetla i osvijetljenosti stranica. Male kugle na rubovima su ispravno osvijetljene ali stranice kocke nisu.
Prikačeni fajlovi
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.beotel.net.



Profil

icon Re: OpenGL, kocka i svjetlo16.07.2006. u 19:40 - pre 215 meseci
Gresis prilikom postavljanja svetla.
1. Ako je pozicija svetla X,Y,Z,0 onda je u pitanju directional light, tj izvor svetla je beskonacno daleko a zraci su paralelni i imaju smer XYZ. U ovom slucaju vektor XYZ mora biti normalizovan, tj |XYZ| = 1. Ako je intenzitet vektora veci od 1 onda ce scena biti presvetla.
2. Ako je pozicija svetla X,Y,Z,1 onda je u pitanju point light. X,Y,Z predstavljaju poziciju svetla i ne moraju biti normalizovani.
3. Kada postaviti poziciju svetla? Pre ili posle postavljanja kamere? OpenGL racuna shading u eye-space-u, sto znaci da ako postavis svetlo pre postavljanja modelview matrice kamere svetlo ce biti relativno od pozicije posmatraca. Ako postavis svetlo posle kamere bice u world space-u. Ukratko... pozicija svetla se takodje transformise pomocu modelview matrice.

yooyo
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
*.dlp368.bih.net.ba.



+27 Profil

icon Re: OpenGL, kocka i svjetlo16.07.2006. u 20:07 - pre 215 meseci
Hvala na odgovoru, ovo nisam znao za svjetla. Nije mi jasno nesto. Ja pomjerim kameru tako da gledam okomito odozdo, postavim svjetlo na jedan rub i donja ploha ima jednu boju, pomjerim svjetlo na drugi rub i ploha ima dugu boju. Ugao koji zaklapa izvor svjetlosti sa povrsinom plohe je isti u oba slucaja ali osvjetljenje nije isto.
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.beotel.net.



Profil

icon Re: OpenGL, kocka i svjetlo16.07.2006. u 21:43 - pre 215 meseci
Ako bi okacio screenshot pa da vidim o cemu se radi...
Inace... U pitanju je vertex lighting pa ako je svetlo blizu a geometrija "gruba" (ima malo trouglova po povrsi) ona mogu da se primeti lose osvetljenje. Kartica racuna osvetljenje svakog vertexa a zatim interpolira boju po povrsini koju zaklapa trougao. Ako je svetlo blizu jednog od vertexa a daleko od ostalih onda je se osvetljenje drasticno razlikuje od vertexa do vertexa.
Idealno resenje je perpixel lighting ali to zahteva upotrebu shadera.

Najbolje bi bilo da prodjes primere na http://nehe.gamedev.net (mislim da ima i delphi verzija). Takodje, pogledaj www.delphi3d.net za izuzetno dobre GL unite za delphi.

yooyo
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
*.dlp390.bih.net.ba.



+27 Profil

icon Re: OpenGL, kocka i svjetlo17.07.2006. u 19:02 - pre 215 meseci
Evo screenshotovi. na obje slike kamera je na istoj poziciji i glda na donju stranu kocke pod istim uglom, polozaj svjetla se razlikuje samo u tome sto je na jednoj lijevo a na drugoj desno, ista je udaljenost od kocke a velika je razlika u osvjetljenju.

Evo treca slika gdje je sranica osvijetljena iako po poziciji svjetla to nikako nije moguce (kada postavim svjetlo u ovakav odnos prema nekoj drugoj stranici ta stranica nije osvijetljena kako i treba biti).
Prikačeni fajlovi
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.beotel.net.



Profil

icon Re: OpenGL, kocka i svjetlo17.07.2006. u 21:16 - pre 215 meseci
Da li je u pitanju point light ili directional light?
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
*.dlp83.bih.net.ba.



+27 Profil

icon Re: OpenGL, kocka i svjetlo17.07.2006. u 21:24 - pre 215 meseci
Svejedno, u oba slucaja stranica nije isto osvijetljena kada je svjetlo uz jedan ili drugi vrh.
 
Odgovor na temu

[es] :: 3D programiranje :: OpenGL, kocka i svjetlo

[ Pregleda: 3022 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.