名称
glGenerateMipmap- 为纹理对象生成一组完整的mipmap
C规范
void glGenerateMipmap(GLenum target);
参数
target
指定将生成mipmap的纹理对象绑定到的活动纹理单元的纹理目标。 必须是以下符号常量之一:GL_TEXTURE_2D或GL_TEXTURE_CUBE_MAP。
描述
glGenerateMipmap计算从零级数组派生的一组完整的mipmap数组。 无论先前的内容如何,最多包括1x1维度纹理图像的数组级别都将替换为派生数组。 零级纹理图像保持不变(原图)。
派生的mipmap数组的内部格式都与零级纹理图像的内部格式相匹配。 通过将零级纹理图像的宽度和高度减半来计算派生数组的尺寸,然后将每个阵列级别的尺寸减半,直到达到1x1尺寸纹理图像。
通过重复滤波减少零电平阵列来计算导出阵列的内容。 虽然建议使用盒式过滤器,但不需要特殊的过滤算法。 可以调用glHint来表示对过滤速度或质量的偏好。
错误
GL_INVALID_ENUM
:如果target不是GL_TEXTURE_2D或GL_TEXTURE_CUBE_MAP;
GL_INVALID_OPERATION:如果纹理绑定的是立方体贴图,但是6个面却不共用统一的宽高格式和类型;
GL_INVALID_OPERATION
:如果原图的宽高不是2^N。(纹理贴图没这个要求,但是如要生成mipmap组则要注意这个要求)
GL_INVALID_OPERATION
:如果零级数组以压缩内部格式存储。
另见
glBindTexture,glFramebufferTexture2D,glHint,glTexImage2D,glTexParameter
版权
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGenerateMipmap.xml
https://blog.csdn.net/flycatdeng
Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.
