Opengl es WebGL和矩形(二次幂)纹理

Opengl es WebGL和矩形(二次幂)纹理,opengl-es,textures,webgl,Opengl Es,Textures,Webgl,众所周知,WebGL具有以下特性:。但是对于宽度和高度都是二次幂的矩形纹理呢?具体地说,我正在尝试绘制矩形帧缓冲区,作为渲染到纹理方案的一部分,以生成一些UI元素。帧缓冲区需要为512x64左右 在绘图方面,效率会低多少?如果帧率是一个问题,我会更好地分配一个512x512倍的两个大小的缓冲区,只渲染到最上面的64个像素,牺牲内存来提高速度吗?从来没有宽度必须等于高度的限制。更具体地说:2D纹理根本不需要是方形的;512x64纹理不仅是允许的,而且应该由驱动程序有效地实现;另一方面,立方体贴图需

众所周知,WebGL具有以下特性:。但是对于宽度和高度都是二次幂的矩形纹理呢?具体地说,我正在尝试绘制矩形帧缓冲区,作为渲染到纹理方案的一部分,以生成一些UI元素。帧缓冲区需要为512x64左右


在绘图方面,效率会低多少?如果帧率是一个问题,我会更好地分配一个512x512倍的两个大小的缓冲区,只渲染到最上面的64个像素,牺牲内存来提高速度吗?

从来没有宽度必须等于高度的限制。

更具体地说:2D纹理根本不需要是方形的;512x64纹理不仅是允许的,而且应该由驱动程序有效地实现;另一方面,立方体贴图需要是正方形


对于2D纹理,如果两种包裹模式都是“钳制到边缘”,并且缩小过滤器不需要mipmap,则可以使用NPOT纹理。NPOT纹理的效率可能因您的驱动程序而异。

要进一步了解此答案,请参阅:一些压缩纹理扩展要求纹理的宽度和高度相等(WebGL仍然不支持它们),但这既不是对标准OpenGL/WebGL行为的限制,也不是对其性能的影响。