- 
        
new PBRMaterial(params)
 - 
        
        
        
PBR材质
Name Type Description paramsObject optional 初始化参数,所有params都会复制到实例上
Name Type Default Description lightTypestring PBR optional 光照类型,只能为 PBR 或 NONE
baseColorColor new Color(1, 1, 1) optional 基础颜色
baseColorMapTexture optional 基础颜色贴图(sRGB空间)
metallicnumber 1 optional 金属度
metallicMapTexture optional 金属度贴图
roughnessnumber 1 optional 粗糙度
roughnessMapTexture optional 粗糙度贴图
occlusionMapTexture optional 环境光遮蔽贴图
occlusionStrengthnumber 1 optional 环境光遮蔽强度
emissionTexture | Color optional 放射光贴图(sRGB 空间),或颜色
diffuseEnvMapTexture optional 漫反射辐照(Diffuse IBL)贴图
diffuseEnvSphereHarmonics3SphericalHarmonics3 optional 漫反射 SphericalHarmonics3
diffuseEnvIntensitynumber 1 optional 漫反射强度
specularEnvMapTexture optional 环境反射(Specular IBL)贴图
brdfLUTTexture optional BRDF贴图,跟环境反射贴图一起使用
specularEnvIntensitynumber 1 optional 环境反射(Specular IBL)贴图强度
[value:string]any optional 其它属性
Example
const material = new Hilo3d.PBRMaterial(); 
Extends
Members Show Inherited
| Name | Type | Default | Description | 
|---|---|---|---|
                    
                    isPBRMaterial
                 | 
            
            
            boolean | true | |
                    
                    className
                 | 
            
            
            string | PBRMaterial | |
                    
                    lightType
                 | 
            
            
            'PBR' | 'NONE' | PBR | 
                
                 光照类型,只能为 PBR 或 NONE  | 
        
                    
                    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)贴图强度  | 
        
                    
                    specularEnvMap
                 | 
            
            
            CubeTexture | Texture | null | 
                
                 环境反射(Specular IBL)贴图  | 
        
                    
                    isSpecularEnvMapIncludeMipmaps
                 | 
            
            
            boolean | false | 
                
                 环境反射是否包含 mipmaps  | 
        
                    
                    emission
                 | 
            
            
            Texture | null | 
                
                 放射光贴图(sRGB 空间)  | 
        
                    
                    emissionFactor
                 | 
            
            
            Color | new Color(0, 0, 0) | 
                
                 The emissive color of the material.  | 
        
                    
                    isSpecularGlossiness
                 | 
            
            
            boolean | false | 
                
                 是否基于反射光泽度的 PBR,具体见 KHR_materials_pbrSpecularGlossiness  | 
        
                    
                    specular
                 | 
            
            
            Color | Color(1, 1, 1) | 
                
                 镜面反射率,针对 isSpecularGlossiness 渲染  | 
        
                    
                    glossiness
                 | 
            
            
            number | 1 | 
                
                 光泽度,针对 isSpecularGlossiness 渲染,默认PBR无效  | 
        
                    
                    specularGlossinessMap
                 | 
            
            
            Texture | null | 
                
                 镜面反射即光泽度贴图,RGB 通道为镜面反射率,A 通道为光泽度  | 
        
                    
                    clearcoatFactor
                 | 
            
            
            number | 0 | 
                
                 The clearcoat layer intensity.  | 
        
                    
                    clearcoatMap
                 | 
            
            
            Texture | null | 
                
                 The clearcoat layer intensity texture.  | 
        
                    
                    clearcoatRoughnessFactor
                 | 
            
            
            number | 0 | 
                
                 The clearcoat layer roughness.  | 
        
                    
                    clearcoatRoughnessMap
                 | 
            
            
            Texture | null | 
                
                 The clearcoat layer roughness texture.  | 
        
                    
                    clearcoatNormalMap
                 | 
            
            
            Texture | null | 
                
                 The clearcoat normal map texture.  | 
        
                    
                    isMaterial
                 | 
            
            
            boolean | true | inherited | 
                    
                    name
                 | 
            
            
            string | 
                
                    inherited
                
                 name  | 
        |
                    
                    shaderCacheId
                 | 
            
            
            string | null | 
                
                    inherited
                
                 shader cache id  | 
        
                    
                    shaderName
                 | 
            
            
            string | null | 
                
                    inherited
                
                 shader name,会在 shader 中加个 SHADER_NAME 宏,不填用 className 代替。  | 
        
                    
                    wireframe
                 | 
            
            
            boolean | false | 
                
                    inherited
                
                 是否开启网格模式  | 
        
                    
                    frontFace
                 | 
            
            
            GLenum | CCW | 
                
                    inherited
                
                 front face winding orientation  | 
        
                    
                    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
                 | 
            
            
            Number | 1 | 
                
                    inherited
                
                 法线贴图scale  | 
        
                    
                    ignoreTranparent
                 | 
            
            
            Boolean | false | 
                
                    inherited
                
                 是否忽略透明度  | 
        
                    
                    isDiffuesEnvAndAmbientLightWorkTogether
                 | 
            
            
            Boolean | false | 
                
                    inherited
                
                 是否环境贴图和环境光同时生效  | 
        
                    
                    userData
                 | 
            
            
            any | null | 
                
                    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
                
                 透明度混合目标比例  | 
        
                    
                    stencilTest
                 | 
            
            
            boolean | 1 | 
                
                    inherited
                
                 stencilTest  | 
        
                    
                    stencilMask
                 | 
            
            
            number | 0xff | 
                
                    inherited
                
                 stencilMask  | 
        
                    
                    stencilFunc
                 | 
            
            
            GLenum | ALWAYS | 
                
                    inherited
                
                 stencilFunc func  | 
        
                    
                    stencilFuncRef
                 | 
            
            
            number | 1 | 
                
                    inherited
                
                 stencilFunc ref  | 
        
                    
                    stencilFuncMask
                 | 
            
            
            number | 0xff | 
                
                    inherited
                
                 stencilFunc mask  | 
        
                    
                    stencilOpFail
                 | 
            
            
            GLenum | KEEP | 
                
                    inherited
                
                 stencilOp fail  | 
        
                    
                    stencilOpZFail
                 | 
            
            
            GLenum | KEEP | 
                
                    inherited
                
                 stencilOp zfail  | 
        
                    
                    stencilOpZPass
                 | 
            
            
            GLenum | KEEP | 
                
                    inherited
                
                 stencilOp zpass  | 
        
                    
                    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 时生效  | 
        
                    
                    enableTextureLod
                 | 
            
            
            Boolean | false | 
                
                    inherited
                
                 是否开启 texture lod  | 
        
                    
                    enableDrawBuffers
                 | 
            
            
            Boolean | false | 
                
                    inherited
                
                 是否开启 drawBuffers  | 
        
                    
                    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
 - 
        
inherited addBasicUniforms()
 - 
        
        
        
增加基础 uniforms
 - 
        
inherited addTextureUniforms(textureUniforms)
 - 
        
        
        
增加贴图 uniforms
Name Type Description textureUniformsObject textureName:semanticName 键值对
 - 
        
inherited getRenderOption(option){Object}
 - 
        
        
        
获取渲染选项值
Name Type Default Description optionObject {} optional 渲染选项值
Returns:
Type Description Object 渲染选项值