嗯,很確定問題很簡單,但我沒有看到問題和調試器沒有幫助我。無論如何,我試圖畫一架飛機,而我得到的只是黑色。我真的不確定是否繪製它,但太小而無法看到。opengl glDrawElements問題
int index[][3] = {{0,1,4}, {0,3,4}, {1,2,5}, {1,4,5}};
double VertexA[][3] = {{0.0 , 0.0 , -.0415}, {0.5, 0.0, .6543}, {1.0,0,-.0415},
{0.0, 0.5, .093}, {0.5, 0.5, -.070}, {1.0, 0.5 , .093},
{0.0,1.0, -.0415}, {0.5, 1.0, .6543}, {1.0,1.0,-.0415}}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_DOUBLE, 24, VertexA);
glDrawElements(GL_TRIANGLES, 4, GL_UNSIGNED_INT, index);
glDisableClientState(GL_VERTEX_ARRAY);
glutSwapBuffers();
}
void reshape(int w, int h) {
if (w <= h) {
glViewport(0,(h-w)/2, w,w);
}
else {
glViewport((w-h)/2,0,h,h);
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30.0, w/h, 10.0, 100.0);
glMatrixMode(GL_MODELVIEW);
}
這是用定義的VertexA/Index數組修改我的代碼的代碼片段。我很確定index/vertexArray是正確獲取的,它繪製的部分是我得到問題的地方。我猜我濫用glDrawElement或gluPerspective。老實說,我不確定。我需要有一個ColorArray嗎?如果我沒有在第一個地方定義顏色,它應該是白色的?任何問題或者你想要更多的片段都會問,但我有一個感覺是問題在片段之內。
另:我的編譯器在嘗試用'.0.5'(你的第3行)初始化'double'時出現語法錯誤。 –
修復它,這是一個錯字,我不想發佈整個代碼,我得到的VertexA /索引數據 – Leruce