我正在阅读有关加载 DDS 纹理的信息。我读了这篇文章,看到了这个帖子。(我还阅读了关于 S3TC 的 wiki)
我理解了大部分代码,但有两行我不太明白。
blockSize = (format == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT) ? 8 : 16;
和:
size = ((width + 3) / 4) * ((height + 3) / 4) * blockSize;
和:
bufsize = mipMapCount > 1 ? linearSize * 2 : linearSize;
是什么
blockSize
?为什么我们8
要DXT1
为16
其他人使用?当我们计算时到底发生了什么
size
?更具体地说,为什么我们要加3
,除4
然后乘blockSize
?- 为什么我们要乘以
2
ifmipMapCount > 1
?