Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Material

材质资源类,包含模型绘制方式的全部细节描述。

Hierarchy

Index

Constructors

constructor

Properties

__asyncLoadAssets__

__asyncLoadAssets__: boolean = false

__depends__

__depends__: any = null

__nativeDepend__

__nativeDepend__: any = null

__onLoadedInvoked__

__onLoadedInvoked__: boolean = false

Protected _defines

_defines: MacroRecord[] = []

Protected _effectAsset

_effectAsset: EffectAsset | null = null

Protected _hash

_hash: number = 0

_native

_native: string = ""

用于本机资产的可序列化URL。供内部使用。

default

""

_nativeUrl

_nativeUrl: string = ""

Protected _passes

_passes: Pass[] = []

Protected _props

_props: Record<string, MaterialPropertyFull | MaterialPropertyFull[]>[] = []

Protected _states

_states: PassOverrides[] = []

Protected _techIdx

_techIdx: number = 0

_uuid

_uuid: string

loaded

loaded: boolean = true

该资源是否已经成功加载。

Static preventDeferredLoadDependents

preventDeferredLoadDependents: boolean = false

当场景或 Prefab 被标记为 asyncLoadAssets,禁止延迟加载该资源所依赖的其它原始资源。

default

false

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

禁止预加载原生对象。

default

false

Accessors

Private nativeAsset

  • get nativeAsset(): any
  • set nativeAsset(obj: any): void
  • 此资源的基础资源(如果有)。 此属性可用于访问与资源相关的其他详细信息或功能。
    如果_native可用,则此属性将由加载器初始化。

    default

    null

    Returns any

  • 此资源的基础资源(如果有)。 此属性可用于访问与资源相关的其他详细信息或功能。
    如果_native可用,则此属性将由加载器初始化。

    default

    null

    Parameters

    • obj: any

    Returns void

nativeDep

  • get nativeDep(): undefined | { __isNative__: boolean; ext: string; uuid: string }

effectAsset

effectName

  • get effectName(): any

hash

  • get hash(): number

nativeUrl

  • get nativeUrl(): string

owner

parent

passes

  • get passes(): Pass[]

refCount

  • get refCount(): number

technique

  • get technique(): number

Methods

Protected bindTexture

Protected createPasses

  • _createPasses(): Pass[]

Protected doDestroy

  • _doDestroy(): void

Protected prepareInfo

  • prepareInfo(patch: Record<string, unknown> | Record<string, unknown>[], cur: Record<string, unknown>[]): void

Private setRawAsset

  • setRawAsset(filename: string, inLibrary?: boolean): void

Protected update

  • update(keepProps?: boolean): void

Protected uploadProperty

addRef

copy

Optional createNode

decRef

  • decRef(autoRelease?: boolean): Asset

destroy

  • destroy(): any
  • 彻底销毁材质,注意销毁后无法重新初始化。
    如需重新初始化材质,不必先调用 destroy。

    Returns any

getProperty

initialize

onLoaded

  • onLoaded(): void

overridePipelineStates

  • overridePipelineStates(overrides: PassOverrides, passIdx?: undefined | number): void
  • 使用指定管线状态重载当前的 pass(数组)。只允许对材质实例执行。

    Parameters

    • overrides: PassOverrides

      The pipeline state override values.

    • Optional passIdx: undefined | number

      The pass to apply to. Will apply to all passes if not specified.

    Returns void

recompileShaders

  • recompileShaders(overrides: MacroRecord, passIdx?: undefined | number): void
  • 使用指定预处理宏重新编译当前 pass(数组)中的 shader。只允许对材质实例执行。

    Parameters

    • overrides: MacroRecord

      The shader macro override values.

    • Optional passIdx: undefined | number

      The pass to apply to. Will apply to all passes if not specified.

    Returns void

reset

resetUniforms

  • resetUniforms(clearPasses?: boolean): void
  • 重置材质的所有 uniform 参数数据为 EffectAsset 中的默认初始值。

    Parameters

    • Default value clearPasses: boolean = true

      Will the rendering data be cleared too?

    Returns void

Private serialize

  • serialize(): void

setProperty

toString

  • toString(): string
  • 返回对象的字符串表示形式。
    Asset 对象将会重写 Object 对象的 toString() 方法。
    当资源要表示为文本值时或在字符串连接时引用时,
    JavaScript 会自动调用 toString() 方法。

    对于原始类型的资源,它将返回this.nativeUrl
    否则,返回空字符串。
    子类可能会覆盖此方法。

    method

    toString

    Returns string

Static deserialize

  • deserialize(data: any): any

Static getHash

Generated using TypeDoc