Shader3D 类用于创建Shader3D。

构造函数

属性

shaderType: ShaderFeatureType
_configDefineValues: IDefineDatas
BLEND: number

渲染状态_混合。

BLEND_DST: number

渲染状态_混合目标。

BLEND_DST_ALPHA: number

渲染状态_混合目标ALPHA。

BLEND_DST_RGB: number

渲染状态_混合目标RGB。

BLEND_EQUATION: number

渲染状态_混合方程。

BLEND_EQUATION_ALPHA: number

渲染状态_ALPHA混合方程。

BLEND_EQUATION_RGB: number

渲染状态_混合方程。

BLEND_SRC: number

渲染状态_混合源。

BLEND_SRC_ALPHA: number

渲染状态_混合源ALPHA。

BLEND_SRC_RGB: number

渲染状态_混合源RGB。

CULL: number

渲染状态_剔除。

debugMode: boolean = false

是否开启调试模式。

DEPTH_TEST: number

渲染状态_深度测试。

DEPTH_WRITE: number

渲染状态_深度写入。

PERIOD_CAMERA: number = 3

shader变量提交周期,逐相机。

PERIOD_CUSTOM: number = 0

shader变量提交周期,自定义。

PERIOD_MATERIAL: number = 1

shader变量提交周期,逐材质。

PERIOD_SCENE: number = 4

shader变量提交周期,逐场景。

PERIOD_SPRITE: number = 2

shader变量提交周期,逐精灵和相机,注:因为精灵包含MVP矩阵,为复合属性,所以摄像机发生变化时也应提交。

STENCIL_Op: number

渲染状态_模板写入设置

STENCIL_Ref: number

渲染状态_模板写入值

STENCIL_TEST: number

渲染状态_模板测试。

STENCIL_WRITE: number

渲染状态_模板写入

访问器

方法

  • 通过宏定义和二进制数据编译shader。

    参数

    • shaderName: string

      Shader名称。

    • subShaderIndex: number

      子着色器索引。

    • passIndex: number

      通道索引。

    • defineNames: string[]

      宏定义名字集合。

    • nodeCommonMap: string[]

      ubo集合名称集合

    • cacheBuffer: ArrayBuffer

      缓存的shader数据

    返回 void

  • 通过宏定义名字编译shader。

    参数

    • shaderName: string

      Shader名称。

    • subShaderIndex: number

      子着色器索引。

    • passIndex: number

      通道索引。

    • defineNames: string[]

      宏定义名字集合。

    • nodeCommonMap: string[]

      ubo集合名称集合

    返回 boolean