class_rdpipelinerasterizationstate.rst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/RDPipelineRasterizationState.xml.
  6. .. _class_RDPipelineRasterizationState:
  7. RDPipelineRasterizationState
  8. ============================
  9. **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Pipeline rasterization state (used by :ref:`RenderingDevice<class_RenderingDevice>`).
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. This object is used by :ref:`RenderingDevice<class_RenderingDevice>`.
  15. .. rst-class:: classref-reftable-group
  16. Properties
  17. ----------
  18. .. table::
  19. :widths: auto
  20. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  21. | :ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` | :ref:`cull_mode<class_RDPipelineRasterizationState_property_cull_mode>` | ``0`` |
  22. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  23. | :ref:`float<class_float>` | :ref:`depth_bias_clamp<class_RDPipelineRasterizationState_property_depth_bias_clamp>` | ``0.0`` |
  24. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  25. | :ref:`float<class_float>` | :ref:`depth_bias_constant_factor<class_RDPipelineRasterizationState_property_depth_bias_constant_factor>` | ``0.0`` |
  26. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  27. | :ref:`bool<class_bool>` | :ref:`depth_bias_enabled<class_RDPipelineRasterizationState_property_depth_bias_enabled>` | ``false`` |
  28. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  29. | :ref:`float<class_float>` | :ref:`depth_bias_slope_factor<class_RDPipelineRasterizationState_property_depth_bias_slope_factor>` | ``0.0`` |
  30. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  31. | :ref:`bool<class_bool>` | :ref:`discard_primitives<class_RDPipelineRasterizationState_property_discard_primitives>` | ``false`` |
  32. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  33. | :ref:`bool<class_bool>` | :ref:`enable_depth_clamp<class_RDPipelineRasterizationState_property_enable_depth_clamp>` | ``false`` |
  34. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  35. | :ref:`PolygonFrontFace<enum_RenderingDevice_PolygonFrontFace>` | :ref:`front_face<class_RDPipelineRasterizationState_property_front_face>` | ``0`` |
  36. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  37. | :ref:`float<class_float>` | :ref:`line_width<class_RDPipelineRasterizationState_property_line_width>` | ``1.0`` |
  38. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  39. | :ref:`int<class_int>` | :ref:`patch_control_points<class_RDPipelineRasterizationState_property_patch_control_points>` | ``1`` |
  40. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  41. | :ref:`bool<class_bool>` | :ref:`wireframe<class_RDPipelineRasterizationState_property_wireframe>` | ``false`` |
  42. +----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------+-----------+
  43. .. rst-class:: classref-section-separator
  44. ----
  45. .. rst-class:: classref-descriptions-group
  46. Property Descriptions
  47. ---------------------
  48. .. _class_RDPipelineRasterizationState_property_cull_mode:
  49. .. rst-class:: classref-property
  50. :ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` **cull_mode** = ``0``
  51. .. rst-class:: classref-property-setget
  52. - void **set_cull_mode** **(** :ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` value **)**
  53. - :ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` **get_cull_mode** **(** **)**
  54. The cull mode to use when drawing polygons, which determines whether front faces or backfaces are hidden.
  55. .. rst-class:: classref-item-separator
  56. ----
  57. .. _class_RDPipelineRasterizationState_property_depth_bias_clamp:
  58. .. rst-class:: classref-property
  59. :ref:`float<class_float>` **depth_bias_clamp** = ``0.0``
  60. .. rst-class:: classref-property-setget
  61. - void **set_depth_bias_clamp** **(** :ref:`float<class_float>` value **)**
  62. - :ref:`float<class_float>` **get_depth_bias_clamp** **(** **)**
  63. A limit for how much each depth value can be offset. If negative, it serves as a minimum value, but if positive, it serves as a maximum value.
  64. .. rst-class:: classref-item-separator
  65. ----
  66. .. _class_RDPipelineRasterizationState_property_depth_bias_constant_factor:
  67. .. rst-class:: classref-property
  68. :ref:`float<class_float>` **depth_bias_constant_factor** = ``0.0``
  69. .. rst-class:: classref-property-setget
  70. - void **set_depth_bias_constant_factor** **(** :ref:`float<class_float>` value **)**
  71. - :ref:`float<class_float>` **get_depth_bias_constant_factor** **(** **)**
  72. A constant offset added to each depth value. Applied after :ref:`depth_bias_slope_factor<class_RDPipelineRasterizationState_property_depth_bias_slope_factor>`.
  73. .. rst-class:: classref-item-separator
  74. ----
  75. .. _class_RDPipelineRasterizationState_property_depth_bias_enabled:
  76. .. rst-class:: classref-property
  77. :ref:`bool<class_bool>` **depth_bias_enabled** = ``false``
  78. .. rst-class:: classref-property-setget
  79. - void **set_depth_bias_enabled** **(** :ref:`bool<class_bool>` value **)**
  80. - :ref:`bool<class_bool>` **get_depth_bias_enabled** **(** **)**
  81. If ``true``, each generated depth value will by offset by some amount. The specific amount is generated per polygon based on the values of :ref:`depth_bias_slope_factor<class_RDPipelineRasterizationState_property_depth_bias_slope_factor>` and :ref:`depth_bias_constant_factor<class_RDPipelineRasterizationState_property_depth_bias_constant_factor>`.
  82. .. rst-class:: classref-item-separator
  83. ----
  84. .. _class_RDPipelineRasterizationState_property_depth_bias_slope_factor:
  85. .. rst-class:: classref-property
  86. :ref:`float<class_float>` **depth_bias_slope_factor** = ``0.0``
  87. .. rst-class:: classref-property-setget
  88. - void **set_depth_bias_slope_factor** **(** :ref:`float<class_float>` value **)**
  89. - :ref:`float<class_float>` **get_depth_bias_slope_factor** **(** **)**
  90. A constant scale applied to the slope of each polygons' depth. Applied before :ref:`depth_bias_constant_factor<class_RDPipelineRasterizationState_property_depth_bias_constant_factor>`.
  91. .. rst-class:: classref-item-separator
  92. ----
  93. .. _class_RDPipelineRasterizationState_property_discard_primitives:
  94. .. rst-class:: classref-property
  95. :ref:`bool<class_bool>` **discard_primitives** = ``false``
  96. .. rst-class:: classref-property-setget
  97. - void **set_discard_primitives** **(** :ref:`bool<class_bool>` value **)**
  98. - :ref:`bool<class_bool>` **get_discard_primitives** **(** **)**
  99. If ``true``, primitives are discarded immediately before the rasterization stage.
  100. .. rst-class:: classref-item-separator
  101. ----
  102. .. _class_RDPipelineRasterizationState_property_enable_depth_clamp:
  103. .. rst-class:: classref-property
  104. :ref:`bool<class_bool>` **enable_depth_clamp** = ``false``
  105. .. rst-class:: classref-property-setget
  106. - void **set_enable_depth_clamp** **(** :ref:`bool<class_bool>` value **)**
  107. - :ref:`bool<class_bool>` **get_enable_depth_clamp** **(** **)**
  108. If ``true``, clamps depth values according to the minimum and maximum depth of the associated viewport.
  109. .. rst-class:: classref-item-separator
  110. ----
  111. .. _class_RDPipelineRasterizationState_property_front_face:
  112. .. rst-class:: classref-property
  113. :ref:`PolygonFrontFace<enum_RenderingDevice_PolygonFrontFace>` **front_face** = ``0``
  114. .. rst-class:: classref-property-setget
  115. - void **set_front_face** **(** :ref:`PolygonFrontFace<enum_RenderingDevice_PolygonFrontFace>` value **)**
  116. - :ref:`PolygonFrontFace<enum_RenderingDevice_PolygonFrontFace>` **get_front_face** **(** **)**
  117. The winding order to use to determine which face of a triangle is considered its front face.
  118. .. rst-class:: classref-item-separator
  119. ----
  120. .. _class_RDPipelineRasterizationState_property_line_width:
  121. .. rst-class:: classref-property
  122. :ref:`float<class_float>` **line_width** = ``1.0``
  123. .. rst-class:: classref-property-setget
  124. - void **set_line_width** **(** :ref:`float<class_float>` value **)**
  125. - :ref:`float<class_float>` **get_line_width** **(** **)**
  126. The line width to use when drawing lines (in pixels). Thick lines may not be supported on all hardware.
  127. .. rst-class:: classref-item-separator
  128. ----
  129. .. _class_RDPipelineRasterizationState_property_patch_control_points:
  130. .. rst-class:: classref-property
  131. :ref:`int<class_int>` **patch_control_points** = ``1``
  132. .. rst-class:: classref-property-setget
  133. - void **set_patch_control_points** **(** :ref:`int<class_int>` value **)**
  134. - :ref:`int<class_int>` **get_patch_control_points** **(** **)**
  135. The number of control points to use when drawing a patch with tessellation enabled. Higher values result in higher quality at the cost of performance.
  136. .. rst-class:: classref-item-separator
  137. ----
  138. .. _class_RDPipelineRasterizationState_property_wireframe:
  139. .. rst-class:: classref-property
  140. :ref:`bool<class_bool>` **wireframe** = ``false``
  141. .. rst-class:: classref-property-setget
  142. - void **set_wireframe** **(** :ref:`bool<class_bool>` value **)**
  143. - :ref:`bool<class_bool>` **get_wireframe** **(** **)**
  144. If ``true``, performs wireframe rendering for triangles instead of flat or textured rendering.
  145. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  146. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  147. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  148. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  149. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  150. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  151. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`