Files
godot-docs-l10n/classes/zh_CN/class_renderingdevice.rst

5911 lines
433 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/RenderingDevice.xml.
.. _class_RenderingDevice:
RenderingDevice
===============
**继承:** :ref:`Object<class_Object>`
用于处理现代低阶图形 API 的抽象。
.. rst-class:: classref-introduction-group
描述
----
**RenderingDevice** 是用来使用 Vulkan 等现代低阶图形 API 的抽象。与(适用于 Godot 自有渲染子系统的)\ :ref:`RenderingServer<class_RenderingServer>` 相比,\ **RenderingDevice** 所处的层级更低,能够更加直接地使用底层图形 API。Godot 使用 **RenderingDevice** 来支持部分现代低阶图形 API能够减少所需的重复代码。你也可以在自己的项目中使用 **RenderingDevice**\ ,从而执行 :ref:`RenderingServer<class_RenderingServer>` 和高阶节点未暴露的功能,例如使用计算着色器。
启动时Godot 会创建一个全局的 **RenderingDevice**\ ,可以使用 :ref:`RenderingServer.get_rendering_device<class_RenderingServer_method_get_rendering_device>` 获取。这个全局的 **RenderingDevice** 进行的是屏幕绘图。
\ **局部 RenderingDevice**\ 你可以使用 :ref:`RenderingServer.create_local_rendering_device<class_RenderingServer_method_create_local_rendering_device>` 创建“次级”渲染设备,在单独的线程中进行渲染和 GPU 计算操作。
\ **注意:**\ 使用 **RenderingDevice** 需要对 Vulkan、Direct3D 12、Metal 或 WebGPU 有中等水平的知识。这些图形 API 比 OpenGL 和 Direct3D 所处的层级更低,能够执行原本由图形驱动自己实现的功能。如果这个类中所使用的概念你理解起来有困难,请学习 `Vulkan 教程 <https://vulkan-tutorial.com/>`__\ 或 `Vulkan 指南 <https://vkguide.dev/>`__\ 。在尝试学习低阶图形 API 之前,建议先学习现代 OpenGL 或 Direct3D 11 相关的知识。
\ **注意:**\ 使用无头模式运行或使用 Compatibility 渲染方法时,\ **RenderingDevice** 不可用。
.. rst-class:: classref-introduction-group
教程
----
- :doc:`使用计算着色器 <../tutorials/shaders/compute_shaders>`
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`barrier<class_RenderingDevice_method_barrier>`\ (\ from\: |bitfield|\[:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\] = 32767, to\: |bitfield|\[:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\] = 32767\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`buffer_clear<class_RenderingDevice_method_buffer_clear>`\ (\ buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`, size_bytes\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`buffer_copy<class_RenderingDevice_method_buffer_copy>`\ (\ src_buffer\: :ref:`RID<class_RID>`, dst_buffer\: :ref:`RID<class_RID>`, src_offset\: :ref:`int<class_int>`, dst_offset\: :ref:`int<class_int>`, size\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`buffer_get_data<class_RenderingDevice_method_buffer_get_data>`\ (\ buffer\: :ref:`RID<class_RID>`, offset_bytes\: :ref:`int<class_int>` = 0, size_bytes\: :ref:`int<class_int>` = 0\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`buffer_update<class_RenderingDevice_method_buffer_update>`\ (\ buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`, size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`capture_timestamp<class_RenderingDevice_method_capture_timestamp>`\ (\ name\: :ref:`String<class_String>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_add_barrier<class_RenderingDevice_method_compute_list_add_barrier>`\ (\ compute_list\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`compute_list_begin<class_RenderingDevice_method_compute_list_begin>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_bind_compute_pipeline<class_RenderingDevice_method_compute_list_bind_compute_pipeline>`\ (\ compute_list\: :ref:`int<class_int>`, compute_pipeline\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_bind_uniform_set<class_RenderingDevice_method_compute_list_bind_uniform_set>`\ (\ compute_list\: :ref:`int<class_int>`, uniform_set\: :ref:`RID<class_RID>`, set_index\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_dispatch<class_RenderingDevice_method_compute_list_dispatch>`\ (\ compute_list\: :ref:`int<class_int>`, x_groups\: :ref:`int<class_int>`, y_groups\: :ref:`int<class_int>`, z_groups\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_dispatch_indirect<class_RenderingDevice_method_compute_list_dispatch_indirect>`\ (\ compute_list\: :ref:`int<class_int>`, buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_end<class_RenderingDevice_method_compute_list_end>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`compute_list_set_push_constant<class_RenderingDevice_method_compute_list_set_push_constant>`\ (\ compute_list\: :ref:`int<class_int>`, buffer\: :ref:`PackedByteArray<class_PackedByteArray>`, size_bytes\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`compute_pipeline_create<class_RenderingDevice_method_compute_pipeline_create>`\ (\ shader\: :ref:`RID<class_RID>`, specialization_constants\: :ref:`Array<class_Array>`\[:ref:`RDPipelineSpecializationConstant<class_RDPipelineSpecializationConstant>`\] = []\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`compute_pipeline_is_valid<class_RenderingDevice_method_compute_pipeline_is_valid>`\ (\ compute_pipeline\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RenderingDevice<class_RenderingDevice>` | :ref:`create_local_device<class_RenderingDevice_method_create_local_device>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_command_begin_label<class_RenderingDevice_method_draw_command_begin_label>`\ (\ name\: :ref:`String<class_String>`, color\: :ref:`Color<class_Color>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_command_end_label<class_RenderingDevice_method_draw_command_end_label>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_command_insert_label<class_RenderingDevice_method_draw_command_insert_label>`\ (\ name\: :ref:`String<class_String>`, color\: :ref:`Color<class_Color>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`draw_list_begin<class_RenderingDevice_method_draw_list_begin>`\ (\ framebuffer\: :ref:`RID<class_RID>`, initial_color_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_color_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, initial_depth_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_depth_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, clear_color_values\: :ref:`PackedColorArray<class_PackedColorArray>` = PackedColorArray(), clear_depth\: :ref:`float<class_float>` = 1.0, clear_stencil\: :ref:`int<class_int>` = 0, region\: :ref:`Rect2<class_Rect2>` = Rect2(0, 0, 0, 0)\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`draw_list_begin_for_screen<class_RenderingDevice_method_draw_list_begin_for_screen>`\ (\ screen\: :ref:`int<class_int>` = 0, clear_color\: :ref:`Color<class_Color>` = Color(0, 0, 0, 1)\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt64Array<class_PackedInt64Array>` | :ref:`draw_list_begin_split<class_RenderingDevice_method_draw_list_begin_split>`\ (\ framebuffer\: :ref:`RID<class_RID>`, splits\: :ref:`int<class_int>`, initial_color_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_color_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, initial_depth_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_depth_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, clear_color_values\: :ref:`PackedColorArray<class_PackedColorArray>` = PackedColorArray(), clear_depth\: :ref:`float<class_float>` = 1.0, clear_stencil\: :ref:`int<class_int>` = 0, region\: :ref:`Rect2<class_Rect2>` = Rect2(0, 0, 0, 0), storage_textures\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] = []\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_bind_index_array<class_RenderingDevice_method_draw_list_bind_index_array>`\ (\ draw_list\: :ref:`int<class_int>`, index_array\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_bind_render_pipeline<class_RenderingDevice_method_draw_list_bind_render_pipeline>`\ (\ draw_list\: :ref:`int<class_int>`, render_pipeline\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_bind_uniform_set<class_RenderingDevice_method_draw_list_bind_uniform_set>`\ (\ draw_list\: :ref:`int<class_int>`, uniform_set\: :ref:`RID<class_RID>`, set_index\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_bind_vertex_array<class_RenderingDevice_method_draw_list_bind_vertex_array>`\ (\ draw_list\: :ref:`int<class_int>`, vertex_array\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_disable_scissor<class_RenderingDevice_method_draw_list_disable_scissor>`\ (\ draw_list\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_draw<class_RenderingDevice_method_draw_list_draw>`\ (\ draw_list\: :ref:`int<class_int>`, use_indices\: :ref:`bool<class_bool>`, instances\: :ref:`int<class_int>`, procedural_vertex_count\: :ref:`int<class_int>` = 0\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_enable_scissor<class_RenderingDevice_method_draw_list_enable_scissor>`\ (\ draw_list\: :ref:`int<class_int>`, rect\: :ref:`Rect2<class_Rect2>` = Rect2(0, 0, 0, 0)\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_end<class_RenderingDevice_method_draw_list_end>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_set_blend_constants<class_RenderingDevice_method_draw_list_set_blend_constants>`\ (\ draw_list\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw_list_set_push_constant<class_RenderingDevice_method_draw_list_set_push_constant>`\ (\ draw_list\: :ref:`int<class_int>`, buffer\: :ref:`PackedByteArray<class_PackedByteArray>`, size_bytes\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`draw_list_switch_to_next_pass<class_RenderingDevice_method_draw_list_switch_to_next_pass>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt64Array<class_PackedInt64Array>` | :ref:`draw_list_switch_to_next_pass_split<class_RenderingDevice_method_draw_list_switch_to_next_pass_split>`\ (\ splits\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`framebuffer_create<class_RenderingDevice_method_framebuffer_create>`\ (\ textures\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], validate_with_format\: :ref:`int<class_int>` = -1, view_count\: :ref:`int<class_int>` = 1\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`framebuffer_create_empty<class_RenderingDevice_method_framebuffer_create_empty>`\ (\ size\: :ref:`Vector2i<class_Vector2i>`, samples\: :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` = 0, validate_with_format\: :ref:`int<class_int>` = -1\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`framebuffer_create_multipass<class_RenderingDevice_method_framebuffer_create_multipass>`\ (\ textures\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], passes\: :ref:`Array<class_Array>`\[:ref:`RDFramebufferPass<class_RDFramebufferPass>`\], validate_with_format\: :ref:`int<class_int>` = -1, view_count\: :ref:`int<class_int>` = 1\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`framebuffer_format_create<class_RenderingDevice_method_framebuffer_format_create>`\ (\ attachments\: :ref:`Array<class_Array>`\[:ref:`RDAttachmentFormat<class_RDAttachmentFormat>`\], view_count\: :ref:`int<class_int>` = 1\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`framebuffer_format_create_empty<class_RenderingDevice_method_framebuffer_format_create_empty>`\ (\ samples\: :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` = 0\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`framebuffer_format_create_multipass<class_RenderingDevice_method_framebuffer_format_create_multipass>`\ (\ attachments\: :ref:`Array<class_Array>`\[:ref:`RDAttachmentFormat<class_RDAttachmentFormat>`\], passes\: :ref:`Array<class_Array>`\[:ref:`RDFramebufferPass<class_RDFramebufferPass>`\], view_count\: :ref:`int<class_int>` = 1\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` | :ref:`framebuffer_format_get_texture_samples<class_RenderingDevice_method_framebuffer_format_get_texture_samples>`\ (\ format\: :ref:`int<class_int>`, render_pass\: :ref:`int<class_int>` = 0\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`framebuffer_get_format<class_RenderingDevice_method_framebuffer_get_format>`\ (\ framebuffer\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`framebuffer_is_valid<class_RenderingDevice_method_framebuffer_is_valid>`\ (\ framebuffer\: :ref:`RID<class_RID>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`free_rid<class_RenderingDevice_method_free_rid>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`full_barrier<class_RenderingDevice_method_full_barrier>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_captured_timestamp_cpu_time<class_RenderingDevice_method_get_captured_timestamp_cpu_time>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_captured_timestamp_gpu_time<class_RenderingDevice_method_get_captured_timestamp_gpu_time>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_captured_timestamp_name<class_RenderingDevice_method_get_captured_timestamp_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_captured_timestamps_count<class_RenderingDevice_method_get_captured_timestamps_count>`\ (\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_captured_timestamps_frame<class_RenderingDevice_method_get_captured_timestamps_frame>`\ (\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_device_name<class_RenderingDevice_method_get_device_name>`\ (\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_device_pipeline_cache_uuid<class_RenderingDevice_method_get_device_pipeline_cache_uuid>`\ (\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_device_vendor_name<class_RenderingDevice_method_get_device_vendor_name>`\ (\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_driver_resource<class_RenderingDevice_method_get_driver_resource>`\ (\ resource\: :ref:`DriverResource<enum_RenderingDevice_DriverResource>`, rid\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_frame_delay<class_RenderingDevice_method_get_frame_delay>`\ (\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_memory_usage<class_RenderingDevice_method_get_memory_usage>`\ (\ type\: :ref:`MemoryType<enum_RenderingDevice_MemoryType>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`index_array_create<class_RenderingDevice_method_index_array_create>`\ (\ index_buffer\: :ref:`RID<class_RID>`, index_offset\: :ref:`int<class_int>`, index_count\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`index_buffer_create<class_RenderingDevice_method_index_buffer_create>`\ (\ size_indices\: :ref:`int<class_int>`, format\: :ref:`IndexBufferFormat<enum_RenderingDevice_IndexBufferFormat>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray(), use_restart_indices\: :ref:`bool<class_bool>` = false\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`limit_get<class_RenderingDevice_method_limit_get>`\ (\ limit\: :ref:`Limit<enum_RenderingDevice_Limit>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`render_pipeline_create<class_RenderingDevice_method_render_pipeline_create>`\ (\ shader\: :ref:`RID<class_RID>`, framebuffer_format\: :ref:`int<class_int>`, vertex_format\: :ref:`int<class_int>`, primitive\: :ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>`, rasterization_state\: :ref:`RDPipelineRasterizationState<class_RDPipelineRasterizationState>`, multisample_state\: :ref:`RDPipelineMultisampleState<class_RDPipelineMultisampleState>`, stencil_state\: :ref:`RDPipelineDepthStencilState<class_RDPipelineDepthStencilState>`, color_blend_state\: :ref:`RDPipelineColorBlendState<class_RDPipelineColorBlendState>`, dynamic_state_flags\: |bitfield|\[:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>`\] = 0, for_render_pass\: :ref:`int<class_int>` = 0, specialization_constants\: :ref:`Array<class_Array>`\[:ref:`RDPipelineSpecializationConstant<class_RDPipelineSpecializationConstant>`\] = []\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`render_pipeline_is_valid<class_RenderingDevice_method_render_pipeline_is_valid>`\ (\ render_pipeline\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`sampler_create<class_RenderingDevice_method_sampler_create>`\ (\ state\: :ref:`RDSamplerState<class_RDSamplerState>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`sampler_is_format_supported_for_filter<class_RenderingDevice_method_sampler_is_format_supported_for_filter>`\ (\ format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, sampler_filter\: :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>`\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`screen_get_framebuffer_format<class_RenderingDevice_method_screen_get_framebuffer_format>`\ (\ screen\: :ref:`int<class_int>` = 0\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`screen_get_height<class_RenderingDevice_method_screen_get_height>`\ (\ screen\: :ref:`int<class_int>` = 0\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`screen_get_width<class_RenderingDevice_method_screen_get_width>`\ (\ screen\: :ref:`int<class_int>` = 0\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_resource_name<class_RenderingDevice_method_set_resource_name>`\ (\ id\: :ref:`RID<class_RID>`, name\: :ref:`String<class_String>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`shader_compile_binary_from_spirv<class_RenderingDevice_method_shader_compile_binary_from_spirv>`\ (\ spirv_data\: :ref:`RDShaderSPIRV<class_RDShaderSPIRV>`, name\: :ref:`String<class_String>` = ""\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RDShaderSPIRV<class_RDShaderSPIRV>` | :ref:`shader_compile_spirv_from_source<class_RenderingDevice_method_shader_compile_spirv_from_source>`\ (\ shader_source\: :ref:`RDShaderSource<class_RDShaderSource>`, allow_cache\: :ref:`bool<class_bool>` = true\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`shader_create_from_bytecode<class_RenderingDevice_method_shader_create_from_bytecode>`\ (\ binary_data\: :ref:`PackedByteArray<class_PackedByteArray>`, placeholder_rid\: :ref:`RID<class_RID>` = RID()\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`shader_create_from_spirv<class_RenderingDevice_method_shader_create_from_spirv>`\ (\ spirv_data\: :ref:`RDShaderSPIRV<class_RDShaderSPIRV>`, name\: :ref:`String<class_String>` = ""\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`shader_create_placeholder<class_RenderingDevice_method_shader_create_placeholder>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`shader_get_vertex_input_attribute_mask<class_RenderingDevice_method_shader_get_vertex_input_attribute_mask>`\ (\ shader\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`storage_buffer_create<class_RenderingDevice_method_storage_buffer_create>`\ (\ size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray(), usage\: |bitfield|\[:ref:`StorageBufferUsage<enum_RenderingDevice_StorageBufferUsage>`\] = 0\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`submit<class_RenderingDevice_method_submit>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`sync<class_RenderingDevice_method_sync>`\ (\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`texture_buffer_create<class_RenderingDevice_method_texture_buffer_create>`\ (\ size_bytes\: :ref:`int<class_int>`, format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray()\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`texture_clear<class_RenderingDevice_method_texture_clear>`\ (\ texture\: :ref:`RID<class_RID>`, color\: :ref:`Color<class_Color>`, base_mipmap\: :ref:`int<class_int>`, mipmap_count\: :ref:`int<class_int>`, base_layer\: :ref:`int<class_int>`, layer_count\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`texture_copy<class_RenderingDevice_method_texture_copy>`\ (\ from_texture\: :ref:`RID<class_RID>`, to_texture\: :ref:`RID<class_RID>`, from_pos\: :ref:`Vector3<class_Vector3>`, to_pos\: :ref:`Vector3<class_Vector3>`, size\: :ref:`Vector3<class_Vector3>`, src_mipmap\: :ref:`int<class_int>`, dst_mipmap\: :ref:`int<class_int>`, src_layer\: :ref:`int<class_int>`, dst_layer\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`texture_create<class_RenderingDevice_method_texture_create>`\ (\ format\: :ref:`RDTextureFormat<class_RDTextureFormat>`, view\: :ref:`RDTextureView<class_RDTextureView>`, data\: :ref:`Array<class_Array>`\[:ref:`PackedByteArray<class_PackedByteArray>`\] = []\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`texture_create_from_extension<class_RenderingDevice_method_texture_create_from_extension>`\ (\ type\: :ref:`TextureType<enum_RenderingDevice_TextureType>`, format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, samples\: :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>`, usage_flags\: |bitfield|\[:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>`\], image\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`, depth\: :ref:`int<class_int>`, layers\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`texture_create_shared<class_RenderingDevice_method_texture_create_shared>`\ (\ view\: :ref:`RDTextureView<class_RDTextureView>`, with_texture\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`texture_create_shared_from_slice<class_RenderingDevice_method_texture_create_shared_from_slice>`\ (\ view\: :ref:`RDTextureView<class_RDTextureView>`, with_texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`, mipmap\: :ref:`int<class_int>`, mipmaps\: :ref:`int<class_int>` = 1, slice_type\: :ref:`TextureSliceType<enum_RenderingDevice_TextureSliceType>` = 0\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`texture_get_data<class_RenderingDevice_method_texture_get_data>`\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RDTextureFormat<class_RDTextureFormat>` | :ref:`texture_get_format<class_RenderingDevice_method_texture_get_format>`\ (\ texture\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`texture_get_native_handle<class_RenderingDevice_method_texture_get_native_handle>`\ (\ texture\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`texture_is_format_supported_for_usage<class_RenderingDevice_method_texture_is_format_supported_for_usage>`\ (\ format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, usage_flags\: |bitfield|\[:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>`\]\ ) |const| |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`texture_is_shared<class_RenderingDevice_method_texture_is_shared>`\ (\ texture\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`texture_is_valid<class_RenderingDevice_method_texture_is_valid>`\ (\ texture\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`texture_resolve_multisample<class_RenderingDevice_method_texture_resolve_multisample>`\ (\ from_texture\: :ref:`RID<class_RID>`, to_texture\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`texture_update<class_RenderingDevice_method_texture_update>`\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`uniform_buffer_create<class_RenderingDevice_method_uniform_buffer_create>`\ (\ size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray()\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`uniform_set_create<class_RenderingDevice_method_uniform_set_create>`\ (\ uniforms\: :ref:`Array<class_Array>`\[:ref:`RDUniform<class_RDUniform>`\], shader\: :ref:`RID<class_RID>`, shader_set\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`uniform_set_is_valid<class_RenderingDevice_method_uniform_set_is_valid>`\ (\ uniform_set\: :ref:`RID<class_RID>`\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`vertex_array_create<class_RenderingDevice_method_vertex_array_create>`\ (\ vertex_count\: :ref:`int<class_int>`, vertex_format\: :ref:`int<class_int>`, src_buffers\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], offsets\: :ref:`PackedInt64Array<class_PackedInt64Array>` = PackedInt64Array()\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`vertex_buffer_create<class_RenderingDevice_method_vertex_buffer_create>`\ (\ size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray(), use_as_storage\: :ref:`bool<class_bool>` = false\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`vertex_format_create<class_RenderingDevice_method_vertex_format_create>`\ (\ vertex_descriptions\: :ref:`Array<class_Array>`\[:ref:`RDVertexAttribute<class_RDVertexAttribute>`\]\ ) |
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
枚举
----
.. _enum_RenderingDevice_DeviceType:
.. rst-class:: classref-enumeration
enum **DeviceType**: :ref:`🔗<enum_RenderingDevice_DeviceType>`
.. _class_RenderingDevice_constant_DEVICE_TYPE_OTHER:
.. rst-class:: classref-enumeration-constant
:ref:`DeviceType<enum_RenderingDevice_DeviceType>` **DEVICE_TYPE_OTHER** = ``0``
渲染设备的类型与其他枚举值均不匹配,或者未知。
.. _class_RenderingDevice_constant_DEVICE_TYPE_INTEGRATED_GPU:
.. rst-class:: classref-enumeration-constant
:ref:`DeviceType<enum_RenderingDevice_DeviceType>` **DEVICE_TYPE_INTEGRATED_GPU** = ``1``
渲染设备为集成 GPU通常\ *(但不一定)*\ 比独立 GPU\ :ref:`DEVICE_TYPE_DISCRETE_GPU<class_RenderingDevice_constant_DEVICE_TYPE_DISCRETE_GPU>`\ )要慢。在 Android 和 iOS 上,渲染设备的类型始终为 :ref:`DEVICE_TYPE_INTEGRATED_GPU<class_RenderingDevice_constant_DEVICE_TYPE_INTEGRATED_GPU>`\ 。
.. _class_RenderingDevice_constant_DEVICE_TYPE_DISCRETE_GPU:
.. rst-class:: classref-enumeration-constant
:ref:`DeviceType<enum_RenderingDevice_DeviceType>` **DEVICE_TYPE_DISCRETE_GPU** = ``2``
渲染设备为独立 GPU通常\ *(但不一定)*\ 比集成 GPU\ :ref:`DEVICE_TYPE_INTEGRATED_GPU<class_RenderingDevice_constant_DEVICE_TYPE_INTEGRATED_GPU>`\ )要快。
.. _class_RenderingDevice_constant_DEVICE_TYPE_VIRTUAL_GPU:
.. rst-class:: classref-enumeration-constant
:ref:`DeviceType<enum_RenderingDevice_DeviceType>` **DEVICE_TYPE_VIRTUAL_GPU** = ``3``
渲染设备为虚拟环境中的模拟 GPU。通常比主机 GPU 要慢很多,这意味着独立 GPU 的预期性能等级大概与 :ref:`DEVICE_TYPE_INTEGRATED_GPU<class_RenderingDevice_constant_DEVICE_TYPE_INTEGRATED_GPU>` 等价。使用虚拟机 GPU 穿透(例如 VFIO设备类型不会被汇报为 :ref:`DEVICE_TYPE_VIRTUAL_GPU<class_RenderingDevice_constant_DEVICE_TYPE_VIRTUAL_GPU>`\ 。而是会汇报主机 GPU 的设备类型,就好像使用的不是模拟 GPU 一样。
.. _class_RenderingDevice_constant_DEVICE_TYPE_CPU:
.. rst-class:: classref-enumeration-constant
:ref:`DeviceType<enum_RenderingDevice_DeviceType>` **DEVICE_TYPE_CPU** = ``4``
渲染设备由软件模拟提供(例如 Lavapipe 或 `SwiftShader <https://github.com/google/swiftshader>`__\ )。这是可用的渲染设备中最慢的一种;通常比 :ref:`DEVICE_TYPE_INTEGRATED_GPU<class_RenderingDevice_constant_DEVICE_TYPE_INTEGRATED_GPU>` 要慢很多。
.. _class_RenderingDevice_constant_DEVICE_TYPE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`DeviceType<enum_RenderingDevice_DeviceType>` **DEVICE_TYPE_MAX** = ``5``
代表 :ref:`DeviceType<enum_RenderingDevice_DeviceType>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_DriverResource:
.. rst-class:: classref-enumeration
enum **DriverResource**: :ref:`🔗<enum_RenderingDevice_DriverResource>`
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_LOGICAL_DEVICE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_LOGICAL_DEVICE** = ``0``
基于物理设备的特定设备对象。
- VulkanVulkan 设备驱动资源(\ ``VkDevice``\ )。(\ ``rid`` 参数不适用。)
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_PHYSICAL_DEVICE** = ``1``
特定逻辑设备基于的物理设备。
- Vulkan\ ``VkDevice``\ 。(\ ``rid`` 参数不适用。)
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_TOPMOST_OBJECT** = ``2``
顶层图形 API 入口对象。
- Vulkan\ ``VkInstance``\ 。(\ ``rid`` 参数不适用。)
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_COMMAND_QUEUE** = ``3``
主要图形计算命令队列。
- Vulkan\ ``VkQueue``\ 。(\ ``rid`` 参数不适用。)
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_QUEUE_FAMILY** = ``4``
主要队列属于的家族。
- Vulkan队列家族索引是一个 ``uint32_t``\ 。(\ ``rid`` 参数不适用。)
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_TEXTURE** = ``5``
- Vulkan\ ``VkImage``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_VIEW:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_TEXTURE_VIEW** = ``6``
自有或共享纹理的视图。
- Vulkan\ ``VkImageView``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_TEXTURE_DATA_FORMAT** = ``7``
纹理数据格式的原生 ID。
- Vulkan\ ``VkFormat``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_SAMPLER** = ``8``
- Vulkan\ ``VkSampler``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_UNIFORM_SET:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_UNIFORM_SET** = ``9``
- Vulkan\ ``VkDescriptorSet``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_BUFFER** = ``10``
任何类型的缓冲(存储缓冲、顶点缓冲等)。
- Vulkan\ ``VkBuffer``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_COMPUTE_PIPELINE** = ``11``
- Vulkan\ ``VkPipeline``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_RENDER_PIPELINE** = ``12``
- Vulkan\ ``VkPipeline``\ 。
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_DEVICE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_DEVICE** = ``0``
**已弃用:** Use :ref:`DRIVER_RESOURCE_LOGICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_LOGICAL_DEVICE>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE** = ``1``
**已弃用:** Use :ref:`DRIVER_RESOURCE_PHYSICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_INSTANCE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_INSTANCE** = ``2``
**已弃用:** Use :ref:`DRIVER_RESOURCE_TOPMOST_OBJECT<class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_QUEUE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_QUEUE** = ``3``
**已弃用:** Use :ref:`DRIVER_RESOURCE_COMMAND_QUEUE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX** = ``4``
**已弃用:** Use :ref:`DRIVER_RESOURCE_QUEUE_FAMILY<class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE** = ``5``
**已弃用:** Use :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE_VIEW:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE_VIEW** = ``6``
**已弃用:** Use :ref:`DRIVER_RESOURCE_TEXTURE_VIEW<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_VIEW>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT** = ``7``
**已弃用:** Use :ref:`DRIVER_RESOURCE_TEXTURE_DATA_FORMAT<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_SAMPLER:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_SAMPLER** = ``8``
**已弃用:** Use :ref:`DRIVER_RESOURCE_SAMPLER<class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET** = ``9``
**已弃用:** Use :ref:`DRIVER_RESOURCE_UNIFORM_SET<class_RenderingDevice_constant_DRIVER_RESOURCE_UNIFORM_SET>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_BUFFER** = ``10``
**已弃用:** Use :ref:`DRIVER_RESOURCE_BUFFER<class_RenderingDevice_constant_DRIVER_RESOURCE_BUFFER>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE** = ``11``
**已弃用:** Use :ref:`DRIVER_RESOURCE_COMPUTE_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE>` instead.
.. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE:
.. rst-class:: classref-enumeration-constant
:ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE** = ``12``
**已弃用:** Use :ref:`DRIVER_RESOURCE_RENDER_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE>` instead.
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_DataFormat:
.. rst-class:: classref-enumeration
enum **DataFormat**: :ref:`🔗<enum_RenderingDevice_DataFormat>`
.. _class_RenderingDevice_constant_DATA_FORMAT_R4G4_UNORM_PACK8:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R4G4_UNORM_PACK8** = ``0``
每通道 4 位的红、绿通道数据格式,紧缩在 8 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
\ **注意:**\ 所有数据格式的更多信息可以在 Vulkan 规格说明的 `Identification of formats <https://registry.khronos.org/vulkan/specs/1.1/html/vkspec.html#_identification_of_formats>`__ 章节和 `VkFormat <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html>`__ 枚举中找到。
.. _class_RenderingDevice_constant_DATA_FORMAT_R4G4B4A4_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R4G4B4A4_UNORM_PACK16** = ``1``
每通道 4 位的红、绿、蓝、Alpha 通道数据格式,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B4G4R4A4_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B4G4R4A4_UNORM_PACK16** = ``2``
每通道 4 位的蓝、绿、红、Alpha 通道数据格式,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R5G6B5_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R5G6B5_UNORM_PACK16** = ``3``
红、绿、蓝通道数据格式,红占 5 位、绿占 6 位、蓝占 5 位,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B5G6R5_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B5G6R5_UNORM_PACK16** = ``4``
蓝、绿、红通道数据格式,蓝占 5 位、绿占 6 位、红占 5 位,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R5G5B5A1_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R5G5B5A1_UNORM_PACK16** = ``5``
红、绿、蓝、Alpha 通道数据格式,红占 5 位、绿占 6 位、蓝占 5 位、Alpha 占 1 位,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B5G5R5A1_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B5G5R5A1_UNORM_PACK16** = ``6``
蓝、绿、红、Alpha 通道数据格式,蓝占 5 位、绿占 6 位、红占 5 位、Alpha 占 1 位,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A1R5G5B5_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A1R5G5B5_UNORM_PACK16** = ``7``
Alpha、红、绿、蓝通道数据格式Alpha 占 1 位、红占 5 位、绿占 6 位、蓝占 5 位,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_UNORM** = ``8``
每通道 8 位的无符号浮点数红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_SNORM** = ``9``
每通道 8 位的带符号浮点数红通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_USCALED** = ``10``
每通道 8 位的无符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_SSCALED** = ``11``
每通道 8 位的带符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_UINT** = ``12``
每通道 8 位的无符号整数红通道数据格式。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_SINT** = ``13``
每通道 8 位的带符号整数红通道数据格式。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8_SRGB:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8_SRGB** = ``14``
每通道 8 位的无符号浮点数红通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_UNORM** = ``15``
每通道 8 位的无符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_SNORM** = ``16``
每通道 8 位的带符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_USCALED** = ``17``
每通道 8 位的无符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_SSCALED** = ``18``
每通道 8 位的带符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_UINT** = ``19``
每通道 8 位的无符号整数红、绿通道数据格式。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_SINT** = ``20``
每通道 8 位的带符号整数红、绿通道数据格式。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8_SRGB:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8_SRGB** = ``21``
每通道 8 位的无符号浮点数红、绿通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_UNORM** = ``22``
每通道 8 位的无符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_SNORM** = ``23``
每通道 8 位的带符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_USCALED** = ``24``
每通道 8 位的无符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_SSCALED** = ``25``
每通道 8 位的带符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_UINT** = ``26``
每通道 8 位的无符号整数红、绿、蓝通道数据格式。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_SINT** = ``27``
每通道 8 位的带符号整数红、绿、蓝通道数据格式。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8_SRGB:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8_SRGB** = ``28``
每通道 8 位的无符号浮点数红、绿、蓝通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_UNORM** = ``29``
每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_SNORM** = ``30``
每通道 8 位的带符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_USCALED** = ``31``
每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_SSCALED** = ``32``
每通道 8 位的带符号浮点数蓝、绿、红通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_UINT** = ``33``
每通道 8 位的无符号整数蓝、绿、红通道数据格式。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_SINT** = ``34``
每通道 8 位的带符号整数蓝、绿、红通道数据格式。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8_SRGB:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8_SRGB** = ``35``
每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_UNORM** = ``36``
每通道 8 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_SNORM** = ``37``
每通道 8 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_USCALED** = ``38``
每通道 8 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_SSCALED** = ``39``
每通道 8 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_UINT** = ``40``
每通道 8 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_SINT** = ``41``
每通道 8 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R8G8B8A8_SRGB:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R8G8B8A8_SRGB** = ``42``
每通道 8 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_UNORM** = ``43``
每通道 8 位的无符号浮点数蓝、绿、红、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_SNORM** = ``44``
每通道 8 位的带符号浮点数蓝、绿、红、Alpha 通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_USCALED** = ``45``
每通道 8 位的无符号浮点数蓝、绿、红、Alpha 通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_SSCALED** = ``46``
每通道 8 位的带符号浮点数蓝、绿、红、Alpha 通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_UINT** = ``47``
每通道 8 位的无符号整数蓝、绿、红、Alpha 通道数据格式。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_SINT** = ``48``
每通道 8 位的带符号整数蓝、绿、红、Alpha 通道数据格式。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8A8_SRGB:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8A8_SRGB** = ``49``
每通道 8 位的无符号浮点数蓝、绿、红、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_UNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_UNORM_PACK32** = ``50``
每通道 8 位的无符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_SNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_SNORM_PACK32** = ``51``
每通道 8 位的带符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_USCALED_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_USCALED_PACK32** = ``52``
每通道 8 位的无符号浮点数 Alpha、红、绿、蓝通道数据格式使用缩放后的值值从整数转换为浮点数紧缩在 32 个比特位中。取值均在 ``[0.0, 255.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_SSCALED_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_SSCALED_PACK32** = ``53``
每通道 8 位的带符号浮点数 Alpha、红、绿、蓝通道数据格式使用缩放后的值值从整数转换为浮点数紧缩在 32 个比特位中。取值均在 ``[-127.0, 127.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_UINT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_UINT_PACK32** = ``54``
每通道 8 位的无符号整数 Alpha、红、绿、蓝通道数据格式紧缩在 32 个比特位中。取值均在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_SINT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_SINT_PACK32** = ``55``
每通道 8 位的带符号整数 Alpha、红、绿、蓝通道数据格式紧缩在 32 个比特位中。取值均在 ``[-127, 127]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A8B8G8R8_SRGB_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A8B8G8R8_SRGB_PACK32** = ``56``
每通道 8 位的无符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值、非线性 sRGB 编码,紧缩在 32 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2R10G10B10_UNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2R10G10B10_UNORM_PACK32** = ``57``
无符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2R10G10B10_SNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2R10G10B10_SNORM_PACK32** = ``58``
带符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2R10G10B10_USCALED_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2R10G10B10_USCALED_PACK32** = ``59``
无符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 ``[0.0, 1023.0]`` 的范围内Alpha 的取值在 ``[0.0, 3.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2R10G10B10_SSCALED_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2R10G10B10_SSCALED_PACK32** = ``60``
带符号浮点数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 ``[-511.0, 511.0]`` 的范围内Alpha 的取值在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2R10G10B10_UINT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2R10G10B10_UINT_PACK32** = ``61``
无符号整数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 ``[0, 1023]`` 的范围内Alpha 的取值在 ``[0, 3]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2R10G10B10_SINT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2R10G10B10_SINT_PACK32** = ``62``
带符号整数 Alpha、红、绿、蓝通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位红、10 位绿、10 位蓝。红、绿、蓝的取值在 ``[-511, 511]`` 的范围内Alpha 的取值在 ``[-1, 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2B10G10R10_UNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2B10G10R10_UNORM_PACK32** = ``63``
无符号浮点数 Alpha、蓝、绿、红通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2B10G10R10_SNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2B10G10R10_SNORM_PACK32** = ``64``
带符号浮点数 Alpha、蓝、绿、红通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2B10G10R10_USCALED_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2B10G10R10_USCALED_PACK32** = ``65``
无符号浮点数 Alpha、蓝、绿、红通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 ``[0.0, 1023.0]`` 的范围内Alpha 的取值在 ``[0.0, 3.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2B10G10R10_SSCALED_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2B10G10R10_SSCALED_PACK32** = ``66``
带符号浮点数 Alpha、蓝、绿、红通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 ``[-511.0, 511.0]`` 的范围内Alpha 的取值在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2B10G10R10_UINT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2B10G10R10_UINT_PACK32** = ``67``
无符号整数 Alpha、蓝、绿、红通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 ``[0, 1023]`` 的范围内Alpha 的取值在 ``[0, 3]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_A2B10G10R10_SINT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_A2B10G10R10_SINT_PACK32** = ``68``
带符号整数 Alpha、蓝、绿、红通道数据格式使用归一化的值紧缩在 32 个比特位中。格式中包含 2 位 Alpha、10 位蓝、10 位绿、10 位红。蓝、绿、红的取值在 ``[-511, 511]`` 的范围内Alpha 的取值在 ``[-1, 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_UNORM** = ``69``
每通道 16 位的无符号浮点数红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_SNORM** = ``70``
每通道 16 位的带符号浮点数红通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_USCALED** = ``71``
每通道 16 位的无符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 65535.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_SSCALED** = ``72``
每通道 16 位的带符号浮点数红通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-32767.0, 32767.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_UINT** = ``73``
每通道 16 位的无符号整数红通道数据格式。取值均在 ``[0.0, 65535]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_SINT** = ``74``
每通道 16 位的带符号整数红通道数据格式。取值均在 ``[-32767, 32767]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16_SFLOAT** = ``75``
每通道 16 位的带符号浮点数红通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_UNORM** = ``76``
每通道 16 位的无符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_SNORM** = ``77``
每通道 16 位的带符号浮点数红、绿通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_USCALED** = ``78``
每通道 16 位的无符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 65535.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_SSCALED** = ``79``
每通道 16 位的带符号浮点数红、绿通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-32767.0, 32767.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_UINT** = ``80``
每通道 16 位的无符号整数红、绿通道数据格式。取值均在 ``[0.0, 65535]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_SINT** = ``81``
每通道 16 位的带符号整数红、绿通道数据格式。取值均在 ``[-32767, 32767]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16_SFLOAT** = ``82``
每通道 16 位的带符号浮点数红、绿通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_UNORM** = ``83``
每通道 16 位的无符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_SNORM** = ``84``
每通道 16 位的带符号浮点数红、绿、蓝通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_USCALED** = ``85``
每通道 16 位的无符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 65535.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_SSCALED** = ``86``
每通道 16 位的带符号浮点数红、绿、蓝通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-32767.0, 32767.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_UINT** = ``87``
每通道 16 位的无符号整数红、绿、蓝通道数据格式。取值均在 ``[0.0, 65535]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_SINT** = ``88``
每通道 16 位的带符号整数红、绿、蓝通道数据格式。取值均在 ``[-32767, 32767]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16_SFLOAT** = ``89``
每通道 16 位的带符号浮点数红、绿、蓝通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_UNORM** = ``90``
每通道 16 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_SNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_SNORM** = ``91``
每通道 16 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_USCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_USCALED** = ``92``
每通道 16 位的无符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[0.0, 65535.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_SSCALED:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_SSCALED** = ``93``
每通道 16 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,使用缩放后的值(值从整数转换为浮点数)。取值均在 ``[-32767.0, 32767.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_UINT** = ``94``
每通道 16 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[0.0, 65535]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_SINT** = ``95``
每通道 16 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[-32767, 32767]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R16G16B16A16_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R16G16B16A16_SFLOAT** = ``96``
每通道 16 位的带符号浮点数红、绿、蓝、Alpha 通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32_UINT** = ``97``
每通道 32 位的无符号整数红通道数据格式。取值均在 ``[0, 2^32 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32_SINT** = ``98``
每通道 32 位的带符号整数红通道数据格式。取值均在 ``[2^31 + 1, 2^31 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32_SFLOAT** = ``99``
每通道 32 位的带符号整数红通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32_UINT** = ``100``
每通道 32 位的无符号整数红、绿通道数据格式。取值均在 ``[0, 2^32 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32_SINT** = ``101``
每通道 32 位的带符号整数红、绿通道数据格式。取值均在 ``[2^31 + 1, 2^31 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32_SFLOAT** = ``102``
每通道 32 位的带符号整数红、绿通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32B32_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32B32_UINT** = ``103``
每通道 32 位的无符号整数红、绿、蓝通道数据格式。取值均在 ``[0, 2^32 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32B32_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32B32_SINT** = ``104``
每通道 32 位的带符号整数红、绿、蓝通道数据格式。取值均在 ``[2^31 + 1, 2^31 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32B32_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32B32_SFLOAT** = ``105``
每通道 32 位的带符号整数红、绿、蓝通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32B32A32_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32B32A32_UINT** = ``106``
每通道 32 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[0, 2^32 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32B32A32_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32B32A32_SINT** = ``107``
每通道 32 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[2^31 + 1, 2^31 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R32G32B32A32_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R32G32B32A32_SFLOAT** = ``108``
每通道 32 位的带符号整数红、绿、蓝、Alpha 通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64_UINT** = ``109``
每通道 64 位的无符号整数红通道数据格式。取值均在 ``[0, 2^64 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64_SINT** = ``110``
每通道 64 位的带符号整数红通道数据格式。取值均在 ``[2^63 + 1, 2^63 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64_SFLOAT** = ``111``
每通道 64 位的带符号整数红通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64_UINT** = ``112``
每通道 64 位的无符号整数红、绿通道数据格式。取值均在 ``[0, 2^64 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64_SINT** = ``113``
每通道 64 位的带符号整数红、绿通道数据格式。取值均在 ``[2^63 + 1, 2^63 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64_SFLOAT** = ``114``
每通道 64 位的带符号整数红、绿通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64B64_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64B64_UINT** = ``115``
每通道 64 位的无符号整数红、绿、蓝通道数据格式。取值均在 ``[0, 2^64 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64B64_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64B64_SINT** = ``116``
每通道 64 位的带符号整数红、绿、蓝通道数据格式。取值均在 ``[2^63 + 1, 2^63 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64B64_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64B64_SFLOAT** = ``117``
每通道 64 位的带符号整数红、绿、蓝通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64B64A64_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64B64A64_UINT** = ``118``
每通道 64 位的无符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[0, 2^64 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64B64A64_SINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64B64A64_SINT** = ``119``
每通道 64 位的带符号整数红、绿、蓝、Alpha 通道数据格式。取值均在 ``[2^63 + 1, 2^63 - 1]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R64G64B64A64_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R64G64B64A64_SFLOAT** = ``120``
每通道 64 位的带符号整数红、绿、蓝、Alpha 通道数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_B10G11R11_UFLOAT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B10G11R11_UFLOAT_PACK32** = ``121``
无符号浮点数蓝、绿、红数据格式,数值原样存储,紧缩在 32 个比特位中。该格式的精度为蓝通道 10 位、绿通道 11 位、红通道 11 位。
.. _class_RenderingDevice_constant_DATA_FORMAT_E5B9G9R9_UFLOAT_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_E5B9G9R9_UFLOAT_PACK32** = ``122``
无符号浮点数曝光、蓝、绿、红数据格式,数值原样存储,紧缩在 32 个比特位中。该格式的精度为曝光 5 位、蓝通道 9 位、绿通道 9 位、红通道 9 位。
.. _class_RenderingDevice_constant_DATA_FORMAT_D16_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_D16_UNORM** = ``123``
16 位无符号浮点数深度数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_X8_D24_UNORM_PACK32:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_X8_D24_UNORM_PACK32** = ``124``
24 位无符号浮点数深度数据格式,使用归一化的值,另有 8 位未使用,紧缩在 32 个比特位中。深度取值在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_D32_SFLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_D32_SFLOAT** = ``125``
32 位无符号浮点数深度数据格式,数值原样存储。
.. _class_RenderingDevice_constant_DATA_FORMAT_S8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_S8_UINT** = ``126``
8 位无符号整数模板数据格式。
.. _class_RenderingDevice_constant_DATA_FORMAT_D16_UNORM_S8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_D16_UNORM_S8_UINT** = ``127``
16 位无符号浮点数深度数据格式,使用归一化的值,另有 8 位使用无符号整数格式的模板。深度取值在 ``[0.0, 1.0]`` 的范围内。模板取值在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_D24_UNORM_S8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_D24_UNORM_S8_UINT** = ``128``
24 位无符号浮点数深度数据格式,使用归一化的值,另有 8 位使用无符号整数格式的模板。深度取值在 ``[0.0, 1.0]`` 的范围内。模板取值在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_D32_SFLOAT_S8_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_D32_SFLOAT_S8_UINT** = ``129``
32 位无符号浮点数深度数据格式,数值原样存储,另有 8 位使用无符号整数格式的模板。模板取值在 ``[0, 255]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_BC1_RGB_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC1_RGB_UNORM_BLOCK** = ``130``
显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位。使用 BC1 纹理压缩(也叫 S3TC DXT1
.. _class_RenderingDevice_constant_DATA_FORMAT_BC1_RGB_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC1_RGB_SRGB_BLOCK** = ``131``
显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位。使用 BC1 纹理压缩(也叫 S3TC DXT1
.. _class_RenderingDevice_constant_DATA_FORMAT_BC1_RGBA_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC1_RGBA_UNORM_BLOCK** = ``132``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位、Alpha 通道 1 位。使用 BC1 纹理压缩(也叫 S3TC DXT1
.. _class_RenderingDevice_constant_DATA_FORMAT_BC1_RGBA_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC1_RGBA_SRGB_BLOCK** = ``133``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位、Alpha 通道 1 位。使用 BC1 纹理压缩(也叫 S3TC DXT1
.. _class_RenderingDevice_constant_DATA_FORMAT_BC2_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC2_UNORM_BLOCK** = ``134``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位、Alpha 通道 4 位。使用 BC2 纹理压缩(也叫 S3TC DXT3
.. _class_RenderingDevice_constant_DATA_FORMAT_BC2_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC2_SRGB_BLOCK** = ``135``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位、Alpha 通道 4 位。使用 BC2 纹理压缩(也叫 S3TC DXT3
.. _class_RenderingDevice_constant_DATA_FORMAT_BC3_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC3_UNORM_BLOCK** = ``136``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位、Alpha 通道 8 位。使用 BC3 纹理压缩(也叫 S3TC DXT5
.. _class_RenderingDevice_constant_DATA_FORMAT_BC3_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC3_SRGB_BLOCK** = ``137``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 5 位、绿通道 6 位、蓝通道 5 位、Alpha 通道 8 位。使用 BC3 纹理压缩(也叫 S3TC DXT5
.. _class_RenderingDevice_constant_DATA_FORMAT_BC4_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC4_UNORM_BLOCK** = ``138``
显存压缩的无符号红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 8 位。使用 BC4 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_BC4_SNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC4_SNORM_BLOCK** = ``139``
显存压缩的带符号红通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。该格式的精度为红通道 8 位。使用 BC4 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_BC5_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC5_UNORM_BLOCK** = ``140``
显存压缩的无符号红、绿通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红通道 8 位、绿通道 8 位。使用 BC5 纹理压缩(也叫 S3TC RGTC
.. _class_RenderingDevice_constant_DATA_FORMAT_BC5_SNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC5_SNORM_BLOCK** = ``141``
显存压缩的带符号红、绿通道数据格式,使用归一化的值。取值均在 ``[-1.0, 1.0]`` 的范围内。该格式的精度为红通道 8 位、绿通道 8 位。使用 BC5 纹理压缩(也叫 S3TC RGTC
.. _class_RenderingDevice_constant_DATA_FORMAT_BC6H_UFLOAT_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC6H_UFLOAT_BLOCK** = ``142``
VRAM-compressed unsigned red/green/blue channel data format with the floating-point value stored as-is. The format's precision is between 10 and 13 bits for the red/green/blue channels. Using BC6H texture compression (also known as BPTC HDR).
.. _class_RenderingDevice_constant_DATA_FORMAT_BC6H_SFLOAT_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC6H_SFLOAT_BLOCK** = ``143``
VRAM-compressed signed red/green/blue channel data format with the floating-point value stored as-is. The format's precision is between 10 and 13 bits for the red/green/blue channels. Using BC6H texture compression (also known as BPTC HDR).
.. _class_RenderingDevice_constant_DATA_FORMAT_BC7_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC7_UNORM_BLOCK** = ``144``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红、绿、蓝通道在 4 到 7 位之间Alpha 通道在 0 到 8 位之间。使用 BC7 纹理压缩。也叫 BPTC HDR。
.. _class_RenderingDevice_constant_DATA_FORMAT_BC7_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_BC7_SRGB_BLOCK** = ``145``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。该格式的精度为红、绿、蓝通道在 4 到 7 位之间Alpha 通道在 0 到 8 位之间。使用 BC7 纹理压缩。也叫 BPTC HDR。
.. _class_RenderingDevice_constant_DATA_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ETC2_R8G8B8_UNORM_BLOCK** = ``146``
显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ETC2_R8G8B8_SRGB_BLOCK** = ``147``
显存压缩的无符号红、绿、蓝通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK** = ``148``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。红、绿、蓝均使用 8 位精度Alpha 使用 1 位精度。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK** = ``149``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。红、绿、蓝均使用 8 位精度Alpha 使用 1 位精度。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK** = ``150``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。红、绿、蓝均使用 8 位精度Alpha 使用 8 位精度。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK** = ``151``
显存压缩的无符号红、绿、蓝、Alpha 通道数据格式,使用归一化的值、非线性 sRGB 编码。取值均在 ``[0.0, 1.0]`` 的范围内。红、绿、蓝均使用 8 位精度Alpha 使用 8 位精度。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_EAC_R11_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_EAC_R11_UNORM_BLOCK** = ``152``
11 位显存压缩的无符号红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_EAC_R11_SNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_EAC_R11_SNORM_BLOCK** = ``153``
11-bit VRAM-compressed signed red channel data format with normalized value. Values are in the ``[-1.0, 1.0]`` range. Using ETC2 texture compression.
.. _class_RenderingDevice_constant_DATA_FORMAT_EAC_R11G11_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_EAC_R11G11_UNORM_BLOCK** = ``154``
11 位显存压缩的无符号红、绿通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ETC2 纹理压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_EAC_R11G11_SNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_EAC_R11G11_SNORM_BLOCK** = ``155``
11-bit VRAM-compressed signed red/green channel data format with normalized value. Values are in the ``[-1.0, 1.0]`` range. Using ETC2 texture compression.
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_4x4_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_4x4_UNORM_BLOCK** = ``156``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 4x4 的区块内(质量最高)。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_4x4_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_4x4_SRGB_BLOCK** = ``157``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 4x4 的区块内(质量最高)。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_5x4_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_5x4_UNORM_BLOCK** = ``158``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 5x4 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_5x4_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_5x4_SRGB_BLOCK** = ``159``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 5x4 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_5x5_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_5x5_UNORM_BLOCK** = ``160``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 5x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_5x5_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_5x5_SRGB_BLOCK** = ``161``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 5x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_6x5_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_6x5_UNORM_BLOCK** = ``162``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 6x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_6x5_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_6x5_SRGB_BLOCK** = ``163``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 6x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_6x6_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_6x6_UNORM_BLOCK** = ``164``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 6x6 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_6x6_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_6x6_SRGB_BLOCK** = ``165``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 6x6 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_8x5_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_8x5_UNORM_BLOCK** = ``166``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 8x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_8x5_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_8x5_SRGB_BLOCK** = ``167``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 8x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_8x6_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_8x6_UNORM_BLOCK** = ``168``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 8x6 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_8x6_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_8x6_SRGB_BLOCK** = ``169``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 8x6 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_8x8_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_8x8_UNORM_BLOCK** = ``170``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 8x8 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_8x8_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_8x8_SRGB_BLOCK** = ``171``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 8x8 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x5_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x5_UNORM_BLOCK** = ``172``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x5_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x5_SRGB_BLOCK** = ``173``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 10x5 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x6_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x6_UNORM_BLOCK** = ``174``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x6 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x6_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x6_SRGB_BLOCK** = ``175``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 10x6 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x8_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x8_UNORM_BLOCK** = ``176``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x8 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x8_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x8_SRGB_BLOCK** = ``177``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 10x8 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x10_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x10_UNORM_BLOCK** = ``178``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 10x10 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_10x10_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_10x10_SRGB_BLOCK** = ``179``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 10x10 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_12x10_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_12x10_UNORM_BLOCK** = ``180``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 12x10 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_12x10_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_12x10_SRGB_BLOCK** = ``181``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 12x10 的区块内。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_12x12_UNORM_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_12x12_UNORM_BLOCK** = ``182``
显存压缩的无符号浮点数数据格式,使用归一化的值,紧缩在 12 个区块内(质量最低)。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_ASTC_12x12_SRGB_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_ASTC_12x12_SRGB_BLOCK** = ``183``
显存压缩的无符号浮点数数据格式,使用归一化的值、非线性 sRGB 编码,紧缩在 12 个区块内(质量最低)。取值均在 ``[0.0, 1.0]`` 的范围内。使用 ASTC 压缩。
.. _class_RenderingDevice_constant_DATA_FORMAT_G8B8G8R8_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G8B8G8R8_422_UNORM** = ``184``
每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_B8G8R8G8_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B8G8R8G8_422_UNORM** = ``185``
每通道 8 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G8_B8_R8_3PLANE_420_UNORM** = ``186``
每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G8_B8R8_2PLANE_420_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G8_B8R8_2PLANE_420_UNORM** = ``187``
每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在两个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G8_B8_R8_3PLANE_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G8_B8_R8_3PLANE_422_UNORM** = ``188``
每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在两个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G8_B8R8_2PLANE_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G8_B8R8_2PLANE_422_UNORM** = ``189``
每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在两个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G8_B8_R8_3PLANE_444_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G8_B8_R8_3PLANE_444_UNORM** = ``190``
每通道 8 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值,分别在三个独立平面存储。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R10X6_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R10X6_UNORM_PACK16** = ``191``
每通道 10 位的无符号浮点数红通道数据,使用归一化的值,另有 6 位未使用,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R10X6G10X6_UNORM_2PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R10X6G10X6_UNORM_2PACK16** = ``192``
每通道 10 位的无符号浮点数红、绿通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 2x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16** = ``193``
每通道 10 位的无符号浮点数红、绿、蓝、Alpha 通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16** = ``194``
每通道 10 位的无符号浮点数绿、蓝、绿、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。
.. _class_RenderingDevice_constant_DATA_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16** = ``195``
每通道 10 位的无符号浮点数蓝、绿、红、绿通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。
.. _class_RenderingDevice_constant_DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16** = ``196``
每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16** = ``197``
每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16** = ``198``
每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16** = ``199``
每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16** = ``200``
每通道 10 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R12X4_UNORM_PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R12X4_UNORM_PACK16** = ``201``
每通道 12 位的无符号浮点数红通道数据,使用归一化的值,另有 6 位未使用,紧缩在 16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R12X4G12X4_UNORM_2PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R12X4G12X4_UNORM_2PACK16** = ``202``
每通道 12 位的无符号浮点数红、绿通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 2x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16** = ``203``
每通道 12 位的无符号浮点数红、绿、蓝、Alpha 通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16** = ``204``
每通道 12 位的无符号浮点数绿、蓝、绿、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。
.. _class_RenderingDevice_constant_DATA_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16** = ``205``
每通道 12 位的无符号浮点数蓝、绿、红、绿通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 4x16 个比特位中。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。绿通道出现两次,但包含不同的值,因此能够表示为完整的分辨率。
.. _class_RenderingDevice_constant_DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16** = ``206``
每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16** = ``207``
每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在两个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16** = ``208``
每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16** = ``209``
每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16** = ``210``
每通道 12 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用,紧缩在 3x16 个比特位中,分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_G16B16G16R16_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G16B16G16R16_422_UNORM** = ``211``
每通道 16 位的无符号浮点数绿、蓝、红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_B16G16R16G16_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_B16G16R16G16_422_UNORM** = ``212``
每通道 16 位的无符号浮点数蓝、绿、红通道数据格式,使用归一化的值。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G16_B16_R16_3PLANE_420_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G16_B16_R16_3PLANE_420_UNORM** = ``213``
每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用。分别在两个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G16_B16R16_2PLANE_420_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G16_B16R16_2PLANE_420_UNORM** = ``214``
每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用。分别在两个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据纵横半分辨率存储(即 2x2 相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM** = ``215``
每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用。分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM** = ``216``
每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用。分别在三个独立平面存储(绿 + 蓝、红)。取值均在 ``[0.0, 1.0]`` 的范围内。蓝、红通道数据横向半分辨率存储(即两个横向相邻的像素共享同一个蓝、红通道数值)。
.. _class_RenderingDevice_constant_DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM** = ``217``
每通道 16 位的无符号浮点数绿、蓝、红通道数据,使用归一化的值,每个通道均另有 6 位未使用。分别在三个独立平面存储(绿 + 蓝 + 红)。取值均在 ``[0.0, 1.0]`` 的范围内。
.. _class_RenderingDevice_constant_DATA_FORMAT_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`DataFormat<enum_RenderingDevice_DataFormat>` **DATA_FORMAT_MAX** = ``218``
代表 :ref:`DataFormat<enum_RenderingDevice_DataFormat>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_BarrierMask:
.. rst-class:: classref-enumeration
flags **BarrierMask**: :ref:`🔗<enum_RenderingDevice_BarrierMask>`
.. _class_RenderingDevice_constant_BARRIER_MASK_VERTEX:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_VERTEX** = ``1``
顶点着色器屏障掩码。
.. _class_RenderingDevice_constant_BARRIER_MASK_FRAGMENT:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_FRAGMENT** = ``8``
片段着色器屏障掩码。
.. _class_RenderingDevice_constant_BARRIER_MASK_COMPUTE:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_COMPUTE** = ``2``
计算屏障掩码。
.. _class_RenderingDevice_constant_BARRIER_MASK_TRANSFER:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_TRANSFER** = ``4``
传输屏障掩码。
.. _class_RenderingDevice_constant_BARRIER_MASK_RASTER:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_RASTER** = ``9``
光栅屏障掩码(顶点及片段)。等价于 ``BARRIER_MASK_VERTEX | BARRIER_MASK_FRAGMENT``\ 。
.. _class_RenderingDevice_constant_BARRIER_MASK_ALL_BARRIERS:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_ALL_BARRIERS** = ``32767``
所有类型的屏障掩码(顶点、片段、计算、传输)。
.. _class_RenderingDevice_constant_BARRIER_MASK_NO_BARRIER:
.. rst-class:: classref-enumeration-constant
:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>` **BARRIER_MASK_NO_BARRIER** = ``32768``
任何类型都没有屏障。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_TextureType:
.. rst-class:: classref-enumeration
enum **TextureType**: :ref:`🔗<enum_RenderingDevice_TextureType>`
.. _class_RenderingDevice_constant_TEXTURE_TYPE_1D:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_1D** = ``0``
一维纹理。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_2D:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_2D** = ``1``
二维纹理。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_3D:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_3D** = ``2``
三维纹理。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_CUBE:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_CUBE** = ``3``
:ref:`Cubemap<class_Cubemap>` 纹理。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_1D_ARRAY:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_1D_ARRAY** = ``4``
一维纹理数组。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_2D_ARRAY:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_2D_ARRAY** = ``5``
二维纹理数组。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_CUBE_ARRAY:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_CUBE_ARRAY** = ``6``
:ref:`Cubemap<class_Cubemap>` 纹理数组。
.. _class_RenderingDevice_constant_TEXTURE_TYPE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`TextureType<enum_RenderingDevice_TextureType>` **TEXTURE_TYPE_MAX** = ``7``
代表 :ref:`TextureType<enum_RenderingDevice_TextureType>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_TextureSamples:
.. rst-class:: classref-enumeration
enum **TextureSamples**: :ref:`🔗<enum_RenderingDevice_TextureSamples>`
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_1:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_1** = ``0``
执行 1 次纹理采样(最快,但抗锯齿质量最低)。
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_2:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_2** = ``1``
执行 2 次纹理采样。
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_4:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_4** = ``2``
执行 4 次纹理采样。
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_8:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_8** = ``3``
执行 8 次纹理采样。移动 GPU 不支持(包括 Apple Silicon
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_16:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_16** = ``4``
执行 16 次纹理采样。移动 GPU 及许多桌面 GPU 均不支持。
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_32:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_32** = ``5``
执行 32 次纹理采样。大多数 GPU 均不支持。
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_64:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_64** = ``6``
执行 64 次纹理采样(最慢,但抗锯齿质量最高)。大多数 GPU 均不支持。
.. _class_RenderingDevice_constant_TEXTURE_SAMPLES_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **TEXTURE_SAMPLES_MAX** = ``7``
代表 :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_TextureUsageBits:
.. rst-class:: classref-enumeration
flags **TextureUsageBits**: :ref:`🔗<enum_RenderingDevice_TextureUsageBits>`
.. _class_RenderingDevice_constant_TEXTURE_USAGE_SAMPLING_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_SAMPLING_BIT** = ``1``
纹理可以采样。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_COLOR_ATTACHMENT_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_COLOR_ATTACHMENT_BIT** = ``2``
纹理可以用作帧缓冲的颜色附件。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT** = ``4``
纹理可以用作帧缓冲的深度/模板附件。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_STORAGE_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_STORAGE_BIT** = ``8``
纹理可以用作\ `存储图像 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-storageimage>`__\ 。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_STORAGE_ATOMIC_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_STORAGE_ATOMIC_BIT** = ``16``
纹理可以用作支持原子操作的\ `存储图像 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-storageimage>`__\ 。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_CPU_READ_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_CPU_READ_BIT** = ``32``
纹理可以在 CPU 上使用 :ref:`texture_get_data<class_RenderingDevice_method_texture_get_data>` 读取,比不设置这一位要快,因为会始终在系统内存中保留。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_CAN_UPDATE_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_CAN_UPDATE_BIT** = ``64``
纹理可以使用 :ref:`texture_update<class_RenderingDevice_method_texture_update>` 更新。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_FROM_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_CAN_COPY_FROM_BIT** = ``128``
纹理可以作为 :ref:`texture_copy<class_RenderingDevice_method_texture_copy>` 的来源。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_TO_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_CAN_COPY_TO_BIT** = ``256``
纹理可以作为 :ref:`texture_copy<class_RenderingDevice_method_texture_copy>` 的目标。
.. _class_RenderingDevice_constant_TEXTURE_USAGE_INPUT_ATTACHMENT_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>` **TEXTURE_USAGE_INPUT_ATTACHMENT_BIT** = ``512``
纹理可以用作帧缓冲的\ `输入附件 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-inputattachment>`__\ 。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_TextureSwizzle:
.. rst-class:: classref-enumeration
enum **TextureSwizzle**: :ref:`🔗<enum_RenderingDevice_TextureSwizzle>`
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_IDENTITY:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_IDENTITY** = ``0``
原样返回采样数值。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_ZERO:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_ZERO** = ``1``
采样时使用返回 ``0.0``\ 。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_ONE:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_ONE** = ``2``
采样时使用返回 ``1.0``\ 。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_R:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_R** = ``3``
对红色通道进行采样。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_G:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_G** = ``4``
对绿色通道进行采样。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_B:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_B** = ``5``
对蓝色通道进行采样。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_A:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_A** = ``6``
对 Alpha 通道进行采样。
.. _class_RenderingDevice_constant_TEXTURE_SWIZZLE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` **TEXTURE_SWIZZLE_MAX** = ``7``
代表 :ref:`TextureSwizzle<enum_RenderingDevice_TextureSwizzle>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_TextureSliceType:
.. rst-class:: classref-enumeration
enum **TextureSliceType**: :ref:`🔗<enum_RenderingDevice_TextureSliceType>`
.. _class_RenderingDevice_constant_TEXTURE_SLICE_2D:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSliceType<enum_RenderingDevice_TextureSliceType>` **TEXTURE_SLICE_2D** = ``0``
二维纹理切片。
.. _class_RenderingDevice_constant_TEXTURE_SLICE_CUBEMAP:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSliceType<enum_RenderingDevice_TextureSliceType>` **TEXTURE_SLICE_CUBEMAP** = ``1``
立方体贴图纹理切片。
.. _class_RenderingDevice_constant_TEXTURE_SLICE_3D:
.. rst-class:: classref-enumeration-constant
:ref:`TextureSliceType<enum_RenderingDevice_TextureSliceType>` **TEXTURE_SLICE_3D** = ``2``
三维纹理切片。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_SamplerFilter:
.. rst-class:: classref-enumeration
enum **SamplerFilter**: :ref:`🔗<enum_RenderingDevice_SamplerFilter>`
.. _class_RenderingDevice_constant_SAMPLER_FILTER_NEAREST:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` **SAMPLER_FILTER_NEAREST** = ``0``
最近邻采样器过滤。按照比源更高分辨率采样时,会产生像素化的效果。
.. _class_RenderingDevice_constant_SAMPLER_FILTER_LINEAR:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` **SAMPLER_FILTER_LINEAR** = ``1``
双线性采样器过滤。按照比源更高分辨率采样时,会产生模糊的效果。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_SamplerRepeatMode:
.. rst-class:: classref-enumeration
enum **SamplerRepeatMode**: :ref:`🔗<enum_RenderingDevice_SamplerRepeatMode>`
.. _class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_REPEAT:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` **SAMPLER_REPEAT_MODE_REPEAT** = ``0``
启用重复采样。
.. _class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_MIRRORED_REPEAT:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` **SAMPLER_REPEAT_MODE_MIRRORED_REPEAT** = ``1``
启用镜像重复采样。对 ``[0.0, 1.0]`` 范围外进行采样时,返回采样器的镜像版本。如果采样的是更远的位置,则会对镜像版本再次镜像,并按照这样的规律无限重复下去。
.. _class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_EDGE:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` **SAMPLER_REPEAT_MODE_CLAMP_TO_EDGE** = ``2``
禁用重复采样。对 ``[0.0, 1.0]`` 范围外进行采样时,返回边缘上最后一个像素的颜色。
.. _class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` **SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER** = ``3``
禁用重复采样。对 ``[0.0, 1.0]`` 范围外进行采样时,返回指定的边框颜色 :ref:`RDSamplerState.border_color<class_RDSamplerState_property_border_color>`\ 。
.. _class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_MIRROR_CLAMP_TO_EDGE:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` **SAMPLER_REPEAT_MODE_MIRROR_CLAMP_TO_EDGE** = ``4``
启用单次镜像重复采样。对 ``[-1.0, 0.0]`` 范围进行采样时,返回采样器的镜像版本。对 ``[-1.0, 1.0]`` 范围外进行采样时,返回边缘上最后一个像素的颜色。
.. _class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` **SAMPLER_REPEAT_MODE_MAX** = ``5``
代表 :ref:`SamplerRepeatMode<enum_RenderingDevice_SamplerRepeatMode>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_SamplerBorderColor:
.. rst-class:: classref-enumeration
enum **SamplerBorderColor**: :ref:`🔗<enum_RenderingDevice_SamplerBorderColor>`
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK** = ``0``
``[0.0, 1.0]`` 范围外进行采样时,返回浮点型的透明黑色。仅在采样器的重复模式为 :ref:`SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER<class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER>` 时有效。
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_INT_TRANSPARENT_BLACK:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_INT_TRANSPARENT_BLACK** = ``1``
``[0.0, 1.0]`` 范围外进行采样时,返回整型的透明黑色。仅在采样器的重复模式为 :ref:`SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER<class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER>` 时有效。
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_BLACK** = ``2``
``[0.0, 1.0]`` 范围外进行采样时,返回浮点型的不透明黑色。仅在采样器的重复模式为 :ref:`SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER<class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER>` 时有效。
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_INT_OPAQUE_BLACK:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_INT_OPAQUE_BLACK** = ``3``
``[0.0, 1.0]`` 范围外进行采样时,返回整型的不透明黑色。仅在采样器的重复模式为 :ref:`SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER<class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER>` 时有效。
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_WHITE** = ``4``
``[0.0, 1.0]`` 范围外进行采样时,返回浮点型的不透明白色。仅在采样器的重复模式为 :ref:`SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER<class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER>` 时有效。
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_INT_OPAQUE_WHITE:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_INT_OPAQUE_WHITE** = ``5``
``[0.0, 1.0]`` 范围外进行采样时,返回整型的不透明白色。仅在采样器的重复模式为 :ref:`SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER<class_RenderingDevice_constant_SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER>` 时有效。
.. _class_RenderingDevice_constant_SAMPLER_BORDER_COLOR_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` **SAMPLER_BORDER_COLOR_MAX** = ``6``
代表 :ref:`SamplerBorderColor<enum_RenderingDevice_SamplerBorderColor>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_VertexFrequency:
.. rst-class:: classref-enumeration
enum **VertexFrequency**: :ref:`🔗<enum_RenderingDevice_VertexFrequency>`
.. _class_RenderingDevice_constant_VERTEX_FREQUENCY_VERTEX:
.. rst-class:: classref-enumeration-constant
:ref:`VertexFrequency<enum_RenderingDevice_VertexFrequency>` **VERTEX_FREQUENCY_VERTEX** = ``0``
顶点属性寻址是顶点的功能。用于指定从缓冲中拉取顶点属性的频率。
.. _class_RenderingDevice_constant_VERTEX_FREQUENCY_INSTANCE:
.. rst-class:: classref-enumeration-constant
:ref:`VertexFrequency<enum_RenderingDevice_VertexFrequency>` **VERTEX_FREQUENCY_INSTANCE** = ``1``
顶点属性寻址是实例索引的功能。用于指定从缓冲中拉取顶点属性的频率。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_IndexBufferFormat:
.. rst-class:: classref-enumeration
enum **IndexBufferFormat**: :ref:`🔗<enum_RenderingDevice_IndexBufferFormat>`
.. _class_RenderingDevice_constant_INDEX_BUFFER_FORMAT_UINT16:
.. rst-class:: classref-enumeration-constant
:ref:`IndexBufferFormat<enum_RenderingDevice_IndexBufferFormat>` **INDEX_BUFFER_FORMAT_UINT16** = ``0``
16 位无符号整数格式的索引缓冲。对可指定索引最大值的限制为 ``65535``\ 。
.. _class_RenderingDevice_constant_INDEX_BUFFER_FORMAT_UINT32:
.. rst-class:: classref-enumeration-constant
:ref:`IndexBufferFormat<enum_RenderingDevice_IndexBufferFormat>` **INDEX_BUFFER_FORMAT_UINT32** = ``1``
32 位无符号整数格式的索引缓冲。对可指定索引最大值的限制为 ``4294967295``\ 。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_StorageBufferUsage:
.. rst-class:: classref-enumeration
flags **StorageBufferUsage**: :ref:`🔗<enum_RenderingDevice_StorageBufferUsage>`
.. _class_RenderingDevice_constant_STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT:
.. rst-class:: classref-enumeration-constant
:ref:`StorageBufferUsage<enum_RenderingDevice_StorageBufferUsage>` **STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT** = ``1``
.. container:: contribute
该枚举目前没有描述,请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\ 吧!
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_UniformType:
.. rst-class:: classref-enumeration
enum **UniformType**: :ref:`🔗<enum_RenderingDevice_UniformType>`
.. _class_RenderingDevice_constant_UNIFORM_TYPE_SAMPLER:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_SAMPLER** = ``0``
采样器 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_SAMPLER_WITH_TEXTURE:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_SAMPLER_WITH_TEXTURE** = ``1``
带有纹理的采样器 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_TEXTURE:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_TEXTURE** = ``2``
纹理 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_IMAGE:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_IMAGE** = ``3``
图像 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_TEXTURE_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_TEXTURE_BUFFER** = ``4``
纹理缓冲 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_SAMPLER_WITH_TEXTURE_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_SAMPLER_WITH_TEXTURE_BUFFER** = ``5``
带有纹理缓冲的采样器 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_IMAGE_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_IMAGE_BUFFER** = ``6``
图像缓冲 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_UNIFORM_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_UNIFORM_BUFFER** = ``7``
Uniform 缓冲区 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_STORAGE_BUFFER:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_STORAGE_BUFFER** = ``8``
`存储缓冲区 <https://vkguide.dev/docs/chapter-4/storage_buffers/>`__ uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_INPUT_ATTACHMENT:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_INPUT_ATTACHMENT** = ``9``
输入附件 uniform。
.. _class_RenderingDevice_constant_UNIFORM_TYPE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`UniformType<enum_RenderingDevice_UniformType>` **UNIFORM_TYPE_MAX** = ``10``
表示 :ref:`UniformType<enum_RenderingDevice_UniformType>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_RenderPrimitive:
.. rst-class:: classref-enumeration
enum **RenderPrimitive**: :ref:`🔗<enum_RenderingDevice_RenderPrimitive>`
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_POINTS:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_POINTS** = ``0``
渲染点的图元(大小为常量,和与相机之间的距离无关)。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_LINES:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_LINES** = ``1``
渲染线段列表的图元。线段在绘制时是彼此独立的。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_LINES_WITH_ADJACENCY:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_LINES_WITH_ADJACENCY** = ``2``
`渲染线段列表的图元,提供邻接数据。 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#drawing-line-lists-with-adjacency>`__\
\ **注意:**\ 邻接数据仅在几何着色器中有用,但 Godot 并没有暴露。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_LINESTRIPS:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_LINESTRIPS** = ``3``
渲染线段条带的图元。绘制的线段与它的前一个顶点是相连的。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_LINESTRIPS_WITH_ADJACENCY:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_LINESTRIPS_WITH_ADJACENCY** = ``4``
`渲染线段条带的图元,提供邻接数据。 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#drawing-line-strips-with-adjacency>`__\
\ **注意:**\ 邻接数据仅在几何着色器中有用,但 Godot 并没有暴露。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_TRIANGLES:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_TRIANGLES** = ``5``
渲染三角形列表的图元。三角形在绘制时是彼此独立的。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_TRIANGLES_WITH_ADJACENCY:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_TRIANGLES_WITH_ADJACENCY** = ``6``
`渲染三角形列表的图元,提供邻接数据。 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#drawing-triangle-lists-with-adjacency>`__\
\ **注意:**\ 邻接数据仅在几何着色器中有用,但 Godot 并没有暴露。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_TRIANGLE_STRIPS:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_TRIANGLE_STRIPS** = ``7``
渲染三角形条带的图元。绘制的三角形与它的前一个三角形是相连的。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_AJACENCY:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_AJACENCY** = ``8``
`渲染三角形条带的图元,提供邻接数据。 <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#drawing-triangle-strips-with-adjacency>`__\
\ **注意:**\ 邻接数据仅在几何着色器中有用,但 Godot 并没有暴露。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_RESTART_INDEX:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_RESTART_INDEX** = ``9``
渲染三角形条带的图元,启用\ *图元重启*\ 。绘制的三角形与它的前一个三角形是相连的,但是在绘制前可以指定图元重启索引,这样在指定索引之后就会再创建一条三角形条带。
\ **注意:**\ 仅兼容索引绘图。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_TESSELATION_PATCH:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_TESSELATION_PATCH** = ``10``
曲面细分面片渲染图元。仅对曲面细分着色器有用,可以将面片变形。
.. _class_RenderingDevice_constant_RENDER_PRIMITIVE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` **RENDER_PRIMITIVE_MAX** = ``11``
代表 :ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_PolygonCullMode:
.. rst-class:: classref-enumeration
enum **PolygonCullMode**: :ref:`🔗<enum_RenderingDevice_PolygonCullMode>`
.. _class_RenderingDevice_constant_POLYGON_CULL_DISABLED:
.. rst-class:: classref-enumeration-constant
:ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` **POLYGON_CULL_DISABLED** = ``0``
不使用多边形的正面和背面剔除。
.. _class_RenderingDevice_constant_POLYGON_CULL_FRONT:
.. rst-class:: classref-enumeration-constant
:ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` **POLYGON_CULL_FRONT** = ``1``
使用多边形的正面剔除(隐藏正对相机的面)。
.. _class_RenderingDevice_constant_POLYGON_CULL_BACK:
.. rst-class:: classref-enumeration-constant
:ref:`PolygonCullMode<enum_RenderingDevice_PolygonCullMode>` **POLYGON_CULL_BACK** = ``2``
使用多边形的背面剔除(隐藏背对相机的面)。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_PolygonFrontFace:
.. rst-class:: classref-enumeration
enum **PolygonFrontFace**: :ref:`🔗<enum_RenderingDevice_PolygonFrontFace>`
.. _class_RenderingDevice_constant_POLYGON_FRONT_FACE_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`PolygonFrontFace<enum_RenderingDevice_PolygonFrontFace>` **POLYGON_FRONT_FACE_CLOCKWISE** = ``0``
决定多边形面为是否为正面时,使用顺时针缠绕顺序。
.. _class_RenderingDevice_constant_POLYGON_FRONT_FACE_COUNTER_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`PolygonFrontFace<enum_RenderingDevice_PolygonFrontFace>` **POLYGON_FRONT_FACE_COUNTER_CLOCKWISE** = ``1``
决定多边形面为是否为正面时,使用逆时针缠绕顺序。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_StencilOperation:
.. rst-class:: classref-enumeration
enum **StencilOperation**: :ref:`🔗<enum_RenderingDevice_StencilOperation>`
.. _class_RenderingDevice_constant_STENCIL_OP_KEEP:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_KEEP** = ``0``
保留当前的模板值。
.. _class_RenderingDevice_constant_STENCIL_OP_ZERO:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_ZERO** = ``1``
将模板值设置为 ``0``\ 。
.. _class_RenderingDevice_constant_STENCIL_OP_REPLACE:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_REPLACE** = ``2``
将现有的模板值替换为新值。
.. _class_RenderingDevice_constant_STENCIL_OP_INCREMENT_AND_CLAMP:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_INCREMENT_AND_CLAMP** = ``3``
将现有的模板值加一,到达能够表示的最大无符号值之后就不会再增长。会将模板位视作无符号整数。
.. _class_RenderingDevice_constant_STENCIL_OP_DECREMENT_AND_CLAMP:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_DECREMENT_AND_CLAMP** = ``4``
将现有的模板值减一,到达最小值之后就不会再降低。会将模板位视作无符号整数。
.. _class_RenderingDevice_constant_STENCIL_OP_INVERT:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_INVERT** = ``5``
将现有的模板值按位取反。
.. _class_RenderingDevice_constant_STENCIL_OP_INCREMENT_AND_WRAP:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_INCREMENT_AND_WRAP** = ``6``
将现有的模板值加一,到达能够表示的最大无符号值之后环绕至 ``0``\ 。会将模板位视作无符号整数。
.. _class_RenderingDevice_constant_STENCIL_OP_DECREMENT_AND_WRAP:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_DECREMENT_AND_WRAP** = ``7``
将现有的模板值减一,到达最小值之后环绕至能够表示的最大无符号值。会将模板位视作无符号整数。
.. _class_RenderingDevice_constant_STENCIL_OP_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **STENCIL_OP_MAX** = ``8``
代表 :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_CompareOperator:
.. rst-class:: classref-enumeration
enum **CompareOperator**: :ref:`🔗<enum_RenderingDevice_CompareOperator>`
.. _class_RenderingDevice_constant_COMPARE_OP_NEVER:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_NEVER** = ``0``
“永不”比较(与 :ref:`COMPARE_OP_ALWAYS<class_RenderingDevice_constant_COMPARE_OP_ALWAYS>` 相对)。
.. _class_RenderingDevice_constant_COMPARE_OP_LESS:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_LESS** = ``1``
“小于”比较。
.. _class_RenderingDevice_constant_COMPARE_OP_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_EQUAL** = ``2``
“等于”比较。
.. _class_RenderingDevice_constant_COMPARE_OP_LESS_OR_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_LESS_OR_EQUAL** = ``3``
“小于等于”比较。
.. _class_RenderingDevice_constant_COMPARE_OP_GREATER:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_GREATER** = ``4``
“大于”比较。
.. _class_RenderingDevice_constant_COMPARE_OP_NOT_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_NOT_EQUAL** = ``5``
“不等于”比较。
.. _class_RenderingDevice_constant_COMPARE_OP_GREATER_OR_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_GREATER_OR_EQUAL** = ``6``
“大于等于”比较。
.. _class_RenderingDevice_constant_COMPARE_OP_ALWAYS:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_ALWAYS** = ``7``
“始终”比较(与 :ref:`COMPARE_OP_NEVER<class_RenderingDevice_constant_COMPARE_OP_NEVER>` 相对)。
.. _class_RenderingDevice_constant_COMPARE_OP_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **COMPARE_OP_MAX** = ``8``
代表 :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_LogicOperation:
.. rst-class:: classref-enumeration
enum **LogicOperation**: :ref:`🔗<enum_RenderingDevice_LogicOperation>`
.. _class_RenderingDevice_constant_LOGIC_OP_CLEAR:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_CLEAR** = ``0``
逻辑清除运算(结果始终为 ``0``\ )。另见 :ref:`LOGIC_OP_SET<class_RenderingDevice_constant_LOGIC_OP_SET>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_AND:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_AND** = ``1``
逻辑与AND运算。
.. _class_RenderingDevice_constant_LOGIC_OP_AND_REVERSE:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_AND_REVERSE** = ``2``
逻辑与AND运算翻转\ *目标*\ 操作数。另见 :ref:`LOGIC_OP_AND_INVERTED<class_RenderingDevice_constant_LOGIC_OP_AND_INVERTED>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_COPY:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_COPY** = ``3``
逻辑复制运算(保留\ *来源*\ 的值)。另见 :ref:`LOGIC_OP_COPY_INVERTED<class_RenderingDevice_constant_LOGIC_OP_COPY_INVERTED>`:ref:`LOGIC_OP_NO_OP<class_RenderingDevice_constant_LOGIC_OP_NO_OP>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_AND_INVERTED:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_AND_INVERTED** = ``4``
逻辑与AND运算翻转\ *来源*\ 操作数。另见 :ref:`LOGIC_OP_AND_REVERSE<class_RenderingDevice_constant_LOGIC_OP_AND_REVERSE>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_NO_OP:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_NO_OP** = ``5``
逻辑空运算(保留\ *目标*\ 值)。另见 :ref:`LOGIC_OP_COPY<class_RenderingDevice_constant_LOGIC_OP_COPY>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_XOR:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_XOR** = ``6``
逻辑异或XOR运算。
.. _class_RenderingDevice_constant_LOGIC_OP_OR:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_OR** = ``7``
逻辑或OR运算。
.. _class_RenderingDevice_constant_LOGIC_OP_NOR:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_NOR** = ``8``
逻辑非或NOR运算。
.. _class_RenderingDevice_constant_LOGIC_OP_EQUIVALENT:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_EQUIVALENT** = ``9``
逻辑非异或XNOR运算。
.. _class_RenderingDevice_constant_LOGIC_OP_INVERT:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_INVERT** = ``10``
逻辑翻转运算。
.. _class_RenderingDevice_constant_LOGIC_OP_OR_REVERSE:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_OR_REVERSE** = ``11``
逻辑或OR运算翻转\ *目标*\ 操作数。另见 :ref:`LOGIC_OP_OR_REVERSE<class_RenderingDevice_constant_LOGIC_OP_OR_REVERSE>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_COPY_INVERTED:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_COPY_INVERTED** = ``12``
逻辑非NOT运算将值翻转。另见 :ref:`LOGIC_OP_COPY<class_RenderingDevice_constant_LOGIC_OP_COPY>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_OR_INVERTED:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_OR_INVERTED** = ``13``
逻辑或OR运算翻转\ *来源*\ 操作数。另见 :ref:`LOGIC_OP_OR_REVERSE<class_RenderingDevice_constant_LOGIC_OP_OR_REVERSE>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_NAND:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_NAND** = ``14``
逻辑非与NAND运算。
.. _class_RenderingDevice_constant_LOGIC_OP_SET:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_SET** = ``15``
逻辑设置运算(结果始终为 ``1``\ )。另见 :ref:`LOGIC_OP_CLEAR<class_RenderingDevice_constant_LOGIC_OP_CLEAR>`\ 。
.. _class_RenderingDevice_constant_LOGIC_OP_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` **LOGIC_OP_MAX** = ``16``
代表 :ref:`LogicOperation<enum_RenderingDevice_LogicOperation>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_BlendFactor:
.. rst-class:: classref-enumeration
enum **BlendFactor**: :ref:`🔗<enum_RenderingDevice_BlendFactor>`
.. _class_RenderingDevice_constant_BLEND_FACTOR_ZERO:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ZERO** = ``0``
混合系数常量 ``0.0``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE** = ``1``
混合系数常量 ``1.0``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_SRC_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_SRC_COLOR** = ``2``
颜色混合系数为 ``source color``\ 。Alpha 混合系数为 ``source alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_SRC_COLOR** = ``3``
颜色混合系数为 ``1.0 - source color``\ 。Alpha 混合系数为 ``1.0 - source alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_DST_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_DST_COLOR** = ``4``
颜色混合系数为 ``destination color``\ 。Alpha 混合系数为 ``destination alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_DST_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_DST_COLOR** = ``5``
颜色混合系数为 ``1.0 - destination color``\ 。Alpha 混合系数为 ``1.0 - destination alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_SRC_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_SRC_ALPHA** = ``6``
颜色混合和 Alpha 混合系数为 ``source alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_SRC_ALPHA** = ``7``
颜色混合和 Alpha 混合系数为 ``1.0 - source alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_DST_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_DST_ALPHA** = ``8``
颜色混合和 Alpha 混合系数为 ``destination alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_DST_ALPHA** = ``9``
颜色混合和 Alpha 混合系数为 ``1.0 - destination alpha``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_CONSTANT_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_CONSTANT_COLOR** = ``10``
颜色混合系数为 ``blend constant color``\ 。Alpha 混合系数为 ``blend constant alpha``\ (见 :ref:`draw_list_set_blend_constants<class_RenderingDevice_method_draw_list_set_blend_constants>`\ )。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR** = ``11``
颜色混合系数为 ``1.0 - blend constant color``\ 。Alpha 混合系数为 ``1.0 - blend constant alpha``\ (见 :ref:`draw_list_set_blend_constants<class_RenderingDevice_method_draw_list_set_blend_constants>`\ )。
.. _class_RenderingDevice_constant_BLEND_FACTOR_CONSTANT_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_CONSTANT_ALPHA** = ``12``
颜色混合和 Alpha 混合系数为 ``blend constant alpha``\ (见 :ref:`draw_list_set_blend_constants<class_RenderingDevice_method_draw_list_set_blend_constants>`\ )。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA** = ``13``
颜色混合和 Alpha 混合系数为 ``1.0 - blend constant alpha``\ (见 :ref:`draw_list_set_blend_constants<class_RenderingDevice_method_draw_list_set_blend_constants>`\ )。
.. _class_RenderingDevice_constant_BLEND_FACTOR_SRC_ALPHA_SATURATE:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_SRC_ALPHA_SATURATE** = ``14``
颜色混合系数为 ``min(source alpha, 1.0 - destination alpha)``\ 。Alpha 混合系数为 ``1.0``\ 。
.. _class_RenderingDevice_constant_BLEND_FACTOR_SRC1_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_SRC1_COLOR** = ``15``
颜色混合系数为 ``second source color``\ 。Alpha 混合系数为 ``second source alpha``\ 。仅适用于双源混合。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_SRC1_COLOR** = ``16``
颜色混合系数为 ``1.0 - second source color``\ 。Alpha 混合系数为 ``1.0 - second source alpha``\ 。仅适用于双源混合。
.. _class_RenderingDevice_constant_BLEND_FACTOR_SRC1_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_SRC1_ALPHA** = ``17``
颜色混合和 Alpha 混合系数为 ``second source alpha``\ 。仅适用于双源混合。
.. _class_RenderingDevice_constant_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA** = ``18``
颜色混合和 Alpha 混合系数为 ``1.0 - second source alpha``\ 。仅适用于双源混合。
.. _class_RenderingDevice_constant_BLEND_FACTOR_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` **BLEND_FACTOR_MAX** = ``19``
代表 :ref:`BlendFactor<enum_RenderingDevice_BlendFactor>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_BlendOperation:
.. rst-class:: classref-enumeration
enum **BlendOperation**: :ref:`🔗<enum_RenderingDevice_BlendOperation>`
.. _class_RenderingDevice_constant_BLEND_OP_ADD:
.. rst-class:: classref-enumeration-constant
:ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` **BLEND_OP_ADD** = ``0``
加法混合运算(\ ``source + destination``\ )。
.. _class_RenderingDevice_constant_BLEND_OP_SUBTRACT:
.. rst-class:: classref-enumeration-constant
:ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` **BLEND_OP_SUBTRACT** = ``1``
减法混合运算(\ ``source - destination``\ )。
.. _class_RenderingDevice_constant_BLEND_OP_REVERSE_SUBTRACT:
.. rst-class:: classref-enumeration-constant
:ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` **BLEND_OP_REVERSE_SUBTRACT** = ``2``
逆减法混合运算(\ ``destination - source``\ )。
.. _class_RenderingDevice_constant_BLEND_OP_MINIMUM:
.. rst-class:: classref-enumeration-constant
:ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` **BLEND_OP_MINIMUM** = ``3``
最小混合运算(保留两者之间的较小值)。
.. _class_RenderingDevice_constant_BLEND_OP_MAXIMUM:
.. rst-class:: classref-enumeration-constant
:ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` **BLEND_OP_MAXIMUM** = ``4``
最大混合运算(保留两者之间的较大值)。
.. _class_RenderingDevice_constant_BLEND_OP_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` **BLEND_OP_MAX** = ``5``
代表 :ref:`BlendOperation<enum_RenderingDevice_BlendOperation>` 枚举的大小。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_PipelineDynamicStateFlags:
.. rst-class:: classref-enumeration
flags **PipelineDynamicStateFlags**: :ref:`🔗<enum_RenderingDevice_PipelineDynamicStateFlags>`
.. _class_RenderingDevice_constant_DYNAMIC_STATE_LINE_WIDTH:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_LINE_WIDTH** = ``1``
允许动态改变渲染线的宽度。
.. _class_RenderingDevice_constant_DYNAMIC_STATE_DEPTH_BIAS:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_DEPTH_BIAS** = ``2``
允许动态改变深度偏差。
.. _class_RenderingDevice_constant_DYNAMIC_STATE_BLEND_CONSTANTS:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_BLEND_CONSTANTS** = ``4``
.. container:: contribute
该枚举目前没有描述,请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\ 吧!
.. _class_RenderingDevice_constant_DYNAMIC_STATE_DEPTH_BOUNDS:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_DEPTH_BOUNDS** = ``8``
.. container:: contribute
该枚举目前没有描述,请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\ 吧!
.. _class_RenderingDevice_constant_DYNAMIC_STATE_STENCIL_COMPARE_MASK:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_STENCIL_COMPARE_MASK** = ``16``
.. container:: contribute
该枚举目前没有描述,请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\ 吧!
.. _class_RenderingDevice_constant_DYNAMIC_STATE_STENCIL_WRITE_MASK:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_STENCIL_WRITE_MASK** = ``32``
.. container:: contribute
该枚举目前没有描述,请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\ 吧!
.. _class_RenderingDevice_constant_DYNAMIC_STATE_STENCIL_REFERENCE:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>` **DYNAMIC_STATE_STENCIL_REFERENCE** = ``64``
.. container:: contribute
该枚举目前没有描述,请帮我们\ :ref:`贡献一个 <doc_updating_the_class_reference>`\ 吧!
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_InitialAction:
.. rst-class:: classref-enumeration
enum **InitialAction**: :ref:`🔗<enum_RenderingDevice_InitialAction>`
.. _class_RenderingDevice_constant_INITIAL_ACTION_LOAD:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_LOAD** = ``0``
加载帧缓冲的先前内容。
.. _class_RenderingDevice_constant_INITIAL_ACTION_CLEAR:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR** = ``1``
清除整个帧缓冲区或其指定区块。
.. _class_RenderingDevice_constant_INITIAL_ACTION_DISCARD:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_DISCARD** = ``2``
忽略帧缓冲区之前的内容。如果你要覆盖所有像素并且不需要读取任何像素,这是最快的选项。
.. _class_RenderingDevice_constant_INITIAL_ACTION_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_MAX** = ``3``
代表 :ref:`InitialAction<enum_RenderingDevice_InitialAction>` 枚举的大小。
.. _class_RenderingDevice_constant_INITIAL_ACTION_CLEAR_REGION:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR_REGION** = ``1``
**已弃用:** Use :ref:`INITIAL_ACTION_CLEAR<class_RenderingDevice_constant_INITIAL_ACTION_CLEAR>` instead.
.. _class_RenderingDevice_constant_INITIAL_ACTION_CLEAR_REGION_CONTINUE:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR_REGION_CONTINUE** = ``1``
**已弃用:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
.. _class_RenderingDevice_constant_INITIAL_ACTION_KEEP:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_KEEP** = ``0``
**已弃用:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
.. _class_RenderingDevice_constant_INITIAL_ACTION_DROP:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_DROP** = ``2``
**已弃用:** Use :ref:`INITIAL_ACTION_DISCARD<class_RenderingDevice_constant_INITIAL_ACTION_DISCARD>` instead.
.. _class_RenderingDevice_constant_INITIAL_ACTION_CONTINUE:
.. rst-class:: classref-enumeration-constant
:ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CONTINUE** = ``0``
**已弃用:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_FinalAction:
.. rst-class:: classref-enumeration
enum **FinalAction**: :ref:`🔗<enum_RenderingDevice_FinalAction>`
.. _class_RenderingDevice_constant_FINAL_ACTION_STORE:
.. rst-class:: classref-enumeration-constant
:ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_STORE** = ``0``
将绘制列表的结果存储在帧缓冲区中。这通常是你想要做的。
.. _class_RenderingDevice_constant_FINAL_ACTION_DISCARD:
.. rst-class:: classref-enumeration-constant
:ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_DISCARD** = ``1``
丢弃帧缓冲区的内容。如果你不需要使用绘制列表的结果,则这是最快的选项。
.. _class_RenderingDevice_constant_FINAL_ACTION_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_MAX** = ``2``
代表 :ref:`FinalAction<enum_RenderingDevice_FinalAction>` 枚举的大小。
.. _class_RenderingDevice_constant_FINAL_ACTION_READ:
.. rst-class:: classref-enumeration-constant
:ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_READ** = ``0``
**已弃用:** Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead.
.. _class_RenderingDevice_constant_FINAL_ACTION_CONTINUE:
.. rst-class:: classref-enumeration-constant
:ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_CONTINUE** = ``0``
**已弃用:** Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead.
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_ShaderStage:
.. rst-class:: classref-enumeration
enum **ShaderStage**: :ref:`🔗<enum_RenderingDevice_ShaderStage>`
.. _class_RenderingDevice_constant_SHADER_STAGE_VERTEX:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_VERTEX** = ``0``
顶点着色器阶段。可用于在着色器中操作顶点(但无法新建顶点)。
.. _class_RenderingDevice_constant_SHADER_STAGE_FRAGMENT:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_FRAGMENT** = ``1``
片段着色器阶段Direct3D 中成为“像素着色器”)。可用于在着色器中操作像素。
.. _class_RenderingDevice_constant_SHADER_STAGE_TESSELATION_CONTROL:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_TESSELATION_CONTROL** = ``2``
曲面细分控制着色器阶段。可用于在着色器中创建额外的几何体。
.. _class_RenderingDevice_constant_SHADER_STAGE_TESSELATION_EVALUATION:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_TESSELATION_EVALUATION** = ``3``
曲面细分求值着色器阶段。可用于在着色器中创建额外的几何体。
.. _class_RenderingDevice_constant_SHADER_STAGE_COMPUTE:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_COMPUTE** = ``4``
计算着色器阶段。可用于在着色器中执行任意计算任务,在 GPU 而不是 CPU 上进行计算。
.. _class_RenderingDevice_constant_SHADER_STAGE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_MAX** = ``5``
代表 :ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` 枚举的大小。
.. _class_RenderingDevice_constant_SHADER_STAGE_VERTEX_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_VERTEX_BIT** = ``1``
顶点着色器阶段位(另见 :ref:`SHADER_STAGE_VERTEX<class_RenderingDevice_constant_SHADER_STAGE_VERTEX>`\ )。
.. _class_RenderingDevice_constant_SHADER_STAGE_FRAGMENT_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_FRAGMENT_BIT** = ``2``
片段着色器阶段位(另见 :ref:`SHADER_STAGE_FRAGMENT<class_RenderingDevice_constant_SHADER_STAGE_FRAGMENT>`\ )。
.. _class_RenderingDevice_constant_SHADER_STAGE_TESSELATION_CONTROL_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_TESSELATION_CONTROL_BIT** = ``4``
曲面细分控制着色器阶段位(另见 :ref:`SHADER_STAGE_TESSELATION_CONTROL<class_RenderingDevice_constant_SHADER_STAGE_TESSELATION_CONTROL>`\ )。
.. _class_RenderingDevice_constant_SHADER_STAGE_TESSELATION_EVALUATION_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_TESSELATION_EVALUATION_BIT** = ``8``
曲面细分求值着色器阶段位(另见 :ref:`SHADER_STAGE_TESSELATION_EVALUATION<class_RenderingDevice_constant_SHADER_STAGE_TESSELATION_EVALUATION>`\ )。
.. _class_RenderingDevice_constant_SHADER_STAGE_COMPUTE_BIT:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderStage<enum_RenderingDevice_ShaderStage>` **SHADER_STAGE_COMPUTE_BIT** = ``16``
计算着色器阶段位(另见 :ref:`SHADER_STAGE_COMPUTE<class_RenderingDevice_constant_SHADER_STAGE_COMPUTE>`\ )。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_ShaderLanguage:
.. rst-class:: classref-enumeration
enum **ShaderLanguage**: :ref:`🔗<enum_RenderingDevice_ShaderLanguage>`
.. _class_RenderingDevice_constant_SHADER_LANGUAGE_GLSL:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderLanguage<enum_RenderingDevice_ShaderLanguage>` **SHADER_LANGUAGE_GLSL** = ``0``
Khronos 的 GLSL 着色语言OpenGL 和 Vulkan 原生使用)。这是核心 Godot 着色器所使用的语言。
.. _class_RenderingDevice_constant_SHADER_LANGUAGE_HLSL:
.. rst-class:: classref-enumeration-constant
:ref:`ShaderLanguage<enum_RenderingDevice_ShaderLanguage>` **SHADER_LANGUAGE_HLSL** = ``1``
Microsoft 的高级着色器语言Direct3D 原生使用Vulkan 中也能使用)。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_PipelineSpecializationConstantType:
.. rst-class:: classref-enumeration
enum **PipelineSpecializationConstantType**: :ref:`🔗<enum_RenderingDevice_PipelineSpecializationConstantType>`
.. _class_RenderingDevice_constant_PIPELINE_SPECIALIZATION_CONSTANT_TYPE_BOOL:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineSpecializationConstantType<enum_RenderingDevice_PipelineSpecializationConstantType>` **PIPELINE_SPECIALIZATION_CONSTANT_TYPE_BOOL** = ``0``
布尔型特化常量。
.. _class_RenderingDevice_constant_PIPELINE_SPECIALIZATION_CONSTANT_TYPE_INT:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineSpecializationConstantType<enum_RenderingDevice_PipelineSpecializationConstantType>` **PIPELINE_SPECIALIZATION_CONSTANT_TYPE_INT** = ``1``
整型特化常量。
.. _class_RenderingDevice_constant_PIPELINE_SPECIALIZATION_CONSTANT_TYPE_FLOAT:
.. rst-class:: classref-enumeration-constant
:ref:`PipelineSpecializationConstantType<enum_RenderingDevice_PipelineSpecializationConstantType>` **PIPELINE_SPECIALIZATION_CONSTANT_TYPE_FLOAT** = ``2``
浮点型特化常量。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_Limit:
.. rst-class:: classref-enumeration
enum **Limit**: :ref:`🔗<enum_RenderingDevice_Limit>`
.. _class_RenderingDevice_constant_LIMIT_MAX_BOUND_UNIFORM_SETS:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_BOUND_UNIFORM_SETS** = ``0``
能够同时绑定的最大 uniform 集的数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_FRAMEBUFFER_COLOR_ATTACHMENTS:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_FRAMEBUFFER_COLOR_ATTACHMENTS** = ``1``
能够同时使用的最大颜色帧缓冲附件的数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURES_PER_UNIFORM_SET:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURES_PER_UNIFORM_SET** = ``2``
单个 uniform 集能够使用的最大纹理数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_SAMPLERS_PER_UNIFORM_SET:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_SAMPLERS_PER_UNIFORM_SET** = ``3``
单个 uniform 集能够使用的最大采样器数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_STORAGE_BUFFERS_PER_UNIFORM_SET:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_STORAGE_BUFFERS_PER_UNIFORM_SET** = ``4``
单个 uniform 集的最大\ `存储缓冲 <https://vkguide.dev/docs/chapter-4/storage_buffers/>`__\ 数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_STORAGE_IMAGES_PER_UNIFORM_SET:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_STORAGE_IMAGES_PER_UNIFORM_SET** = ``5``
单个 uniform 集的最大存储图像数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_UNIFORM_BUFFERS_PER_UNIFORM_SET:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_UNIFORM_BUFFERS_PER_UNIFORM_SET** = ``6``
单个 uniform 集的最大 uniform 缓冲数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_DRAW_INDEXED_INDEX:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_DRAW_INDEXED_INDEX** = ``7``
索引绘图指令的最大索引。
.. _class_RenderingDevice_constant_LIMIT_MAX_FRAMEBUFFER_HEIGHT:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_FRAMEBUFFER_HEIGHT** = ``8``
帧缓冲的最大高度(单位为像素)。
.. _class_RenderingDevice_constant_LIMIT_MAX_FRAMEBUFFER_WIDTH:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_FRAMEBUFFER_WIDTH** = ``9``
帧缓冲的最大宽度(单位为像素)。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURE_ARRAY_LAYERS:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURE_ARRAY_LAYERS** = ``10``
纹理数组的最大层数。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURE_SIZE_1D:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURE_SIZE_1D** = ``11``
支持的一维纹理的最大尺寸(单轴像素数)。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURE_SIZE_2D:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURE_SIZE_2D** = ``12``
支持的二维纹理的最大尺寸(单轴像素数)。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURE_SIZE_3D:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURE_SIZE_3D** = ``13``
支持的三维纹理的最大尺寸(单轴像素数)。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURE_SIZE_CUBE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURE_SIZE_CUBE** = ``14``
支持的立方体贴图纹理的最大尺寸(单轴像素数)。
.. _class_RenderingDevice_constant_LIMIT_MAX_TEXTURES_PER_SHADER_STAGE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_TEXTURES_PER_SHADER_STAGE** = ``15``
每个着色器阶段的最大纹理数。
.. _class_RenderingDevice_constant_LIMIT_MAX_SAMPLERS_PER_SHADER_STAGE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_SAMPLERS_PER_SHADER_STAGE** = ``16``
每个着色器阶段的最大采样器数。
.. _class_RenderingDevice_constant_LIMIT_MAX_STORAGE_BUFFERS_PER_SHADER_STAGE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_STORAGE_BUFFERS_PER_SHADER_STAGE** = ``17``
每个着色器阶段的最大\ `存储缓冲 <https://vkguide.dev/docs/chapter-4/storage_buffers/>`__\ 数。
.. _class_RenderingDevice_constant_LIMIT_MAX_STORAGE_IMAGES_PER_SHADER_STAGE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_STORAGE_IMAGES_PER_SHADER_STAGE** = ``18``
每个着色器阶段的最大存储图像数。
.. _class_RenderingDevice_constant_LIMIT_MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE** = ``19``
单个 uniform 集的最大 uniform 缓冲数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_PUSH_CONSTANT_SIZE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_PUSH_CONSTANT_SIZE** = ``20``
推送常量的最大大小。许多设备都有 128 字节的限制,所以即便你的 GPU 汇报的值更大,也请尝试避免让推送常量超过 127 字节,从而确保兼容性。
.. _class_RenderingDevice_constant_LIMIT_MAX_UNIFORM_BUFFER_SIZE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_UNIFORM_BUFFER_SIZE** = ``21``
Uniform 缓冲的最大大小。
.. _class_RenderingDevice_constant_LIMIT_MAX_VERTEX_INPUT_ATTRIBUTE_OFFSET:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_VERTEX_INPUT_ATTRIBUTE_OFFSET** = ``22``
顶点输入属性的最大偏移。
.. _class_RenderingDevice_constant_LIMIT_MAX_VERTEX_INPUT_ATTRIBUTES:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_VERTEX_INPUT_ATTRIBUTES** = ``23``
顶点输入属性的最大数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_VERTEX_INPUT_BINDINGS:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_VERTEX_INPUT_BINDINGS** = ``24``
顶点输入绑定的最大数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_VERTEX_INPUT_BINDING_STRIDE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_VERTEX_INPUT_BINDING_STRIDE** = ``25``
顶点输入绑定的最大步幅。
.. _class_RenderingDevice_constant_LIMIT_MIN_UNIFORM_BUFFER_OFFSET_ALIGNMENT:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MIN_UNIFORM_BUFFER_OFFSET_ALIGNMENT** = ``26``
Uniform 缓冲的最小偏移对齐。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_SHARED_MEMORY_SIZE:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_SHARED_MEMORY_SIZE** = ``27``
计算着色器的最大共享内存大小。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_X:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_X** = ``28``
计算着色器在 X 轴上的最大工作组数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Y:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Y** = ``29``
计算着色器在 Y 轴上的最大工作组数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Z:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Z** = ``30``
计算着色器在 Z 轴上的最大工作组数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_INVOCATIONS:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_INVOCATIONS** = ``31``
计算着色器的最大工作组调用数量。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_X:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_X** = ``32``
计算着色器在 X 轴上的最大工作组大小。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Y:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Y** = ``33``
计算着色器在 Y 轴上的最大工作组大小。
.. _class_RenderingDevice_constant_LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Z:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Z** = ``34``
计算着色器在 Z 轴上的最大工作组大小。
.. _class_RenderingDevice_constant_LIMIT_MAX_VIEWPORT_DIMENSIONS_X:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_VIEWPORT_DIMENSIONS_X** = ``35``
视口的最大宽度(单位为像素)。
.. _class_RenderingDevice_constant_LIMIT_MAX_VIEWPORT_DIMENSIONS_Y:
.. rst-class:: classref-enumeration-constant
:ref:`Limit<enum_RenderingDevice_Limit>` **LIMIT_MAX_VIEWPORT_DIMENSIONS_Y** = ``36``
视口的最大高度(单位为像素)。
.. rst-class:: classref-item-separator
----
.. _enum_RenderingDevice_MemoryType:
.. rst-class:: classref-enumeration
enum **MemoryType**: :ref:`🔗<enum_RenderingDevice_MemoryType>`
.. _class_RenderingDevice_constant_MEMORY_TEXTURES:
.. rst-class:: classref-enumeration-constant
:ref:`MemoryType<enum_RenderingDevice_MemoryType>` **MEMORY_TEXTURES** = ``0``
纹理占用的内存。
.. _class_RenderingDevice_constant_MEMORY_BUFFERS:
.. rst-class:: classref-enumeration-constant
:ref:`MemoryType<enum_RenderingDevice_MemoryType>` **MEMORY_BUFFERS** = ``1``
缓冲区占用的内存。
.. _class_RenderingDevice_constant_MEMORY_TOTAL:
.. rst-class:: classref-enumeration-constant
:ref:`MemoryType<enum_RenderingDevice_MemoryType>` **MEMORY_TOTAL** = ``2``
内存中占用。比 :ref:`MEMORY_TEXTURES<class_RenderingDevice_constant_MEMORY_TEXTURES>`:ref:`MEMORY_BUFFERS<class_RenderingDevice_constant_MEMORY_BUFFERS>` 的总和要大,因为还会包含其他杂项内存占用。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
常量
----
.. _class_RenderingDevice_constant_INVALID_ID:
.. rst-class:: classref-constant
**INVALID_ID** = ``-1`` :ref:`🔗<class_RenderingDevice_constant_INVALID_ID>`
返回 ID 的函数会在值无效时返回此值。
.. _class_RenderingDevice_constant_INVALID_FORMAT_ID:
.. rst-class:: classref-constant
**INVALID_FORMAT_ID** = ``-1`` :ref:`🔗<class_RenderingDevice_constant_INVALID_FORMAT_ID>`
返回格式 ID 的函数会在值无效时返回此值。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_RenderingDevice_method_barrier:
.. rst-class:: classref-method
|void| **barrier**\ (\ from\: |bitfield|\[:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\] = 32767, to\: |bitfield|\[:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\] = 32767\ ) :ref:`🔗<class_RenderingDevice_method_barrier>`
**已弃用:** Barriers are automatically inserted by RenderingDevice.
这个方法什么也不做。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_buffer_clear:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **buffer_clear**\ (\ buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`, size_bytes\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_buffer_clear>`
清除 ``buffer`` 的内容,清除的是从 ``offset`` 开始的 ``size_bytes`` 个字节。
出现以下情况时会输出错误:
- 大小不是四的倍数
- ``offset`` + ``size_bytes`` 指定的区域超出缓冲区
- 绘制列表当前处于活动状态(由 :ref:`draw_list_begin<class_RenderingDevice_method_draw_list_begin>` 创建)
- 计算列表当前处于活动状态(由 :ref:`compute_list_begin<class_RenderingDevice_method_compute_list_begin>` 创建)
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_buffer_copy:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **buffer_copy**\ (\ src_buffer\: :ref:`RID<class_RID>`, dst_buffer\: :ref:`RID<class_RID>`, src_offset\: :ref:`int<class_int>`, dst_offset\: :ref:`int<class_int>`, size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_buffer_copy>`
``src_buffer`` 中从 ``src_offset`` 开始的 ``size`` 个字节复制到 ``dst_buffer`` 中的 ``dst_offset`` 位置。
出现以下情况时会输出错误:
- ``size`` 个字节在 ``src_buffer````dst_buffer`` 中对应位置上会超出边界
- 绘制列表当前处于活动状态(由 :ref:`draw_list_begin<class_RenderingDevice_method_draw_list_begin>` 创建)
- 计算列表当前处于活动状态(由 :ref:`compute_list_begin<class_RenderingDevice_method_compute_list_begin>` 创建)
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_buffer_get_data:
.. rst-class:: classref-method
:ref:`PackedByteArray<class_PackedByteArray>` **buffer_get_data**\ (\ buffer\: :ref:`RID<class_RID>`, offset_bytes\: :ref:`int<class_int>` = 0, size_bytes\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_RenderingDevice_method_buffer_get_data>`
返回指定 ``buffer`` 中数据的副本,还可以设置 ``offset_bytes````size_bytes``\ ,仅复制缓冲区的某一部分。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_buffer_update:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **buffer_update**\ (\ buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`, size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) :ref:`🔗<class_RenderingDevice_method_buffer_update>`
使用指定的 ``data`` 更新缓冲区中从 ``offset`` 开始的 ``size_bytes`` 个字节的区块。
出现以下情况时会输出错误:
- ``offset`` + ``size_bytes`` 指定的区块超出缓冲区
- 绘制列表当前处于活动状态(由 :ref:`draw_list_begin<class_RenderingDevice_method_draw_list_begin>` 创建)
- 计算列表当前处于活动状态(由 :ref:`compute_list_begin<class_RenderingDevice_method_compute_list_begin>` 创建)
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_capture_timestamp:
.. rst-class:: classref-method
|void| **capture_timestamp**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_RenderingDevice_method_capture_timestamp>`
使用指定的名称 ``name`` 创建时间戳标记。用于 :ref:`get_captured_timestamp_cpu_time<class_RenderingDevice_method_get_captured_timestamp_cpu_time>`\ 、\ :ref:`get_captured_timestamp_gpu_time<class_RenderingDevice_method_get_captured_timestamp_gpu_time>`\ 、\ :ref:`get_captured_timestamp_name<class_RenderingDevice_method_get_captured_timestamp_name>` 等方法的性能汇报。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_add_barrier:
.. rst-class:: classref-method
|void| **compute_list_add_barrier**\ (\ compute_list\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_add_barrier>`
在指定的 ``compute_list`` 中引发 Vulkan 计算屏障。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_begin:
.. rst-class:: classref-method
:ref:`int<class_int>` **compute_list_begin**\ (\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_begin>`
开始由 ``compute_*`` 方法创建的计算命令列表。应该将返回值传递给其他 ``compute_list_*`` 函数。
无法同时创建多个计算列表;你必须先使用 :ref:`compute_list_end<class_RenderingDevice_method_compute_list_end>` 把之前的计算列表完成。
简易的计算操作类似于下面这样(代码不是完整的示例):
::
var rd = RenderingDevice.new()
var compute_list = rd.compute_list_begin()
rd.compute_list_bind_compute_pipeline(compute_list, compute_shader_dilate_pipeline)
rd.compute_list_bind_uniform_set(compute_list, compute_base_uniform_set, 0)
rd.compute_list_bind_uniform_set(compute_list, dilate_uniform_set, 1)
for i in atlas_slices:
rd.compute_list_set_push_constant(compute_list, push_constant, push_constant.size())
rd.compute_list_dispatch(compute_list, group_size.x, group_size.y, group_size.z)
# 没有屏障,一起执行。
rd.compute_list_end()
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_bind_compute_pipeline:
.. rst-class:: classref-method
|void| **compute_list_bind_compute_pipeline**\ (\ compute_list\: :ref:`int<class_int>`, compute_pipeline\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_bind_compute_pipeline>`
告诉 GPU 在处理计算列表时使用什么计算管道。如果自上次调用该函数以来着色器发生了更改Godot 将取消绑定所有描述符集,并在 :ref:`compute_list_dispatch<class_RenderingDevice_method_compute_list_dispatch>` 中重新绑定它们。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_bind_uniform_set:
.. rst-class:: classref-method
|void| **compute_list_bind_uniform_set**\ (\ compute_list\: :ref:`int<class_int>`, uniform_set\: :ref:`RID<class_RID>`, set_index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_bind_uniform_set>`
``uniform_set`` 绑定到该 ``compute_list``\ 。Godot 确保统一集中的所有纹理都具有正确的 Vulkan 访问蒙版。如果 Godot 必须更改纹理的访问蒙版,则会引发 Vulkan 图像内存障碍。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_dispatch:
.. rst-class:: classref-method
|void| **compute_list_dispatch**\ (\ compute_list\: :ref:`int<class_int>`, x_groups\: :ref:`int<class_int>`, y_groups\: :ref:`int<class_int>`, z_groups\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_dispatch>`
将计算列表提交给 GPU 处理。相当于是计算版本的 :ref:`draw_list_draw<class_RenderingDevice_method_draw_list_draw>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_dispatch_indirect:
.. rst-class:: classref-method
|void| **compute_list_dispatch_indirect**\ (\ compute_list\: :ref:`int<class_int>`, buffer\: :ref:`RID<class_RID>`, offset\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_dispatch_indirect>`
提交计算列表以供 GPU 处理,其中给定的组计数存储在 ``buffer`` 中的 ``offset`` 处。必须使用 :ref:`STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT<class_RenderingDevice_constant_STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT>` 标志创建缓冲区。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_end:
.. rst-class:: classref-method
|void| **compute_list_end**\ (\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_end>`
结束由 ``compute_*`` 方法创建的计算命令列表。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_list_set_push_constant:
.. rst-class:: classref-method
|void| **compute_list_set_push_constant**\ (\ compute_list\: :ref:`int<class_int>`, buffer\: :ref:`PackedByteArray<class_PackedByteArray>`, size_bytes\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_list_set_push_constant>`
为指定的 ``compute_list`` 设置 ``buffer`` 的推送常量数据。如何使用这个二进制数据由着色器决定。另外还必须在 ``size_bytes`` 中指定缓冲的字节大小(可以通过对 ``buffer`` 调用 :ref:`PackedByteArray.size<class_PackedByteArray_method_size>` 获取)。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_pipeline_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **compute_pipeline_create**\ (\ shader\: :ref:`RID<class_RID>`, specialization_constants\: :ref:`Array<class_Array>`\[:ref:`RDPipelineSpecializationConstant<class_RDPipelineSpecializationConstant>`\] = []\ ) :ref:`🔗<class_RenderingDevice_method_compute_pipeline_create>`
新建计算管线。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_compute_pipeline_is_valid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **compute_pipeline_is_valid**\ (\ compute_pipeline\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_compute_pipeline_is_valid>`
如果由 ``compute_pipeline`` RID 指定的计算管线有效,则返回 ``true``\ ,否则返回 ``false``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_create_local_device:
.. rst-class:: classref-method
:ref:`RenderingDevice<class_RenderingDevice>` **create_local_device**\ (\ ) :ref:`🔗<class_RenderingDevice_method_create_local_device>`
新建局部 **RenderingDevice**\ 。主要用于在 GPU 上执行计算操作,独立于引擎的其他部分。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_command_begin_label:
.. rst-class:: classref-method
|void| **draw_command_begin_label**\ (\ name\: :ref:`String<class_String>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_command_begin_label>`
创建命令缓冲调试标签区域,能够在 `RenderDoc <https://renderdoc.org/>`__ 等第三方工具中显示。所有的区域都应该调用 :ref:`draw_command_end_label<class_RenderingDevice_method_draw_command_end_label>` 结束。观察单个队列的线性提交序列时,\ :ref:`draw_command_begin_label<class_RenderingDevice_method_draw_command_begin_label>` 必须有与之对应的 :ref:`draw_command_end_label<class_RenderingDevice_method_draw_command_end_label>`\ 。
Vulkan 扩展 ``VK_EXT_DEBUG_UTILS_EXTENSION_NAME`` 必须可用并启用,这样命令缓冲调试标签区域才能正常工作。另见 :ref:`draw_command_end_label<class_RenderingDevice_method_draw_command_end_label>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_command_end_label:
.. rst-class:: classref-method
|void| **draw_command_end_label**\ (\ ) :ref:`🔗<class_RenderingDevice_method_draw_command_end_label>`
结束命令缓冲调试标签区域,该区域由 :ref:`draw_command_begin_label<class_RenderingDevice_method_draw_command_begin_label>` 调用开启。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_command_insert_label:
.. rst-class:: classref-method
|void| **draw_command_insert_label**\ (\ name\: :ref:`String<class_String>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_command_insert_label>`
**已弃用:** Inserting labels no longer applies due to command reordering.
这个方法什么也不做。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_begin:
.. rst-class:: classref-method
:ref:`int<class_int>` **draw_list_begin**\ (\ framebuffer\: :ref:`RID<class_RID>`, initial_color_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_color_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, initial_depth_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_depth_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, clear_color_values\: :ref:`PackedColorArray<class_PackedColorArray>` = PackedColorArray(), clear_depth\: :ref:`float<class_float>` = 1.0, clear_stencil\: :ref:`int<class_int>` = 0, region\: :ref:`Rect2<class_Rect2>` = Rect2(0, 0, 0, 0)\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_begin>`
开始由 ``draw_*`` 方法创建的栅格绘图命令列表。应该将返回值传递给其他 ``draw_list_*`` 函数。
无法同时创建多个绘图列表;你必须先使用 :ref:`draw_list_end<class_RenderingDevice_method_draw_list_end>` 把之前的绘图列表完成。
简易的绘图操作类似于下面这样(代码不是完整的示例):
::
var rd = RenderingDevice.new()
var clear_colors = PackedColorArray([Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 0)])
var draw_list = rd.draw_list_begin(framebuffers[i], RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_DISCARD, clear_colors)
# 实心绘制。
rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline)
rd.draw_list_bind_uniform_set(draw_list, raster_base_uniform, 0)
rd.draw_list_set_push_constant(draw_list, raster_push_constant, raster_push_constant.size())
rd.draw_list_draw(draw_list, false, 1, slice_triangle_count[i] * 3)
# 线框绘制。
rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline_wire)
rd.draw_list_bind_uniform_set(draw_list, raster_base_uniform, 0)
rd.draw_list_set_push_constant(draw_list, raster_push_constant, raster_push_constant.size())
rd.draw_list_draw(draw_list, false, 1, slice_triangle_count[i] * 3)
rd.draw_list_end()
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_begin_for_screen:
.. rst-class:: classref-method
:ref:`int<class_int>` **draw_list_begin_for_screen**\ (\ screen\: :ref:`int<class_int>` = 0, clear_color\: :ref:`Color<class_Color>` = Color(0, 0, 0, 1)\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_begin_for_screen>`
:ref:`draw_list_begin<class_RenderingDevice_method_draw_list_begin>` 的高阶变体,会针对绘制到 ``screen`` ID 指定的窗口上自动调整参数。
\ **注意:**\ 局部 RenderingDevice 没有屏幕,所以无法使用。如果在局部 RenderingDevice 上调用,\ :ref:`draw_list_begin_for_screen<class_RenderingDevice_method_draw_list_begin_for_screen>` 会返回 :ref:`INVALID_ID<class_RenderingDevice_constant_INVALID_ID>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_begin_split:
.. rst-class:: classref-method
:ref:`PackedInt64Array<class_PackedInt64Array>` **draw_list_begin_split**\ (\ framebuffer\: :ref:`RID<class_RID>`, splits\: :ref:`int<class_int>`, initial_color_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_color_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, initial_depth_action\: :ref:`InitialAction<enum_RenderingDevice_InitialAction>`, final_depth_action\: :ref:`FinalAction<enum_RenderingDevice_FinalAction>`, clear_color_values\: :ref:`PackedColorArray<class_PackedColorArray>` = PackedColorArray(), clear_depth\: :ref:`float<class_float>` = 1.0, clear_stencil\: :ref:`int<class_int>` = 0, region\: :ref:`Rect2<class_Rect2>` = Rect2(0, 0, 0, 0), storage_textures\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] = []\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_begin_split>`
**已弃用:** Split draw lists are used automatically by RenderingDevice.
该方法不执行任何操作,并且始终返回空的 :ref:`PackedInt64Array<class_PackedInt64Array>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_bind_index_array:
.. rst-class:: classref-method
|void| **draw_list_bind_index_array**\ (\ draw_list\: :ref:`int<class_int>`, index_array\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_bind_index_array>`
``index_array`` 绑定到指定的 ``draw_list``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_bind_render_pipeline:
.. rst-class:: classref-method
|void| **draw_list_bind_render_pipeline**\ (\ draw_list\: :ref:`int<class_int>`, render_pipeline\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_bind_render_pipeline>`
``render_pipeline`` 绑定到指定的 ``draw_list``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_bind_uniform_set:
.. rst-class:: classref-method
|void| **draw_list_bind_uniform_set**\ (\ draw_list\: :ref:`int<class_int>`, uniform_set\: :ref:`RID<class_RID>`, set_index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_bind_uniform_set>`
``uniform_set`` 绑定到指定的 ``draw_list``\ 。还必须指定 ``set_index``\ ,这是从 ``0`` 开始的标识符,必须与绘制列表中所需要的相匹配。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_bind_vertex_array:
.. rst-class:: classref-method
|void| **draw_list_bind_vertex_array**\ (\ draw_list\: :ref:`int<class_int>`, vertex_array\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_bind_vertex_array>`
``vertex_array`` 绑定到指定的 ``draw_list``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_disable_scissor:
.. rst-class:: classref-method
|void| **draw_list_disable_scissor**\ (\ draw_list\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_disable_scissor>`
为指定的 ``draw_list`` 移除并禁用裁剪矩形。另见 :ref:`draw_list_enable_scissor<class_RenderingDevice_method_draw_list_enable_scissor>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_draw:
.. rst-class:: classref-method
|void| **draw_list_draw**\ (\ draw_list\: :ref:`int<class_int>`, use_indices\: :ref:`bool<class_bool>`, instances\: :ref:`int<class_int>`, procedural_vertex_count\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_draw>`
``draw_list`` 提交给 GPU 渲染。相当于是栅格版本的 :ref:`compute_list_dispatch<class_RenderingDevice_method_compute_list_dispatch>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_enable_scissor:
.. rst-class:: classref-method
|void| **draw_list_enable_scissor**\ (\ draw_list\: :ref:`int<class_int>`, rect\: :ref:`Rect2<class_Rect2>` = Rect2(0, 0, 0, 0)\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_enable_scissor>`
创建裁剪矩形并为指定的 ``draw_list`` 启用。裁剪矩形可以用来实现裁剪,会丢弃落在屏幕上指定矩形范围之外的片段。另见 :ref:`draw_list_disable_scissor<class_RenderingDevice_method_draw_list_disable_scissor>`\ 。
\ **注意:**\ 指定的 ``rect`` 会自动与屏幕尺寸求交集,也就是说裁剪矩形无法超出屏幕的范围。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_end:
.. rst-class:: classref-method
|void| **draw_list_end**\ (\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_end>`
结束由 ``draw_*`` 方法创建的栅格绘图命令列表。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_set_blend_constants:
.. rst-class:: classref-method
|void| **draw_list_set_blend_constants**\ (\ draw_list\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_set_blend_constants>`
将指定 ``draw_list`` 的混合常量设置为 ``color``\ 。创建图形管线时设置了 :ref:`DYNAMIC_STATE_BLEND_CONSTANTS<class_RenderingDevice_constant_DYNAMIC_STATE_BLEND_CONSTANTS>` 标志时才会使用混合常量。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_set_push_constant:
.. rst-class:: classref-method
|void| **draw_list_set_push_constant**\ (\ draw_list\: :ref:`int<class_int>`, buffer\: :ref:`PackedByteArray<class_PackedByteArray>`, size_bytes\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_set_push_constant>`
为指定的 ``draw_list`` 设置 ``buffer`` 的推送常量数据。如何使用这个二进制数据由着色器决定。另外还必须在 ``size_bytes`` 中指定缓冲的字节大小(可以通过对 ``buffer`` 调用 :ref:`PackedByteArray.size<class_PackedByteArray_method_size>` 获取)。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_switch_to_next_pass:
.. rst-class:: classref-method
:ref:`int<class_int>` **draw_list_switch_to_next_pass**\ (\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_switch_to_next_pass>`
切换到下一个绘制阶段。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_draw_list_switch_to_next_pass_split:
.. rst-class:: classref-method
:ref:`PackedInt64Array<class_PackedInt64Array>` **draw_list_switch_to_next_pass_split**\ (\ splits\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_draw_list_switch_to_next_pass_split>`
**已弃用:** Split draw lists are used automatically by RenderingDevice.
该方法不执行任何操作,并且始终返回空的 :ref:`PackedInt64Array<class_PackedInt64Array>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **framebuffer_create**\ (\ textures\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], validate_with_format\: :ref:`int<class_int>` = -1, view_count\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_create>`
新建帧缓冲。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_create_empty:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **framebuffer_create_empty**\ (\ size\: :ref:`Vector2i<class_Vector2i>`, samples\: :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` = 0, validate_with_format\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_create_empty>`
新建空的帧缓冲。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_create_multipass:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **framebuffer_create_multipass**\ (\ textures\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], passes\: :ref:`Array<class_Array>`\[:ref:`RDFramebufferPass<class_RDFramebufferPass>`\], validate_with_format\: :ref:`int<class_int>` = -1, view_count\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_create_multipass>`
新建多阶段帧缓冲。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_format_create:
.. rst-class:: classref-method
:ref:`int<class_int>` **framebuffer_format_create**\ (\ attachments\: :ref:`Array<class_Array>`\[:ref:`RDAttachmentFormat<class_RDAttachmentFormat>`\], view_count\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_format_create>`
新建帧缓冲格式,附件为 ``attachments``\ 、视图数为 ``view_count``\ 。返回的是新帧缓冲的唯一帧缓冲格式 ID。
如果 ``view_count`` 大于等于 ``2``\ ,则会针对 VR 渲染启用多视图。要求支持 Vulkan 的多视图扩展。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_format_create_empty:
.. rst-class:: classref-method
:ref:`int<class_int>` **framebuffer_format_create_empty**\ (\ samples\: :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` = 0\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_format_create_empty>`
新建空的帧缓冲格式并返回其 ID采样数为 ``samples``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_format_create_multipass:
.. rst-class:: classref-method
:ref:`int<class_int>` **framebuffer_format_create_multipass**\ (\ attachments\: :ref:`Array<class_Array>`\[:ref:`RDAttachmentFormat<class_RDAttachmentFormat>`\], passes\: :ref:`Array<class_Array>`\[:ref:`RDFramebufferPass<class_RDFramebufferPass>`\], view_count\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_format_create_multipass>`
创建多阶段帧缓冲格式并返回其 ID附件为 ``attachments``\ 、阶段数为 ``passes``\ 、视图数为 ``view_count``\ 。如果 ``view_count`` 大于等于 ``2``\ ,则会针对 VR 渲染启用多视图。要求支持 Vulkan 的多视图扩展。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_format_get_texture_samples:
.. rst-class:: classref-method
:ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` **framebuffer_format_get_texture_samples**\ (\ format\: :ref:`int<class_int>`, render_pass\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_format_get_texture_samples>`
返回给定帧缓冲格式 ID ``format`` 所使用的纹理采样数量(格式由 :ref:`framebuffer_get_format<class_RenderingDevice_method_framebuffer_get_format>` 返回)。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_get_format:
.. rst-class:: classref-method
:ref:`int<class_int>` **framebuffer_get_format**\ (\ framebuffer\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_framebuffer_get_format>`
返回由帧缓冲 RID ``framebuffer`` 指定的帧缓冲的格式 ID。相同格式下这个 ID 一定是唯一的,不需要释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_framebuffer_is_valid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **framebuffer_is_valid**\ (\ framebuffer\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_framebuffer_is_valid>`
返回由帧缓冲 RID ``framebuffer`` 指定的帧缓冲有效,则返回 ``true``\ ,否则返回 ``false``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_free_rid:
.. rst-class:: classref-method
|void| **free_rid**\ (\ rid\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_free_rid>`
尝试释放 RenderingDevice 中的某个对象。为了防止内存泄漏,对象使用完后就应该调用这个方法,因为直接使用 RenderingDevice 时并不会自动进行内存管理。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_full_barrier:
.. rst-class:: classref-method
|void| **full_barrier**\ (\ ) :ref:`🔗<class_RenderingDevice_method_full_barrier>`
**已弃用:** Barriers are automatically inserted by RenderingDevice.
这个方法什么也不做。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_captured_timestamp_cpu_time:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_captured_timestamp_cpu_time**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_captured_timestamp_cpu_time>`
返回渲染步骤的 CPU 时间戳(引擎启动后经过的毫秒数),渲染步骤由 ``index`` 指定。另见 :ref:`get_captured_timestamp_gpu_time<class_RenderingDevice_method_get_captured_timestamp_gpu_time>`:ref:`capture_timestamp<class_RenderingDevice_method_capture_timestamp>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_captured_timestamp_gpu_time:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_captured_timestamp_gpu_time**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_captured_timestamp_gpu_time>`
返回渲染步骤的 GPU 时间戳(引擎启动后经过的毫秒数),渲染步骤由 ``index`` 指定。另见 :ref:`get_captured_timestamp_cpu_time<class_RenderingDevice_method_get_captured_timestamp_cpu_time>`:ref:`capture_timestamp<class_RenderingDevice_method_capture_timestamp>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_captured_timestamp_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_captured_timestamp_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_captured_timestamp_name>`
返回渲染步骤的时间戳的名称,渲染步骤由 ``index`` 指定。另见 :ref:`capture_timestamp<class_RenderingDevice_method_capture_timestamp>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_captured_timestamps_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_captured_timestamps_count**\ (\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_captured_timestamps_count>`
返回能够进行性能分析的时间戳(渲染步骤)总数。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_captured_timestamps_frame:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_captured_timestamps_frame**\ (\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_captured_timestamps_frame>`
返回能够进行渲染时间戳查询的最后一个渲染帧的索引。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_device_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_device_name**\ (\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_device_name>`
返回视频适配器的名称(例如 "GeForce GTX 1080/PCIe/SSE2")。等价于 :ref:`RenderingServer.get_video_adapter_name<class_RenderingServer_method_get_video_adapter_name>`\ 。另见 :ref:`get_device_vendor_name<class_RenderingDevice_method_get_device_vendor_name>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_device_pipeline_cache_uuid:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_device_pipeline_cache_uuid**\ (\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_device_pipeline_cache_uuid>`
返回管线缓存的通用唯一标识符。用于将着色器文件缓存到磁盘,避免后续运行引擎时进行着色器的重新编译。这个 UUID 会根据显卡型号以及驱动版本的不同而不同。因此,更新图形驱动会使着色器缓存失效。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_device_vendor_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_device_vendor_name**\ (\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_device_vendor_name>`
返回视频适配器的供应商(例如 "NVIDIA Corporation")。等价于 :ref:`RenderingServer.get_video_adapter_vendor<class_RenderingServer_method_get_video_adapter_vendor>`\ 。另见 :ref:`get_device_name<class_RenderingDevice_method_get_device_name>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_driver_resource:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_driver_resource**\ (\ resource\: :ref:`DriverResource<enum_RenderingDevice_DriverResource>`, rid\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_get_driver_resource>`
返回指定 ``rid`` 的驱动资源 ``resource`` 的唯一标识符。部分驱动资源类型会忽略指定的 ``rid``\ (说明见 :ref:`DriverResource<enum_RenderingDevice_DriverResource>`\ )。\ ``index`` 始终会被忽略,但仍然必须指定。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_frame_delay:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_frame_delay**\ (\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_frame_delay>`
返回图形 API 所记录的帧数。值越高输入延迟就越高,但吞吐量也更一致。对于主 **RenderingDevice** 而言,帧会进行循环(启用三缓冲垂直同步时通常为 3。但是局部 **RenderingDevice** 只有 1 帧。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_get_memory_usage:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_memory_usage**\ (\ type\: :ref:`MemoryType<enum_RenderingDevice_MemoryType>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_get_memory_usage>`
返回与类型 ``type`` 对应的内存用量,单位为字节。使用 Vulkan 时,会通过 `Vulkan Memory Allocator <https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator>`__ 计算这些统计信息。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_index_array_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **index_array_create**\ (\ index_buffer\: :ref:`RID<class_RID>`, index_offset\: :ref:`int<class_int>`, index_count\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_index_array_create>`
新建索引数组。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_index_buffer_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **index_buffer_create**\ (\ size_indices\: :ref:`int<class_int>`, format\: :ref:`IndexBufferFormat<enum_RenderingDevice_IndexBufferFormat>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray(), use_restart_indices\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_RenderingDevice_method_index_buffer_create>`
新建索引缓冲。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_limit_get:
.. rst-class:: classref-method
:ref:`int<class_int>` **limit_get**\ (\ limit\: :ref:`Limit<enum_RenderingDevice_Limit>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_limit_get>`
返回指定 ``limit`` 的值。这个极限值取决于当前的图形硬件(有时也和驱动版本有关)。如果超出了给定的极限,则会发生渲染错误。
各种图形硬件的极限可以在 `Vulkan 硬件数据库 <https://vulkan.gpuinfo.org/>`__\ 中找到。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_render_pipeline_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **render_pipeline_create**\ (\ shader\: :ref:`RID<class_RID>`, framebuffer_format\: :ref:`int<class_int>`, vertex_format\: :ref:`int<class_int>`, primitive\: :ref:`RenderPrimitive<enum_RenderingDevice_RenderPrimitive>`, rasterization_state\: :ref:`RDPipelineRasterizationState<class_RDPipelineRasterizationState>`, multisample_state\: :ref:`RDPipelineMultisampleState<class_RDPipelineMultisampleState>`, stencil_state\: :ref:`RDPipelineDepthStencilState<class_RDPipelineDepthStencilState>`, color_blend_state\: :ref:`RDPipelineColorBlendState<class_RDPipelineColorBlendState>`, dynamic_state_flags\: |bitfield|\[:ref:`PipelineDynamicStateFlags<enum_RenderingDevice_PipelineDynamicStateFlags>`\] = 0, for_render_pass\: :ref:`int<class_int>` = 0, specialization_constants\: :ref:`Array<class_Array>`\[:ref:`RDPipelineSpecializationConstant<class_RDPipelineSpecializationConstant>`\] = []\ ) :ref:`🔗<class_RenderingDevice_method_render_pipeline_create>`
新建渲染管线。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_render_pipeline_is_valid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **render_pipeline_is_valid**\ (\ render_pipeline\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_render_pipeline_is_valid>`
如果由 ``render_pipeline`` RID 指定的渲染管线有效则返回 ``true``\ ,否则返回 ``false``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_sampler_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **sampler_create**\ (\ state\: :ref:`RDSamplerState<class_RDSamplerState>`\ ) :ref:`🔗<class_RenderingDevice_method_sampler_create>`
新建采样器。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_sampler_is_format_supported_for_filter:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **sampler_is_format_supported_for_filter**\ (\ format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, sampler_filter\: :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>`\ ) |const| :ref:`🔗<class_RenderingDevice_method_sampler_is_format_supported_for_filter>`
如果实现支持使用格式为 ``format````sampler_filter`` 采样过滤的纹理,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_screen_get_framebuffer_format:
.. rst-class:: classref-method
:ref:`int<class_int>` **screen_get_framebuffer_format**\ (\ screen\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_RenderingDevice_method_screen_get_framebuffer_format>`
返回给定屏幕的帧缓冲的格式。
\ **注意:**\ 只有 :ref:`RenderingServer.get_rendering_device<class_RenderingServer_method_get_rendering_device>` 返回的主 **RenderingDevice** 有格式。对局部 **RenderingDevice** 调用时,这个方法会输出错误并返回 :ref:`INVALID_ID<class_RenderingDevice_constant_INVALID_ID>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_screen_get_height:
.. rst-class:: classref-method
:ref:`int<class_int>` **screen_get_height**\ (\ screen\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_RenderingDevice_method_screen_get_height>`
返回与给定窗口 ID 图形 API 上下文相匹配的窗口高度(单位为像素)。虽然参数的名字叫 ``screen``\ ,但返回的是\ *窗口*\ 的大小。另见 :ref:`screen_get_width<class_RenderingDevice_method_screen_get_width>`\ 。
\ **注意:**\ 只有 :ref:`RenderingServer.get_rendering_device<class_RenderingServer_method_get_rendering_device>` 返回的主 **RenderingDevice** 有高度。如果对局部 **RenderingDevice** 调用,则会输出错误并返回 :ref:`INVALID_ID<class_RenderingDevice_constant_INVALID_ID>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_screen_get_width:
.. rst-class:: classref-method
:ref:`int<class_int>` **screen_get_width**\ (\ screen\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_RenderingDevice_method_screen_get_width>`
返回与给定窗口 ID 图形 API 上下文相匹配的窗口宽度(单位为像素)。虽然参数的名字叫 ``screen``\ ,但返回的是\ *窗口*\ 的大小。另见 :ref:`screen_get_height<class_RenderingDevice_method_screen_get_height>`\ 。
\ **注意:**\ 只有 :ref:`RenderingServer.get_rendering_device<class_RenderingServer_method_get_rendering_device>` 返回的主 **RenderingDevice** 有宽度。如果对局部 **RenderingDevice** 调用,则会输出错误并返回 :ref:`INVALID_ID<class_RenderingDevice_constant_INVALID_ID>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_set_resource_name:
.. rst-class:: classref-method
|void| **set_resource_name**\ (\ id\: :ref:`RID<class_RID>`, name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_RenderingDevice_method_set_resource_name>`
将 ID 为 ``id`` 的资源名称设置为 ``name``\ 。用于使用 `RenderDoc <https://renderdoc.org/>`__ 等第三方工具进行调试。
可以为以下类型的资源命名纹理、采样器、顶点缓冲、索引缓冲、uniform 缓冲、纹理缓冲、存储缓冲、uniform 集缓冲、着色器、渲染管线、计算管线。无法为帧缓冲命名。尝试为不兼容的资源类型命名会输出错误。
\ **注意:**\ 引擎以详细模式运行时(\ :ref:`OS.is_stdout_verbose<class_OS_method_is_stdout_verbose>` = ``true``\ ),或者使用 ``dev_mode=yes`` SCons 选项编译引擎构建时,才会设置资源的名称。图形驱动也必须支持 Vulkan 扩展 ``VK_EXT_DEBUG_UTILS_EXTENSION_NAME`` 具名资源才能正常工作。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_shader_compile_binary_from_spirv:
.. rst-class:: classref-method
:ref:`PackedByteArray<class_PackedByteArray>` **shader_compile_binary_from_spirv**\ (\ spirv_data\: :ref:`RDShaderSPIRV<class_RDShaderSPIRV>`, name\: :ref:`String<class_String>` = ""\ ) :ref:`🔗<class_RenderingDevice_method_shader_compile_binary_from_spirv>`
``spirv_data`` 编译二进制着色器,并将编译得到的二进制数据以 :ref:`PackedByteArray<class_PackedByteArray>` 的形式返回。编译后的着色器与所使用的 GPU 型号和驱动版本对应;无法在不同的 GPU 型号甚至不同的驱动版本上正常工作。另见 :ref:`shader_compile_spirv_from_source<class_RenderingDevice_method_shader_compile_spirv_from_source>`\ 。
\ ``name`` 是可选的人类可读名称,会给予编译后的着色器,方便组织。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_shader_compile_spirv_from_source:
.. rst-class:: classref-method
:ref:`RDShaderSPIRV<class_RDShaderSPIRV>` **shader_compile_spirv_from_source**\ (\ shader_source\: :ref:`RDShaderSource<class_RDShaderSource>`, allow_cache\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_RenderingDevice_method_shader_compile_spirv_from_source>`
``shader_source`` 中的着色器源代码编译为 :ref:`RDShaderSPIRV<class_RDShaderSPIRV>` 形式的 SPIR-V。这种中间语言的着色器可以在不同 GPU 型号和驱动版本之间移植,但无法直接在 GPU 上运行,需要先使用 :ref:`shader_compile_binary_from_spirv<class_RenderingDevice_method_shader_compile_binary_from_spirv>` 编译为二进制着色器。
如果 ``allow_cache````true``\ ,则会使用 Godot 生成的着色器缓存。如果着色器已经在缓存中,这样就可能避免冗长的着色器编译步骤。\ ``allow_cache````false``\ ,则会忽略 Godot 的着色器缓存,始终重新编译着色器。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_shader_create_from_bytecode:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **shader_create_from_bytecode**\ (\ binary_data\: :ref:`PackedByteArray<class_PackedByteArray>`, placeholder_rid\: :ref:`RID<class_RID>` = RID()\ ) :ref:`🔗<class_RenderingDevice_method_shader_create_from_bytecode>`
根据二进制的已编译着色器创建新的着色器实例。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingDevice 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。另见 :ref:`shader_compile_binary_from_spirv<class_RenderingDevice_method_shader_compile_binary_from_spirv>` 和 :ref:`shader_create_from_spirv<class_RenderingDevice_method_shader_create_from_spirv>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_shader_create_from_spirv:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **shader_create_from_spirv**\ (\ spirv_data\: :ref:`RDShaderSPIRV<class_RDShaderSPIRV>`, name\: :ref:`String<class_String>` = ""\ ) :ref:`🔗<class_RenderingDevice_method_shader_create_from_spirv>`
根据 SPIR-V 中间代码创建新的着色器实例。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingDevice 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。另见 :ref:`shader_compile_spirv_from_source<class_RenderingDevice_method_shader_compile_spirv_from_source>` 和 :ref:`shader_create_from_bytecode<class_RenderingDevice_method_shader_create_from_bytecode>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_shader_create_placeholder:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **shader_create_placeholder**\ (\ ) :ref:`🔗<class_RenderingDevice_method_shader_create_placeholder>`
通过分配 RID 来创建占位符 RID而不对其进行初始化以供在 :ref:`shader_create_from_bytecode<class_RenderingDevice_method_shader_create_from_bytecode>` 中使用。这允许你为着色器创建 RID 并传递它,但将着色器的编译推迟到以后的时间。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_shader_get_vertex_input_attribute_mask:
.. rst-class:: classref-method
:ref:`int<class_int>` **shader_get_vertex_input_attribute_mask**\ (\ shader\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_shader_get_vertex_input_attribute_mask>`
返回内部顶点输入掩码。在内部,顶点输入掩码是一个无符号整数,由输入变量(在 GLSL 中通过 ``in`` 关键字指定)的位置(在 GLSL 中通过 ``layout(location = ...)`` 指定)组成。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_storage_buffer_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **storage_buffer_create**\ (\ size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray(), usage\: |bitfield|\[:ref:`StorageBufferUsage<enum_RenderingDevice_StorageBufferUsage>`\] = 0\ ) :ref:`🔗<class_RenderingDevice_method_storage_buffer_create>`
创建带有指定数据 ``data`` 用法为 ``usage`` 的\ `存储缓冲 <https://vkguide.dev/docs/chapter-4/storage_buffers/>`__\ 。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_submit:
.. rst-class:: classref-method
|void| **submit**\ (\ ) :ref:`🔗<class_RenderingDevice_method_submit>`
推送帧设置与绘图命令缓冲,然后将局部设备标记为当前正在处理(这样就能够调用 :ref:`sync<class_RenderingDevice_method_sync>`\ )。
\ **注意:**\ 仅在局部 RenderingDevice 上可用。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_sync:
.. rst-class:: classref-method
|void| **sync**\ (\ ) :ref:`🔗<class_RenderingDevice_method_sync>`
让 CPU 与 GPU 进行强制同步,部分场合可能需要进行这样的操作。请只在需要时调用,因为 CPU 与 GPU 的同步存在性能开销。
\ **注意:**\ 仅在局部 RenderingDevice 上可用。
\ **注意:**\ 只能在 :ref:`submit<class_RenderingDevice_method_submit>` 后调用 :ref:`sync<class_RenderingDevice_method_sync>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_buffer_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **texture_buffer_create**\ (\ size_bytes\: :ref:`int<class_int>`, format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray()\ ) :ref:`🔗<class_RenderingDevice_method_texture_buffer_create>`
新建纹理缓冲。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_clear:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **texture_clear**\ (\ texture\: :ref:`RID<class_RID>`, color\: :ref:`Color<class_Color>`, base_mipmap\: :ref:`int<class_int>`, mipmap_count\: :ref:`int<class_int>`, base_layer\: :ref:`int<class_int>`, layer_count\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_clear>`
将指定的 ``texture`` 清屏,将所有像素替换为指定的颜色 ``color``\ 。\ ``base_mipmap````mipmap_count`` 决定该清屏操作影响纹理的哪些 mipmap``base_layer````layer_count`` 决定该清屏操作影响 3D 纹理(或纹理数组)的哪几层。如果是 2D 纹理(本来就只有一层),则 ``base_layer`` 必须为 ``0``\ \ ``layer_count`` 必须为 ``1``\ 。
\ **注意:**\ 如果使用 ``texture`` 的绘图列表是创建的帧缓冲的一部分,则该纹理不能被清屏。确保绘图列表释放后(并且使用它的颜色和深度纹理没有被设为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ )才能对该纹理做清屏操作。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_copy:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **texture_copy**\ (\ from_texture\: :ref:`RID<class_RID>`, to_texture\: :ref:`RID<class_RID>`, from_pos\: :ref:`Vector3<class_Vector3>`, to_pos\: :ref:`Vector3<class_Vector3>`, size\: :ref:`Vector3<class_Vector3>`, src_mipmap\: :ref:`int<class_int>`, dst_mipmap\: :ref:`int<class_int>`, src_layer\: :ref:`int<class_int>`, dst_layer\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_copy>`
``from_texture`` 复制到 ``to_texture``\ ,使用指定的 ``from_pos``\ 、\ ``to_pos````size`` 坐标。对于二维纹理,\ ``from_pos``\ 、\ ``to_pos````size`` 的 Z 轴必须为 ``0``\ 。来源和目标的 mipmap/图层也必须指定,对于没有 mipmap 或单层纹理的情况,这些参数应为 ``0``\ 。如果纹理复制成功,则返回 :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>`\ ,否则返回 :ref:`@GlobalScope.ERR_INVALID_PARAMETER<class_@GlobalScope_constant_ERR_INVALID_PARAMETER>`\ 。
\ **注意:**\ 如果使用 ``from_texture`` 纹理的绘图列表是创建的帧缓冲的一部分,则无法复制。请确保绘图列表已经完成(并且使用它的颜色/深度纹理没有设置为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ ),然后再复制纹理。
\ **注意:**\ ``from_texture`` 纹理需要获取 :ref:`TEXTURE_USAGE_CAN_COPY_FROM_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_FROM_BIT>`\ 。
\ **注意:**\ 如果使用 ``to_texture`` 纹理的绘图列表是创建的帧缓冲的一部分,则无法复制。请确保绘图列表已经完成(并且使用它的颜色/深度纹理没有设置为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ ),然后再复制纹理。
\ **注意:**\ ``to_texture`` 纹理需要获取 :ref:`TEXTURE_USAGE_CAN_COPY_TO_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_TO_BIT>`\ 。
\ **注意:**\ ``from_texture````to_texture`` 的类型必须相同(颜色或深度)。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **texture_create**\ (\ format\: :ref:`RDTextureFormat<class_RDTextureFormat>`, view\: :ref:`RDTextureView<class_RDTextureView>`, data\: :ref:`Array<class_Array>`\[:ref:`PackedByteArray<class_PackedByteArray>`\] = []\ ) :ref:`🔗<class_RenderingDevice_method_texture_create>`
新建纹理。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
\ **注意:**\ 请勿与 :ref:`RenderingServer.texture_2d_create<class_RenderingServer_method_texture_2d_create>` 混淆,后者创建的是 Godot 专属的 :ref:`Texture2D<class_Texture2D>` 资源,不是图形 API 自己的纹理类型。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_create_from_extension:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **texture_create_from_extension**\ (\ type\: :ref:`TextureType<enum_RenderingDevice_TextureType>`, format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, samples\: :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>`, usage_flags\: |bitfield|\[:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>`\], image\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`, depth\: :ref:`int<class_int>`, layers\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_create_from_extension>`
使用给定的 ``type``\ 、\ ``format``\ 、\ ``samples``\ 、\ ``usage_flags``\ 、\ ``width``\ 、\ ``height``\ 、\ ``depth````layers`` 返回已有 ``image``\ \ ``VkImage``\ )的 RID。这可被用于允许 Godot 渲染到外部图像上。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_create_shared:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **texture_create_shared**\ (\ view\: :ref:`RDTextureView<class_RDTextureView>`, with_texture\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_create_shared>`
使用指定的 ``view````with_texture`` 中的纹理信息创建共享纹理。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_create_shared_from_slice:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **texture_create_shared_from_slice**\ (\ view\: :ref:`RDTextureView<class_RDTextureView>`, with_texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`, mipmap\: :ref:`int<class_int>`, mipmaps\: :ref:`int<class_int>` = 1, slice_type\: :ref:`TextureSliceType<enum_RenderingDevice_TextureSliceType>` = 0\ ) :ref:`🔗<class_RenderingDevice_method_texture_create_shared_from_slice>`
使用指定的 ``view````with_texture````layer````mipmap`` 中的纹理信息创建共享纹理。可以使用 ``mipmaps`` 参数控制从原始纹理中包含的 mipmap 数量。仅适用于 3D 纹理、纹理数组、立方体贴图等多层纹理。单层纹理请使用 :ref:`texture_create_shared<class_RenderingDevice_method_texture_create_shared>`\ 。
对于 2D 纹理(仅有一个图层),\ ``layer`` 必须为 ``0``\ 。
\ **注意:**\ 图层切片仅支持 2D 纹理数组,不支持 3D 纹理或立方体贴图。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_get_data:
.. rst-class:: classref-method
:ref:`PackedByteArray<class_PackedByteArray>` **texture_get_data**\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_get_data>`
将纹理 ``texture`` 中指定层 ``layer`` 的纹理数据以原始二进制数据的形式返回。2D 纹理(只有一层)的 ``layer`` 必须为 ``0``\ 。
\ **注意:**\ 如果使用 ``texture`` 纹理的绘图列表是创建的帧缓冲的一部分,则无法获取。请确保绘图列表已经完成(并且使用它的颜色/深度纹理没有设置为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ ),然后获取纹理。否则会输出错误并返回空的 :ref:`PackedByteArray<class_PackedByteArray>`\ 。
\ **注意:**\ ``texture`` 纹理需要获取 :ref:`TEXTURE_USAGE_CAN_COPY_FROM_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_FROM_BIT>`\ 。否则会输出错误并返回空的 :ref:`PackedByteArray<class_PackedByteArray>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_get_format:
.. rst-class:: classref-method
:ref:`RDTextureFormat<class_RDTextureFormat>` **texture_get_format**\ (\ texture\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_get_format>`
返回用于创建该纹理的数据格式。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_get_native_handle:
.. rst-class:: classref-method
:ref:`int<class_int>` **texture_get_native_handle**\ (\ texture\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_get_native_handle>`
**已弃用:** Use :ref:`get_driver_resource<class_RenderingDevice_method_get_driver_resource>` with :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead.
返回该纹理对象的内部图形句柄。主要用于 GDExtension 与第三方 API 通讯。
\ **注意:**\ 这个函数返回的是 ``uint64_t``\ ,内部映射到 ``GLuint``\ OpenGL``VkImage``\ Vulkan
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_is_format_supported_for_usage:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **texture_is_format_supported_for_usage**\ (\ format\: :ref:`DataFormat<enum_RenderingDevice_DataFormat>`, usage_flags\: |bitfield|\[:ref:`TextureUsageBits<enum_RenderingDevice_TextureUsageBits>`\]\ ) |const| :ref:`🔗<class_RenderingDevice_method_texture_is_format_supported_for_usage>`
如果指定的格式 ``format`` 支持给定的用途标志 ``usage_flags``\ ,则返回 ``true``\ ,否则返回 ``false``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_is_shared:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **texture_is_shared**\ (\ texture\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_is_shared>`
如果 ``texture`` 是共享纹理,则返回 ``true``\ ,否则返回 ``false``\ 。见 :ref:`RDTextureView<class_RDTextureView>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_is_valid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **texture_is_valid**\ (\ texture\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_is_valid>`
如果 ``texture`` 有效,则返回 ``true``\ ,否则返回 ``false``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_resolve_multisample:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **texture_resolve_multisample**\ (\ from_texture\: :ref:`RID<class_RID>`, to_texture\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_resolve_multisample>`
启用多重采样抗锯齿,将 ``from_texture`` 纹理溶解至 ``to_texture``\ 。启用后才能够正常渲染 MSAA 帧缓冲。成功时返回 :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>`\ ,否则返回 :ref:`@GlobalScope.ERR_INVALID_PARAMETER<class_@GlobalScope_constant_ERR_INVALID_PARAMETER>`\ 。
\ **注意:**\ ``from_texture````to_texture`` 的尺寸、格式、类型(颜色或深度)都必须相同。
\ **注意:**\ 如果使用 ``from_texture`` 纹理的绘图列表是创建的帧缓冲的一部分,则无法复制。请确保绘图列表已经完成(并且使用它的颜色/深度纹理没有设置为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ ),然后再复制纹理。
\ **注意:**\ ``from_texture`` 纹理需要获取 :ref:`TEXTURE_USAGE_CAN_COPY_FROM_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_FROM_BIT>`\ 。
\ **注意:**\ ``from_texture`` 纹理必须为多重采样,并且必须为 2D 纹理(或者是 3D/立方体贴图纹理的切片)。
\ **注意:**\ 如果使用 ``to_texture`` 纹理的绘图列表是创建的帧缓冲的一部分,则无法复制。请确保绘图列表已经完成(并且使用它的颜色/深度纹理没有设置为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ ),然后再溶解纹理。
\ **注意:**\ ``to_texture`` 纹理需要获取 :ref:`TEXTURE_USAGE_CAN_COPY_TO_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_COPY_TO_BIT>`\ 。
\ **注意:**\ ``from_texture`` 纹理必须\ **不能**\ 是多重采样,并且必须为 2D 纹理(或者是 3D/立方体贴图纹理的切片)。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_texture_update:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **texture_update**\ (\ texture\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) :ref:`🔗<class_RenderingDevice_method_texture_update>`
使用新的数据更新纹理数据会原地替换之前的数据。更新后的纹理数据必须和原有尺寸、格式一致。2D 纹理(只有一层)的 ``layer`` 必须为 ``0``\ 。如果更新成功则返回 :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>`\ ,否则返回 :ref:`@GlobalScope.ERR_INVALID_PARAMETER<class_@GlobalScope_constant_ERR_INVALID_PARAMETER>`\ 。
\ **注意:**\ 精致在创建绘图列表或计算列表时更新纹理。
\ **注意:**\ 如果使用 ``texture`` 纹理的绘图列表是创建的帧缓冲的一部分,则无法更新。请确保绘图列表已经完成(并且使用它的颜色/深度纹理没有设置为 :ref:`FINAL_ACTION_CONTINUE<class_RenderingDevice_constant_FINAL_ACTION_CONTINUE>`\ ),然后再更新纹理。
\ **注意:**\ ``texture`` 纹理需要获取 :ref:`TEXTURE_USAGE_CAN_UPDATE_BIT<class_RenderingDevice_constant_TEXTURE_USAGE_CAN_UPDATE_BIT>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_uniform_buffer_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **uniform_buffer_create**\ (\ size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray()\ ) :ref:`🔗<class_RenderingDevice_method_uniform_buffer_create>`
新建 uniform 缓冲。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingDevice 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_uniform_set_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **uniform_set_create**\ (\ uniforms\: :ref:`Array<class_Array>`\[:ref:`RDUniform<class_RDUniform>`\], shader\: :ref:`RID<class_RID>`, shader_set\: :ref:`int<class_int>`\ ) :ref:`🔗<class_RenderingDevice_method_uniform_set_create>`
新建 uniform 集。可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingDevice 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_uniform_set_is_valid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **uniform_set_is_valid**\ (\ uniform_set\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_RenderingDevice_method_uniform_set_is_valid>`
检查 ``uniform_set`` 是否有效,即是否有归属。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_vertex_array_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **vertex_array_create**\ (\ vertex_count\: :ref:`int<class_int>`, vertex_format\: :ref:`int<class_int>`, src_buffers\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], offsets\: :ref:`PackedInt64Array<class_PackedInt64Array>` = PackedInt64Array()\ ) :ref:`🔗<class_RenderingDevice_method_vertex_array_create>`
根据给定的缓冲区创建顶点数组。还可以为各个缓冲区定义偏移量 ``offsets``\ (单位为字节)。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_vertex_buffer_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **vertex_buffer_create**\ (\ size_bytes\: :ref:`int<class_int>`, data\: :ref:`PackedByteArray<class_PackedByteArray>` = PackedByteArray(), use_as_storage\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_RenderingDevice_method_vertex_buffer_create>`
可以通过返回的 RID 进行访问。
RID 使用结束后,应该使用 RenderingServer 的 :ref:`free_rid<class_RenderingDevice_method_free_rid>` 方法进行释放。
.. rst-class:: classref-item-separator
----
.. _class_RenderingDevice_method_vertex_format_create:
.. rst-class:: classref-method
:ref:`int<class_int>` **vertex_format_create**\ (\ vertex_descriptions\: :ref:`Array<class_Array>`\[:ref:`RDVertexAttribute<class_RDVertexAttribute>`\]\ ) :ref:`🔗<class_RenderingDevice_method_vertex_format_create>`
新建顶点描述为 ``vertex_descriptions`` 的顶点格式。返回与新建顶点格式对应的唯一格式 ID。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`