# Class: Material
材质资源,一般被代理到XRMaterial元素。
# Table of contents
# Constructors
# Accessors
# Methods
- clearRenderState
- clearRenderStates
- clone
- getFloat
- getMacro
- getMatrix
- getRenderState
- getTexture
- getVector
- initByEffect
- resetTexture
- setFloat
- setMacro
- setMacros
- setMatrix
- setRenderState
- setRenderStates
- setTexture
- setTextureAsset
- setVector
# Constructors
# constructor
• new Material(_scene
)
# Parameters
Name | Type |
---|---|
_scene | Scene |
# Accessors
# alphaCutOff
• set
alphaCutOff(value
): void
# Parameters
Name | Type |
---|---|
value | number |
# Returns
void
# alphaMode
• set
alphaMode(value
): void
# Parameters
Name | Type |
---|---|
value | "OPAQUE" | "BLEND" | "MASK" |
# Returns
void
# renderQueue
• get
renderQueue(): number
透明物体需要大于2500
!
# Returns
number
• set
renderQueue(value
): void
透明物体需要大于2500
!
# Parameters
Name | Type |
---|---|
value | number |
# Returns
void
# Methods
# clearRenderState
▸ clearRenderState<TKey
>(key
): boolean
清除渲染状态。 清除材质的渲染状态,转而从effect中使用默认值。
# Type parameters
Name | Type |
---|---|
TKey | extends keyof IRenderStates |
# Parameters
Name | Type |
---|---|
key | TKey |
# Returns
boolean
# clearRenderStates
▸ clearRenderStates(states
): boolean
批量清除渲染状态。 清除材质的渲染状态,转而从effect中使用默认值。
# Parameters
Name | Type |
---|---|
states | Object |
# Returns
boolean
# clone
▸ clone(): Material
拷贝自身,生成一份新的材质数据。
# Returns
# getFloat
▸ getFloat(key
): number
获取一个Float
# Parameters
Name | Type |
---|---|
key | string |
# Returns
number
# getMacro
▸ getMacro(key
): boolean
获取宏。
# Parameters
Name | Type |
---|---|
key | string |
# Returns
boolean
# getMatrix
▸ getMatrix(key
): Matrix3
| Matrix4
获取一个Vector值的拷贝。
# Parameters
Name | Type |
---|---|
key | string |
# Returns
# getRenderState
▸ getRenderState(key
): number
| boolean
获取渲染状态。
# Parameters
Name | Type |
---|---|
key | string |
# Returns
number
| boolean
# getTexture
▸ getTexture(key
): default
获取材质中已设置的贴图。
# Parameters
Name | Type |
---|---|
key | string |
# Returns
default
# getVector
▸ getVector(key
): Vector3
| Vector2
| Vector4
获取一个Vector值的拷贝。
# Parameters
Name | Type |
---|---|
key | string |
# Returns
# initByEffect
▸ initByEffect(effect
, defaultUniforms?
): void
通过效果初始化材质。
# Parameters
Name | Type |
---|---|
effect | Effect |
defaultUniforms? | Object |
# Returns
void
# resetTexture
▸ resetTexture(key
): default
# Parameters
Name | Type |
---|---|
key | string |
# Returns
default
# setFloat
▸ setFloat(key
, value
): boolean
设置一个Float
# Parameters
Name | Type |
---|---|
key | string |
value | number |
# Returns
boolean
是否设置成功
# setMacro
▸ setMacro(key
, value
): void
设置宏。
# Parameters
Name | Type |
---|---|
key | string |
value | number | boolean |
# Returns
void
# setMacros
▸ setMacros(marcos
): void
批量设置宏。
# Parameters
Name | Type |
---|---|
marcos | Object |
# Returns
void
# setMatrix
▸ setMatrix(key
, value
): boolean
设置一个Matrix
# Parameters
# Returns
boolean
是否设置成功
# setRenderState
▸ setRenderState<TKey
>(key
, value
): boolean
设置渲染状态。
只有标记了useMaterialRenderStates
的Pass会受到影响
# Type parameters
Name | Type |
---|---|
TKey | extends keyof IRenderStates |
# Parameters
Name | Type |
---|---|
key | TKey |
value | IRenderStates [TKey ] |
# Returns
boolean
# setRenderStates
▸ setRenderStates(states
): boolean
批量设置渲染状态。
只有标记了useMaterialRenderStates
的Pass会受到影响。
# Parameters
Name | Type |
---|---|
states | IRenderStates |
# Returns
boolean
# setTexture
▸ setTexture(key
, value
): boolean
设置一张贴图。
# Parameters
Name | Type |
---|---|
key | string |
value | default |
# Returns
boolean
是否设置成功。
# setTextureAsset
▸ setTextureAsset(key
, assetId
): boolean
设置一张贴图。
# Parameters
Name | Type |
---|---|
key | string |
assetId | string |
# Returns
boolean
是否设置成功。
# setVector
▸ setVector(key
, value
): boolean
设置一个Vector。
# Parameters
# Returns
boolean
是否设置成功。