2014-02-12 61 views
0

我想創建天空盒,這只是相機周圍的紋理立方體。但實際上我不明白這是如何工作的,因爲相機觀看音量是平截體而天空盒是立方體。根據該源:OpenGL - 天空盒和截錐體剪輯

http://www.songho.ca/opengl/gl_projectionmatrix.html

注意,域剔除(削波)僅通過WC除以之前在剪輯 座標執行。剪輯座標xc,yc 和zc通過與wc進行比較來測試。如果任何剪輯座標比-wc小 或大於wc,那麼頂點將被丟棄。

天空盒面的頂點應該被裁剪,如果它們在平截體以外。 因此,我認爲立方體實際上應該是一個平截頭體,並且應該完全匹配gl平截頭體的面孔,所以我的整個場景被包裹在那個天空盒內,但是我確信這是不好的。有什麼辦法如何填充整個屏幕的東西,包裝整個gl視錐細胞?

回答

0

從你的鏈接公式是相當糟糕的。它實際上並不是頂點,而是被剪切掉的,而是片段。在完全離屏的情況下繪製具有頂點的圖元不會阻止與畫面相交的片段被繪製。 (鏈接中的圖片實際上也表明了這種情況)。

然而,有人說過,它可能(或者可能不會,取決於您的渲染代碼的設計)更簡單地繪製一個全屏圖像,屏幕四邊形,並使用投影矩陣的逆來代替計算紋理座標。