Materials.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <!DOCTYPE html>
  2. <html lang="pt-br">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. <h1>Constantes de Material</h1>
  11. <p class="desc">
  12. Essas constantes definem propriedades comuns a todos os tipos de materiais,
  13. com exceção das Operações de Combinação de Texturas que se aplicam apenas a [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] e [page:MeshPhongMaterial.combine MeshPhongMaterial].<br />
  14. </p>
  15. <h2>Lado (Side)</h2>
  16. <code>
  17. THREE.FrontSide
  18. THREE.BackSide
  19. THREE.DoubleSide
  20. THREE.TwoPassDoubleSide
  21. </code>
  22. <p>
  23. Define qual lado das faces será renderizado - frente, verso ou ambos.
  24. O padrão é [page:Constant FrontSide].
  25. </p>
  26. <p>
  27. [page:Materials TwoPassDoubleSide] will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
  28. </p>
  29. <h2>Modo de Mesclagem (Blending Mode)</h2>
  30. <code>
  31. THREE.NoBlending
  32. THREE.NormalBlending
  33. THREE.AdditiveBlending
  34. THREE.SubtractiveBlending
  35. THREE.MultiplyBlending
  36. THREE.CustomBlending
  37. </code>
  38. <p>
  39. Eles controlam as equações de mesclagem de origem e destino para RGB e Alpha do material enviadas ao WebGLRenderer para uso pelo WebGL.<br />
  40. [page:Constant NormalBlending] é o padrão.<br />
  41. Note que [page:Constant CustomBlending] deve ser definido para usar Equações de [page:CustomBlendingEquation Mesclagem Personalizadas].<br />
  42. Veja os exemplos [example:webgl_materials_blending materials / blending].<br />
  43. </p>
  44. <h2>Modo de Profundidade (Depth Mode)</h2>
  45. <code>
  46. THREE.NeverDepth
  47. THREE.AlwaysDepth
  48. THREE.EqualDepth
  49. THREE.LessDepth
  50. THREE.LessEqualDepth
  51. THREE.GreaterEqualDepth
  52. THREE.GreaterDepth
  53. THREE.NotEqualDepth
  54. </code>
  55. <p>
  56. Define qual função de profundidade o material usa para comparar a profundidade Z dos pixels de entrada com o valor atual do buffer de profundidade Z. Se o resultado da comparação for verdadeiro, o pixel será desenhado.<br />
  57. [page:Materials NeverDepth] nunca retornará true.<br />
  58. [page:Materials AlwaysDepth] sempre vai retornar true.<br />
  59. [page:Materials EqualDepth] retornará true se a profundidade Z do pixel de entrada for igual à profundidade Z do buffer atual.<br />
  60. [page:Materials LessDepth] retornará true se a profundidade Z do pixel de entrada for menor que a profundidade Z do buffer atual.<br />
  61. [page:Materials LessEqualDepth] é o padrão e retornará true se a profundidade Z do pixel de entrada for menor ou igual à profundidade Z do buffer atual.<br />
  62. [page:Materials GreaterEqualDepth] retornará true se a profundidade Z do pixel de entrada for maior ou igual à profundidade Z do buffer atual.<br />
  63. [page:Materials GreaterDepth] retornará true se a profundidade Z do pixel de entrada for maior que a profundidade Z do buffer atual.<br />
  64. [page:Materials NotEqualDepth] retornará true se a profundidade Z do pixel de entrada não for igual à profundidade Z do buffer atual.<br />
  65. </p>
  66. <h2>Operações de Combinação de Texturas</h2>
  67. <code>
  68. THREE.MultiplyOperation
  69. THREE.MixOperation
  70. THREE.AddOperation
  71. </code>
  72. <p>
  73. Definem como o resultado da cor da superfície é combinado com o mapa do ambiente (se presente), por [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] e [page:MeshPhongMaterial.combine MeshPhongMaterial]. <br />
  74. [page:Constant MultiplyOperation] é o padrão e multiplica a cor do mapa de ambiente pela cor da superfície.<br />
  75. [page:Constant MixOperation] usa refletividade para misturar as duas cores.<br />
  76. [page:Constant AddOperation] adiciona as duas cores.
  77. </p>
  78. <h2>Funções de Estêncil (Stencil Functions)</h2>
  79. <code>
  80. THREE.NeverStencilFunc
  81. THREE.LessStencilFunc
  82. THREE.EqualStencilFunc
  83. THREE.LessEqualStencilFunc
  84. THREE.GreaterStencilFunc
  85. THREE.NotEqualStencilFunc
  86. THREE.GreaterEqualStencilFunc
  87. THREE.AlwaysStencilFunc
  88. </code>
  89. <p>
  90. Define qual função de estêncil o material usa para determinar se deve ou não realizar uma operação de estêncil.<br />
  91. [page:Materials NeverStencilFunc] nunca retornará true.<br />
  92. [page:Materials LessStencilFunc] retornará true se o valor de referência do estêncil for menor que o valor do estêncil atual.<br />
  93. [page:Materials EqualStencilFunc] retornará true se o valor de referência do estêncil for igual ao valor atual do estêncil.<br />
  94. [page:Materials LessEqualStencilFunc] retornará true se o valor de referência do estêncil for menor ou igual ao valor do estêncil atual.<br />
  95. [page:Materials GreaterStencilFunc] retornará true se o valor de referência de estêncil for maior que o valor de estêncil atual.<br />
  96. [page:Materials NotEqualStencilFunc] retornará true se o valor de referência do estêncil não for igual ao valor do estêncil atual.<br />
  97. [page:Materials GreaterEqualStencilFunc] retornará true se o valor de referência do estêncil for maior ou igual ao valor do estêncil atual.<br />
  98. [page:Materials AlwaysStencilFunc] sempre retornará true.<br />
  99. </p>
  100. <h2>Operações de Estêncil (Stencil Operations)</h2>
  101. <code>
  102. THREE.ZeroStencilOp
  103. THREE.KeepStencilOp
  104. THREE.ReplaceStencilOp
  105. THREE.IncrementStencilOp
  106. THREE.DecrementStencilOp
  107. THREE.IncrementWrapStencilOp
  108. THREE.DecrementWrapStencilOp
  109. THREE.InvertStencilOp
  110. </code>
  111. <p>
  112. Define qual operação de estêncil o material executará no pixel de buffer de estêncil se a função de estêncil fornecida for aprovada.<br />
  113. [page:Materials ZeroStencilOp] definirá o valor do estêncil para 0.<br />
  114. [page:Materials KeepStencilOp] não alterará o valor atual do estêncil.<br />
  115. [page:Materials ReplaceStencilOp] substituirá o valor de estêncil pelo valor de referência do estêncil especificado.<br />
  116. [page:Materials IncrementStencilOp] irá incrementar o valor atual do estêncil em `1`.<br />
  117. [page:Materials DecrementStencilOp] diminuirá o valor atual do estêncil em `1`.<br />
  118. [page:Materials IncrementWrapStencilOp] irá incrementar o valor atual do estêncil em `1`. Se o valor aumentar além de `255`, ele será definido como `0`.<br />
  119. [page:Materials DecrementWrapStencilOp] irá incrementar o valor atual do estêncil em `1`. Se o valor diminuir abaixo de `0`, será definido como `255`.<br />
  120. [page:Materials InvertStencilOp] executará uma inversão bit a bit do valor de estêncil atual.<br />
  121. </p>
  122. <h2>Tipo de mapa normal</h2>
  123. <code>
  124. THREE.TangentSpaceNormalMap
  125. THREE.ObjectSpaceNormalMap
  126. </code>
  127. <p>
  128. Define o tipo do mapa normal
  129. Para TangentSpaceNormalMap, as informações são relativas à superfície subjacente.
  130. Para ObjectSpaceNormalMap, as informações são relativas à orientação do objeto.
  131. O padrão é [page:Constant TangentSpaceNormalMap].
  132. </p>
  133. <h2>Versão GLSL</h2>
  134. <code>
  135. THREE.GLSL1
  136. THREE.GLSL3
  137. </code>
  138. <h2>Source</h2>
  139. <p>
  140. [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
  141. </p>
  142. </body>
  143. </html>