glteximage2d

glteximage2d

 播报编辑讨论上传视频
glTexImage2D
glteximage2d是一个OpenGL函数,功能是根据指定的参数,生成一个2D纹理(Texture)。相似的函数还有glTexImage1D、glTexImage3D。
 
 
外文名
glteximage2d
性    质
OpenGL函数
相    似
glTexImage1D

目录

  1. 简介
  2. 功能
这是一个OpenGL函数(以下叙述以OpenGL ES2.0为例)。
函数原型:
GL_APICALL void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLenum internalformat,
GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
参数说明:
target 指定目标纹理,这个值必须是GL_TEXTURE_2D。
level 执行细节级别。0是最基本的图像级别,n表示第N级贴图细化级别。
internalformat 指定纹理中的颜色组件。可选的值有GL_ALPHA,GL_RGB,GL_RGBA,GL_LUMINANCE, GL_LUMINANCE_ALPHA 等几种。
width 指定纹理图像的宽度,必须是2的n次方。纹理图片至少要支持64个材质元素的宽度
height 指定纹理图像的高度,必须是2的m次方。纹理图片至少要支持64个材质元素的高度
border 指定边框的宽度。必须为0。
format 像素数据的颜色格式, 不需要和internalformatt取值必须相同。可选的值参考internalformat。
type 指定像素数据的数据类型。可以使用的值有GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORT_5_6_5,GL_UNSIGNED_SHORT_4_4_4_4,GL_UNSIGNED_SHORT_5_5_5_1。
pixels 指定内存中指向图像数据的指针
该函数的功能是,根据指定的参数,生成一个2D纹理(Texture)。相似的函数还有glTexImage1D、glTexImage3D。
需注意的是,internalformat的取值,OpenGL ES2.0和OpenGL 1.0是不同的。OpenGL1.0版本支持的取值是1,2,3,4,在部分系统下可以向前兼容,但不是所有的系统下都支持向前兼容,所以在使用OpenGL ES 2.0时最好传入上面所述的那些值作为实际参数。
在调用该函数之前,必须调用glBindTexture(GL_TEXTURE_2D, mTextureID );以指定要操作的纹理ID,此处是mTextureID。
应用方式如下如下:
unsigned int mTextureID;
glGenTextures(1, &mTextureID);
glBindTexture(GL_TEXTURE_2D, mTextureID );
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);//此为纹理过滤参数设置
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
//width、height等参数必需符合要求,此处不赘述。pData是指像素数据
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width,height, 0, GL_RGB, GL_UNSIGNED_BYTE, pData );

posted on   zxddesk  阅读(146)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示