|
|
我想在圆柱上贴图,因为,纹理比较小,而圆柱较大,需要重复贴图。但是设置了半天,最后的效果还是不行,看上去还是只贴了一张图,所以纹理的细节兜看不清楚。因为红宝书或者其他资料都是在二维平面上的贴图,对三维的讲的不是很多,所以请教达人相助。相关代码如下:
//这是程序前面读入纹理,应该不会错吧。
glBindTexture(GL_TEXTURE_2D, texture[loop]);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
gllTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[loop]->sizeX, TextureImage[loop]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[loop]->data);
***************************************************************
***************************************************************
//具体画圆柱的时候
quadratic=gluNewQuadric();
glBindTexture(GL_TEXTURE_2D, texture[0]);//绑定贴图
gluQuadricTexture(quadratic, GL_TRUE);
gluQuadricDrawStyle(quadratic, GLU_FILL);
gluQuadricNormals(quadratic, GLU_SMOOTH);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);//再添加一遍
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
gluCylinder(……);//画圆柱
这样运行后可以看到纹理贴图,但是不是重复贴的。为什么啊? |
|