Materials.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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. </code>
  21. <p>
  22. Define qual lado das faces será renderizado - frente, verso ou ambos.
  23. O padrão é [page:Constant FrontSide].
  24. </p>
  25. <h2>Modo de Mesclagem (Blending Mode)</h2>
  26. <code>
  27. THREE.NoBlending
  28. THREE.NormalBlending
  29. THREE.AdditiveBlending
  30. THREE.SubtractiveBlending
  31. THREE.MultiplyBlending
  32. THREE.CustomBlending
  33. </code>
  34. <p>
  35. 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 />
  36. [page:Constant NormalBlending] é o padrão.<br />
  37. Note que [page:Constant CustomBlending] deve ser definido para usar Equações de [page:CustomBlendingEquation Mesclagem Personalizadas].<br />
  38. Veja os exemplos [example:webgl_materials_blending materials / blending].<br />
  39. </p>
  40. <h2>Modo de Profundidade (Depth Mode)</h2>
  41. <code>
  42. THREE.NeverDepth
  43. THREE.AlwaysDepth
  44. THREE.EqualDepth
  45. THREE.LessDepth
  46. THREE.LessEqualDepth
  47. THREE.GreaterEqualDepth
  48. THREE.GreaterDepth
  49. THREE.NotEqualDepth
  50. </code>
  51. <p>
  52. 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 />
  53. [page:Materials NeverDepth] nunca retornará true.<br />
  54. [page:Materials AlwaysDepth] sempre vai retornar true.<br />
  55. [page:Materials EqualDepth] retornará true se a profundidade Z do pixel de entrada for igual à profundidade Z do buffer atual.<br />
  56. [page:Materials LessDepth] retornará true se a profundidade Z do pixel de entrada for menor que a profundidade Z do buffer atual.<br />
  57. [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 />
  58. [page:Materials GreaterEqualDepth] retornará true se a profundidade Z do pixel de entrada for maior ou igual à profundidade Z do buffer atual.<br />
  59. [page:Materials GreaterDepth] retornará true se a profundidade Z do pixel de entrada for maior que a profundidade Z do buffer atual.<br />
  60. [page:Materials NotEqualDepth] retornará true se a profundidade Z do pixel de entrada não for igual à profundidade Z do buffer atual.<br />
  61. </p>
  62. <h2>Operações de Combinação de Texturas</h2>
  63. <code>
  64. THREE.MultiplyOperation
  65. THREE.MixOperation
  66. THREE.AddOperation
  67. </code>
  68. <p>
  69. 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 />
  70. [page:Constant MultiplyOperation] é o padrão e multiplica a cor do mapa de ambiente pela cor da superfície.<br />
  71. [page:Constant MixOperation] usa refletividade para misturar as duas cores.<br />
  72. [page:Constant AddOperation] adiciona as duas cores.
  73. </p>
  74. <h2>Funções de Estêncil (Stencil Functions)</h2>
  75. <code>
  76. THREE.NeverStencilFunc
  77. THREE.LessStencilFunc
  78. THREE.EqualStencilFunc
  79. THREE.LessEqualStencilFunc
  80. THREE.GreaterStencilFunc
  81. THREE.NotEqualStencilFunc
  82. THREE.GreaterEqualStencilFunc
  83. THREE.AlwaysStencilFunc
  84. </code>
  85. <p>
  86. 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 />
  87. [page:Materials NeverStencilFunc] nunca retornará true.<br />
  88. [page:Materials LessStencilFunc] retornará true se o valor de referência do estêncil for menor que o valor do estêncil atual.<br />
  89. [page:Materials EqualStencilFunc] retornará true se o valor de referência do estêncil for igual ao valor atual do estêncil.<br />
  90. [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 />
  91. [page:Materials GreaterStencilFunc] retornará true se o valor de referência de estêncil for maior que o valor de estêncil atual.<br />
  92. [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 />
  93. [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 />
  94. [page:Materials AlwaysStencilFunc] sempre retornará true.<br />
  95. </p>
  96. <h2>Operações de Estêncil (Stencil Operations)</h2>
  97. <code>
  98. THREE.ZeroStencilOp
  99. THREE.KeepStencilOp
  100. THREE.ReplaceStencilOp
  101. THREE.IncrementStencilOp
  102. THREE.DecrementStencilOp
  103. THREE.IncrementWrapStencilOp
  104. THREE.DecrementWrapStencilOp
  105. THREE.InvertStencilOp
  106. </code>
  107. <p>
  108. 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 />
  109. [page:Materials ZeroStencilOp] definirá o valor do estêncil para 0.<br />
  110. [page:Materials KeepStencilOp] não alterará o valor atual do estêncil.<br />
  111. [page:Materials ReplaceStencilOp] substituirá o valor de estêncil pelo valor de referência do estêncil especificado.<br />
  112. [page:Materials IncrementStencilOp] irá incrementar o valor atual do estêncil em `1`.<br />
  113. [page:Materials DecrementStencilOp] diminuirá o valor atual do estêncil em `1`.<br />
  114. [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 />
  115. [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 />
  116. [page:Materials InvertStencilOp] executará uma inversão bit a bit do valor de estêncil atual.<br />
  117. </p>
  118. <h2>Tipo de mapa normal</h2>
  119. <code>
  120. THREE.TangentSpaceNormalMap
  121. THREE.ObjectSpaceNormalMap
  122. </code>
  123. <p>
  124. Define o tipo do mapa normal
  125. Para TangentSpaceNormalMap, as informações são relativas à superfície subjacente.
  126. Para ObjectSpaceNormalMap, as informações são relativas à orientação do objeto.
  127. O padrão é [page:Constant TangentSpaceNormalMap].
  128. </p>
  129. <h2>Versão GLSL</h2>
  130. <code>
  131. THREE.GLSL1
  132. THREE.GLSL3
  133. </code>
  134. <h2>Source</h2>
  135. <p>
  136. [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
  137. </p>
  138. </body>
  139. </html>