我正在開發OpenGL中的4分割查看器。一個視圖是透視圖,其他視圖是正交投影(前,左,上)。在glOrtho()視圖中繪製立方體?
我寫了一個從(-1,-1,-1)到(1,1,1)繪製一個立方體的方法,它在透視視圖中工作良好,但是我無法讓它工作我的觀點使用glOrtho(...)。
現在我把它像這樣:
glOrtho(0, width, height, 0, 0, 1);
有趣的是,該視圖不顯示立方體的。我在OpenGL中爲視圖實現了一個邊框,但它能夠正確顯示。
我正在使用Qt並編寫了QGLWidget的派生類。
假設你的視口也是按高度寬度的,而寬度和高度是你的屏幕座標(比如說800x600),它會使你的立方體在正視圖中寬2像素,否?你的近和遠裁剪平面都是0和1,這可能根據眼睛的位置將立方體剪掉。 – vmpstr
有道理。 ;)那麼你會使用glScale使其僅適用於拼寫視圖,還是有更聰明的方法呢? – fuji
@ j.dog:您通常會選擇爲投影空間體積設置的限制以匹配您的物體的限制。對於將是glOrtho(-aspect,aspect,-1,1,-1,1)的立方體,其中aspect = viewport_width/viewport_height – datenwolf