OpenGL编程轻松入门之纹理映射

OpenGL编程轻松入门之纹理映射

ID:41032577

大小:74.00 KB

页数:5页

时间:2019-08-14

OpenGL编程轻松入门之纹理映射_第1页
OpenGL编程轻松入门之纹理映射_第2页
OpenGL编程轻松入门之纹理映射_第3页
OpenGL编程轻松入门之纹理映射_第4页
OpenGL编程轻松入门之纹理映射_第5页
资源描述:

《OpenGL编程轻松入门之纹理映射》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、OpenGL编程轻松入门之纹理映射2006-05-1811:31作者:黄燕出处:天极开发责任编辑:方舟纹理我们可以简单的理解为物体表面的花纹。同样的物体我们可以加上不同的纹理。我们可以使用现成的纹理也可以自己做一个新的纹理。  例7:绘制一个简单的二维纹理图,并将该图像映射到一个四边形上。#include#include#defineimageWidth64#defineimageHeight64GLubyteimage[imageWidth][imageHeight][3]

2、;/*绘制一个简单的二维纹理图*/voidmakeImage(void){ inti,j,r,g,b; /*根据点的位置设置不同的颜色*/ for(i=0;i

3、 } }}voidmyInit(void){ glClearColor(0.0,0.0,0.0,0.0); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); makeImage(); glPixelStorei(GL_UNPACK_ALIGNMENT,1); /*指定二维纹理映射*/ glTexImage2D(GL_TEXTURE_2D,0,3,imageWidth,imageHeight,0,GL_RGB,GL_UNSIGNED_BYTE,&image[0][0][0])

4、; /*设置纹理参数*/ glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); 

5、/*设置纹理环境参数*/ glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL); glEnable(GL_TEXTURE_2D); glShadeModel(GL_FLAT);}voidmyDisplay(void){ glClear(GL_COLOR_BUFFER_BIT

6、GL_DEPTH_BUFFER_BIT); /*将纹理映射到四边形上*/ glBegin(GL_QUADS); /*纹理的坐标和四边形顶点的对应*/ glTexCoord2f(0.0,0.0

7、);glVertex3f(-1.0,1.0,0.0); glTexCoord2f(0.0,1.0);glVertex3f(-1.0,-1.0,0.0); glTexCoord2f(1.0,1.0);glVertex3f(1.0,-1.0,0.0); glTexCoord2f(1.0,0.0);glVertex3f(1.0,1.0,0.0); glEnd(); glFlush();}voidmyReshape(intw,inth){ glViewport(0,0,(GLsizei)w,(GLsizei)h); glMa

8、trixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(80.0,1.0-(GLfloat)w/(GLfloat)h,1.0,30.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity();}intmain(intargc,char**argv){ /*初始化*/ glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE

9、GLUT_RGB); glutInitWindo

10、wSize(300,300); glutInitWindowPosition(200,200); /*创建窗口*/ glutCreateWindow("Texture"); /*绘制与显示*/ myInit(); glutReshapeFunc(myReshape); glutDisplayFunc(myDisplay); glutMainLo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。