From 9442eb8194dd93cee015f0147d78d652e7fadc06 Mon Sep 17 00:00:00 2001 From: Bastiaan Olij Date: Mon, 15 Jul 2024 21:27:51 +1000 Subject: [PATCH] Expose more state in RenderSceneBuffersRD --- doc/classes/RenderSceneBuffersRD.xml | 36 +++++++++++++++++++ .../storage_rd/render_scene_buffers_rd.cpp | 6 ++++ 2 files changed, 42 insertions(+) diff --git a/doc/classes/RenderSceneBuffersRD.xml b/doc/classes/RenderSceneBuffersRD.xml index 359f0b33a82..212a65337ea 100644 --- a/doc/classes/RenderSceneBuffersRD.xml +++ b/doc/classes/RenderSceneBuffersRD.xml @@ -89,6 +89,12 @@ If [param msaa] is [b]true[/b] and MSAA is enabled, this returns the MSAA variant of the buffer. + + + + Returns the FSR sharpness value used while rendering the 3D content (if [method get_scaling_3d_mode] is an FSR mode). + + @@ -107,6 +113,24 @@ Returns the render target associated with this buffers object. + + + + Returns the scaling mode used for upscaling. + + + + + + Returns the screen-space antialiasing method applied. + + + + + + Returns the target size of the render buffer (size after upscaling). + + @@ -123,6 +147,12 @@ Returns the texture format information with which a cached texture was created. + + + + Returns the number of MSAA samples used. + + @@ -157,6 +187,12 @@ Returns a specific view of a slice (layer or mipmap) for a cached texture. + + + + Returns [code]true[/code] if debanding is enabled. + + diff --git a/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp b/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp index b5fdf8bebb7..2f44096dc86 100644 --- a/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp +++ b/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp @@ -70,8 +70,14 @@ void RenderSceneBuffersRD::_bind_methods() { ClassDB::bind_method(D_METHOD("get_render_target"), &RenderSceneBuffersRD::get_render_target); ClassDB::bind_method(D_METHOD("get_view_count"), &RenderSceneBuffersRD::get_view_count); ClassDB::bind_method(D_METHOD("get_internal_size"), &RenderSceneBuffersRD::get_internal_size); + ClassDB::bind_method(D_METHOD("get_target_size"), &RenderSceneBuffersRD::get_target_size); + ClassDB::bind_method(D_METHOD("get_scaling_3d_mode"), &RenderSceneBuffersRD::get_scaling_3d_mode); + ClassDB::bind_method(D_METHOD("get_fsr_sharpness"), &RenderSceneBuffersRD::get_fsr_sharpness); ClassDB::bind_method(D_METHOD("get_msaa_3d"), &RenderSceneBuffersRD::get_msaa_3d); + ClassDB::bind_method(D_METHOD("get_texture_samples"), &RenderSceneBuffersRD::get_texture_samples); + ClassDB::bind_method(D_METHOD("get_screen_space_aa"), &RenderSceneBuffersRD::get_screen_space_aa); ClassDB::bind_method(D_METHOD("get_use_taa"), &RenderSceneBuffersRD::get_use_taa); + ClassDB::bind_method(D_METHOD("get_use_debanding"), &RenderSceneBuffersRD::get_use_debanding); } void RenderSceneBuffersRD::update_sizes(NamedTexture &p_named_texture) {