材质通过漫反射、镜面反射、法线、发射和 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 |
具有以下属性的
可选
对象:
|
Throws:
-
DeveloperError :面料:制服的类型无效。
-
DeveloperError :面料:制服和材料不能共享相同的属性。
-
DeveloperError :fabric:不能在同一部分中包含源和组件。
-
DeveloperError :结构:属性名称无效。它应该是'类型'、'材料'、'制服'、'组件'或'来源'。
-
DeveloperError :结构:属性名称无效。它应该是'漫反射'、'镜面反射'、'光泽'、'正常'、'发射'或'阿尔法'。
-
DeveloperError :严格:着色器源不使用字符串。
-
DeveloperError :严格:着色器源不使用统一。
-
DeveloperError :严格:着色器源不使用材质。
- Fabric wiki page for a more detailed options of Fabric.
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
获取 Alpha 贴图材质的名称。
获取坡向渐变材质的名称。
获取凹凸贴图材质的名称。
获取棋盘材质的名称。
获取颜色材料的名称。
获取或设置默认立方体贴图纹理统一值。
获取或设置默认纹理统一值。
获取diffuce贴图材质的名称。
获取点材质的名称。
获取高程带材质的名称。
获取高程等高线材质的名称。
获取高程等高线材质的名称。
获取发射贴图材质的名称。
获取淡入淡出材质的名称。
获取网格材质的名称。
获取图像材质的名称。
获取法线贴图材质的名称。
获取折线箭头材质的名称。
获取折线发光材质的名称。
获取折线发光材质的名称。
获取折线轮廓材质的名称。
获取边缘照明材质的名称。
获取坡道材质的名称。
获取高光贴图材质的名称。
获取条纹材质的名称。
获取水材质的名称。
将子材质名称映射到材质对象。
-
Default Value:
undefined
此材质的 glsl 着色器源。
-
Default Value:
undefined
当为
true
或返回
true
的函数时,几何图形应该是半透明的。
-
Default Value:
undefined
材料类型。可以是现有类型或新类型。如果在 fabric 中没有指定类型,type 是一个 GUID。
-
Default Value:
undefined
将统一名称映射到它们的值。
-
Default Value:
undefined
Methods
static Cesium.Material.fromType (type, uniforms ) → Material
使用现有材料类型创建新材料。
简写:new Material({fabric : {type : type}});
简写:new Material({fabric : {type : type}});
Name | Type | Description |
---|---|---|
type
|
String | 基材类型。 |
uniforms
|
Object | 默认制服的 可选 覆盖。 |
Returns:
新的物质对象。
Throws:
-
DeveloperError :该类型的材料不存在。
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:
-
DeveloperError : 该对象被销毁,即调用了destroy()。
Example:
material = material && material.destroy();
See:
Returns:
如果此对象被销毁,则为真;否则为假。
See:
获取此材质是否半透明。
Returns:
如果此材质是半透明的,则为
true
,否则为
false
。