作者dontpkme (別PK我)
看板GameDesign
標題[請益] OpenGL GL_POLYGON_SMOOTH 的問題
時間Thu Jan 13 05:08:33 2011
我想這對各位版上神人來說應該是新手題,
不過我實在是Google不到這怪現象的解答,
來到貴寶地向各位神人求助
=====================問題分隔線====================
我在練習反鋸齒功能,
試過 GL_POINT_SMOOTH, GL_LINE_SMOOTH 都可以對點和線做出柔邊,
使用的混色模式是 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
但是當我對一個面做反鋸齒的時候, 他的四個邊有被柔化沒錯, 但是中間卻出現裂縫!?
以一個正方形來說(測試過GL_QUADS和GL_POLYGON)
原本的圖形是
┌──┐
│ │
│ │
└──┘
做出來的結果變成
┌──┐
│\ │
│ \│
└──┘
明顯被切割成兩個三角形,
更別說對一個外部載入的3d模型去做SMOOTH, 做完被切割的支離破碎...OTZ
我看到書上說在做POLYGON的SMOOTH時,
混色模式要使用 GL_SRC_ALPHA_SATURATE, GL_ONE
我置換了此模式結果畫面上的東西全都不見了...
所以我還是用前述的 GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA 模式去做混色
不過兩天下來這個令人頭大的問題始終無法解決...
另外一個奇怪的事情是我把compile完的執行檔拿去同學的電腦run
結果SMOOTH的效果完全沒出來, 他們的顯卡都比我還高階的說,
網路上實在找不到有人討論過這樣的問題,
不曉得有沒有大大了解的,
還是會是我手上的OpenGL版本問題? 我使用的是Delphi的VCL來實作,
懇請大大們賜教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.145.202.83
→ dontpkme:不曉得是不是大大們沒碰過這狀況, 我想了解一下我的用法 01/14 04:17
→ dontpkme:跟各位前輩們在做smooth的時候是否相同, 或是我少了設定 01/14 04:17
→ dontpkme:某些功能,剛發現打開深度測試再設glDepthFunc(GL_LEQUAL) 01/14 04:19
→ dontpkme:有讓裂縫變細小一點, 但還是存在, 不曉得我是不是有類似 01/14 04:19
→ dontpkme:的狀況沒有排除才會發生這種問題 01/14 04:20
→ dontpkme:更新了OpenGL版本...換了一套SDK...還是不行QQ 01/16 23:26
推 elvis31:如果你是想要達到多邊型反鋸齒的效果的話 01/28 10:32
→ elvis31:請使用glEnable(GL_MULTISAMPLE) 01/28 10:34
推 elvis31:詳細的原因牽涉到點線還有三角形再做反鋸齒的實做方法不同 01/28 10:37