Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Material

材质资源。

Hierarchy

Index

Constructors

constructor

  • new Material(effect?: Effect, marcos?: {}, fromPool?: boolean): Material
  • 创建材质对象,可在构造函数传入effect,也可在创建后赋值。
    材质必须设置effect才可以正常使用。

    const mat = new engine.Material(effect1);
    const mat2 = new engine.Material();
    mat2.effect = effect1;

    memberof

    Material

    Parameters

    • Optional effect: Effect
    • Optional marcos: {}
      • [name: string]: string | number | boolean
    • fromPool: boolean = false

    Returns Material

Properties

Optional groupID

groupID: string

Optional resourceID

resourceID: string

编辑器中使用的资源id。

memberof

BaseResource

Static BlendFactor

BlendFactor: typeof EBlendFactor = ...

Static BlendOp

BlendOp: typeof EBlendEquation = ...

Static ColorMask

ColorMask: typeof EColorMask = ...

Static CompareFunc

CompareFunc: typeof ECompareFunc = ...

Static CullMode

CullMode: typeof ECullMode = ...

Static PrimitiveType

PrimitiveType: typeof EPrimitiveType = ...

Static StencilOp

StencilOp: typeof EStencilOp = ...

Accessors

effect

  • 该材质的Effect。
    当更换材质Effect时,相同名字的shaderProperties和texture会被拷贝,不同名字的值被丢弃

    Returns Effect

  • 该材质的Effect。
    当更换材质Effect时,相同名字的shaderProperties和texture会被拷贝,不同名字的值被丢弃

    Parameters

    Returns void

renderQueue

  • get renderQueue(): number
  • set renderQueue(val: number): void
  • 渲染顺序,相机按照renderQueue从小到大的顺序进行渲染。
    注:renderQueue>=2500时,被认为是一个透明物体,渲染时会按物体到相机距离从远到近进行渲染。

    Returns number

  • 渲染顺序,相机按照renderQueue从小到大的顺序进行渲染。
    注:renderQueue>=2500时,被认为是一个透明物体,渲染时会按物体到相机距离从远到近进行渲染。

    Parameters

    • val: number

    Returns void

renderStates

  • set renderStates(states: IMaterialRenderStates): void
  • Parameters

    • states: IMaterialRenderStates

    Returns void

sourceMaterial

  • 当使用MeshRenderer.getMaterialAtIndex时,会生成一份拷贝材质,该属性指向原材质。

    Returns Material

useInstance

  • get useInstance(): boolean
  • set useInstance(value: boolean): void
  • 是否开启Instance,需要基于的Effect支持Instance。

    Returns boolean

  • 是否开启Instance,需要基于的Effect支持Instance。

    Parameters

    • value: boolean

    Returns void

Methods

clone

  • 拷贝自身,生成一份新的材质数据

    Returns Material

getFloat

  • getFloat(key: string): number
  • 获取一个Float

    Parameters

    • key: string

    Returns number

getRenderDefinition

  • getRenderDefinition(key: string): boolean
  • 获取宏。

    Parameters

    • key: string

    Returns boolean

getRenderState

  • getRenderState(key: string): number | boolean
  • 获取渲染状态

    Parameters

    • key: string

    Returns number | boolean

getTexture

  • getTexture(key: string): default
  • 获取材质中已设置的贴图

    Parameters

    • key: string

    Returns default

getVector

  • 获取一个Vector值的拷贝

    Parameters

    • key: string

    Returns Vector2 | Vector3 | Vector4

releaseToPool

  • releaseToPool(): void
  • 对于创建时使用了fromPool的材质,需要手动调用此方法将其销毁。

    Returns void

setFloat

  • setFloat(key: string, value: number): boolean
  • 设置一个Float

    Parameters

    • key: string
    • value: number

    Returns boolean

    是否设置成功

setParam

  • 设置一个参数
    deprecated,使用setVector代替

    Parameters

    Returns boolean

    是否设置成功

setRenderDefination

  • setRenderDefination(key: string, value: boolean): void
  • deprecated

    Parameters

    • key: string
    • value: boolean

    Returns void

setRenderDefinition

  • setRenderDefinition(key: string, value: boolean): void
  • 设置宏。

    Parameters

    • key: string
    • value: boolean

    Returns void

setRenderState

  • setRenderState(key: string, value: number | boolean): boolean
  • 设置渲染状态
    只有标记了 useMaterialRenderStates 的Pass会受到影响

    Parameters

    • key: string
    • value: number | boolean

    Returns boolean

setTexture

  • setTexture(key: string, value?: default, mode?: number): boolean
  • 设置一张贴图

    Parameters

    • key: string
    • Optional value: default
    • mode: number = 0

      0-color,1-depth,2-stencil

    Returns boolean

    是否设置成功

setVector

  • 设置一个Vector

    Parameters

    Returns boolean

    是否设置成功

Generated using TypeDoc