1.什么是纹理流送(Texture Streaming)
当你处理许多纹理时,特别是在建筑可视化项目或汽车类项目中,你可能偶尔会发现纹理有点模糊。它们没有显示所有细节,因为它们的流送(Streaming)不正确。通常你不会遇到这种情况,但如果遇到了,你就需要了解接下来的知识。
简单来说,流送就是获取纹理的所有细节层级(Level of Detail,LOD)或多级渐进纹理(Mipmaps),然后在玩家靠近时显示最高分辨率的渐进纹理,在玩家远离时显示低分辨率版本,但仅限场景摄像机的视锥范围内。我们之前讨论过多级渐进纹理(Mipmaps),它相当于纹理的细节层级。事实上,细节层级或多级渐进纹理和纹理完全一样,只不过细节层级会稍微小一点,占用的资源更少一些。纹理流送能够在摄像机接近或者远离场景对象时,流送这些不同的细节层级。
纹理流送设有一个缓存池:一片专门用于缓存多级渐进纹理的内存区域。随着纹理不断远离摄像机,它们会变得越来越小,在纹理流送池中占用的内存也越来越少,直到不再占用任何内存。然而,当玩家越来越接近对象时,纹理在流送池中的占用空间也越来越大,因为引擎必须显式更大的多级渐进纹理。介绍这点的原因是,在建筑可视化项目或汽车类项目中,如果你使用细节