Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

RenderSceneBuffersRD

Наследует: RenderSceneBuffers < RefCounted < Object

Реализация буфера рендеринга сцены для рендереров на основе RenderingDevice.

Описание

Этот объект управляет всеми буферами 3D-рендеринга для рендереров, использующих устройства рендеринга. Экземпляр этого объекта создается для каждого видового окна, в котором включен 3D-рендеринг. См. также RenderSceneBuffers.

Все буферы организованы в контексты. Контекст по умолчанию называется 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-контент.

Если msaa равен true и включен MSAA, возвращается вариант MSAA буфера.


RID get_color_texture(msaa: bool = false) 🔗

Возвращает цветовую текстуру, в которую мы визуализируем 3D-контент. Если используется multiview, это будет массив текстур со всеми представлениями.

Если 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-контент. Если используется multiview, это будет массив текстур со всеми представлениями.

Если msaa равен true и включен MSAA, возвращается вариант MSAA буфера.


float get_fsr_sharpness() const 🔗

Возвращает значение резкости FSR, используемое при рендеринге 3D-контента (если 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) 🔗

Возвращает определенный фрагмент (слой или MIP-карту) для кэшированной текстуры.


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) 🔗

Возвращает определенный вид среза (слоя или MIP-карты) для кэшированной текстуры.


bool get_use_debanding() const 🔗

Возвращает true, если отключение полос включено.


bool get_use_taa() const 🔗

Возвращает true, если TAA включен.


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

Возвращает указанный слой из текстуры скорости, в которую мы визуализируем 3D-контент.


RID get_velocity_texture(msaa: bool = false) 🔗

Возвращает текстуру скорости, в которую мы визуализируем 3D-контент. Если используется multiview, это будет массив текстур со всеми представлениями.

Если msaa равен true и включен MSAA, возвращается вариант MSAA буфера.


int get_view_count() const 🔗

Возвращает количество просмотров для соответствующего окна просмотра.


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

Возвращает true, если для этого имени существует кэшированная текстура.