# 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
是否设置成功。