我已经编写了一个严重依赖 iSGL3d 进行 3D 渲染的应用程序,现在我已经到了需要开始调整纹理大小的地步,因为内存分配的原因。
我的应用程序使用非常大的纹理 (1024x1024),从那个到 512x512 是不可接受的
因此,以 GL ES 2.0 为基础,我想将我的纹理稍微减少到更接近 700x700
我知道这是可能的,因为我在前世煞费苦心地手写了使用非 2 次幂纹理的 OpenGL 代码
但是我花了很长时间试图筛选 iSGL3d 的代码以找到我可以影响这种变化的地方......现在该项目似乎被放弃了。
基本上,默认情况下,即使您使用 GLES 2.0 实例,iSGL3d 也只会制作一个二次幂位图并将您的纹理转储到其中,留下一堆透明像素。这是毫无价值的。
将纹理大小强制为非二次方图像会产生 GL 错误。我假设这是因为我没有在任何需要强制的地方正确地强制它,或者 iSGL3d 没有正确使用 GLES 2.0,因为它应该是
任何指针都会很有用......