过滤纹理¶
通过应用纹理过滤,您可以在 3D 场景中提高图像质量,同时性能略有下降。基线点采样需要将整个纹理数据存储到内存中,而使用 mipmapping(或任何过滤选项)时,当纹理区域较小时,您可以使用较小尺寸的纹理版本。请参阅 使用 mipmap。
选择最能够反映出应用程序特定要求的纹理过滤选项。
使用纹理过滤¶
要使用纹理过滤:
在 Library > Materials and Textures > Textures 中选择您要应用过滤的纹理。
避免从 .jpeg 纹理创建 mipmap,因为 .jpeg 图像格式会导致 mipmap 的质量下降。
在 Properties 中设置 Texture Settings 属性。
使用 Texture Settings 属性来控制纹理过滤。首先,将 Mipmap Mode 属性设置为您要使用的 mipmap 模式。然后将 Minification Filter 和 Magnification Filter 属性设置为 Linear。请注意,使用 mipmaps 会增加内存使用。
通常设置纹理过滤的最佳起点是设置:
Minification Filter 到 Linear
Magnification Filter 到 Linear
Mipmap Mode 到 Nearest。如果您确定纹理未缩小,请选择 Base,否则从 Nearest 开始。例如,Render Target Texture 的默认值是 Base。在此设置下,纹理没有 mipmap 级别,并且始终采样基准级别。请参阅 使用 mipmap。
请注意,某些纹理格式在高于 2.0 的 OpenGL ES 版本中可用。要设置 OpenGL ES 版本,在主菜单中选择 Project > Properties,并在 Properties 中设置 Target Graphics API 属性。
例如,将 Target Graphics API 属性设置为 OpenGL ES 3.0,导入 .dds 格式的 HDR 和浮点图像,并设置纹理的颜色格式。请参阅 在 Kanzi 中使用 OpenGL ES 3.0+。
Mipmap Mode
Nearest 示例
Linear 示例
Base
样本数:1
使用纹理中最接近的像素。此组合等同于点采样。它返回所有组合中最粗糙的结果,并且在缩小时可能导致锯齿。
放大纹理时使用此组合可以得到非常清晰的结果。
样本数:4
在纹理中四个最近的像素之间进行插值。
此组合可用于放大渐变。然而,不要将其用于缩小。
Nearest
样本数:1
有助于纹理缓存并有助于减少混叠。然而,当纹理用于平面表面时,它可能会产生明显的过渡。
当您想要良好的性能,但目标平台无法提供更好的质量时,可以使用此组合。
此组合通常是最快的。
样本数:4
从两个 mipmap 级别取两个样本并在这些样本之间进行插值。
将此组合用作起点。
此组合通常具有最高性价比。
如果您确定不存在缩小,可以将 Mipmap Mode 设置为 Base。
Linear
样本数:2
从两个 mipmap 级别取一个样本并在这些样本之间进行插值。
需要特殊效果时使用此组合。例如,要实现边缘光效果。
样本数:8
从两个 mipmap 级别取四个样本并在这些样本之间进行插值。
当您需要最好的质量,且平台足够强大,能够轻松渲染结果,则使用此组合。
此组合对性能的负面影响最大。