RenderSceneBuffersRD
继承: RenderSceneBuffers < RefCounted < Object
渲染场景缓冲的实现,适用于基于 RenderingDevice 的渲染器。
描述
This object manages all 3D rendering buffers for the rendering device based renderers. An instance of this object is created for every viewport that has 3D rendering enabled. See also RenderSceneBuffers.
All buffers are organized in contexts. The default context is called render_buffers and can contain amongst others the color buffer, depth buffer, velocity buffers, VRS density map and MSAA variants of these buffers.
Buffers are only guaranteed to exist during rendering of the viewport.
Note: This is an internal rendering server object. Do not instantiate this class from a script.
方法
方法说明
void clear_context(context: StringName) 🔗
释放与这个上下文相关的所有缓冲。
RID create_texture(context: StringName, name: StringName, data_format: DataFormat, usage_bits: int, texture_samples: TextureSamples, size: Vector2i, layers: int, mipmaps: int, unique: bool, discardable: bool) 🔗
使用给定的定义创建一个新纹理,并将其缓存在给定的名称下。如果已有纹理已经存在,则返回该已有纹理。
RID create_texture_from_format(context: StringName, name: StringName, format: RDTextureFormat, view: RDTextureView, unique: bool) 🔗
使用给定的格式创建一个新纹理,并在给定的名称下查看和缓存它。如果已有纹理已经存在,则返回该已有纹理。
RID create_texture_view(context: StringName, name: StringName, view_name: StringName, view: RDTextureView) 🔗
为已有纹理创建一个新的纹理视图,并将其缓存在给定的 view_name 下。如果已有的纹理视图已经存在,则返回该视图。如果源纹理不存在则会出错。
RID get_color_layer(layer: int, msaa: bool = false) 🔗
从渲染 3D 内容的颜色纹理返回指定的图层。
如果 msaa 为 true 并且启用了 MSAA,则会返回缓冲的 MSAA 变种。
RID get_color_texture(msaa: bool = false) 🔗
返回渲染 3D 内容的颜色纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。
如果 msaa 为 true 并且启用了 MSAA,则会返回缓冲的 MSAA 变种。
RID get_depth_layer(layer: int, msaa: bool = false) 🔗
从渲染 3D 内容的深度纹理返回指定的图层。
如果 msaa 为 true 并且启用了 MSAA,则会返回缓冲的 MSAA 变种。
RID get_depth_texture(msaa: bool = false) 🔗
返回渲染 3D 内容的深度纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。
如果 msaa 为 true 并且启用了 MSAA,则会返回缓冲的 MSAA 变种。
float get_fsr_sharpness() const 🔗
返回渲染 3D 内容时使用的 FSR 锐度值(如果 get_scaling_3d_mode() 是 FSR 模式)。
Vector2i get_internal_size() const 🔗
返回默认情况下创建纹理的渲染缓冲区的内部大小(放大之前的大小)。
ViewportMSAA get_msaa_3d() const 🔗
返回该视口应用的 3D MSAA 模式。
RID get_render_target() const 🔗
返回与该缓冲区对象关联的渲染目标。
ViewportScaling3DMode get_scaling_3d_mode() const 🔗
返回用于放大的缩放模式。
ViewportScreenSpaceAA get_screen_space_aa() const 🔗
返回所应用的屏幕空间抗锯齿方法。
Vector2i get_target_size() const 🔗
返回渲染缓冲区的目标大小(放大后的大小)。
RID get_texture(context: StringName, name: StringName) const 🔗
返回具有该名称的缓存纹理。
RDTextureFormat get_texture_format(context: StringName, name: StringName) const 🔗
返回用于创建缓存纹理的纹理格式信息。
TextureSamples get_texture_samples() const 🔗
返回使用的 MSAA 样本的数量。
RID get_texture_slice(context: StringName, name: StringName, layer: int, mipmap: int, layers: int, mipmaps: int) 🔗
返回缓存纹理的指定切片(层或 mipmap)。
Vector2i get_texture_slice_size(context: StringName, name: StringName, mipmap: int) 🔗
返回缓存纹理给定切片的纹理大小。
RID get_texture_slice_view(context: StringName, name: StringName, layer: int, mipmap: int, layers: int, mipmaps: int, view: RDTextureView) 🔗
返回缓存纹理的指定切片视图(层或 mipmap)。
bool get_use_debanding() const 🔗
如果启用了去色带功能,则返回 true。
如果启用 TAA,则返回 true。
RID get_velocity_layer(layer: int, msaa: bool = false) 🔗
从渲染 3D 内容的速度纹理返回指定的图层。
RID get_velocity_texture(msaa: bool = false) 🔗
返回渲染 3D 内容的速度纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。
如果 msaa 为 true 并且启用了 MSAA,则会返回缓冲的 MSAA 变种。
返回关联视口的视图数。
bool has_texture(context: StringName, name: StringName) const 🔗
如果存在使用该名称的缓冲纹理,则返回 true。