Packageaway3d.materials.methods
Classpublic class CompositeDiffuseMethod
InheritanceCompositeDiffuseMethod Inheritance BasicDiffuseMethod Inheritance LightingMethodBase Inheritance ShadingMethodBase Inheritance flash.events.EventDispatcher
Subclasses CelDiffuseMethod, LightMapDiffuseMethod, SubsurfaceScatteringDiffuseMethod

CompositeDiffuseMethod provides a base class for diffuse methods that wrap a diffuse method to alter the strength of its calculated strength.



Public Properties
 PropertyDefined By
  alphaThreshold : Number
[override]
CompositeDiffuseMethod
  diffuseAlpha : Number
[override] The alpha component of the diffuse reflection.
CompositeDiffuseMethod
  diffuseColor : uint
[override] The color of the diffuse reflection when not using a texture.
CompositeDiffuseMethod
 Inheritedpasses : Vector.<MaterialPassBase>
[read-only] Any passes required that render to a texture used by this method.
ShadingMethodBase
  texture : Texture2DBase
[override] The bitmapData to use to define the diffuse reflection color per texel.
CompositeDiffuseMethod
 Inherited_totalLightColorReg : ShaderRegisterElement
BasicDiffuseMethod
  viewDirVaryingReg : ShaderRegisterElement
[override]
CompositeDiffuseMethod
Protected Properties
 PropertyDefined By
 Inherited_alphaThreshold : Number = 0
BasicDiffuseMethod
 Inherited_diffuseInputRegister : ShaderRegisterElement
BasicDiffuseMethod
 Inherited_globalPosReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_normalFragmentReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_passes : Vector.<MaterialPassBase>
ShadingMethodBase
 Inherited_projectionReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_secondaryUVFragmentReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_shadowRegister : ShaderRegisterElement
BasicDiffuseMethod
 Inherited_tangentVaryingReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_useTexture : Boolean
BasicDiffuseMethod
 Inherited_uvFragmentReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_viewDirFragmentReg : ShaderRegisterElement
ShadingMethodBase
 Inherited_viewDirVaryingReg : ShaderRegisterElement
ShadingMethodBase
Public Methods
 MethodDefined By
  
CompositeDiffuseMethod(modulateMethod:Function = null, baseDiffuseMethod:BasicDiffuseMethod = null)
Creates a new WrapDiffuseMethod object.
CompositeDiffuseMethod
 Inherited
[override] Copies the state from a BasicDiffuseMethod object into the current object.
BasicDiffuseMethod
  
dispose():void
[override] Cleans up any resources used by the current object.
CompositeDiffuseMethod
 Inherited
generateMip(stage3DProxy:Stage3DProxy):void
BasicDiffuseMethod
Protected Methods
 MethodDefined By
 Inherited
getTexSampleCode(vo:MethodVO, targetReg:ShaderRegisterElement, inputReg:ShaderRegisterElement, uvReg:ShaderRegisterElement = null, forceWrap:String = null):String
A helper method that generates standard code for sampling from a texture using the normal uv coordinates.
ShadingMethodBase
 Inherited
Marks the shader program as invalid, so it will be recompiled before the next render.
ShadingMethodBase
Property Detail
alphaThresholdproperty
alphaThreshold:Number[override]


Implementation
    public function get alphaThreshold():Number
    public function set alphaThreshold(value:Number):void
diffuseAlphaproperty 
diffuseAlpha:Number[override]

The alpha component of the diffuse reflection.


Implementation
    public function get diffuseAlpha():Number
    public function set diffuseAlpha(value:Number):void
diffuseColorproperty 
diffuseColor:uint[override]

The color of the diffuse reflection when not using a texture.


Implementation
    public function get diffuseColor():uint
    public function set diffuseColor(value:uint):void
globalPosRegproperty 
globalPosReg:ShaderRegisterElement[override]


Implementation
    arcane function get globalPosReg():ShaderRegisterElement
    arcane function set globalPosReg(value:ShaderRegisterElement):void
normalFragmentRegproperty 
normalFragmentReg:ShaderRegisterElement[override]


Implementation
    arcane function get normalFragmentReg():ShaderRegisterElement
    arcane function set normalFragmentReg(value:ShaderRegisterElement):void
projectionRegproperty 
projectionReg:ShaderRegisterElement[override]


Implementation
    arcane function get projectionReg():ShaderRegisterElement
    arcane function set projectionReg(value:ShaderRegisterElement):void
secondaryUVFragmentRegproperty 
secondaryUVFragmentReg:ShaderRegisterElement[override]


Implementation
    arcane function get secondaryUVFragmentReg():ShaderRegisterElement
    arcane function set secondaryUVFragmentReg(value:ShaderRegisterElement):void
shadowRegisterproperty 
shadowRegister:ShaderRegisterElement  [write-only] [override]


Implementation
    arcane function set shadowRegister(value:ShaderRegisterElement):void
tangentVaryingRegproperty 
tangentVaryingReg:ShaderRegisterElement[override]


Implementation
    arcane function get tangentVaryingReg():ShaderRegisterElement
    arcane function set tangentVaryingReg(value:ShaderRegisterElement):void
textureproperty 
texture:Texture2DBase[override]

The bitmapData to use to define the diffuse reflection color per texel.


Implementation
    public function get texture():Texture2DBase
    public function set texture(value:Texture2DBase):void
UVFragmentRegproperty 
UVFragmentReg:ShaderRegisterElement[override]


Implementation
    arcane function get UVFragmentReg():ShaderRegisterElement
    arcane function set UVFragmentReg(value:ShaderRegisterElement):void
viewDirFragmentRegproperty 
viewDirFragmentReg:ShaderRegisterElement[override]


Implementation
    arcane function get viewDirFragmentReg():ShaderRegisterElement
    arcane function set viewDirFragmentReg(value:ShaderRegisterElement):void
viewDirVaryingRegproperty 
viewDirVaryingReg:ShaderRegisterElement[override]


Implementation
    public function get viewDirVaryingReg():ShaderRegisterElement
    public function set viewDirVaryingReg(value:ShaderRegisterElement):void
Constructor Detail
CompositeDiffuseMethod()Constructor
public function CompositeDiffuseMethod(modulateMethod:Function = null, baseDiffuseMethod:BasicDiffuseMethod = null)

Creates a new WrapDiffuseMethod object.

Parameters
modulateMethod:Function (default = null) — The method which will add the code to alter the base method's strength. It needs to have the signature clampDiffuse(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the diffuse strength.
 
baseDiffuseMethod:BasicDiffuseMethod (default = null) — The base diffuse method on which this method's shading is based.
Method Detail
activate()method
override arcane function activate(vo:MethodVO, stage3DProxy:Stage3DProxy):void

Parameters

vo:MethodVO
 
stage3DProxy:Stage3DProxy

cleanCompilationData()method 
override arcane function cleanCompilationData():void

deactivate()method 
override arcane function deactivate(vo:MethodVO, stage3DProxy:Stage3DProxy):void

Parameters

vo:MethodVO
 
stage3DProxy:Stage3DProxy

dispose()method 
override public function dispose():void

Cleans up any resources used by the current object.

getFragmentCodePerLight()method 
override arcane function getFragmentCodePerLight(vo:MethodVO, lightIndex:int, lightDirReg:ShaderRegisterElement, lightColReg:ShaderRegisterElement, regCache:ShaderRegisterCache):String

Get the fragment shader code that will generate the code relevant to a single light.

Parameters

vo:MethodVO
 
lightIndex:int
 
lightDirReg:ShaderRegisterElement
 
lightColReg:ShaderRegisterElement
 
regCache:ShaderRegisterCache

Returns
String
getFragmentCodePerProbe()method 
override arcane function getFragmentCodePerProbe(vo:MethodVO, lightIndex:int, cubeMapReg:ShaderRegisterElement, weightRegister:String, regCache:ShaderRegisterCache):String

Get the fragment shader code that will generate the code relevant to a single light probe object.

Parameters

vo:MethodVO — The index of the light currently processed. This is a continuation of the lightIndex parameter of the getFragmentCodePerLight method.
 
lightIndex:int — The register containing the cube map for the current probe
 
cubeMapReg:ShaderRegisterElement — A string representation of the register + component containing the current weight
 
weightRegister:String — The register cache providing any necessary registers to the shader
 
regCache:ShaderRegisterCache

Returns
String
getFragmentPostLightingCode()method 
override arcane function getFragmentPostLightingCode(vo:MethodVO, regCache:ShaderRegisterCache, targetReg:ShaderRegisterElement):String

Parameters

vo:MethodVO
 
regCache:ShaderRegisterCache
 
targetReg:ShaderRegisterElement

Returns
String
getFragmentPreLightingCode()method 
override arcane function getFragmentPreLightingCode(vo:MethodVO, regCache:ShaderRegisterCache):String

Parameters

vo:MethodVO
 
regCache:ShaderRegisterCache

Returns
String
getVertexCode()method 
override arcane function getVertexCode(vo:MethodVO, regCache:ShaderRegisterCache):String

Parameters

vo:MethodVO
 
regCache:ShaderRegisterCache

Returns
String
initConstants()method 
override arcane function initConstants(vo:MethodVO):void

Parameters

vo:MethodVO

initVO()method 
override arcane function initVO(vo:MethodVO):void

Parameters

vo:MethodVO

reset()method 
override arcane function reset():void