2013-05-27 21 views
1

我最近創建了我的第一個GLUT窗口,並給它一個白色背景,並讓相機看一看。調整我的簡單的OpenGL/GLUT窗口創建奇怪的線條

無論如何,我調整我的窗口,我得到了這些奇怪的線條。它看起來像是故障並捕獲了我的桌面屏幕的最近碎片。這裏是我的imgur截圖鏈接:

http://i.imgur.com/gSRWnc5.png

很抱歉,如果畫面是大了一點,但我想知道如果有一個修復到怪異的毛刺。

這裏是我的代碼:

#include <OpenGL/OpenGL.h> 
#include <GLUT/GLUT.h> 
void display(void) { 
    glClearColor(1.0, 1.0, 1.0, 1.0); 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glLoadIdentity(); 
    gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); 
    glFlush(); 
} 

int main (int argc, char **argv) { 

    glutInit(&argc, argv); 
    glutInitDisplayMode(GLUT_DOUBLE); 
    glutInitWindowSize(400, 400); 
    glutInitWindowPosition(100, 100); 
    glutCreateWindow("My First GLUT/OpenGL Window"); 
    glutDisplayFunc(display); 
    glutMainLoop(); 
    return 0; 
} 

回答

1

你獲得這些奇怪的故障,因爲你不調整你的視口。你需要做的是爲glutReshapeFunc創建一個回調函數,你可以在其中調用glViewport來調整視口的大小。然後,您需要調用glutPostRedisplay以重新執行您的顯示功能。

在附註中,如果您希望不斷顯示您的顯示函數,請在glutDisplayFunc旁邊使用glutIdleFunc。

乾杯!

+0

你好,我試過你的代碼,但發生了一個新問題。我在辯論是否要提出一個新的問題,但我決定把它放在這裏。我試着運行代碼,但沒有出現窗口。在Xcode的底部,它說「GDB:程序加載」和「成功」,但窗口拒絕顯示。抱歉打擾你,但是問題是什麼? – BitLion

+0

嘗試使用glutIdleFunc以及glutDisplayFunc。我的錯。 –

+0

感謝您的回覆; 似乎沒有任何工作,該程序似乎已成功運行,並且沒有生成錯誤,但唯一的問題是該窗口不顯示。 – BitLion