我正在使用纹理使用着色器预先计算一些位置值,并且我得到的结果是纹理不是2的幂。事实上,我确实扩展它们以使它们成为正方形(7,043,716个纹素,这是2654的正方形)但是我开始怀疑纹理必须是2的特定幂 - 可能被8整除?例如8x8,16x16,32x32,64x64,因为这些数字不断上升。是这样,如果是的话,是否有上限?
答案 0 :(得分:0)
我认为您不需要成为2的特定权力,但gl.getParameter(gl.MAX_TEXTURE_SIZE)
应该告诉您在您所使用的浏览器和硬件上可用的上限,并且必须 at至少 64.(警告:根据文档,它仅仅是“粗略的估计”;但它可以在不尝试上传的情况下获得,并且我认为它会低估它)
我通常是一个iOS用户,所以我可以告诉你,iPhone 4及以下版本在2048年最高,但4s及以上版本可以支持至少4096.尽可能抽出你想要的推论从那以后,假设您的代码无法应对低于2654的下限。