是否可以在open gl es 1.x中创建一个仅加载当前渲染的纹理分辨率的MIP贴图?
因此,不要同时将所有纹理分辨率从最大值加载到最小值,而是让mipmap仅存储当前渲染的那个。然后让我在放大和缩小时加载新的分辨率纹理。通过这种方式,我可以将许多大型纹理加载到曲面上,并缩小以一次查看所有这些纹理,而不会出现任何VM预算问题。
如果gl无法做到这一点,是否可以覆盖onDraw函数来确定请求渲染的mipmap级别,以便我可以手动加载新纹理?
答案 0 :(得分:0)
据我所知,没有任何功能。当您定义纹理对象具有MipMaps时,您拥有来填充所有这些。如果你不这样那么算作错误和未定义的行为 - 通常你在使用那个纹理时会得到黑色渲染。
即使你能做到,你也不会真的想要;上传纹理数据可能是一个缓慢的过程,尤其是在移动平台上,因此性能会受到很大影响。最后,MipMaps通常使用线性插值,在上传的纹理数据的不同可用分辨率之间进行混合 - 至少需要两种尺寸。