[請益] OpenGL NPOT 與 GL_LUMINANCE

看板GameDesign (遊戲設計)作者時間16年前 (2008/12/13 18:41), 編輯推噓5(508)
留言13則, 3人參與, 最新討論串1/4 (看更多)
OpenGL從2.0版開始將NPOT (Non-Power-Of-Two) 維度的texture納入核心功能。 不管是1D、2D、3D、還是Cube map都可以不受 POT 限制,這可以省下一些多餘的 記憶體消耗。 我想向板友們請教的是,NPOT的使用是否有限制pixel format ? 我遇的的情況是在pixel format為GL_RGBA的時候,glTexImage3D正常工作, 圖也能正常的畫出來。但是若pixel format為GL_LUMINANCE的話,整個volume畫 出來會有偏移的現象。 看起來就像是glTexImage3D的x,y,z維度給錯一樣,GL會存取超出 x*y*z的範圍 (x*y*z為NPOT),Volume的底部會有不正常的東西被畫出來。然而,當x*y*z為 POT時 Volume的繪製又變成正確無誤。 我用NVIDIA的6200 & 8800 在兩個OS平台上測試過,不管Linux還是Windows都有這樣的 問題存在。 不知道有沒有哪位板友可以提供一些線索,感謝各位 >///< -- Coding 日誌 & Linux 使用心得 Rinoworks Blog http://rinoworks.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.32

12/13 19:23, , 1F
opengl不熟..不過這樣看起來很像是範圍抓取錯誤
12/13 19:23, 1F

12/13 19:23, , 2F
GL_LUMINANCE應該只佔一個byte不是佔3個...以上是猜測
12/13 19:23, 2F

12/13 20:13, , 3F
我有確認過我的LUMINACE是16 bits,格式沒有傳錯 orz
12/13 20:13, 3F

12/13 20:33, , 4F
16bits?2byte? 那你設給他RGB??
12/13 20:33, 4F

12/13 20:33, , 5F
講錯是RGBA...不過Luminace應該只需一個byte吧印象中
12/13 20:33, 5F

12/13 21:34, , 6F
glTexImage3D拿來做什麼?
12/13 21:34, 6F

12/13 21:34, , 7F
順便貼一下貼圖設定的code
12/13 21:34, 7F

12/13 21:55, , 8F
用來做Volume rendering,利用3D texture做加速 @@"
12/13 21:55, 8F

12/14 00:12, , 9F
shadow volume嗎還是lighting volume?
12/14 00:12, 9F

12/14 00:13, , 10F
前者的話只需要開stencil後者的話只需要depth
12/14 00:13, 10F

12/14 00:31, , 11F
畫三維的醫學影像,CTscan跟MRI @@
12/14 00:31, 11F

12/14 01:32, , 12F
醫學的那就-___-"完全沒經驗
12/14 01:32, 12F

12/14 01:32, , 13F
應該比你提的那兩個簡單就是了 XD
12/14 01:32, 13F
文章代碼(AID): #19Gv4-k8 (GameDesign)
文章代碼(AID): #19Gv4-k8 (GameDesign)