TextureMinificationFilter
在Cesium中,TextureMinificationFilter
(纹理缩小滤波器)决定了当纹理被缩小时,如何从多个纹素中计算一个像素的颜色。
在三维计算机图形学中,纹理是对一个或多个图像的描述,由多个小方块组成,每个小方块称为纹素,每个纹素存储了图像的颜色信息。 在渲染中,我们将纹理映射到几何图形上,以实现更加真实的视觉效果。
当纹理需要被缩小时,由于多个颜色值需要被压缩到一起,一些问题可能会发生,例如图像像素块平滑程度下降、出现棋盘格等其他伪像,因此我们需要通过滤波器来消除可能发生的问题。
在 Cesium 中,TextureMinificationFilter
提供了三种可用的缩小滤波方式:
注意:在使用 mipmaps 方式时,需要调用贴图 generateMipmaps()
方法进行预计算。
var textureMinificationFilter = Cesium.TextureMinificationFilter.LINEAR;
参数:
例如,将默认的 TextureMinificationFilter
值从 LINEAR
更改为 NEAREST
:
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: provider
});
// 从 `LINEAR` 更改为 `NEAREST` 以进行缩小纹理过滤
viewer.scene.groundPrimitive.createEntityPrimitives = false;
viewer.scene.groundPrimitive._tileProvider._volumes[0].material.westTexture.minificationFilter =
Cesium.TextureMinificationFilter.NEAREST;
viewer.scene.groundPrimitive._tileProvider._volumes[0].material.southTexture.minificationFilter =
Cesium.TextureMinificationFilter.NEAREST;
viewer.scene.groundPrimitive._tileProvider._volumes[0].material.eastTexture.minificationFilter =
Cesium.TextureMinificationFilter.NEAREST;
viewer.scene.groundPrimitive._tileProvider._volumes[0].material.northTexture.minificationFilter =
Cesium.TextureMinificationFilter.NEAREST;
枚举值之一: NEAREST
、LINEAR
、NEAREST_MIPMAP_NEAREST
、LINEAR_MIPMAP_NEAREST
、NEAREST_MIPMAP_LINEAR
或 LINEAR_MIPMAP_LINEAR
。