Materials.html 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. <h1>Material Constants</h1>
  12. <p class="desc">
  13. These constants define properties common to all material types,
  14. 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 />
  15. </p>
  16. <h2>Side</h2>
  17. <code>
  18. THREE.FrontSide
  19. THREE.BackSide
  20. THREE.DoubleSide
  21. </code>
  22. <p>
  23. Defines which side of faces will be rendered - front, back or both.
  24. Default is [page:Constant FrontSide].
  25. </p>
  26. <h2>Colors</h2>
  27. <code>
  28. THREE.NoColors
  29. THREE.FaceColors
  30. THREE.VertexColors
  31. </code>
  32. <p>
  33. [page:Constant NoColors] is the default and applies the material's color to all faces.<br />
  34. [page:Constant FaceColors] colors faces according to each [page:Face3 Face3] [page:Color Color] value.<br />
  35. [page:Constant VertexColors] colors faces according to each [page:Face3 Face3] vertexColors value. This is an array of three [page:Color Color]s, one for each vertex in the face.<br />
  36. See the [example:webgl_geometry_colors geometry / colors] example.
  37. </p>
  38. <h2>Blending Mode</h2>
  39. <code>
  40. THREE.NoBlending
  41. THREE.NormalBlending
  42. THREE.AdditiveBlending
  43. THREE.SubtractiveBlending
  44. THREE.MultiplyBlending
  45. THREE.CustomBlending
  46. </code>
  47. <p>
  48. These control the source and destination blending equations for the material's RGB and Alpha sent to the WebGLRenderer for use by WebGL.<br />
  49. [page:Constant NormalBlending] is the default.<br />
  50. Note that [page:Constant CustomBlending] must be set to use [page:CustomBlendingEquation Custom Blending Equations].<br />
  51. See the [example:webgl_materials_blending materials / blending] example.<br />
  52. </p>
  53. <h2>Depth Mode</h2>
  54. <code>
  55. THREE.NeverDepth
  56. THREE.AlwaysDepth
  57. THREE.LessDepth
  58. THREE.LessEqualDepth
  59. THREE.GreaterEqualDepth
  60. THREE.GreaterDepth
  61. THREE.NotEqualDepth
  62. </code>
  63. <p>
  64. 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 />
  65. [page:Materials NeverDepth] will never return true.<br />
  66. [page:Materials AlwaysDepth] will always return true.<br />
  67. [page:Materials LessDepth] will return true if the incoming pixel Z-depth is less than the current buffer Z-depth.<br />
  68. [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 />
  69. [page:Materials GreaterEqualDepth] will return true if the incoming pixel Z-depth is greater than or equal to the current buffer Z-depth.<br />
  70. [page:Materials GreaterDepth] will return true if the incoming pixel Z-depth is greater than the current buffer Z-depth.<br />
  71. [page:Materials NotEqualDepth] will return true if the incoming pixel Z-depth is not equal to the current buffer Z-depth.<br />
  72. </p>
  73. <h2>Texture Combine Operations</h2>
  74. <code>
  75. THREE.MultiplyOperation
  76. THREE.MixOperation
  77. THREE.AddOperation
  78. </code>
  79. <p>
  80. 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 />
  81. [page:Constant MultiplyOperation] is the default and multiplies the environment map color with the surface color.<br />
  82. [page:Constant MixOperation] uses reflectivity to blend between the two colors.<br />
  83. [page:Constant AddOperation] adds the two colors.
  84. </p>
  85. <h2>Stencil Functions</h2>
  86. <code>
  87. THREE.NeverStencilFunc
  88. THREE.LessStencilFunc
  89. THREE.EqualStencilFunc
  90. THREE.LessEqualStencilFunc
  91. THREE.GreaterStencilFunc
  92. THREE.NotEqualStencilFunc
  93. THREE.GreaterEqualStencilFunc
  94. THREE.AlwaysStencilFunc
  95. </code>
  96. <p>
  97. Which stencil function the material uses to determine whether or not to perform a stencil operation.<br />
  98. [page:Materials NeverStencilFunc] will never return true.<br />
  99. [page:Materials LessStencilFunc] will return true if the stencil reference value is less than the current stencil value.<br />
  100. [page:Materials EqualStencilFunc] will return true if the stencil reference value is equal to the current stencil value.<br />
  101. [page:Materials LessEqualStencilFunc] will return true if the stencil reference value is less than or equal to the current stencil value.<br />
  102. [page:Materials GreaterStencilFunc] will return true if the stencil reference value is greater than the current stencil value.<br />
  103. [page:Materials NotEqualStencilFunc] will return true if the stencil reference value is not equal to the current stencil value.<br />
  104. [page:Materials GreaterEqualStencilFunc] will return true if the stencil reference value is greater than or equal to the current stencil value.<br />
  105. [page:Materials AlwaysStencilFunc] will always return true.<br />
  106. </p>
  107. <h2>Stencil Operations</h2>
  108. <code>
  109. THREE.ZeroStencilOp
  110. THREE.KeepStencilOp
  111. THREE.ReplaceStencilOp
  112. THREE.IncrementStencilOp
  113. THREE.DecrementStencilOp
  114. THREE.IncrementWrapStencilOp
  115. THREE.DecrementWrapStencilOp
  116. THREE.InvertStencilOp
  117. </code>
  118. <p>
  119. Which stencil operation the material will perform on the stencil buffer pixel if the provided stencil function passes.<br />
  120. [page:Materials ZeroStencilOp] will set the stencil value to 0.<br />
  121. [page:Materials KeepStencilOp] will not change the current stencil value.<br />
  122. [page:Materials ReplaceStencilOp] will replace the stencil value with the specified stencil reference value.<br />
  123. [page:Materials IncrementStencilOp] will increment the current stencil value by 1.<br />
  124. [page:Materials DecrementStencilOp] will decrement the current stencil value by 1.<br />
  125. [page:Materials IncrementWrapStencilOp] will increment the current stencil value by 1. If the value increments past 255 it will be set to 0.<br />
  126. [page:Materials DecrementWrapStencilOp] will increment the current stencil value by 1. If the value decrements below 0 it will be set to 255.<br />
  127. [page:Materials InvertStencilOp] will perform a bitwise iversion of the current stencil value.<br />
  128. </p>
  129. <h2>Source</h2>
  130. [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
  131. </body>
  132. </html>