Material

new LSGlobe.Material ( options )

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:
  • 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 at time
    • fadeOutColor : diffuse color and alpha at maximumDistance from time
    • maximumDistance : Number between 0.0 and 1.0 where the fadeInColor becomes the fadeOutColor . A value of 0.0 gives the entire material a color of fadeOutColor and a value of 1.0 gives the the entire material a color of fadeInColor
    • 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 the fadeInColor 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 可选 具有以下属性的对象:
名称 类型 默认 说明
严格 布尔值 错误 可选 对于通常会被忽略的问题(包括未使用的制服或材料)抛出错误。
半透明 布尔值 | 功能 可选 true 或返回 true 的函数时,几何 预计这种材料会显示为半透明。
minificationFilter TextureMinificationFilter TextureMinificationFilter.LINEAR 可选 TextureMinificationFilter 应用于该材质的纹理。
magnificationFilter TextureMagnificationFilter TextureMagnificationFilter.LINEAR 可选 TextureMagnificationFilter 应用于该材料的纹理。
织物 对象 用于生成材料的面料JSON。
Throws:
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

static readonly LSGlobe.Material.AlphaMapType : String

获取Alpha贴图材质的名称。

static readonly LSGlobe.Material.AspectRampMaterialType : String

获取长宽比渐变材质的名称。

static readonly LSGlobe.Material.BumpMapType : String

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

static readonly LSGlobe.Material.CheckerboardType : String

获取棋盘材质的名称。

static readonly LSGlobe.Material.ColorType : String

获取颜色材料的名称。

static LSGlobe.Material.DefaultCubeMapId : String

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

static LSGlobe.Material.DefaultImageId : String

获取或设置默认的纹理均匀值。

static readonly LSGlobe.Material.DiffuseMapType : String

获取散点图材质的名称。

static readonly LSGlobe.Material.DotType : String

获取点材质的名称。

static readonly LSGlobe.Material.ElevationContourType : String

获取高程轮廓材料的名称。

static readonly LSGlobe.Material.ElevationRampType : String

获取高程轮廓材料的名称。

static readonly LSGlobe.Material.EmissionMapType : String

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

static readonly LSGlobe.Material.FadeType : String

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

static readonly LSGlobe.Material.GridType : String

获取网格材质的名称。

static readonly LSGlobe.Material.ImageType : String

获取图像材料的名称。

static readonly LSGlobe.Material.NormalMapType : String

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

static readonly LSGlobe.Material.PolylineArrowType : String

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

static readonly LSGlobe.Material.PolylineDashType : String

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

static readonly LSGlobe.Material.PolylineGlowType : String

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

static readonly LSGlobe.Material.PolylineOutlineType : String

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

static readonly LSGlobe.Material.RimLightingType : String

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

static readonly LSGlobe.Material.SlopeRampMaterialType : String

获取坡度材质的名称。

static readonly LSGlobe.Material.SpecularMapType : String

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

static readonly LSGlobe.Material.StripeType : String

获取条纹材质的名称。

static readonly LSGlobe.Material.WaterType : String

获取水材料的名称。

materials : Object

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

shaderSource : String

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

translucent : Boolean|function

true 或返回 true 的函数时,几何图形将看起来是半透明的。
Default Value: undefined
物料类型。可以是现有类型或新类型。如果在结构中未指定类型,则类型为GUID。
Default Value: undefined

uniforms : Object

将统一名称映射为其值。
Default Value: undefined

Methods

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

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

新材料的缩写({fabric:{type:type}});
Name Type Description
type String 基础材料类型。
uniforms Object 可选 覆盖默认制服。
Returns:
新的材质对象。
Throws:
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:
Example:
material = material && material.destroy();
See:

isDestroyed () Boolean

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

如果该对象被破坏,则不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。
Returns:
如果该对象被破坏,则为true;否则为false。否则为假。
See:

isTranslucent () Boolean

获取此材料是否为半透明。
Returns:
真正 如果这种材料是半透明的, 除此以外。