-
new Material(params)
-
材质基类,一般不直接使用
Name Type Description params
object optional 初始化参数,所有params都会复制到实例上
Members Show Inherited
Name | Type | Default | Description |
---|---|---|---|
isMaterial
|
boolean | true | |
className
|
string | Material | |
name
|
string |
name |
|
shaderCacheId
|
string | null |
shader cache id |
shaderName
|
string | null |
shader name,会在 shader 中加个 SHADER_NAME 宏,不填用 className 代替。 |
lightType
|
string | NONE |
光照类型 |
wireframe
|
boolean | false |
是否开启网格模式 |
frontFace
|
GLenum | CCW |
front face winding orientation |
depthTest
|
boolean | true |
是否开启深度测试 |
sampleAlphaToCoverage
|
Boolean | false |
SAMPLE_ALPHA_TO_COVERAGE |
depthMask
|
boolean | true |
是否开启depthMask |
depthRange
|
Array | [0, 1] |
深度测试Range |
depthFunc
|
GLenum | LESS |
深度测试方法 |
normalMap
|
Texture | null |
法线贴图 |
parallaxMap
|
Texture | null |
视差贴图 |
normalMapScale
|
Number | 1 |
法线贴图scale |
ignoreTranparent
|
Boolean | false |
是否忽略透明度 |
gammaCorrection
|
Boolean | false |
是否开启 gamma 矫正 |
usePhysicsLight
|
Boolean | false |
是否使用物理灯光 |
isDiffuesEnvAndAmbientLightWorkTogether
|
Boolean | false |
是否环境贴图和环境光同时生效 |
userData
|
any | null |
用户数据 |
renderOrder
|
Number | 0 |
渲染顺序数字小的先渲染(透明物体和不透明在不同的队列) |
premultiplyAlpha
|
Boolean | true |
是否预乘 alpha |
gammaOutput
|
Boolean | false |
gammaOutput |
gammaFactor
|
Number | 2.2 |
gamma值 |
castShadows
|
Boolean | true |
是否投射阴影 |
receiveShadows
|
Boolean | true |
是否接受阴影 |
uvMatrix
|
Matrix3 |
uv transform eg:new Matrix3().fromRotationTranslationScale(Math.PI/2, 0, 0, 2, 2) |
|
uvMatrix1
|
Matrix3 |
uv1 transform eg:new Matrix3().fromRotationTranslationScale(Math.PI/2, 0, 0, 2, 2) |
|
cullFace
|
boolean | true |
是否开启 CullFace |
cullFaceType
|
GLenum | BACK |
CullFace 类型 |
side
|
GLenum | FRONT |
显示面,可选值 FRONT, BACK, FRONT_AND_BACK |
blend
|
boolean | false |
是否开启颜色混合 |
blendEquation
|
GLenum | FUNC_ADD |
颜色混合方式 |
blendEquationAlpha
|
GLenum | FUNC_ADD |
透明度混合方式 |
blendSrc
|
GLenum | ONE |
颜色混合来源比例 |
blendDst
|
GLenum | ZERO |
颜色混合目标比例 |
blendSrcAlpha
|
GLenum | ONE |
透明度混合来源比例 |
blendDstAlpha
|
GLenum | ONE |
透明度混合目标比例 |
stencilTest
|
boolean | 1 |
stencilTest |
stencilMask
|
number | 0xff |
stencilMask |
stencilFunc
|
GLenum | ALWAYS |
stencilFunc func |
stencilFuncRef
|
number | 1 |
stencilFunc ref |
stencilFuncMask
|
number | 0xff |
stencilFunc mask |
stencilOpFail
|
GLenum | KEEP |
stencilOp fail |
stencilOpZFail
|
GLenum | KEEP |
stencilOp zfail |
stencilOpZPass
|
GLenum | KEEP |
stencilOp zpass |
isDirty
|
boolean | false |
当前是否需要强制更新 |
transparency
|
number | 1 |
透明度 0~1 |
transparent
|
boolean | false |
是否需要透明 |
alphaCutoff
|
number | 0 |
透明度剪裁,如果渲染的颜色透明度大于等于这个值的话渲染为完全不透明,否则渲染为完全透明 |
useHDR
|
Boolean | false |
是否使用HDR |
exposure
|
Number | 1 |
曝光度,仅在 useHDR 为 true 时生效 |
enableTextureLod
|
Boolean | false |
是否开启 texture lod |
enableDrawBuffers
|
Boolean | false |
是否开启 drawBuffers |
needBasicUnifroms
|
Boolean | true |
是否需要加基础 uniforms |
needBasicAttributes
|
Boolean | true |
是否需要加基础 attributes |
id
|
string | ||
uniforms
|
object | {} |
可以通过指定,semantic来指定值的获取方式,或者自定义get方法 |
attributes
|
object | {} |
可以通过指定,semantic来指定值的获取方式,或者自定义get方法 |
Methods Show Inherited
-
addBasicAttributes()
-
增加基础 attributes
-
addBasicUniforms()
-
增加基础 uniforms
-
addTextureUniforms(textureUniforms)
-
增加贴图 uniforms
Name Type Description textureUniforms
Object textureName:semanticName 键值对
-
getRenderOption(option){Object}
-
获取渲染选项值
Name Type Default Description option
Object {} optional 渲染选项值
Returns:
Type Description Object 渲染选项值