A Material defines surface appearance through a combination of diffuse, specular,
normal, emission, and alpha components. These values are specified using a
JSON schema called Fabric which gets parsed and assembled into glsl shader code
behind-the-scenes. Check out the
wiki page
for more details on Fabric.
Base material types and their uniforms:
Base material types and their uniforms:
- Color
-
color
: rgba color object. - Image
-
image
: path to image. -
repeat
: Object with x and y values specifying the number of times to repeat the image. - DiffuseMap
-
image
: path to image. -
channels
: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. -
repeat
: Object with x and y values specifying the number of times to repeat the image. - AlphaMap
-
image
: path to image. -
channel
: One character string containing r, g, b, or a for selecting the desired image channel. -
repeat
: Object with x and y values specifying the number of times to repeat the image. - SpecularMap
-
image
: path to image. -
channel
: One character string containing r, g, b, or a for selecting the desired image channel. -
repeat
: Object with x and y values specifying the number of times to repeat the image. - EmissionMap
-
image
: path to image. -
channels
: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. -
repeat
: Object with x and y values specifying the number of times to repeat the image. - BumpMap
-
image
: path to image. -
channel
: One character string containing r, g, b, or a for selecting the desired image channel. -
repeat
: Object with x and y values specifying the number of times to repeat the image. -
strength
: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps. - NormalMap
-
image
: path to image. -
channels
: Three character string containing any combination of r, g, b, and a for selecting the desired image channels. -
repeat
: Object with x and y values specifying the number of times to repeat the image. -
strength
: Bump strength value between 0.0 and 1.0 where 0.0 is small bumps and 1.0 is large bumps. - Grid
-
color
: rgba color object for the whole material. -
cellAlpha
: Alpha value for the cells between grid lines. This will be combined with color.alpha. -
lineCount
: Object with x and y values specifying the number of columns and rows respectively. -
lineThickness
: Object with x and y values specifying the thickness of grid lines (in pixels where available). -
lineOffset
: Object with x and y values specifying the offset of grid lines (range is 0 to 1). - Stripe
-
horizontal
: Boolean that determines if the stripes are horizontal or vertical. -
evenColor
: rgba color object for the stripe's first color. -
oddColor
: rgba color object for the stripe's second color. -
offset
: Number that controls at which point into the pattern to begin drawing; with 0.0 being the beginning of the even color, 1.0 the beginning of the odd color, 2.0 being the even color again, and any multiple or fractional values being in between. -
repeat
: Number that controls the total number of stripes, half light and half dark. - Checkerboard
-
lightColor
: rgba color object for the checkerboard's light alternating color. -
darkColor
: rgba color object for the checkerboard's dark alternating color. -
repeat
: Object with x and y values specifying the number of columns and rows respectively. - Dot
-
lightColor
: rgba color object for the dot color. -
darkColor
: rgba color object for the background color. -
repeat
: Object with x and y values specifying the number of columns and rows of dots respectively. - Water
-
baseWaterColor
: rgba color object base color of the water. -
blendColor
: rgba color object used when blending from water to non-water areas. -
specularMap
: Single channel texture used to indicate areas of water. -
normalMap
: Normal map for water normal perturbation. -
frequency
: Number that controls the number of waves. -
normalMap
: Normal map for water normal perturbation. -
animationSpeed
: Number that controls the animations speed of the water. -
amplitude
: Number that controls the amplitude of water waves. -
specularIntensity
: Number that controls the intensity of specular reflections. - RimLighting
-
color
: diffuse color and alpha. -
rimColor
: diffuse color and alpha of the rim. -
width
: Number that determines the rim's width. - Fade
-
fadeInColor
: diffuse color and alpha attime
-
fadeOutColor
: diffuse color and alpha atmaximumDistance
fromtime
-
maximumDistance
: Number between 0.0 and 1.0 where thefadeInColor
becomes thefadeOutColor
. A value of 0.0 gives the entire material a color offadeOutColor
and a value of 1.0 gives the the entire material a color offadeInColor
-
repeat
: true if the fade should wrap around the texture coodinates. -
fadeDirection
: Object with x and y values specifying if the fade should be in the x and y directions. -
time
: Object with x and y values between 0.0 and 1.0 of thefadeInColor
position - PolylineArrow
-
color
: diffuse color and alpha. - PolylineDash
-
color
: color for the line. -
gapColor
: color for the gaps in the line. -
dashLength
: Dash length in pixels. -
dashPattern
: The 16 bit stipple pattern for the line.. - PolylineGlow
-
color
: color and maximum alpha for the glow on the line. -
glowPower
: strength of the glow, as a percentage of the total line width (less than 1.0). -
taperPower
: strength of the tapering effect, as a percentage of the total line length. If 1.0 or higher, no taper effect is used. - PolylineOutline
-
color
: diffuse color and alpha for the interior of the line. -
outlineColor
: diffuse color and alpha for the outline. -
outlineWidth
: width of the outline in pixels. - ElevationContour
-
color
: color and alpha for the contour line. -
spacing
: spacing for contour lines in meters. -
width
: Number specifying the width of the grid lines in pixels. - ElevationRamp
-
image
: color ramp image to use for coloring the terrain. -
minimumHeight
: minimum height for the ramp. -
maximumHeight
: maximum height for the ramp. - SlopeRamp
-
image
: color ramp image to use for coloring the terrain by slope. - AspectRamp
-
image
: color ramp image to use for color the terrain by aspect.
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
可选
具有以下属性的对象:
|
Throws:
-
DeveloperError :面料:制服的类型无效。
-
DeveloperError :织物:制服和材料不能具有相同的属性。
-
DeveloperError :结构:同一部分中不能包含源和组件。
-
DeveloperError :面料:属性名称无效。它应该是'类型','材料','制服','组件'或'来源'。
-
DeveloperError :面料:属性名称无效。它应该是'漫反射','镜面反射','光泽','正常','发射'或' alpha'。
-
DeveloperError :严格:着色器源不使用字符串。
-
DeveloperError :严格:着色器源不使用统一。
-
DeveloperError :严格:着色器源不使用材质。
- Fabric wiki page for a more detailed options of Fabric.
Example:
// Create a color material with fromType:
polygon.material = LSGlobe.Material.fromType('Color');
polygon.material.uniforms.color = new LSGlobe.Color(1.0, 1.0, 0.0, 1.0);
// Create the default material:
polygon.material = new LSGlobe.Material();
// Create a color material with full Fabric notation:
polygon.material = new LSGlobe.Material({
fabric : {
type : 'Color',
uniforms : {
color : new LSGlobe.Color(1.0, 1.0, 0.0, 1.0)
}
}
});
Demo:
See:
Members
获取Alpha贴图材质的名称。
获取长宽比渐变材质的名称。
获取凹凸贴图材质的名称。
获取棋盘材质的名称。
获取颜色材料的名称。
获取或设置默认的立方体贴图纹理统一值。
获取或设置默认的纹理均匀值。
获取散点图材质的名称。
获取点材质的名称。
获取高程轮廓材料的名称。
获取高程轮廓材料的名称。
获取发射贴图材质的名称。
获取淡入淡出材质的名称。
获取网格材质的名称。
获取图像材料的名称。
获取法线贴图材料的名称。
获取折线箭头材质的名称。
获取折线发光材料的名称。
获取折线发光材料的名称。
获取折线轮廓材质的名称。
获取边缘照明材料的名称。
获取坡度材质的名称。
获取高光贴图材质的名称。
获取条纹材质的名称。
获取水材料的名称。
将子材料名称映射到'材料'对象。
-
Default Value:
undefined
此材质的glsl着色器源。
-
Default Value:
undefined
当
true
或返回
true
的函数时,几何图形将看起来是半透明的。
-
Default Value:
undefined
物料类型。可以是现有类型或新类型。如果在结构中未指定类型,则类型为GUID。
-
Default Value:
undefined
将统一名称映射为其值。
-
Default Value:
undefined
Methods
static LSGlobe.Material.fromType (type, uniforms ) → Material
使用现有材料类型创建新材料。
新材料的缩写({fabric:{type:type}});
新材料的缩写({fabric:{type:type}});
Name | Type | Description |
---|---|---|
type
|
String | 基础材料类型。 |
uniforms
|
Object | 可选 覆盖默认制服。 |
Returns:
新的材质对象。
Throws:
-
DeveloperError :该类型的材料不存在。
Example:
var material = LSGlobe.Material.fromType('Color', {
color : new LSGlobe.Color(1.0, 0.0, 0.0, 1.0)
});
销毁此对象拥有的WebGL资源。销毁对象可以确定性释放WebGL资源,而不是依赖垃圾回收器破坏此对象。
一旦物体被破坏,就不应使用。调用除
一旦物体被破坏,就不应使用。调用除
isDestroyed
将导致
DeveloperError
异常。因此,如示例中所述,将返回值(
undefined
)分配给对象。
Throws:
-
DeveloperError :此对象已销毁,即调用destroy()。
Example:
material = material && material.destroy();
See:
Returns:
如果该对象被破坏,则为true;否则为false。否则为假。
See:
获取此材料是否为半透明。
Returns:
真正
如果这种材料是半透明的,
假
除此以外。