[OpenGL] Kolor bryły po oświetleniu


(robertosew56343656543574c) #1

                        

Witam, Mam taki problem, otóż znalazłem zadanie, które nie wiem jak rozwiązać:

 

"Jaki kolor będzie miała bryła, po oświetleniu jej źródłem nr 0?

GLfloat kolor1[]={0.0, 0.0, 1.0};
GLfloat kolor2[]={1.0,1.0,0.0};
glLightfv (GL_LIGHT0, GL_DIFFUSE, kolor1);
glMaterialfv (GL_FRONT, GL_DIFFUSE, kolor2);

 

Wydaje mi się, że biały, ponieważ LIGHT0 to światło białe, ale nie jestem pewny, a odpowiedź trzeba uzasadnić. Czy ktoś mógłby wytłumaczyć, jak powinna wyglądać odpowiedź do tego pytania i dlaczego?


(GL1zdA) #2

Miałem to parę lat temu, więc mogę się mylić.

 

LIGHT0 jest domyślnie biały, ale ustawiasz mu swiatło rozproszenia na niebieski (składowa czerwona 0, zielone 0, niebieska 1).

Materiałowi ustawiasz "odbicie" światła rozproszenia na czerwona 1, zielona 1, niebieska 0.

 

Bryła będzie więc czarna - pochłania ona niebieskie światło, odbija czerwone i zielone.