[爆卦]glFrustum是什麼?優點缺點精華區懶人包

為什麼這篇glFrustum鄉民發文收入到精華區:因為在glFrustum這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者hoson (林老師賣的冰淇淋)看板C_and_CPP標題Re: [問題] OpenGL glF...


:
glFrustum()的功能, 是決定你的View Volumn範圍用的....
: 當然, 其實也就是你的3D scene裡投影到View Plane的方式....
: 你原本的View Volumn設定是-320 ~ +320, 用簡單圖解X-Z平面:
: \ /
: \ /
: \ /
: \ /
: \ /
: \ / --> X
: eye
: 當你改成0 ~ 640的設定之後, 你的View Volumn與投影方式是這樣:
: | /
: | /
: | /
: | /
: | /
: | / --> X
: eye
: 所以問題在你幹麻要用這樣子歪斜的投影方式來呈現scene呢??
: 純粹只是改參數練習玩玩看??還是是否有什麼特定想法要實作?_?

原來是這樣啊!!!!


我原本以為

glFrustum 可以跟 gluOrtho2D 一樣 可以建立座標系的單位

所以我原本想的是

\ /
\ /
\ /
\ /
\ /
\ / --> X 的範圍(0 ~ 640 )

Y 的範圍(0 ~ 480 )
有辦法這樣設定嗎??

另外, frustum設定的XY 應該是指near plane上面的座標吧?

感謝!!



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.151.68
VictorTom:印象中是當作near plane上的l r b t沒錯.... 05/13 13:23
VictorTom:0~?的要求, Projection matrix加一個translate不行嗎?? 05/13 13:24
VictorTom:看起來你是不想改變原本是0~?的vertex data也不想在VS 05/13 13:25
VictorTom:運算裡每個vertex都掛一次translate吧?? 不過基本上這 05/13 13:26
hoson:V大指的意思是...? 再畫圖形前 先做對應的平移嗎? 05/13 13:26
VictorTom:個translate掛在ModelView計算也一樣, 除非你的MV 05/13 13:26
VictorTom:matrix頻繁的改變, 而Project Matrix只會改變一次.... 05/13 13:26
VictorTom:對啊, 就像第二個茶壺一樣, 先translate 320,240啊.... 05/13 13:29
hoson:再次感謝v大 不過其實我一直搞不懂GL裡面座標的關係 05/13 13:38
hoson:如果先用 glOrtho,對於3d座標的關係就很清楚 05/13 13:39
hoson:可是 glFrustum 是四角錐的空間 就不知道他3d的座標的位置.. 05/13 13:40
VictorTom:關於這點, 小弟剛補修比較完整的觀念在前篇回文推文處, 05/13 13:42
VictorTom:也許您可以參考看看; GL裡的座標只是抽象的數值座標概念 05/13 13:42
VictorTom:Modelview/Project matrix整套transformation在GL裡有它 05/13 13:43
VictorTom:的意義與道理在, 但是化為計算, 就只是一堆matrix 05/13 13:43
VictorTom:production, 就跟中學學平面座標轉幾度要怎麼乘matrix 05/13 13:44
VictorTom:道理其實基本上是一樣的:) 05/13 13:45
hoson:感謝v大!!! 05/13 13:46

你可能也想看看

搜尋相關網站