种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

glteximage2d

(2019-08-16 15:30:00) 百科综合
glteximage2d

glteximage2d

glteximage2d是一个OpenGL函式,功能是根据指定的参数,生成一个2D纹理(Texture)。相似的函式还有glTexImage1D、glTexImage3D。

基本介绍

  • 外文名:glteximage2d
  • 性质:OpenGL函式
  • 相似:glTexImage1D

简介

这是一个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 );

标 签

搜索
随机推荐

Powered By 种豆资源网||