2015-09-23 65 views
-1

我開始在2D遊戲中工作,但我不知道我應該如何使用viewPort()。這是我的init()代碼:無法使glViewport()工作

void init(void) 
{ 
    glClear(GL_COLOR_BUFFER_BIT); 
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    glViewport(100, 100, 800, 600); 
    gluOrtho2D(0, 800, 600, 0); 
    glMatrixMode(GL_MODELVIEW); 
    glLoadIdentity(); 
    glClearColor(0.0, 0.0, 0.0, 0.0); 
} 

我想知道的是,繪製圖像的窗口之後,我怎麼能只在它的一部分的樣子,而不是整個世界?

+0

你是什麼意思「一部分而不是整個世界」?在這種情況下什麼是「世界」? – Robinson

回答

0

您在那裏所做的一切都屬於繪圖代碼。加載紋理和着色器,設置幀緩衝區對象將是初始化,但你沒有那麼做。

另外glClear必須在glClearColor之後。

最後但並非最不重要的是,視口不會影響清除操作(您必須使用剪刀測試將清除操作限制爲某個矩形)。