首先你要建一个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程序了,有些东西忘了,我有个这样的程序,想要的话,给我邮箱传给你;
右键点
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....