Witam.
Mam problem z oświetleniem obiektów ruchomym światłem punktowym. Na scenie mam podłoże z wektorem normalnym skierowanym ku górze. Na podłożu stoją obiekty (domki), przyjmijmy że są sześcianami (normalne dla każdej ze scian są liczone poprawnie).
Zmieniam położenie światła (rotate, translate, ustawiam pozycje swiatla). Problem pojawia się gdy światło przechodzi pod podłoże.
Chcę aby wtedy ściany obiektu nie byly oświetlane, jednak tak się nie dzieje.
Ustawienia dla swiatla:
const GLfloat light_ambient[] = { 1.0f, 1.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[] = { 1.0f, 1.0f, 0.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 0.0f, 1.0f };
glLightfv(GL_LIGHT3, GL_AMBIENT, light_ambient);
glLightfv(GL_LIGHT3, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT3, GL_SPECULAR, light_specular);
glPushMatrix();
glRotatef(sunRotate, 0, 0, 1);
glTranslatef(150, 0, 0);
glColor3f(1, 1, 0);
glutSolidSphere(5, 10, 10);
GLfloat slonce_pozycja[] = { 0.0f, 0.0f, 0.0f, 1.0f };
glLightfv(GL_LIGHT3, GL_POSITION, slonce_pozycja);
glPopMatrix();