用户登录
用户注册

分享至

opengl贴纹理

  • 作者: 断魂少爷
  • 来源: 51数据库
  • 2020-10-02
首先你要建一个3D框架相信你己经有了。
接着建一个文件夹,把你要用到的图像放到你的程序文件中。用到纹理操作和加载图像操作:以下是两个主要函数
voidbaisic::Ground()
{
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glBegin(GL_QUADS);
glTexCoord2f(1.0f,1.0f);glVertex3f(-80.0f,0.0f,-80.0f);
glTexCoord2f(0.0f,1.0f);glVertex3f(80.0f,0.0f,-80.0f);
glTexCoord2f(1.0f,0.0f);glVertex3f(-80.0f,0.0f,80.0f);
glTexCoord2f(0.0f,0.0f);glVertex3f(80.0f,0.0f,80.0f);
glDisable(GL_TEXTURE_2D);
glPopMatrix();
}
intbaisic::Load(char*fliename,GLuint&texture)
{
AUX_RGBImageRec*pImage=NULL;
pImage=auxDIBImageLoad(fliename);
if(pImage==NULL)
returnfalse;
glGenTextures(1,&texture);
glBindTexture(GL_TEXTURE_2D,texture);
gluBuild2DMipmaps(GL_TEXTURE_2D,4,pImage->sizeX,pImage->sizeY,GL_RGB,GL_UNSIGNED_BYTE,pImage->data);
free(pImage->data);
free(pImage);
returnTRUE;
}
至于贴图的角度问题:你用旋转函数glRotatef()函数即可.
窗口是3d的里面距窗口还有一定的距离,你可以把Z坐标设置为0;X,Y坐标设置成窗口大小就好了;
很久没编写OpenGL程序了,有些东西忘了,我有个这样的程序,想要的话,给我邮箱传给你;



  右键点
软件
前端设计
程序设计
Java相关