Class: PBRMaterial

PBRMaterial

new PBRMaterial(params)

PBR材质

Name Type Description
params object

初始化参数,所有params都会复制到实例上

Example
const material = new Hilo3d.PBRMaterial();

Extends

Members Show Inherited

Name Type Default Description
isPBRMaterial boolean true
className string PBRMaterial
lightType string PBR

光照类型,只能为 PBR

gammaCorrection Boolean true

gammaCorrection

usePhysicsLight Boolean true

是否使用物理灯光

baseColor Color null

基础颜色

baseColorMap Texture null

基础颜色贴图(sRGB空间)

metallic Number 1

金属度

metallicMap Texture null

金属度贴图

roughness Number 1

粗糙度

roughnessMap Texture null

粗糙度贴图

metallicRoughnessMap Texture null

金属度及粗糙度贴图,金属度为B通道,粗糙度为G通道,可以指定R通道作为环境光遮蔽

occlusionMap Texture null

环境光遮蔽贴图

occlusionStrength Number 1

环境光遮蔽强度

isOcclusionInMetallicRoughnessMap boolean false

环境光遮蔽贴图(occlusionMap)包含在 metallicRoughnessMap 的R通道中

diffuseEnvMap CubeTexture | Texture null

漫反射辐照(Diffuse IBL)贴图

diffuseEnvSphereHarmonics3 SphericalHarmonics3

漫反射 SphericalHarmonics3

diffuseEnvIntensity Number 1

漫反射环境强度

brdfLUT Texture null

BRDF贴图,跟环境反射贴图一起使用 示例

specularEnvIntensity Number 1

环境反射(Specular IBL)贴图

specularEnv CubeTexture | Texture null

环境反射(Specular IBL)贴图

emission Texture | Color Color(0, 0, 0)

放射光贴图(sRGB 空间),或颜色

isSpecularGlossiness boolean false

是否基于反射光泽度的 PBR,具体见 KHR_materials_pbrSpecularGlossiness

specular Color Color(1, 1, 1)

镜面反射率,针对 isSpecularGlossiness 渲染

glossiness number 1

光泽度,针对 isSpecularGlossiness 渲染,默认PBR无效

specularGlossinessMap Texture null

镜面反射即光泽度贴图,RGB 通道为镜面反射率,A 通道为光泽度

isMaterial boolean true inherited
shaderCacheId String null inherited

shader cache id

wireframe boolean false inherited

是否开启网格模式

depthTest boolean true inherited

是否开启深度测试

sampleAlphaToCoverage Boolean false inherited

SAMPLE_ALPHA_TO_COVERAGE

depthMask boolean true inherited

是否开启depthMask

depthRange Array [0, 1] inherited

深度测试Range

depthFunc GLenum LESS inherited

深度测试方法

normalMap Texture null inherited

法线贴图

parallaxMap Texture null inherited

视差贴图

normalMapScale float 1 inherited

法线贴图scale

ignoreTranparent Boolean false inherited

是否忽略透明度

renderOrder Number 0 inherited

渲染顺序数字小的先渲染(透明物体和不透明在不同的队列)

premultiplyAlpha Boolean true inherited

是否预乘 alpha

gammaOutput Boolean false inherited

gammaOutput

gammaFactor Number 2.2 inherited

gamma值

castShadows Boolean true inherited

是否投射阴影

receiveShadows Boolean true inherited

是否接受阴影

uvMatrix Matrix3 inherited

uv transform eg:new Matrix3().fromRotationTranslationScale(Math.PI/2, 0, 0, 2, 2)

uvMatrix1 Matrix3 inherited

uv1 transform eg:new Matrix3().fromRotationTranslationScale(Math.PI/2, 0, 0, 2, 2)

cullFace boolean true inherited

是否开启 CullFace

cullFaceType GLenum BACK inherited

CullFace 类型

side GLenum FRONT inherited

显示面,可选值 FRONT, BACK, FRONT_AND_BACK

blend boolean false inherited

是否开启颜色混合

blendEquation GLenum FUNC_ADD inherited

颜色混合方式

blendEquationAlpha GLenum FUNC_ADD inherited

透明度混合方式

blendSrc GLenum ONE inherited

颜色混合来源比例

blendDst GLenum ZERO inherited

颜色混合目标比例

blendSrcAlpha GLenum ONE inherited

透明度混合来源比例

blendDstAlpha GLenum ONE inherited

透明度混合目标比例

isDirty boolean false inherited

当前是否需要强制更新

transparency number 1 inherited

透明度 0~1

transparent boolean false inherited

是否需要透明

alphaCutoff number 0 inherited

透明度剪裁,如果渲染的颜色透明度大于等于这个值的话渲染为完全不透明,否则渲染为完全透明

useHDR Boolean false inherited

是否使用HDR

exposure Number 1 inherited

曝光度,仅在 useHDR 为 true 时生效

needBasicUnifroms Boolean true inherited

是否需要加基础 uniforms

needBasicAttributes Boolean true inherited

是否需要加基础 attributes

id string inherited
uniforms object {} inherited

可以通过指定,semantic来指定值的获取方式,或者自定义get方法

attributes object {} inherited

可以通过指定,semantic来指定值的获取方式,或者自定义get方法

Methods Show Inherited

inherited addBasicAttributes()

增加基础 attributes

增加基础 uniforms

inherited addTextureUniforms(textureUniforms)

增加贴图 uniforms

Name Type Description
textureUniforms Object

textureName:semanticName 键值对

inherited getRenderOption(option){Object}

获取渲染选项值

Name Type Default Description
option Object {} optional

渲染选项值

Returns:
Type Description
Object 渲染选项值

clone 当前Material

Returns:
Type Description
Material 返回clone的Material

inherited destroyTextures(renderer){Material}

销毁贴图

Name Type Description
renderer WebGLRenderer
Returns:
Type Description
Material this