Re: [問題] OPENGL 光源
※ 引述《FY4 ()》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: DEV-C++
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: OPENGL
: 問題(Question):
: 自己嘗試寫了一顆骰子
: 幫立方體的每一個面 加入了黑色的點 骰子的每個面是白色
: 在沒開啟LIGHTING的情況下 骰子可以在3D中正常的顯示
: 但是在開啟後 在先不討論光源的屬性設置情況下
: 為什麼骰子上面的黑色點會和骰子的面合而一體??
: 骰子我是寫成一個.h檔.cpp檔 在用main去呼叫function
: 在呼叫此function的前面 已經有設置了這個骰子的各種吸收或反射光的特性
: 還是我應該去.h檔.cpp檔的裡面 個別的去幫骰子的每個面以及每個點
: 設置他的glMaterial的特性
: 骰子上面的點 我是用黑的圓面以距離很短的方法 貼在骰子的面上
: 不知道還有沒有更好的方法來實作??
一旦你用了lighting
原本的glColor就會失去效果(除非你又開了color material)
使用lighting
你要注意幾個東西要設定
material, normal
如果不設定的話,計算時會有問題
雖然你畫骰子之前有設定
但是畫每個點之前也要設定
而且應該是設定成不同的材質
否則會沿用你最後一次所設定的材質
就會跟骰子的面合而一體
距離很近的情況
可以修改深度比較的通過條件
原本預設是GL_LESS
改用glDepthFunc(GL_LEQUAL)設定成小於等於就通過
然後點比骰子晚畫
就不太會有問題了
再不行就要改Z值通過容忍度
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.210.62
推
04/28 21:54, , 1F
04/28 21:54, 1F
推
04/28 22:23, , 2F
04/28 22:23, 2F
→
04/28 22:24, , 3F
04/28 22:24, 3F
→
04/28 22:25, , 4F
04/28 22:25, 4F
推
04/28 23:37, , 5F
04/28 23:37, 5F
推
04/28 23:56, , 6F
04/28 23:56, 6F
→
04/28 23:56, , 7F
04/28 23:56, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章