初始化参数,所有params都会复制到实例上
params.lightType: 光照类型,只能为 PBR 或 NONEparams.baseColor: 基础颜色params.baseColorMap: 基础颜色贴图(sRGB空间)params.metallic: 金属度params.metallicMap: 金属度贴图params.roughness: 粗糙度params.roughnessMap: 粗糙度贴图params.occlusionMap: 环境光遮蔽贴图params.occlusionStrength: 环境光遮蔽强度params.emission: 放射光贴图(sRGB 空间),或颜色params.diffuseEnvMap: 漫反射辐照(Diffuse IBL)贴图params.diffuseEnvSphereHarmonics3: 漫反射 SphericalHarmonics3params.diffuseEnvIntensity: 漫反射强度params.specularEnvMap: 环境反射(Specular IBL)贴图params.brdfLUT: BRDF贴图,跟环境反射贴图一起使用params.specularEnvIntensity: 环境反射(Specular IBL)贴图强度透明度剪裁,如果渲染的颜色透明度大于等于这个值的话渲染为完全不透明,否则渲染为完全透明
基础颜色
基础颜色贴图(sRGB空间)
是否开启颜色混合
颜色混合目标比例
透明度混合目标比例
颜色混合方式
透明度混合方式
颜色混合来源比例
透明度混合来源比例
BRDF lookup texture used with an environment reflection map.
是否投射阴影
ReadonlyclassThe clearcoat layer intensity.
The clearcoat layer intensity texture.
The clearcoat normal map texture.
The clearcoat layer roughness.
The clearcoat layer roughness texture.
深度测试方法
是否开启depthMask
深度测试Range
是否开启深度测试
漫反射环境强度
漫反射辐照(Diffuse IBL)贴图
漫反射 SphericalHarmonics3
放射光贴图(sRGB 空间)
The emissive color of the material.
是否开启 drawBuffers
是否开启 texture lod
曝光度,仅在 useHDR 为 true 时生效
front face winding orientation
gammaCorrection
gamma值
光泽度,针对 isSpecularGlossiness 渲染,默认PBR无效
Readonlyid是否忽略透明度
是否环境贴图和环境光同时生效
Readonlyis环境光遮蔽贴图(occlusionMap)包含在 metallicRoughnessMap 的R通道中
环境反射是否包含 mipmaps
是否基于反射光泽度的 PBR,具体见 [KHR_materials_pbrSpecularGlossiness]https://github.com/KhronosGroup/glTF/tree/master/extensions/Khronos/KHR_materials_pbrSpecularGlossiness
光照类型,只能为 PBR 或 NONE
金属度
金属度贴图
金属度及粗糙度贴图,金属度为B通道,粗糙度为G通道,可以指定R通道作为环境光遮蔽
name
是否需要加基础 attributes
是否需要加基础 uniforms
法线贴图
法线贴图scale
环境光遮蔽贴图
环境光遮蔽强度
视差贴图
是否接受阴影
渲染顺序数字小的先渲染(透明物体和不透明在不同的队列)
粗糙度
粗糙度贴图
SAMPLE_ALPHA_TO_COVERAGE
shader cache id
shader name,会在 shader 中加个 SHADER_NAME 宏,不填用 className 代替。
镜面反射率,针对 isSpecularGlossiness 渲染
环境反射(Specular IBL)贴图强度
环境反射(Specular IBL)贴图
镜面反射即光泽度贴图,RGB 通道为镜面反射率,A 通道为光泽度
stencilFunc func
stencilFunc mask
stencilFunc ref
stencilMask
stencilOp fail
stencilOp zfail
stencilOp zpass
stencilTest
透明度 0~1
Registered std140 blocks keyed by GLSL block name.
Semantic resolvers for canonical block fields and sampler bindings. Program linking rejects every active classic uniform that is not an opaque sampler.
是否使用HDR
是否使用物理灯光
用户数据
uv transform eg:new Matrix3().fromRotationTranslationScale(Math.PI/2, 0, 0, 2, 2)
uv1 transform eg:new Matrix3().fromRotationTranslationScale(Math.PI/2, 0, 0, 2, 2)
是否开启网格模式
是否开启 CullFace
是否开启 CullFace
CullFace 类型
CullFace 类型
当前是否需要强制更新
是否预乘 alpha
是否预乘 alpha
Monotonic material-data revision observed independently by every backend.
显示面,可选值 FRONT, BACK, FRONT_AND_BACK
显示面,可选值 FRONT, BACK, FRONT_AND_BACK
是否需要透明
是否需要透明
增加基础 attributes
增加基础 uniforms
增加贴图 uniforms
textureName:semanticName 键值对
销毁贴图
this
获取 instanced uniforms
获取材质全部贴图
PBR材质
Example