123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <base href="../../../" />
- <script src="page.js"></script>
- <link type="text/css" rel="stylesheet" href="page.css" />
- </head>
- <body>
- <h1>Material Constants</h1>
- <p class="desc">
- These constants define properties common to all material types, with the
- exception of Texture Combine Operations which only apply to
- [page:MeshBasicMaterial.combine MeshBasicMaterial],
- [page:MeshLambertMaterial.combine MeshLambertMaterial] and
- [page:MeshPhongMaterial.combine MeshPhongMaterial].<br />
- </p>
- <h2>Side</h2>
- <code>
- THREE.FrontSide
- THREE.BackSide
- THREE.DoubleSide
- </code>
-
- <p>
- Defines which side of faces will be rendered - front, back or both.
- Default is [page:Constant FrontSide].
- </p>
- <h2>Blending Mode</h2>
- <code>
- THREE.NoBlending
- THREE.NormalBlending
- THREE.AdditiveBlending
- THREE.SubtractiveBlending
- THREE.MultiplyBlending
- THREE.CustomBlending
- </code>
- <p>
- These control the source and destination blending equations for the
- material's RGB and Alpha sent to the WebGLRenderer for use by WebGL.<br />
- [page:Constant NormalBlending] is the default.<br />
- Note that [page:Constant CustomBlending] must be set to use
- [page:CustomBlendingEquation Custom Blending Equations].<br />
- See the [example:webgl_materials_blending materials / blending]
- example.<br />
- </p>
- <h2>Depth Mode</h2>
- <code>
- THREE.NeverDepth
- THREE.AlwaysDepth
- THREE.EqualDepth
- THREE.LessDepth
- THREE.LessEqualDepth
- THREE.GreaterEqualDepth
- THREE.GreaterDepth
- THREE.NotEqualDepth
- </code>
- <p>
- 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.<br />
- [page:Materials NeverDepth] will never return true.<br />
- [page:Materials AlwaysDepth] will always return true.<br />
- [page:Materials EqualDepth] will return true if the incoming pixel Z-depth
- is equal to the current buffer Z-depth.<br />
- [page:Materials LessDepth] will return true if the incoming pixel Z-depth
- is less than the current buffer Z-depth.<br />
- [page:Materials 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.<br />
- [page:Materials GreaterEqualDepth] will return true if the incoming pixel
- Z-depth is greater than or equal to the current buffer Z-depth.<br />
- [page:Materials GreaterDepth] will return true if the incoming pixel
- Z-depth is greater than the current buffer Z-depth.<br />
- [page:Materials NotEqualDepth] will return true if the incoming pixel
- Z-depth is not equal to the current buffer Z-depth.<br />
- </p>
- <h2>Texture Combine Operations</h2>
- <code>
- THREE.MultiplyOperation
- THREE.MixOperation
- THREE.AddOperation
- </code>
-
- <p>
- These define how the result of the surface's color is combined with the
- environment map (if present), for [page:MeshBasicMaterial.combine MeshBasicMaterial],
- [page:MeshLambertMaterial.combine MeshLambertMaterial]
- and [page:MeshPhongMaterial.combine MeshPhongMaterial]. <br />
- [page:Constant MultiplyOperation] is the default and multiplies the
- environment map color with the surface color.<br />
- [page:Constant MixOperation] uses reflectivity to blend between the two
- colors.<br />
- [page:Constant AddOperation] adds the two colors.
- </p>
- <h2>Stencil Functions</h2>
- <code>
- THREE.NeverStencilFunc
- THREE.LessStencilFunc
- THREE.EqualStencilFunc
- THREE.LessEqualStencilFunc
- THREE.GreaterStencilFunc
- THREE.NotEqualStencilFunc
- THREE.GreaterEqualStencilFunc
- THREE.AlwaysStencilFunc
- </code>
- <p>
- Which stencil function the material uses to determine whether or not to
- perform a stencil operation.<br />
- [page:Materials NeverStencilFunc] will never return true.<br />
- [page:Materials LessStencilFunc] will return true if the stencil reference
- value is less than the current stencil value.<br />
- [page:Materials EqualStencilFunc] will return true if the stencil
- reference value is equal to the current stencil value.<br />
- [page:Materials LessEqualStencilFunc] will return true if the stencil
- reference value is less than or equal to the current stencil value.<br />
- [page:Materials GreaterStencilFunc] will return true if the stencil
- reference value is greater than the current stencil value.<br />
- [page:Materials NotEqualStencilFunc] will return true if the stencil
- reference value is not equal to the current stencil value.<br />
- [page:Materials GreaterEqualStencilFunc] will return true if the stencil
- reference value is greater than or equal to the current stencil value.<br />
- [page:Materials AlwaysStencilFunc] will always return true.<br />
- </p>
- <h2>Stencil Operations</h2>
- <code>
- THREE.ZeroStencilOp
- THREE.KeepStencilOp
- THREE.ReplaceStencilOp
- THREE.IncrementStencilOp
- THREE.DecrementStencilOp
- THREE.IncrementWrapStencilOp
- THREE.DecrementWrapStencilOp
- THREE.InvertStencilOp
- </code>
- <p>
- Which stencil operation the material will perform on the stencil buffer
- pixel if the provided stencil function passes.<br />
- [page:Materials ZeroStencilOp] will set the stencil value to `0`.<br />
- [page:Materials KeepStencilOp] will not change the current stencil
- value.<br />
- [page:Materials ReplaceStencilOp] will replace the stencil value with the
- specified stencil reference value.<br />
- [page:Materials IncrementStencilOp] will increment the current stencil
- value by `1`.<br />
- [page:Materials DecrementStencilOp] will decrement the current stencil
- value by `1`.<br />
- [page:Materials IncrementWrapStencilOp] will increment the current stencil
- value by `1`. If the value increments past `255` it will be set to `0`.<br />
- [page:Materials DecrementWrapStencilOp] will increment the current stencil
- value by `1`. If the value decrements below `0` it will be set to
- `255`.<br />
- [page:Materials InvertStencilOp] will perform a bitwise inversion of the
- current stencil value.<br />
- </p>
- <h2>Normal map type</h2>
- <code>
- THREE.TangentSpaceNormalMap
- THREE.ObjectSpaceNormalMap
- </code>
-
- <p>
- 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 [page:Constant TangentSpaceNormalMap].
- </p>
- <h2>GLSL Version</h2>
- <code>
- THREE.GLSL1
- THREE.GLSL3
- </code>
- <h2>Source</h2>
- <p>
- [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
- </p>
- </body>
- </html>
|