RenderSceneBuffersRD

继承: RenderSceneBuffers < RefCounted < Object

基于RenderingDevice的渲染器的渲染场景缓冲区实现。

描述

此对象管理基于渲染设备的渲染器的所有3D渲染缓冲区。为启用3D渲染的每个视口创建此对象的一个实例。

所有缓冲区都组织在上下文中。默认上下文称为render_buffers,并且可以包含这些缓冲区的颜色缓冲区、深度缓冲区、速度缓冲区、VRS密度图和MSAA变体。

缓冲区只保证在视口渲染期间存在。

注意:这是一个内部渲染服务器对象,不要从脚本中实例化它。

方法

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)

RID

get_color_layer(layer: int, msaa: bool = false)

RID

get_color_texture(msaa: bool = false)

RID

get_depth_layer(layer: int, msaa: bool = false)

RID

get_depth_texture(msaa: bool = false)

float

get_fsr_sharpness() const

Vector2i

get_internal_size() const

ViewportMSAA

get_msaa_3d() const

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

RID

get_texture_slice(context: StringName, name: StringName, layer: int, mipmap: int, layers: int, mipmaps: int)

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)

bool

get_use_debanding() const

bool

get_use_taa() const

RID

get_velocity_layer(layer: int, msaa: bool = false)

RID

get_velocity_texture(msaa: bool = false)

int

get_view_count() const

bool

has_texture(context: StringName, name: StringName) const


方法说明

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内容的颜色纹理中返回指定的图层。

如果msaatrue并且启用了MSAA,则返回缓冲区的MSAA变体。


RID get_color_texture(msaa: bool = false) 🔗

返回我们渲染3D内容的颜色纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。

如果msaatrue并且启用了MSAA,则返回缓冲区的MSAA变体。


RID get_depth_layer(layer: int, msaa: bool = false) 🔗

从我们渲染3D内容的深度纹理中返回指定的图层。

如果msaatrue并且启用了MSAA,则返回缓冲区的MSAA变体。


RID get_depth_texture(msaa: bool = false) 🔗

返回我们渲染3D内容的深度纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。

如果msaatrue并且启用了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


bool get_use_taa() const 🔗

如果启用了TAA,则返回true


RID get_velocity_layer(layer: int, msaa: bool = false) 🔗

从我们渲染3D内容的速度纹理中返回指定的图层。


RID get_velocity_texture(msaa: bool = false) 🔗

返回我们渲染3D内容的速度纹理。如果使用多视图,这将是一个包含所有视图的纹理数组。

如果msaatrue并且启用了MSAA,则返回缓冲区的MSAA变体。


int get_view_count() const 🔗

返回关联视口的视图计数。


bool has_texture(context: StringName, name: StringName) const 🔗

如果此名称存在缓存纹理,则返回true