看板 GameDesign 關於我們 聯絡資訊
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
darkflier:opengl不熟..不過這樣看起來很像是範圍抓取錯誤 12/13 19:23
darkflier:GL_LUMINANCE應該只佔一個byte不是佔3個...以上是猜測 12/13 19:23
Bencrie:我有確認過我的LUMINACE是16 bits,格式沒有傳錯 orz 12/13 20:13
darkflier:16bits?2byte? 那你設給他RGB?? 12/13 20:33
darkflier:講錯是RGBA...不過Luminace應該只需一個byte吧印象中 12/13 20:33
NDark: glTexImage3D拿來做什麼? 12/13 21:34
NDark: 順便貼一下貼圖設定的code 12/13 21:34
Bencrie:用來做Volume rendering,利用3D texture做加速 @@" 12/13 21:55
darkflier:shadow volume嗎還是lighting volume? 12/14 00:12
darkflier:前者的話只需要開stencil後者的話只需要depth 12/14 00:13
Bencrie:畫三維的醫學影像,CTscan跟MRI @@ 12/14 00:31
darkflier:醫學的那就-___-"完全沒經驗 12/14 01:32
Bencrie:應該比你提的那兩個簡單就是了 XD 12/14 01:32