我有一个纹理,我希望能够对两个或三个最大的mipmap级别进行相对精细的控制,但是在较小的尺寸下,我很高兴让GL根据最小的mipmap为我生成mipmap我已经上传到1x1。这可能吗? FWIW,我用的是带有GL ES 1.1的iPhone OS。
我尝试启用GL_GENERATE_MIPMAP
,同时上传128x128然后上传64x64,但这似乎导致各种尺寸的傻颜色(白色四边形)。
有办法做到这一点吗?或者,如果我要提供多个级别,我必须预先生成所有级别吗?
感谢。
答案 0 :(得分:1)
根据GL ES手册页,您正在做的事情应该起作用:
GL_GENERATE_MIPMAP 设置自动mipmap生成参数。如果设置为GL_TRUE,则对mipmap的级别基础数组的内部纹素进行任何更改也将计算从修改的级别基础数组派生的一组完整的mipmap数组。数组级别base + 1到p将替换为派生数组,而不管它们之前的内容如何。所有其他mipmap数组(包括级别基础数组)在此计算中保持不变。
摘自GL ES 1.1 man pages: glTexParameter
您确定您的代码是否正确?它也可能是您的GL ES实施中的错误。