词条 | 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 函数返回到 像素 的纹理图像。 目标 参数指定所需的纹理图像是一个指定的 glTexImage1D (GL_TEXTURE_1D) 或 glTexImage2D (GL_TEXTURE_2D)。 水平 参数指定所需的图像的级别的详细信息数量。 格式 和 类型 参数指定的格式和所需的图像数组的类型。 格式 和 类型 参数的可接受值的说明分别,看到 glTexImage1D 和 glDrawPixels。 glGetTexImage 操作是最明白的考虑所选的内部组件四纹理图像的图像的大小是一个 RGBA 颜色缓冲区。 glGetTexImage 的语义,然后相同的 glReadPixels 调用具有相同的 格式 和 类型,用 x 和 y 设置为零 宽度 设置为 (包括边框,如果已指定) 的纹理图像的宽度和 高度 设置为一个一维图像或纹理图像的高度 (包括边框如果已指定) 的二维图像。 内部的纹理图像是 RGBA 图像像素格式 GL_COLOR_INDEX、 GL_STENCIL_INDEX 和 GL_DEPTH_COMPONENT 不被接受,和像素类型 GL_BITMAP 不被接受。 如果所选的纹理图像并没有四个组件将应用以下映射。 单组分纹理是被视为红色 RGBA 缓冲区设置为单组件值和绿色,蓝白 alpha 设置为零。 两个组件纹理被视为 RGBA 缓冲区设置为零,alpha 设置为组件之一,值组件值的红色和绿色和蓝色将设置为零。 最后,三分量纹理是被视为红色设置为组件为零绿色 RGBA 缓冲区设置为一个蓝色设置为两个,组件的组件和 alpha 设置为零。 要确定所需的 像素 大小,使用 glGetTexLevelParameter 确定了内部的纹理的图像的尺寸,然后通过所需的 格式 和 类型 的基础的每个像素的存储扩展所需的像素数。 一定要考虑到帐户特别是 GL_PACK_ALIGNMENT 的像素存储参数。 如果生成了一个错误,则是对 像素为单位) 的内容不进行任何更改。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。