Materials.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <!DOCTYPE html>
  2. <html lang="ar">
  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 class="rtl">
  10. <h1>ثوابت المواد الخام (Material Constants)</h1>
  11. <p class="desc">
  12. تحدد هذه الثوابت الخصائص المشتركة بين جميع أنواع المواد الخام، باستثناء عمليات تجميع القوام الخاصة التي تنطبق فقط على
  13. [page:MeshBasicMaterial.combine MeshBasicMaterial]،
  14. [page:MeshLambertMaterial.combine MeshLambertMaterial] و
  15. [page:MeshPhongMaterial.combine MeshPhongMaterial].<br />
  16. </p>
  17. <h2>الجانب (Side)</h2>
  18. <code>
  19. THREE.FrontSide
  20. THREE.BackSide
  21. THREE.DoubleSide
  22. </code>
  23. <p>
  24. تحدد الجانب الذي سيتم عرضه للوجوه، سواءً الوجه الأمامي، الوجه الخلفي، أو كلاهما. الإعداد الافتراضي هو الوجه الأمامي.
  25. </p>
  26. <h2>وضعية الدمج (Blending Mode)</h2>
  27. <code>
  28. THREE.NoBlending
  29. THREE.NormalBlending
  30. THREE.AdditiveBlending
  31. THREE.SubtractiveBlending
  32. THREE.MultiplyBlending
  33. THREE.CustomBlending
  34. </code>
  35. <p>
  36. تحكم هذه الثوابت في معادلات الدمج بين المصدر والوجهة للألوان والألفا التي يتم إرسالها من المواد إلى WebGLRenderer للاستخدام بواسطة WebGL.
  37. [page:Constant NormalBlending] هي الإعداد الافتراضي. ويجب تعيين [page:Constant CustomBlending] لاستخدام [page:CustomBlendingEquation Custom Blending Equations].
  38. راجع مثال [example:webgl_materials_blending materials / blending].
  39. </p>
  40. <h2>وضعية العمق (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. تحدد وظيفة العمق التي تستخدمها المواد لمقارنة عمق بيكسلات الإدخال مع قيمة العمق الحالية في الذاكرة المؤقتة للعمق. إذا كانت نتيجة المقارنة صحيحة، فسيتم رسم البكسل.<br />
  53. [page:Materials NeverDepth] لن يتم رسم أي بكسل.<br />
  54. [page:Materials AlwaysDepth] سيتم رسم كل البكسلات.<br />
  55. [page:Materials EqualDepth] سيتم رسم البكسل إذا كان عمق البكسل المدخل مساوٍ لعمق الذاكرة المؤقتة الحالي.<br />
  56. [page:Materials LessDepth] سيتم رسم البكسل إذا كان عمق البكسل المدخل أقل من عمق الذاكرة المؤقتة الحالي.<br />
  57. [page:Materials LessEqualDepth] هي الإعداد الافتراضي وسيتم رسم البكسل إذا كان عمق البكسل المدخل أقل من أو يساوي عمق الذاكرة المؤقتة الحالي.<br />
  58. [page:Materials GreaterEqualDepth] سيتم رسم البكسل إذا كان عمق البكسل المدخل أكبر من أو يساوي عمق الذاكرة المؤقتة الحالي.<br />
  59. [page:Materials GreaterDepth] سيتم رسم البكسل إذا كان عمق البكسل المدخل أكبر من عمق الذاكرة المؤقتة الحالي.<br />
  60. [page:Materials NotEqualDepth] سيتم رسم البكسل إذا كان عمقالبكسل المدخل لا يساوي عمق الذاكرة المؤقتة الحالي.<br />
  61. </p>
  62. <h2>عمليات تجميع القوام الخاصة بالقوام (Texture Combine Operations)</h2>
  63. <code>
  64. THREE.MultiplyOperation
  65. THREE.MixOperation
  66. THREE.AddOperation
  67. </code>
  68. <p>
  69. تحدد هذه الثوابت كيفية دمج لون سطح الكائن مع خريطة البيئة (إذا كانت متاحة) في [page:MeshBasicMaterial.combine MeshBasicMaterial]،
  70. [page:MeshLambertMaterial.combine MeshLambertMaterial]
  71. و [page:MeshPhongMaterial.combine MeshPhongMaterial]. <br />
  72. [page:Constant MultiplyOperation] هي الإعداد الافتراضي وتقوم بضرب لون خريطة البيئة بلون سطح الكائن.<br />
  73. [page:Constant MixOperation] تستخدم معامل الانعكاسية لدمج اللونين.<br />
  74. [page:Constant AddOperation] تقوم بجمع اللونين.
  75. </p>
  76. <h2>دوال القالب (Stencil Functions)</h2>
  77. <code>
  78. THREE.NeverStencilFunc
  79. THREE.LessStencilFunc
  80. THREE.EqualStencilFunc
  81. THREE.LessEqualStencilFunc
  82. THREE.GreaterStencilFunc
  83. THREE.NotEqualStencilFunc
  84. THREE.GreaterEqualStencilFunc
  85. THREE.AlwaysStencilFunc
  86. </code>
  87. <p>
  88. تحدد الدالة التي يستخدمها المادة لتحديد ما إذا كان يجب أن تنفذ عملية القالب أم لا.<br />
  89. [page:Materials NeverStencilFunc] لن يعود بقيمة صحيحة أبدًا.<br />
  90. [page:Materials LessStencilFunc] سيعود بقيمة صحيحة إذا كانت قيمة المرجع الختمية أقل من القيمة الحالية للختم.<br />
  91. [page:Materials EqualStencilFunc] سيعود بقيمة صحيحة إذا كانت قيمة المرجع الختمية تساوي القيمة الحالية للختم.<br />
  92. [page:Materials LessEqualStencilFunc] سيعود بقيمة صحيحة إذا كانت قيمة المرجع الختمية أقل من أو تساوي القيمة الحالية للختم.<br />
  93. [page:Materials GreaterStencilFunc] سيعود بقيمة صحيحة إذا كانت قيمة المرجع الختمية أكبر من القيمة الحالية للختم.<br />
  94. [page:Materials NotEqualStencilFunc] سيعود بقيمة صحيحة إذا كانت قيمة المرجع الختمية لا تساوي القيمة الحالية للختم.<br />
  95. [page:Materials GreaterEqualStencilFunc] سيعود بقيمة صحيحة إذا كانت قيمة المرجع الختمية أكبر من أو تساوي القيمة الحالية للختم.<br />
  96. [page:Materials AlwaysStencilFunc] سيعود بقيمة صحيحة دائمًا.<br />
  97. </p>
  98. <h2>عمليات القالب (Stencil Operations)</h2>
  99. <code>
  100. THREE.ZeroStencilOp
  101. THREE.KeepStencilOp
  102. THREE.ReplaceStencilOp
  103. THREE.IncrementStencilOp
  104. THREE.DecrementStencilOp
  105. THREE.IncrementWrapStencilOp
  106. THREE.DecrementWrapStencilOp
  107. THREE.InvertStencilOp
  108. </code>
  109. <p>
  110. تحدد العملية التي ستقوم بها المادة على ختم البيكسل في الختم إذا مرت الدالة الختمية المقدمة.<br />
  111. [page:Materials ZeroStencilOp] سيضبط قيمة الختم على الصفر.<br />
  112. [page:Materials KeepStencilOp] لن يقوم بتغيير قيمة الختم الحالية.<br />
  113. [page:Materials ReplaceStencilOp] سيقوم بتبديل قيمة الختم بقيمة المرجع الختمية المحددة.<br />
  114. [page:Materials IncrementStencilOp] سيزيد قيمة الختم الحالية بمقدار `1`.<br />
  115. [page:Materials DecrementStencilOp] سينقص قيمة الختم الحالية بمقدار `1`.<br />
  116. [page:Materials IncrementWrapStencilOp] سيزيد قيمة الختم الحالية بمقدار `1`. إذا زادت القيمة بعد ذلك عن `255`، فستضبط على `0`.<br />
  117. [page:Materials DecrementWrapStencilOp] سينقص قيمة الختم الحالية بمقدار `1`. إذا انخفضت القيمة بعد ذلك أقل من `0`، فستضبط على `255`.<br />
  118. [page:Materials InvertStencilOp] سيقوم بتنفيذ عملية انعكاس بتشكيلة الختم الحالية.<br />
  119. </p>
  120. <h2>نوع خريطة العرض الطبيعي (Normal map type)</h2>
  121. <code>
  122. THREE.TangentSpaceNormalMap
  123. THREE.ObjectSpaceNormalMap
  124. </code>
  125. <p>
  126. تحدد نوع خريطة العرض الطبيعي. لـTangentSpaceNormalMap، المعلومات ذات الصلة بالسطح الأساسي. أما بالنسبة لـ ObjectSpaceNormalMap، المعلومات ذات الصلة باتجاه الكائن. الإعداد الافتراضي هو [page:Constant TangentSpaceNormalMap].
  127. </p>
  128. <h2>إصدار GLSL</h2>
  129. <code>
  130. THREE.GLSL1
  131. THREE.GLSL3
  132. </code>
  133. <h2>المصدر (Source)</h2>
  134. <p>
  135. [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
  136. </p>
  137. </body>
  138. </html>