1
我試圖安裝照明在我的場景 但由於某種原因它不工作,我試圖找出爲什麼OpenGL光照不工作
這裏就是我的OpenGL初始化:
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearDepth(1.0);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_SMOOTH);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glEnable(GL_NORMALIZE);
glEnable(GL_LIGHT0);
,這裏是我如何努力與照明借鑑:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
GLfloat diffuse0[]={1.0, 1.0, 1.0, 1.0};
GLfloat ambient0[]={1.0, 1.0, 1.0, 1.0};
GLfloat specular0[]={1.0, 1.0, 1.0, 1.0};
GLfloat light0_pos[]={1.0, 1.0, 1,0, 1.0};
glLightfv(GL_LIGHT0, GL_POSITION, light0_pos);
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient0);
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse0);
glLightfv(GL_LIGHT0, GL_SPECULAR, specular0);
glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 2.0);
glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 1.0);
glLightf(GL_LIGHT0, GL_QUADRATIC_ATTENUATION, 2.0);
object->draw();
對象完全不
受照明所有法線設置和opengl所需的所有照明場景所需的信息
有沒有......我錯過了什麼?編輯: 行!我終於找到了解決問題的辦法。 我的OpenGL的初始化函數代碼 我有顯示窗口,而不是 之前之後調用它是沒有道理的,這就是問題的根源...
對象是在(0.0,-15.0, -20.0)我也檢查了當對象處於(0.0,0.0,-6.0)時會發生什麼,但我得到了關於第二個建議的相同結果 ..我試圖按照你所說的去做,但它仍然不起作用 – Smeky 2012-07-26 13:11:56