推 fasthall:謝謝 受益匪淺! 04/01 23:33
八成是因為你的glOrtho()的第四、五個參數
FLT_MIN太小 FLT_MAX又太大的關係
近平面值並不是越小越好 遠平面值也不是越大越好
而是依據你要顯示的範圍作適當的設定
詳細原理牽涉到z-buffer的實作
可以參考 GameDesign 版 #1BCVSpSf 這篇文章
※ 引述《fasthall (Xen)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C++
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenGL
: 問題(Question):
: 我以Ortho註冊ReshapeFunc並且開啟DEPTH_TEST後
: 有些應該在背景的三角形卻被畫到前景去
: 我有設定glFrontFace和glCullFace
: 但是問題依然存在
: 附上截圖http://i.imgur.com/G99Pk.png
: 越靠前景顏色應該是越深
: 越靠背景顏色越亮
: 而這裡後面的耳朵卻有幾塊被畫到前面了
: 程式碼(Code):(請善用置底文網頁, 記得排版)
: 初始化設定http://paste.bradleygill.com/index.php?paste_id=364135
: Reshape函式http://paste.bradleygill.com/index.php?paste_id=364136
: 補充說明(Supplement):
: 我在還沒有註冊ReshapeFunc的時候基本上是正常的
: 但是一註冊下去就會產生深度錯亂
: 想請問有可能是哪裡設定錯誤?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.53.170