2010-01-19 5 views
3

조명에 대한 이해와 OpenGL Superbible 서적을 통한 작업. 다음은 현재 조명에 사용중인 것입니다. SetupRC 기능에 있습니다.조명 작업

조명은 주로 위치 등으로 예상되는대로 작동하지만 카메라를 돌릴 때 이전에 어두운 장소에서 밝아지는 이유에 대해 혼란 스럽습니다. 나는 카메라 위치를 움직이지 않았지만 빛은 여전히 ​​움직인다.

왜 이런가요? 여기서 혼란스러워하는 종류.

GLfloat ambient[] = { 0.7f, 0.7f, 0.7f, 0.5f }; 
    GLfloat diffuse[] = { 1.0, 1.0f, 1.0f, 1.0f }; 

    glEnable(GL_LIGHTING); 

    glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); 
    glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); 

    glEnable(GL_LIGHT0); 


    GLfloat ambientLight[] = {1.0f, 0.0f, 1.0f, 0.5f}; 
    glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight); 

    glEnable(GL_COLOR_MATERIAL); 

    glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); //GL_AMBIENT_AND_DIFFUSE 
+0

마틴 베케트의 대답 포인트를 참조하십시오. 거기서 답을 읽어주세요. – Bahbar

답변

2

반사광의 방향은 표면의 법선 방향으로 설정됩니다.
빛, 표면 및 카메라의 위치는 카메라가 보는 빛의 양에 영향을줍니다.

또는 가능성이 정확히 같은 또 다른 질문에 OpenGL lighting problem when rotating the camera

+0

"반사광"이란 무엇입니까? 표면 (이 경우 큐브)에서 볼 수있는 빛의 양입니다. 나는 단지 스포트 라이트 조명을 원합니다. – bobber205

관련 문제