glGetTexImage

更新时间:2023-12-27 22:17

glGetTexImage是基于计算机语言的返回一个纹理图像的函数。

简介

glGetTexImage 函数返回一个纹理图像。

语法

void WINAPI glGetTexImage

GLenum target,

GLint level,

GLenum format,

GLenum type,

GLvoid *pixels

参数

目标

指定要获取的纹理。 接受了 GL_TEXTURE_1D 和 GL_TEXTURE_2D。

级别

所需的图像的级别的详细信息数量。 级别 0 是基础映像级别。 级别 n 是 n 次 mipmap 减少图像。

格式

返回的数据的像素格式。 受支持的格式是 GL_RED、 GL_GREEN、 GL_BLUE、 GL_ALPHA、 GL_RGB、 GL_RGBA、 GL_LUMINANCE、 GL_BGR_EXT、 GL_BGRA_EXT 和 GL_LUMINANCE_ALPHA。

类型

一种像素为返回的数据的类型。 GL_UNSIGNED_BYTE、 GL_BYTE、 GL_UNSIGNED_SHORT、 GL_SHORT、 GL_UNSIGNED_INT、 GL_INT 和 GL_FLOAT 的受支持的类型。

像素

返回纹理图像。 应由 类型 指定的类型的数组指针

返回值

返回以下错误代码和他们的条件。

返回代码

说明

GL_INVALID_ENUM

目标、 格式 或 类型 不被接受的值。

GL_INVALID_VALUE

级别 小于零或大于 日志 2 (最大),其中 最大值 是 GL_MAX_TEXTURE_SIZE 返回的值。

GL_INVALID_OPERATION

调用 glBegin 和 glEnd 的相应调用之间被调用该函数。

其他信息

glGetTexImage 函数返回纹理图像的像素值。 target参数用来指定所需的纹理图像是一个指定过的 glTexImage1D (GL_TEXTURE_1D) 或 glTexImage2D (GL_TEXTURE_2D)。 level 参数指定所需的图像的级别的详细信息数量。 format 和 type参数指定的格式和所需的图像数组的类型。format 和 type 参数的可接受的值的说明请分别看 glTexImage1D 和 glDrawPixels的函数描述。

glGetTexImage 操作表明所获取的矩形纹理图像是一个 RGBA 颜色缓冲区。 和glGetTexImage 的参数相同的 glReadPixels 调用具有相同的 format和 type,用 x 和 y 设置为零 宽度 设置为 (包括边框,如果已指定) 的纹理图像的宽度和 高度 设置为一个一维图像或纹理图像的高度 (包括边框如果已指定) 的二维图像。

内部的纹理图像是 RGBA 的图像像素格式,像素类型GL_COLOR_INDEX、 GL_STENCIL_INDEX 和 GL_DEPTH_COMPONENT , GL_BITMAP 不被接受。

如果所选的纹理图像并没有第四个参数将应用以下映射。 单组分纹理是被视为红色 RGBA 缓冲区设置为单组件值和绿色,蓝白 alpha 设置为零。

两个组件纹理被视为 RGBA 缓冲区设置为零,alpha 设置为组件之一,值组件值的红色和绿色和蓝色将设置为零。 最后,三分量纹理是被视为红色设置为组件为零绿色 RGBA 缓冲区设置为一个蓝色设置为两个,组件的组件和 alpha 设置为零。

要确定所需的 像素 大小,使用 glGetTexLevelParameter 确定了内部的纹理的图像的尺寸,然后通过所需的 格式 和 类型 的基础的每个像素的存储扩展所需的像素数。 一定要考虑到帐户特别是 GL_PACK_ALIGNMENT 的像素存储参数。

如果生成了一个错误,则是对(像素为单位)的内容不进行任何更改。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}