Re: [問題] OPENGL 光源

看板C_and_CPP (C/C++)作者 (stu)時間15年前 (2011/04/28 14:37), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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
謝謝 馬上來修改骰子的面與點數material 與 normal值
04/28 21:54, 1F

04/28 22:23, , 2F
我骰子上的點數與骰子上面的面是用+0.001來做的
04/28 22:23, 2F

04/28 22:24, , 3F
因為一開始做的時候 點數與面的 X,Y,Z都相同時 造成畫面重疊
04/28 22:24, 3F

04/28 22:25, , 4F
的效果 變的好像點數融在面上 而不是貼在面上
04/28 22:25, 4F

04/28 23:37, , 5F
不考慮貼 texture 嗎 XD
04/28 23:37, 5F

04/28 23:56, , 6F
其實小弟我也覺得貼texture比較省事XD 不過原po可能才
04/28 23:56, 6F

04/28 23:56, , 7F
從Vertex Processing開始, 還沒到Pixel Processing吧XD
04/28 23:56, 7F
文章代碼(AID): #1DkGibJn (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1DkGibJn (C_and_CPP)