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

332 lines
30 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/4.2/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/RenderSceneBuffersRD.xml.
.. _class_RenderSceneBuffersRD:
RenderSceneBuffersRD
====================
**继承:** :ref:`RenderSceneBuffers<class_RenderSceneBuffers>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
RenderingDevice 基于的渲染器的抽象渲染场景缓冲区实现。
.. rst-class:: classref-introduction-group
描述
----
该对象管理基于渲染设备的渲染器的所有 3D 渲染缓冲区。为每个启用 3D 渲染的视口创建该对象的实例。
所有缓冲区都被组织在\ **上下文**\ 中。默认上下文被称为 **render_buffers**\ 可以包含颜色缓冲区、深度缓冲区、速度缓冲区、VRS 密度图和这些缓冲区的 MSAA 变体等。
缓冲区仅保证在视口渲染期间存在。
\ **注意:**\ 这是一个仅为 GDExtension 插件公开的内部渲染服务器对象。
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_context<class_RenderSceneBuffersRD_method_clear_context>` **(** :ref:`StringName<class_StringName>` context **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`create_texture<class_RenderSceneBuffersRD_method_create_texture>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`DataFormat<enum_RenderingDevice_DataFormat>` data_format, :ref:`int<class_int>` usage_bits, :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` texture_samples, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps, :ref:`bool<class_bool>` unique **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`create_texture_from_format<class_RenderSceneBuffersRD_method_create_texture_from_format>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`RDTextureFormat<class_RDTextureFormat>` format, :ref:`RDTextureView<class_RDTextureView>` view, :ref:`bool<class_bool>` unique **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`create_texture_view<class_RenderSceneBuffersRD_method_create_texture_view>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`StringName<class_StringName>` view_name, :ref:`RDTextureView<class_RDTextureView>` view **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_color_layer<class_RenderSceneBuffersRD_method_get_color_layer>` **(** :ref:`int<class_int>` layer **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_color_texture<class_RenderSceneBuffersRD_method_get_color_texture>` **(** **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_depth_layer<class_RenderSceneBuffersRD_method_get_depth_layer>` **(** :ref:`int<class_int>` layer **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_depth_texture<class_RenderSceneBuffersRD_method_get_depth_texture>` **(** **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_internal_size<class_RenderSceneBuffersRD_method_get_internal_size>` **(** **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_render_target<class_RenderSceneBuffersRD_method_get_render_target>` **(** **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_texture<class_RenderSceneBuffersRD_method_get_texture>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RDTextureFormat<class_RDTextureFormat>` | :ref:`get_texture_format<class_RenderSceneBuffersRD_method_get_texture_format>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_texture_slice<class_RenderSceneBuffersRD_method_get_texture_slice>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` layer, :ref:`int<class_int>` mipmap, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_texture_slice_size<class_RenderSceneBuffersRD_method_get_texture_slice_size>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` mipmap **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_texture_slice_view<class_RenderSceneBuffersRD_method_get_texture_slice_view>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` layer, :ref:`int<class_int>` mipmap, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps, :ref:`RDTextureView<class_RDTextureView>` view **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_use_taa<class_RenderSceneBuffersRD_method_get_use_taa>` **(** **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_velocity_layer<class_RenderSceneBuffersRD_method_get_velocity_layer>` **(** :ref:`int<class_int>` layer **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_velocity_texture<class_RenderSceneBuffersRD_method_get_velocity_texture>` **(** **)** |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_view_count<class_RenderSceneBuffersRD_method_get_view_count>` **(** **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_texture<class_RenderSceneBuffersRD_method_has_texture>` **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const| |
+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_RenderSceneBuffersRD_method_clear_context:
.. rst-class:: classref-method
void **clear_context** **(** :ref:`StringName<class_StringName>` context **)**
释放与这个上下文相关的所有缓冲。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_create_texture:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **create_texture** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`DataFormat<enum_RenderingDevice_DataFormat>` data_format, :ref:`int<class_int>` usage_bits, :ref:`TextureSamples<enum_RenderingDevice_TextureSamples>` texture_samples, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps, :ref:`bool<class_bool>` unique **)**
使用给定的定义创建一个新纹理,并将其缓存在给定的名称下。如果已有纹理已经存在,则返回该已有纹理。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_create_texture_from_format:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **create_texture_from_format** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`RDTextureFormat<class_RDTextureFormat>` format, :ref:`RDTextureView<class_RDTextureView>` view, :ref:`bool<class_bool>` unique **)**
使用给定的格式创建一个新纹理,并在给定的名称下查看和缓存它。如果已有纹理已经存在,则返回该已有纹理。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_create_texture_view:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **create_texture_view** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`StringName<class_StringName>` view_name, :ref:`RDTextureView<class_RDTextureView>` view **)**
为已有纹理创建一个新的纹理视图,并将其缓存在给定的 view_name 下。如果已有的纹理视图已经存在,则返回该视图。如果源纹理不存在,将会出错。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_color_layer:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_color_layer** **(** :ref:`int<class_int>` layer **)**
从渲染 3D 内容的颜色纹理返回指定的图层。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_color_texture:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_color_texture** **(** **)**
返回渲染 3D 内容的颜色纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_depth_layer:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_depth_layer** **(** :ref:`int<class_int>` layer **)**
从渲染 3D 内容的深度纹理返回指定的图层。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_depth_texture:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_depth_texture** **(** **)**
返回渲染 3D 内容的深度纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_internal_size:
.. rst-class:: classref-method
:ref:`Vector2i<class_Vector2i>` **get_internal_size** **(** **)** |const|
返回默认情况下创建纹理的渲染缓冲区的内部大小(放大之前的大小)。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_render_target:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_render_target** **(** **)** |const|
返回与该缓冲区对象关联的渲染目标。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_texture:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_texture** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|
返回具有该名称的缓存纹理。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_texture_format:
.. rst-class:: classref-method
:ref:`RDTextureFormat<class_RDTextureFormat>` **get_texture_format** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|
返回用于创建缓存纹理的纹理格式信息。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_texture_slice:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_texture_slice** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` layer, :ref:`int<class_int>` mipmap, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps **)**
返回缓存纹理的指定切片(层或 mipmap
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_texture_slice_size:
.. rst-class:: classref-method
:ref:`Vector2i<class_Vector2i>` **get_texture_slice_size** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` mipmap **)**
返回缓存纹理给定切片的纹理大小。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_texture_slice_view:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_texture_slice_view** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name, :ref:`int<class_int>` layer, :ref:`int<class_int>` mipmap, :ref:`int<class_int>` layers, :ref:`int<class_int>` mipmaps, :ref:`RDTextureView<class_RDTextureView>` view **)**
返回缓存纹理的指定切片视图(层或 mipmap
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_use_taa:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_use_taa** **(** **)** |const|
如果启用 TAA则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_velocity_layer:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_velocity_layer** **(** :ref:`int<class_int>` layer **)**
从渲染 3D 内容的速度纹理返回指定的图层。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_velocity_texture:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_velocity_texture** **(** **)**
返回渲染 3D 内容的速度纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_get_view_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_view_count** **(** **)** |const|
返回关联视口的视图数。
.. rst-class:: classref-item-separator
----
.. _class_RenderSceneBuffersRD_method_has_texture:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_texture** **(** :ref:`StringName<class_StringName>` context, :ref:`StringName<class_StringName>` name **)** |const|
如果存在使用该名称的缓冲纹理,则返回 ``true``\ 。
.. |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 (这个值是由下列标志构成的位掩码整数。)`