[問題] OPENGL貼圖Z方向沒辦法 REPEAT

看板C_and_CPP (C/C++)作者 (麵T)時間10年前 (2015/12/19 17:41), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) BCB XE4 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) Opengl 3.1.0 + glew 1.11.0 http://i.imgur.com/POd32zm.png
//載入圖形 glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D, texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data); //設定 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR); glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR); glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR); //應用 glEnable(GL_TEXTURE_GEN_S); glEnable(GL_TEXTURE_GEN_T); glEnable(GL_TEXTURE_GEN_R); glEnable(GL_TEXTURE_2D); 在貼圖時, XZ、YZ 平面一直都是使用延伸紋理的方式, 即使加入了 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT); 畫出來的圖形還是像上面連結那樣, 請問有沒有什麼辦法可以將 XZ、YZ 平面使用 REPEAT 的方式貼圖? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.200.147 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450518068.A.41C.html

12/19 19:19, , 1F
R坐標似乎是只有3d紋理和2d紋理陣列才能用
12/19 19:19, 1F

12/19 19:26, , 2F
然後這應該也和坐標設定有關吧,總覺得好像誤解了什麼
12/19 19:26, 2F

12/19 21:38, , 3F
同樓上。R 對你來說無用處。
12/19 21:38, 3F

12/19 22:33, , 4F
那沒有其他法可以自動計算Z方向的紋理嗎
12/19 22:33, 4F

12/19 22:38, , 5F
畫三次四邊形?
12/19 22:38, 5F

12/19 23:07, , 6F
你的紋理沒有Z座標要怎麼算(汗)
12/19 23:07, 6F

12/19 23:09, , 7F
如果你要每一面都是棋盤狀,那就是紋理座標的設定問題
12/19 23:09, 7F

12/20 10:09, , 8F
如果說利用天空盒來做呢?
12/20 10:09, 8F
文章代碼(AID): #1MTIOqGS (C_and_CPP)
文章代碼(AID): #1MTIOqGS (C_and_CPP)