2015-05-14 204 views
1

我無法將openGL原點設置爲視圖的左上角。所以,在我的窗口調整大小處理程序中,我做了一些事情;opengl:將原點更改爲左上角

// ox and oy are some offsets and width and height are the 
// required viewport width and height 
glViewport(ox, oy, width, height); 
glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
glOrtho(0, width, 0, height, -1, 1); 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 

這使原點左下角,我可以使我的紋理:

glBegin(GL_QUADS); 
glTexCoord2f(0, 0); glVertex2f(0, 0); 
glTexCoord2f(1, 0); glVertex2f(width, 0);        
glTexCoord2f(1, 1); glVertex2f(width, height);      
glTexCoord2f(0, 1); glVertex2f(0, height);     
glEnd(); 

據我可以從這裏閱讀的頁面告訴,翻轉的起源,我只是需要更換在glOrtho通話與

glOrtho(0, width, height, 0, -1, 1); 

然而,這樣做的,使用上面的渲染代碼已不使我的質地和我剛纔看到一個空白屏幕。

回答

4

通過翻轉y軸,您翻轉了世界空間的手徵。這意味着你的臉上的曲折出現不同。 CCW變成CW,反之亦然。最有可能的是你已經啓用了臉部剔除功能,因此爲了解決手徵性問題,您必須將CCW換成CW臉部剔除。

+0

正確的錢!非常感謝! – Luca

相關問題