严重散分,谁帮我检查一下这段OPENGL纹理贴图的程序吧,实在不知道怎么回事了,谢谢啊!!!!!
现在场景中画了一个球,我想给它贴一个头像或者是一个世界地图,BMP图片的,256X256和256X512的,
自动计算坐标,下面程序出来的效果却是拉伸扭曲的,而且是好几个象拼一起显示的,我只要在球上规则显示完整的一个图片,究竟该如何实现啊,谢谢啊!是程序思想就不对还是参数设置有问题啊?
有自动计算纹理坐标的例子吗?感激不尽!
AUX_RGBImageRec *image;
GLubyte *stripeImage;
image=auxDIBImageLoad("mona.bmp");
if(image==NULL)
exit(-1);
stripeImage=(GLubyte *)malloc(3*image->sizeX*image->sizeY*sizeof(GLubyte));
gluScaleImage(GL_RGB,image->sizeX,image->sizeY,GL_UNSIGNED_BYTE,
image->data,image->sizeX,image->sizeY,
GL_BITMAP,stripeImage);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
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);
glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexImage2D(GL_TEXTURE_2D,0,3,image->sizeX, image->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, image->data);
glEnable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_GEN_R);
glEnable(GL_AUTO_NORMAL);
glEnable(GL_NORMALIZE);
glEnable(GL_CULL_FACE);
glFrontFace(GL_CCW);