[问题] 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