style~Material(options)

材质,分成环境光、漫反射和镜面反射成分,它们决定了材料对环境光、漫反射光和镜面反射光的反射率,在进行光照计算时,不同类型的光照和对应光照的反射率结合。
对环境光与漫反射光的反射程度决定了材料的颜色。对镜面反射光的反射率通常是白色或灰色(即对镜面反射光中红、绿、蓝的反射率相同)。镜面反射高光最亮的地方将变成具有光源镜面光强度的颜色。
例如一个光亮的红色塑料球,球的大部分表现为红色,光亮的高光将是白色的。

Summary

Methods:
getAmbient

获取环境光下材质在rgb通道的反射率

getDiffuse

获取漫反射下材质在rgb通道的反射率

getEmissive

获取自发光

getSpecular

获取镜面反射下材质在rgb通道的反射率

setAmbient

设置环境光下材质在rgb通道的反射率

setDiffuse

设置漫反射下材质在rgb通道的反射率

setEmissive

设置自发光

setShininess

设置高光散射指数

setSpecular

设置镜面反射下材质在rgb通道的反射率

Constructor

new Material(options)

颜色是0-1的值

Parameters:
Name Type Description
options
Name Type Description
emissive Array.<Number>

材质的自发光,归一化数据,可以直接加入最后的反射光中,不受外部光源影响,默认值为黑色

ambient Array.<Number>

环境光照下,材质在rgb通道上对应的反射率;默认值为[0.04,0.04,0.04]

diffuse Array.<Number>

漫反射光照下,材质在rgb通道上对应的反射率;默认值为[0.4,0.4,0.4]

specular Array.<Number>

镜面反射光照下,材质在rgb通道上对应的反射率;默认值为[1.0,1.0,1.0]

shininess Number

高光散射指数,默认值为32,值越大,光斑越小。

Example
let material = new hmap.style.Material({
				emissive:new hmap.style.Color(10, 10, 20).toNormalizeArray(),
				ambient: [0.04,0.04,0.2],
				diffuse: [0.35,0.39,0.96],
				specular: [1,1,1],
				shininess: 32,
})

Methods

getAmbient()

获取环境光下材质在rgb通道的反射率

getDiffuse()

获取漫反射下材质在rgb通道的反射率

getEmissive()

获取自发光

getSpecular()

获取镜面反射下材质在rgb通道的反射率

setAmbient(ambient)

设置环境光下材质在rgb通道的反射率

Parameters:
Name Type Description
ambient Array.<Number>

环境光各通道的反射率

setDiffuse(diffuse)

设置漫反射下材质在rgb通道的反射率

Parameters:
Name Type Description
diffuse Array.<Number>

漫反射各通道的反射率

setEmissive(emissive)

设置自发光

Parameters:
Name Type Description
emissive module:style~Color

自发光颜色

setShininess(shininess)

设置高光散射指数

Parameters:
Name Type Description
shininess Number

高光散射指数

setSpecular(specular)

设置镜面反射下材质在rgb通道的反射率

Parameters:
Name Type Description
specular Array.<Number>

镜面反射各通道的反射率