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

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

Links booklink

Contact Us: admin [ a t ] ucptt.com