Packagelaya.d3.core.material
Classpublic class BaseMaterial
InheritanceBaseMaterial Inheritance laya.resource.Resource
Implements laya.d3.core.IClone
Subclasses ExtendTerrainMaterial, GlitterMaterial, PBRMaterial, ShurikenParticleMaterial, StandardMaterial, TerrainMaterial, WaterDetailMaterial, WaterMaterial

BaseMaterial 类用于创建材质,抽象类,不允许实例。



Public Properties
 PropertyDefined By
  alphaTest : Boolean
获取是否透明裁剪。
BaseMaterial
  alphaTestValue : Number
获取透明测试模式裁剪值。
BaseMaterial
  blend : int
透明混合。
BaseMaterial
  blendConstColor : Vector4
混合常量颜色。
BaseMaterial
  blendEquation : int
混合方程。
BaseMaterial
  blendEquationAlpha : int
Alpha混合方程。
BaseMaterial
  blendEquationRGB : int
RGB混合方程。
BaseMaterial
  cull : int
渲染剔除。
BaseMaterial
  depthFunc : int
深度测试函数。
BaseMaterial
  depthTest : Boolean
是否深度测试。
BaseMaterial
  depthWrite : Boolean
是否深度写入。
BaseMaterial
  dstBlend : int
目标混合参数,在blend为BLEND_ENABLE_ALL时生效。
BaseMaterial
  dstBlendAlpha : int
Alpha目标混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。
BaseMaterial
  dstBlendRGB : int
RGB目标混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。
BaseMaterial
  renderQueue : int
所属渲染队列.
BaseMaterial
  srcBlend : int
源混合参数,在blend为BLEND_ENABLE_ALL时生效。
BaseMaterial
  srcBlendAlpha : int
Alpha源混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。
BaseMaterial
  srcBlendRGB : int
RGB源混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。
BaseMaterial
Public Methods
 MethodDefined By
  
创建一个 BaseMaterial 实例。
BaseMaterial
  
设置渲染相关状态。
BaseMaterial
  
_setRenderStateFrontFace(isTarget:Boolean, transform:Transform3D):void
设置渲染相关状态。
BaseMaterial
  
_upload():void
上传材质。
BaseMaterial
  
clone():*
克隆。
BaseMaterial
  
cloneTo(destObject:*):void
克隆。
BaseMaterial
  
onAsynLoaded(url:String, data:*, params:Array):void
[override] private
BaseMaterial
  
setShaderName(name:String):void
设置使用Shader名字。
BaseMaterial
Protected Methods
 MethodDefined By
  
增加禁用宏定义。
BaseMaterial
  
_addShaderDefine(value:int):void
增加Shader宏定义。
BaseMaterial
  
_getBool(shaderIndex:int):*
获取布尔。
BaseMaterial
  
_getBuffer(shaderIndex:int):*
获取Buffer。
BaseMaterial
  
_getColor(shaderIndex:int):*
获取颜色。
BaseMaterial
  
_getInt(shaderIndex:int):*
获取整形。
BaseMaterial
  
_getMatrix4x4(shaderIndex:int):*
获取矩阵。
BaseMaterial
  
_getNumber(shaderIndex:int):*
获取浮点。
BaseMaterial
  
_getTexture(shaderIndex:int):BaseTexture
获取纹理。
BaseMaterial
  
_getVector2(shaderIndex:int):*
获取二维向量。
BaseMaterial
  
移除禁用宏定义。
BaseMaterial
  
_removeShaderDefine(value:int):void
移除Shader宏定义。
BaseMaterial
  
_setBool(shaderIndex:int, b:Boolean):void
设置布尔。
BaseMaterial
  
_setBuffer(shaderIndex:int, buffer:Float32Array):void
设置Buffer。
BaseMaterial
  
_setColor(shaderIndex:int, color:*):void
设置颜色。
BaseMaterial
  
_setInt(shaderIndex:int, i:int):void
设置整型。
BaseMaterial
  
_setMatrix4x4(shaderIndex:int, matrix4x4:Matrix4x4):void
设置矩阵。
BaseMaterial
  
_setNumber(shaderIndex:int, number:Number):void
设置浮点。
BaseMaterial
  
_setTexture(shaderIndex:int, texture:BaseTexture):void
设置纹理。
BaseMaterial
  
_setVector2(shaderIndex:int, vector2:Vector2):void
设置二维向量。
BaseMaterial
Public Constants
 ConstantDefined By
  BLEND_DISABLE : int = 0
[static] 混合枚举_禁用。
BaseMaterial
  BLEND_ENABLE_ALL : int = 1
[static] 混合枚举_启用_RGB和Alpha统一混合。
BaseMaterial
  BLEND_ENABLE_SEPERATE : int = 2
[static] 混合枚举_启用_RGB和Alpha单独混合。
BaseMaterial
  BLENDEQUATION_ADD : int = 0
[static] 混合方程枚举_加法,例:source + destination
BaseMaterial
  BLENDEQUATION_REVERSE_SUBTRACT : int = 2
[static] 混合方程枚举_反序减法,例:destination - source
BaseMaterial
  BLENDEQUATION_SUBTRACT : int = 1
[static] 混合方程枚举_减法,例:source - destination
BaseMaterial
  BLENDPARAM_CONSTANT_ALPHA : int = 0x8003
[static] 混合参数枚举_常量阿尔法,例:RGB(Ac, Ac, Ac),Alpha(Ac)。
BaseMaterial
  BLENDPARAM_CONSTANT_COLOR : int = 0x8001
[static] 混合参数枚举_常量颜色,例:RGB(Rc, Gc, Bc),Alpha(Ac)。
BaseMaterial
  BLENDPARAM_DST_ALPHA : int = 0x0304
[static] 混合参数枚举_目标阿尔法,例:RGB(Ad, Ad, Ad),Alpha(Ad)。
BaseMaterial
  BLENDPARAM_DST_COLOR : int = 0x0306
[static] 混合参数枚举_目标颜色,例:RGB(Rd, Gd, Bd),Alpha(Ad)。
BaseMaterial
  BLENDPARAM_ONE : int = 1
[static] 混合参数枚举_一,例:RGB(1,1,1),Alpha:(1)。
BaseMaterial
  BLENDPARAM_ONE_MINUS_CONSTANT_ALPHA : int = 0x8004
[static] 混合参数枚举_一减常量阿尔法,例:RGB(1-Ac, 1-Ac, 1-Ac),Alpha(1-Ac)。
BaseMaterial
  BLENDPARAM_ONE_MINUS_CONSTANT_COLOR : int = 0x8002
[static] 混合参数枚举_一减常量颜色,例:RGB(1-Rc, 1-Gc, 1-Bc),Alpha(1-Ac)。
BaseMaterial
  BLENDPARAM_ONE_MINUS_DST_ALPHA : int = 0x0305
[static] 混合参数枚举_一减目标阿尔法,例:RGB(1-Ad, 1-Ad, 1-Ad),Alpha(Ad)。
BaseMaterial
  BLENDPARAM_ONE_MINUS_DST_COLOR : int = 0x0307
[static] 混合参数枚举_一减目标颜色,例:RGB(1-Rd, 1-Gd, 1-Bd),Alpha(1-Ad)。
BaseMaterial
  BLENDPARAM_ONE_MINUS_SRC_ALPHA : int = 0x0303
[static] 混合参数枚举_一减源阿尔法,例:RGB(1-As, 1-As, 1-As),Alpha(1-As)。
BaseMaterial
  BLENDPARAM_ONE_MINUS_SRC_COLOR : int = 0x0301
[static] 混合参数枚举_一减源颜色,例:RGB(1-Rs, 1-Gs, 1-Bs),Alpha(1-As)。
BaseMaterial
  BLENDPARAM_SRC_ALPHA : int = 0x0302
[static] 混合参数枚举_源透明,例:RGB(As, As, As),Alpha(1-As)。
BaseMaterial
  BLENDPARAM_SRC_ALPHA_SATURATE : int = 0x0308
[static] 混合参数枚举_阿尔法饱和,例:RGB(min(As, 1 - Ad), min(As, 1 - Ad), min(As, 1 - Ad)),Alpha(1)。
BaseMaterial
  BLENDPARAM_SRC_COLOR : int = 0x0300
[static] 混合参数枚举_源颜色,例:RGB(Rs, Gs, Bs),Alpha(As)。
BaseMaterial
  BLENDPARAM_ZERO : int = 0
[static] 混合参数枚举_零,例:RGB(0,0,0),Alpha:(1)。
BaseMaterial
  CULL_BACK : int = 2
[static] 剔除枚举_剔除背面。
BaseMaterial
  CULL_FRONT : int = 1
[static] 剔除枚举_剔除正面。
BaseMaterial
  CULL_NONE : int = 0
[static] 剔除枚举_不剔除。
BaseMaterial
  DEPTHFUNC_ALWAYS : int = 0x0207
[static] 深度测试函数枚举_总是通过。
BaseMaterial
  DEPTHFUNC_EQUAL : int = 0x0202
[static] 深度测试函数枚举_等于时通过。
BaseMaterial
  DEPTHFUNC_GEQUAL : int = 0x0206
[static] 深度测试函数枚举_大于等于时通过。
BaseMaterial
  DEPTHFUNC_GREATER : int = 0x0204
[static] 深度测试函数枚举_大于时通过。
BaseMaterial
  DEPTHFUNC_LEQUAL : int = 0x0203
[static] 深度测试函数枚举_小于等于时通过。
BaseMaterial
  DEPTHFUNC_LESS : int = 0x0201
[static] 深度测试函数枚举_小于时通过。
BaseMaterial
  DEPTHFUNC_NEVER : int = 0x0200
[static] 深度测试函数枚举_从不通过。
BaseMaterial
  DEPTHFUNC_NOTEQUAL : int = 0x0205
[static] 深度测试函数枚举_不等于时通过。
BaseMaterial
Property Detail
alphaTestproperty
alphaTest:Boolean

获取是否透明裁剪。


Implementation
    public function get alphaTest():Boolean
    public function set alphaTest(value:Boolean):void
alphaTestValueproperty 
alphaTestValue:Number

获取透明测试模式裁剪值。


Implementation
    public function get alphaTestValue():Number
    public function set alphaTestValue(value:Number):void
blendproperty 
public var blend:int

透明混合。

blendConstColorproperty 
public var blendConstColor:Vector4

混合常量颜色。

blendEquationproperty 
public var blendEquation:int

混合方程。

blendEquationAlphaproperty 
public var blendEquationAlpha:int

Alpha混合方程。

blendEquationRGBproperty 
public var blendEquationRGB:int

RGB混合方程。

cullproperty 
public var cull:int

渲染剔除。

depthFuncproperty 
public var depthFunc:int

深度测试函数。

depthTestproperty 
public var depthTest:Boolean

是否深度测试。

depthWriteproperty 
public var depthWrite:Boolean

是否深度写入。

dstBlendproperty 
public var dstBlend:int

目标混合参数,在blend为BLEND_ENABLE_ALL时生效。

dstBlendAlphaproperty 
public var dstBlendAlpha:int

Alpha目标混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。

dstBlendRGBproperty 
public var dstBlendRGB:int

RGB目标混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。

renderQueueproperty 
public var renderQueue:int

所属渲染队列.

srcBlendproperty 
public var srcBlend:int

源混合参数,在blend为BLEND_ENABLE_ALL时生效。

srcBlendAlphaproperty 
public var srcBlendAlpha:int

Alpha源混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。

srcBlendRGBproperty 
public var srcBlendRGB:int

RGB源混合参数,在blend为BLEND_ENABLE_SEPERATE时生效。

Constructor Detail
BaseMaterial()Constructor
public function BaseMaterial()

创建一个 BaseMaterial 实例。

Method Detail
_addDisablePublicShaderDefine()method
protected function _addDisablePublicShaderDefine(value:int):void

增加禁用宏定义。

Parameters

value:int — 宏定义。

_addShaderDefine()method 
protected function _addShaderDefine(value:int):void

增加Shader宏定义。

Parameters

value:int — 宏定义。

_getBool()method 
protected function _getBool(shaderIndex:int):*

获取布尔。

Parameters

shaderIndex:int — shader索引。

Returns
* — 布尔。
_getBuffer()method 
protected function _getBuffer(shaderIndex:int):*

获取Buffer。

Parameters

shaderIndex:int — shader索引。

Returns
*
_getColor()method 
protected function _getColor(shaderIndex:int):*

获取颜色。

Parameters

shaderIndex:int — shader索引。

Returns
* — 颜色向量。
_getInt()method 
protected function _getInt(shaderIndex:int):*

获取整形。

Parameters

shaderIndex:int — shader索引。

Returns
* — 整形。
_getMatrix4x4()method 
protected function _getMatrix4x4(shaderIndex:int):*

获取矩阵。

Parameters

shaderIndex:int — shader索引。

Returns
* — 矩阵。
_getNumber()method 
protected function _getNumber(shaderIndex:int):*

获取浮点。

Parameters

shaderIndex:int — shader索引。

Returns
* — 浮点。
_getTexture()method 
protected function _getTexture(shaderIndex:int):BaseTexture

获取纹理。

Parameters

shaderIndex:int — shader索引。

Returns
BaseTexture — 纹理。
_getVector2()method 
protected function _getVector2(shaderIndex:int):*

获取二维向量。

Parameters

shaderIndex:int — shader索引。

Returns
* — 二维向量。
_removeDisablePublicShaderDefine()method 
protected function _removeDisablePublicShaderDefine(value:int):void

移除禁用宏定义。

Parameters

value:int — 宏定义。

_removeShaderDefine()method 
protected function _removeShaderDefine(value:int):void

移除Shader宏定义。

Parameters

value:int — 宏定义。

_setBool()method 
protected function _setBool(shaderIndex:int, b:Boolean):void

设置布尔。

Parameters

shaderIndex:int — shader索引。
 
b:Boolean — 布尔。

_setBuffer()method 
protected function _setBuffer(shaderIndex:int, buffer:Float32Array):void

设置Buffer。

Parameters

shaderIndex:int — shader索引。
 
buffer:Float32Array — buffer数据。

_setColor()method 
protected function _setColor(shaderIndex:int, color:*):void

设置颜色。

Parameters

shaderIndex:int — shader索引。
 
color:* — 颜色向量。

_setInt()method 
protected function _setInt(shaderIndex:int, i:int):void

设置整型。

Parameters

shaderIndex:int — shader索引。
 
i:int — 整形。

_setMatrix4x4()method 
protected function _setMatrix4x4(shaderIndex:int, matrix4x4:Matrix4x4):void

设置矩阵。

Parameters

shaderIndex:int — shader索引。
 
matrix4x4:Matrix4x4 — 矩阵。

_setNumber()method 
protected function _setNumber(shaderIndex:int, number:Number):void

设置浮点。

Parameters

shaderIndex:int — shader索引。
 
number:Number — 浮点。

_setRenderStateBlendDepth()method 
public function _setRenderStateBlendDepth():void

设置渲染相关状态。

_setRenderStateFrontFace()method 
public function _setRenderStateFrontFace(isTarget:Boolean, transform:Transform3D):void

设置渲染相关状态。

Parameters

isTarget:Boolean
 
transform:Transform3D

_setTexture()method 
protected function _setTexture(shaderIndex:int, texture:BaseTexture):void

设置纹理。

Parameters

shaderIndex:int — shader索引。
 
texture:BaseTexture — 纹理。

_setVector2()method 
protected function _setVector2(shaderIndex:int, vector2:Vector2):void

设置二维向量。

Parameters

shaderIndex:int — shader索引。
 
vector2:Vector2 — 二维向量。

_upload()method 
public function _upload():void

上传材质。

clone()method 
public function clone():*

克隆。

Returns
* — 克隆副本。
cloneTo()method 
public function cloneTo(destObject:*):void

克隆。

Parameters

destObject:* — 克隆源。

onAsynLoaded()method 
override public function onAsynLoaded(url:String, data:*, params:Array):void

private

Parameters

url:String
 
data:*
 
params:Array

setShaderName()method 
public function setShaderName(name:String):void

设置使用Shader名字。

Parameters

name:String — 名称。

Constant Detail
BLEND_DISABLEConstant
public static const BLEND_DISABLE:int = 0

混合枚举_禁用。

BLEND_ENABLE_ALLConstant 
public static const BLEND_ENABLE_ALL:int = 1

混合枚举_启用_RGB和Alpha统一混合。

BLEND_ENABLE_SEPERATEConstant 
public static const BLEND_ENABLE_SEPERATE:int = 2

混合枚举_启用_RGB和Alpha单独混合。

BLENDEQUATION_ADDConstant 
public static const BLENDEQUATION_ADD:int = 0

混合方程枚举_加法,例:source + destination

BLENDEQUATION_REVERSE_SUBTRACTConstant 
public static const BLENDEQUATION_REVERSE_SUBTRACT:int = 2

混合方程枚举_反序减法,例:destination - source

BLENDEQUATION_SUBTRACTConstant 
public static const BLENDEQUATION_SUBTRACT:int = 1

混合方程枚举_减法,例:source - destination

BLENDPARAM_CONSTANT_ALPHAConstant 
public static const BLENDPARAM_CONSTANT_ALPHA:int = 0x8003

混合参数枚举_常量阿尔法,例:RGB(Ac, Ac, Ac),Alpha(Ac)。

BLENDPARAM_CONSTANT_COLORConstant 
public static const BLENDPARAM_CONSTANT_COLOR:int = 0x8001

混合参数枚举_常量颜色,例:RGB(Rc, Gc, Bc),Alpha(Ac)。

BLENDPARAM_DST_ALPHAConstant 
public static const BLENDPARAM_DST_ALPHA:int = 0x0304

混合参数枚举_目标阿尔法,例:RGB(Ad, Ad, Ad),Alpha(Ad)。

BLENDPARAM_DST_COLORConstant 
public static const BLENDPARAM_DST_COLOR:int = 0x0306

混合参数枚举_目标颜色,例:RGB(Rd, Gd, Bd),Alpha(Ad)。

BLENDPARAM_ONEConstant 
public static const BLENDPARAM_ONE:int = 1

混合参数枚举_一,例:RGB(1,1,1),Alpha:(1)。

BLENDPARAM_ONE_MINUS_CONSTANT_ALPHAConstant 
public static const BLENDPARAM_ONE_MINUS_CONSTANT_ALPHA:int = 0x8004

混合参数枚举_一减常量阿尔法,例:RGB(1-Ac, 1-Ac, 1-Ac),Alpha(1-Ac)。

BLENDPARAM_ONE_MINUS_CONSTANT_COLORConstant 
public static const BLENDPARAM_ONE_MINUS_CONSTANT_COLOR:int = 0x8002

混合参数枚举_一减常量颜色,例:RGB(1-Rc, 1-Gc, 1-Bc),Alpha(1-Ac)。

BLENDPARAM_ONE_MINUS_DST_ALPHAConstant 
public static const BLENDPARAM_ONE_MINUS_DST_ALPHA:int = 0x0305

混合参数枚举_一减目标阿尔法,例:RGB(1-Ad, 1-Ad, 1-Ad),Alpha(Ad)。

BLENDPARAM_ONE_MINUS_DST_COLORConstant 
public static const BLENDPARAM_ONE_MINUS_DST_COLOR:int = 0x0307

混合参数枚举_一减目标颜色,例:RGB(1-Rd, 1-Gd, 1-Bd),Alpha(1-Ad)。

BLENDPARAM_ONE_MINUS_SRC_ALPHAConstant 
public static const BLENDPARAM_ONE_MINUS_SRC_ALPHA:int = 0x0303

混合参数枚举_一减源阿尔法,例:RGB(1-As, 1-As, 1-As),Alpha(1-As)。

BLENDPARAM_ONE_MINUS_SRC_COLORConstant 
public static const BLENDPARAM_ONE_MINUS_SRC_COLOR:int = 0x0301

混合参数枚举_一减源颜色,例:RGB(1-Rs, 1-Gs, 1-Bs),Alpha(1-As)。

BLENDPARAM_SRC_ALPHAConstant 
public static const BLENDPARAM_SRC_ALPHA:int = 0x0302

混合参数枚举_源透明,例:RGB(As, As, As),Alpha(1-As)。

BLENDPARAM_SRC_ALPHA_SATURATEConstant 
public static const BLENDPARAM_SRC_ALPHA_SATURATE:int = 0x0308

混合参数枚举_阿尔法饱和,例:RGB(min(As, 1 - Ad), min(As, 1 - Ad), min(As, 1 - Ad)),Alpha(1)。

BLENDPARAM_SRC_COLORConstant 
public static const BLENDPARAM_SRC_COLOR:int = 0x0300

混合参数枚举_源颜色,例:RGB(Rs, Gs, Bs),Alpha(As)。

BLENDPARAM_ZEROConstant 
public static const BLENDPARAM_ZERO:int = 0

混合参数枚举_零,例:RGB(0,0,0),Alpha:(1)。

CULL_BACKConstant 
public static const CULL_BACK:int = 2

剔除枚举_剔除背面。

CULL_FRONTConstant 
public static const CULL_FRONT:int = 1

剔除枚举_剔除正面。

CULL_NONEConstant 
public static const CULL_NONE:int = 0

剔除枚举_不剔除。

DEPTHFUNC_ALWAYSConstant 
public static const DEPTHFUNC_ALWAYS:int = 0x0207

深度测试函数枚举_总是通过。

DEPTHFUNC_EQUALConstant 
public static const DEPTHFUNC_EQUAL:int = 0x0202

深度测试函数枚举_等于时通过。

DEPTHFUNC_GEQUALConstant 
public static const DEPTHFUNC_GEQUAL:int = 0x0206

深度测试函数枚举_大于等于时通过。

DEPTHFUNC_GREATERConstant 
public static const DEPTHFUNC_GREATER:int = 0x0204

深度测试函数枚举_大于时通过。

DEPTHFUNC_LEQUALConstant 
public static const DEPTHFUNC_LEQUAL:int = 0x0203

深度测试函数枚举_小于等于时通过。

DEPTHFUNC_LESSConstant 
public static const DEPTHFUNC_LESS:int = 0x0201

深度测试函数枚举_小于时通过。

DEPTHFUNC_NEVERConstant 
public static const DEPTHFUNC_NEVER:int = 0x0200

深度测试函数枚举_从不通过。

DEPTHFUNC_NOTEQUALConstant 
public static const DEPTHFUNC_NOTEQUAL:int = 0x0205

深度测试函数枚举_不等于时通过。