根据replaceRegion doc:For a compressed pixel format, the stride is the number of bytes from the beginning of one row of blocks to the beginning of the next.
我仍然不知道如何设置bytesPerRow
。给定当前的纹理宽度和纹理格式水平,可以得到'bytesPerRow'吗?还是有任何通用的计算方法?
任何帮助将不胜感激。谢谢。
答案 0 :(得分:2)
您需要知道:
然后公式类似于:
int blocksPerRow = (textureWidth + (blockWidth - 1)) / blockWidth;
bytesPerRow = blocksPerRow * bytesPerBlock;
编辑:对于PVRTC,请不要错过replaceRegion
如果要以PowerVR纹理压缩(PVRTC)像素格式复制到整个纹理,则支持此方法;在这种情况下,bytesPerRow和bytesPerImage都必须设置为0。此方法不支持复制到具有PVRTC像素格式的纹理的子区域。