opengl纹理贴图简单例子

opengl纹理贴图简单例子

ID:9999706

大小:104.29 KB

页数:9页

时间:2018-05-20

opengl纹理贴图简单例子_第1页
opengl纹理贴图简单例子_第2页
opengl纹理贴图简单例子_第3页
opengl纹理贴图简单例子_第4页
opengl纹理贴图简单例子_第5页
资源描述:

《opengl纹理贴图简单例子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【代码】#include#include#includestaticdoubleX=0;staticdoubleY=0;staticdoubleZ=7;//定义函数指针,在Windows环境下使用OpenGL扩展PFNGLACTIVETEXTUREARBPROCglActiveTextureARB=NULL;PFNGLMULTITEXCOORD2FARBPROCglMultiTexCoord2fARB=NULL;//纹理存储数组staticGLubyteT0[64][64][4];staticGLuby

2、teT1[64][64][4];staticGLubyteT2[64][64][4];//纹理名字staticGLuintTname0;staticGLuintTname1;staticGLuintTname2;//创建纹理voidmakeImages(){inti,j,c;//第一个纹理,渐变绿色,*64for(i=0;i<64;i++){for(j=0;j<64;j++){T0[i][j][0]=(GLubyte)0;T0[i][j][1]=(GLubyte)i*5+j*5;T0[i][j][2]=(GLubyte)0;T0[i][j][3]=(GLubyte)25

3、5;}}//第二个纹理,黑白相间横条,*64for(i=0;i<64;i++){for(j=0;j<64;j++){if(i%16<8)c=255;elsec=0;T1[i][j][0]=(GLubyte)c;T1[i][j][1]=(GLubyte)c;T1[i][j][2]=(GLubyte)c;T1[i][j][3]=(GLubyte)255;}}//第三个纹理,黑白相间竖条,*64for(i=0;i<64;i++){for(j=0;j<64;j++){if(j%16<8)c=255;elsec=0;T2[i][j][0]=(GLubyte)c;T2[i][j][

4、1]=(GLubyte)c;T2[i][j][2]=(GLubyte)c;T2[i][j][3]=(GLubyte)255;}}}voidinit(){//获取函数地址glActiveTextureARB=(PFNGLACTIVETEXTUREARBPROC)wglGetProcAddress("glActiveTextureARB");glMultiTexCoord2fARB=(PFNGLMULTITEXCOORD2FARBPROC)wglGetProcAddress("glMultiTexCoord2fARB");//场景初始化glClearColor(0.0,0.

5、0,0.0,0.0);glShadeModel(GL_FLAT);glEnable(GL_DEPTH_TEST);makeImages();//纹理初始化glPixelStorei(GL_UNPACK_ALIGNMENT,1);//对其像素字节glGenTextures(1,&Tname0);//获取纹理名字glGenTextures(1,&Tname1);//获取纹理名字glGenTextures(1,&Tname2);//获取纹理名字//初始化纹理glBindTexture(GL_TEXTURE_2D,Tname0);//生成指定名字的纹理对象glTexImage2

6、D(GL_TEXTURE_2D,0,GL_RGBA,64,64,0,GL_RGBA,GL_UNSIGNED_BYTE,T0);//设置纹理对象内容glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);//设置纹理过滤方式glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);//设置纹理过滤方式glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);//设置纹理过滤方式glTe

7、xParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);//设置纹理过滤方式//同上,初始化纹理glBindTexture(GL_TEXTURE_2D,Tname1);glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,64,64,0,GL_RGBA,GL_UNSIGNED_BYTE,T1);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParameteri(GL_TEXTU

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

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

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