These constants define properties common to all material types, with the exception of Texture Combine Operations which only apply to MeshBasicMaterial and MeshLambertMaterial.
v3d.FrontSide
v3d.BackSide
v3d.DoubleSide
v3d.TwoPassDoubleSide
Defines which side of faces will be rendered - front, back or both. Default is FrontSide.
TwoPassDoubleSide will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
v3d.NoBlending
v3d.NormalBlending
v3d.AdditiveBlending
v3d.SubtractiveBlending
v3d.MultiplyBlending
v3d.CustomBlending
These control the source and destination blending equations for the material's RGB and Alpha sent to the WebGLRenderer for use by WebGL.
NormalBlending is the default.
Note that CustomBlending must be set to use Custom Blending Equations.
v3d.NeverDepth
v3d.AlwaysDepth
v3d.EqualDepth
v3d.LessDepth
v3d.LessEqualDepth
v3d.GreaterEqualDepth
v3d.GreaterDepth
v3d.NotEqualDepth
Which depth function the material uses to compare incoming pixels Z-depth against the current Z-depth buffer value. If the result of the comparison is true, the pixel will be drawn.
NeverDepth will never return true.
AlwaysDepth will always return true.
EqualDepth will return true if the incoming pixel Z-depth is equal to the current buffer Z-depth.
LessDepth will return true if the incoming pixel Z-depth is less than the current buffer Z-depth.
LessEqualDepth is the default and will return true if the incoming pixel Z-depth is less than or equal to the current buffer Z-depth.
GreaterEqualDepth will return true if the incoming pixel Z-depth is greater than or equal to the current buffer Z-depth.
GreaterDepth will return true if the incoming pixel Z-depth is greater than the current buffer Z-depth.
NotEqualDepth will return true if the incoming pixel Z-depth is not equal to the current buffer Z-depth.
v3d.MultiplyOperation
v3d.MixOperation
v3d.AddOperation
These define how the result of the surface's color is combined with the environment map (if present), for MeshBasicMaterial and MeshLambertMaterial.
MultiplyOperation is the default and multiplies the environment map color with the surface color.
MixOperation uses reflectivity to blend between the two colors.
AddOperation adds the two colors.
v3d.NeverStencilFunc
v3d.LessStencilFunc
v3d.EqualStencilFunc
v3d.LessEqualStencilFunc
v3d.GreaterStencilFunc
v3d.NotEqualStencilFunc
v3d.GreaterEqualStencilFunc
v3d.AlwaysStencilFunc
Which stencil function the material uses to determine whether or not to perform a stencil operation.
NeverStencilFunc will never return true.
LessStencilFunc will return true if the stencil reference value is less than the current stencil value.
EqualStencilFunc will return true if the stencil reference value is equal to the current stencil value.
LessEqualStencilFunc will return true if the stencil reference value is less than or equal to the current stencil value.
GreaterStencilFunc will return true if the stencil reference value is greater than the current stencil value.
NotEqualStencilFunc will return true if the stencil reference value is not equal to the current stencil value.
GreaterEqualStencilFunc will return true if the stencil reference value is greater than or equal to the current stencil value.
AlwaysStencilFunc will always return true.
v3d.ZeroStencilOp
v3d.KeepStencilOp
v3d.ReplaceStencilOp
v3d.IncrementStencilOp
v3d.DecrementStencilOp
v3d.IncrementWrapStencilOp
v3d.DecrementWrapStencilOp
v3d.InvertStencilOp
Which stencil operation the material will perform on the stencil buffer pixel if the provided stencil function passes.
ZeroStencilOp will set the stencil value to 0.
KeepStencilOp will not change the current stencil value.
ReplaceStencilOp will replace the stencil value with the specified stencil reference value.
IncrementStencilOp will increment the current stencil value by 1
.
DecrementStencilOp will decrement the current stencil value by 1
.
IncrementWrapStencilOp will increment the current stencil value by 1
. If the value increments past 255
it will be set to 0
.
DecrementWrapStencilOp will increment the current stencil value by 1
. If the value decrements below 0
it will be set to 255
.
InvertStencilOp will perform a bitwise inversion of the current stencil value.
v3d.TangentSpaceNormalMap
v3d.ObjectSpaceNormalMap
Defines the type of the normal map. For TangentSpaceNormalMap, the information is relative to the underlying surface. For ObjectSpaceNormalMap, the information is relative to the object orientation. Default is TangentSpaceNormalMap.
v3d.GLSL1
v3d.GLSL3
These work with all material types. First set the material's blending mode to v3d.CustomBlending, then set the desired Blending Equation, Source Factor and Destination Factor.
const material = new v3d.MeshBasicMaterial({color: 0x00ff00});
material.blending = v3d.CustomBlending;
material.blendEquation = v3d.AddEquation; //default
material.blendSrc = v3d.SrcAlphaFactor; //default
material.blendDst = v3d.OneMinusSrcAlphaFactor; //default
v3d.AddEquation
v3d.SubtractEquation
v3d.ReverseSubtractEquation
v3d.MinEquation
v3d.MaxEquation
v3d.ZeroFactor
v3d.OneFactor
v3d.SrcColorFactor
v3d.OneMinusSrcColorFactor
v3d.SrcAlphaFactor
v3d.OneMinusSrcAlphaFactor
v3d.DstAlphaFactor
v3d.OneMinusDstAlphaFactor
v3d.DstColorFactor
v3d.OneMinusDstColorFactor
v3d.SrcAlphaSaturateFactor
All of the Source Factors are valid as Destination Factors, except for v3d.SrcAlphaSaturateFactor
For more info on how to obtain the source code of this module see this page.