Avatar
mc
Člen
Avatar
mc:

Nevím jestli jsem vybral správnou kategorii fóra, ale za pokus to stojí. Mám problém s nastavením světla v OpenGL. Snažím se vytvořit něco jako model sluneční soustavy. Jako zdroj světla má sloužit model slunce. To jsem chtěl vyřešit tak, že jsem nastavil pozici světla do středu koule která symbolizuje slunce a nastavil světelnou emisi materiálu. Je to jediný zdroj světla na scéně, ale jak je na obrázku vidět planety jsou osvětleny stejnoměrně ze všech stran. Nenapadá něho kde by mohl být problém?

 
Odpovědět 22.4.2013 17:28
Avatar
Odpovídá na mc
Luboš Běhounek (Satik):

Základní osvětlení (i když ve scéně nemáš žádný zdroj světla) je ambientní osvětlení, zkus ho vypnout.

A samotný emisivní materiál na objektu sám o sobě žádné světlo nevydává, resp. nijak neovlivňuje ostatní objekty, jak to máš přesně řešeno?

Nahoru Odpovědět 22.4.2013 18:10
:)
Avatar
mc
Člen
Avatar
mc:

Ambietní složku světla mám právě vypnutou. No řeším to tak, že nastavím světlo, zapnu ho, vykreslím planety a nakonec teprve vykreslím samotné slunce. Bohužel to nefunguje podle očekávání.

 
Nahoru Odpovědět 22.4.2013 20:25
Avatar
Odpovídá na mc
Michael Olšavský:

Máš správně nastavený směr světla?

 
Nahoru Odpovědět  +1 22.4.2013 20:29
Avatar
Odpovídá na mc
Luboš Běhounek (Satik):

Máš zaplé osvětlení přes glenable?

Tuším, že by to mělo být asi

glEnable(GL_LIGHTING);
   glEnable(GL_LIGHT0);
Editováno 22.4.2013 20:32
Nahoru Odpovědět 22.4.2013 20:31
:)
Avatar
Luboš Běhounek (Satik):

zkus mrknout sem, tady je to docela hezky popsané

http://www.glprogramming.com/…apter05.html

Nahoru Odpovědět 22.4.2013 20:34
:)
Avatar
mc
Člen
Avatar
mc:

V programu používám bodové(všesměrové) světlo. Ano mám zapnuto osvětlení i používané světlo a kapitolu o osvětlování jsem četl také. Bohužel nemůžu pořád přijít na to kde je problém. Ale stejně děkuji za snahu :)

 
Nahoru Odpovědět 22.4.2013 20:46
Avatar
Odpovídá na mc
Luboš Běhounek (Satik):

No, mě je divný, že je to osvětlený i když jsi vypnul ambientní osvětlení, všechno by mělo být černé, zkus schválně to světlo vypnout, jestli bude vše černé.

Nahoru Odpovědět 22.4.2013 21:13
:)
Avatar
mc
Člen
Avatar
mc:

No tak jsem to zkusil a když vypnu světlo tak to stejně svítí. Tak teď už vážně netušim co je tam špatně :/

 
Nahoru Odpovědět 22.4.2013 21:32
Avatar
mc
Člen
Avatar
mc:

no ten kod je trošku zanesenej tím jak se to pokušim rozchodit.
http://pastebin.com/XVQpSd5k

 
Nahoru Odpovědět 22.4.2013 21:58
Avatar
Luboš Běhounek (Satik):

Nevolas nikde setmaterial2 a u tohole radku si moc nejsem jistej:

glEnable(GL_COLOR_MATERIAL);

a jinak uz me nic nenapada takhle od pohledu do kodu.

Editováno 22.4.2013 22:26
Nahoru Odpovědět 22.4.2013 22:26
:)
Avatar
mc
Člen
Avatar
mc:

Tak už jsem našel problém. Neměl jsem zapnutou normalizaci vektorů, takže světla se od materiálu neodrážela správně. Takže po zapnutí glEnable(GL_NOR­MALIZE) světla fungují.

 
Nahoru Odpovědět 23.4.2013 9:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.