作者noodleT (麵T)
看板C_and_CPP
標題[問題] OPENGL貼圖Z方向沒辦法 REPEAT
時間Sat Dec 19 17:41:06 2015
開發平台(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
→ a27417332: R坐標似乎是只有3d紋理和2d紋理陣列才能用 12/19 19:19
→ a27417332: 然後這應該也和坐標設定有關吧,總覺得好像誤解了什麼 12/19 19:26
推 Bencrie: 同樓上。R 對你來說無用處。 12/19 21:38
→ noodleT: 那沒有其他法可以自動計算Z方向的紋理嗎 12/19 22:33
推 longlongint: 畫三次四邊形? 12/19 22:38
→ a27417332: 你的紋理沒有Z座標要怎麼算(汗) 12/19 23:07
→ a27417332: 如果你要每一面都是棋盤狀,那就是紋理座標的設定問題 12/19 23:09
→ noodleT: 如果說利用天空盒來做呢? 12/20 10:09