Material

new Cesium.Material ( options )

材质通过漫反射、镜面反射、法线、发射和 alpha 分量的组合来定义表面外观。这些值是使用名为 Fabric 的 JSON 模式指定的,该模式在幕后被解析并组装成 glsl 着色器代码。查看 wiki 页面 了解有关 Fabric 的更多详细信息。

基材种类及其制服:
  • 颜色
    • color :rgba 颜色对象。
  • 图片
    • image :图像的路径。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
  • 漫反射贴图
    • image :图像的路径。
    • channels :三个字符串,包含 r、g、b 和 a 的任意组合,用于选择所需的图像通道。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
  • 阿尔法地图
    • image :图像的路径。
    • channel : 一个包含 r、g、b 或 a 的字符串,用于选择所需的图像通道。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
  • 高光贴图
    • image :图像的路径。
    • channel : 一个包含 r、g、b 或 a 的字符串,用于选择所需的图像通道。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
  • 排放图
    • image :图像的路径。
    • channels :三个字符串,包含 r、g、b 和 a 的任意组合,用于选择所需的图像通道。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
  • 凹凸贴图
    • image :图像的路径。
    • channel : 一个包含 r、g、b 或 a 的字符串,用于选择所需的图像通道。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
    • strength :凹凸强度值介于 0.0 和 1.0 之间,其中 0.0 是小凹凸,1.0 是大凹凸。
  • 法线贴图
    • image :图像的路径。
    • channels :三个字符串,包含 r、g、b 和 a 的任意组合,用于选择所需的图像通道。
    • repeat :具有 x 和 y 值的对象,指定重复图像的次数。
    • strength :凹凸强度值介于 0.0 和 1.0 之间,其中 0.0 是小凹凸,1.0 是大凹凸。
  • 网格
    • color : 整个材质的 rgba 颜色对象。
    • cellAlpha :网格线之间的单元格的 Alpha 值。这将与 color.alpha 结合使用。
    • lineCount :具有 x 和 y 值的对象,分别指定列数和行数。
    • lineThickness :具有 x 和 y 值的对象,指定网格线的粗细(在可用的情况下以像素为单位)。
    • lineOffset :具有 x 和 y 值的对象,指定网格线的偏移量(范围为 0 到 1)。
  • 条纹
    • horizontal :确定条纹是水平还是垂直的布尔值。
    • evenColor :条纹第一种颜色的 rgba 颜色对象。
    • oddColor : 条纹第二种颜色的 rgba 颜色对象。
    • offset : 控制在图案中的哪个点开始绘制的数字;其中 0.0 是偶数颜色的开始,1.0 是奇数颜色的开始,2.0 再次是偶数颜色,以及介于两者之间的任何倍数或分数值。
    • repeat :控制条纹总数的数字,一半亮一半暗。
  • 棋盘
    • lightColor : 用于棋盘的光交替颜色的 rgba 颜色对象。
    • darkColor : 用于棋盘的深色交替颜色的 rgba 颜色对象。
    • repeat :具有 x 和 y 值的对象,分别指定列数和行数。
    • lightColor : 点颜色的 rgba 颜色对象。
    • darkColor : 背景颜色的 rgba 颜色对象。
    • repeat :具有 x 和 y 值的对象,分别指定点的列数和行数。
    • baseWaterColor : rgba 颜色对象水的基色。
    • blendColor :从水混合到非水区域时使用的 rgba 颜色对象。
    • specularMap :用于指示水域的单通道纹理。
    • normalMap :水法线扰动的法线贴图。
    • frequency :控制波数的数字。
    • animationSpeed : 控制水的动画速度的数字。
    • amplitude :控制水波振幅的数字。
    • specularIntensity :控制镜面反射强度的数字。
  • 边缘照明
    • color :漫反射颜色和 alpha。
    • rimColor : 边缘的漫反射颜色和 alpha。
    • width :确定轮辋宽度的数字。
  • 褪色
    • fadeInColor : 在 time 漫反射颜色和 alpha
    • fadeOutColor : 从 time maximumDistance 距离的漫反射颜色和 alpha
    • maximumDistance :介于 0.0 和 1.0 之间的数字,其中 fadeInColor 变为 fadeOutColor 。值 0.0 使整个材质的颜色为 fadeOutColor ,值 1.0 使整个材质的颜色为 fadeInColor
    • repeat :如果淡入淡出应该环绕纹理坐标,则为 true。
    • fadeDirection :具有 x 和 y 值的对象,指定淡入淡出是否应在 x 和 y 方向。
    • time : 对象的 x 和 y 值在 fadeInColor 位置的 0.0 和 1.0 之间
  • 折线箭头
    • color :漫反射颜色和 alpha。
  • 折线虚线
    • color :线条的颜色。
    • gapColor :线条中间隙的颜色。
    • dashLength :以像素为单位的虚线长度。
    • dashPattern :线条的 16 位点画图案。
  • 折线发光
    • color : 线上发光的颜色和最大 alpha。
    • glowPower :发光强度,占总线宽的百分比(小于 1.0)。
    • taperPower :锥度效果的强度,占线总长度的百分比。如果为 1.0 或更高,则不使用锥形效果。
  • 折线轮廓
    • color : 线内部的漫反射颜色和 alpha。
    • outlineColor : 轮廓的漫反射颜色和 alpha。
    • outlineWidth :轮廓的宽度(以像素为单位)。
  • 海拔等高线
    • color : 轮廓线的颜色和 alpha。
    • spacing :等高线的间距,以米为单位。
    • width :数字,以像素为单位指定网格线的宽度。
  • 坡道
    • image :用于为地形着色的颜色渐变图像。
    • minimumHeight :坡道的最小高度。
    • maximumHeight :坡道的最大高度。
  • 斜坡
    • image : 用于按坡度为地形着色的颜色渐变图像。
  • 纵横坡
    • image :用于按方面为地形着色的颜色渐变图像。
  • 高程带
    • heights :从最低到最高排序的高度图像。
    • colors :相应高度的颜色图像。
Name Type Description
options Object 具有以下属性的 可选 对象:
姓名 类型 默认 描述
strict 布尔值 false 可选 为通常会被忽略的问题抛出错误,包括未使用的制服或材料。
translucent 布尔值 | 功能 true 可选 true 或返回 true 的函数时,使用此材质的几何体预计会呈现半透明。
minificationFilter 纹理缩小过滤器 TextureMinificationFilter.LINEAR 可选 要应用于此材质的纹理的 TextureMinificationFilter
magnificationFilter 纹理放大过滤器 TextureMagnificationFilter.LINEAR 可选 要应用于此材质的纹理的 TextureMagnificationFilter
fabric 目的 用于生成材质的织物 JSON。
Throws:
Example:
// Create a color material with fromType:
polygon.material = Cesium.Material.fromType('Color');
polygon.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0);

// Create the default material:
polygon.material = new Cesium.Material();

// Create a color material with full Fabric notation:
polygon.material = new Cesium.Material({
    fabric : {
        type : 'Color',
        uniforms : {
            color : new Cesium.Color(1.0, 1.0, 0.0, 1.0)
        }
    }
});
Demo:
See:

Members

static readonly Cesium.Material.AlphaMapType : String

获取 Alpha 贴图材质的名称。

static readonly Cesium.Material.AspectRampMaterialType : String

获取坡向渐变材质的名称。

static readonly Cesium.Material.BumpMapType : String

获取凹凸贴图材质的名称。

static readonly Cesium.Material.CheckerboardType : String

获取棋盘材质的名称。

static readonly Cesium.Material.ColorType : String

获取颜色材料的名称。

static Cesium.Material.DefaultCubeMapId : String

获取或设置默认立方体贴图纹理统一值。

static Cesium.Material.DefaultImageId : String

获取或设置默认纹理统一值。

static readonly Cesium.Material.DiffuseMapType : String

获取diffuce贴图材质的名称。

static readonly Cesium.Material.DotType : String

获取点材质的名称。

static readonly Cesium.Material.ElevationBandType : String

获取高程带材质的名称。

static readonly Cesium.Material.ElevationContourType : String

获取高程等高线材质的名称。

static readonly Cesium.Material.ElevationRampType : String

获取高程等高线材质的名称。

static readonly Cesium.Material.EmissionMapType : String

获取发射贴图材质的名称。

static readonly Cesium.Material.FadeType : String

获取淡入淡出材质的名称。

static readonly Cesium.Material.GridType : String

获取网格材质的名称。

static readonly Cesium.Material.ImageType : String

获取图像材质的名称。

static readonly Cesium.Material.NormalMapType : String

获取法线贴图材质的名称。

static readonly Cesium.Material.PolylineArrowType : String

获取折线箭头材质的名称。

static readonly Cesium.Material.PolylineDashType : String

获取折线发光材质的名称。

static readonly Cesium.Material.PolylineGlowType : String

获取折线发光材质的名称。

static readonly Cesium.Material.PolylineOutlineType : String

获取折线轮廓材质的名称。

static readonly Cesium.Material.RimLightingType : String

获取边缘照明材质的名称。

static readonly Cesium.Material.SlopeRampMaterialType : String

获取坡道材质的名称。

static readonly Cesium.Material.SpecularMapType : String

获取高光贴图材质的名称。

static readonly Cesium.Material.StripeType : String

获取条纹材质的名称。

static readonly Cesium.Material.WaterType : String

获取水材质的名称。

materials : Object

将子材质名称映射到材质对象。
Default Value: undefined

shaderSource : String

此材质的 glsl 着色器源。
Default Value: undefined

translucent : Boolean|function

当为 true 或返回 true 的函数时,几何图形应该是半透明的。
Default Value: undefined
材料类型。可以是现有类型或新类型。如果在 fabric 中没有指定类型,type 是一个 GUID。
Default Value: undefined

uniforms : Object

将统一名称映射到它们的值。
Default Value: undefined

Methods

static Cesium.Material.fromType (type, uniforms ) Material

使用现有材料类型创建新材料。

简写:new Material({fabric : {type : type}});
Name Type Description
type String 基材类型。
uniforms Object 默认制服的 可选 覆盖。
Returns:
新的物质对象。
Throws:
Example:
const material = Cesium.Material.fromType('Color', {
    color : new Cesium.Color(1.0, 0.0, 0.0, 1.0)
});
销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁这个对象。

一旦一个对象被销毁,它就不应该被使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。因此,如示例中所做的那样,将返回值 ( undefined ) 分配给对象。
Throws:
Example:
material = material && material.destroy();
See:

isDestroyed () Boolean

如果此对象被销毁,则返回 true;否则为假。

如果这个对象被破坏了,它就不应该被使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。
Returns:
如果此对象被销毁,则为真;否则为假。
See:

isTranslucent () Boolean

获取此材质是否半透明。
Returns:
如果此材质是半透明的,则为 true ,否则为 false