summaryrefslogtreecommitdiff
path: root/servers/rendering_server.h
diff options
context:
space:
mode:
authorJe06jm <jeremymoyes3@gmail.com>2021-11-23 14:16:03 -0700
committerJe06jm <jeremymoyes3@gmail.com>2021-11-23 14:16:03 -0700
commit20deb0917d466ca9dd1bf435dfb326c72f73e3c0 (patch)
treeba031db5386d2d86baffc8a7ded444b2ac441a7c /servers/rendering_server.h
parent5efe80f3085c8c6451363fe4c743bf3d7fc20b6c (diff)
Implemented AMD's FSR as a computer shader for upscaling 3D scenes
Diffstat (limited to 'servers/rendering_server.h')
-rw-r--r--servers/rendering_server.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/servers/rendering_server.h b/servers/rendering_server.h
index 32ec0197ee..85f92bc003 100644
--- a/servers/rendering_server.h
+++ b/servers/rendering_server.h
@@ -770,8 +770,13 @@ public:
virtual RID viewport_create() = 0;
+ enum ViewportScaling3DMode {
+ VIEWPORT_SCALING_3D_MODE_BILINEAR,
+ VIEWPORT_SCALING_3D_MODE_FSR,
+ VIEWPORT_SCALING_3D_MODE_MAX
+ };
+
virtual void viewport_set_use_xr(RID p_viewport, bool p_use_xr) = 0;
- virtual void viewport_set_scale_3d(RID p_viewport, float p_scale_3d) = 0;
virtual void viewport_set_size(RID p_viewport, int p_width, int p_height) = 0;
virtual void viewport_set_active(RID p_viewport, bool p_active) = 0;
virtual void viewport_set_parent_viewport(RID p_viewport, RID p_parent_viewport) = 0;
@@ -779,6 +784,11 @@ public:
virtual void viewport_attach_to_screen(RID p_viewport, const Rect2 &p_rect = Rect2(), DisplayServer::WindowID p_screen = DisplayServer::MAIN_WINDOW_ID) = 0;
virtual void viewport_set_render_direct_to_screen(RID p_viewport, bool p_enable) = 0;
+ virtual void viewport_set_scaling_3d_mode(RID p_viewport, ViewportScaling3DMode p_scaling_3d_mode) = 0;
+ virtual void viewport_set_scaling_3d_scale(RID p_viewport, float p_scaling_3d_scale) = 0;
+ virtual void viewport_set_fsr_sharpness(RID p_viewport, float p_fsr_sharpness) = 0;
+ virtual void viewport_set_fsr_mipmap_bias(RID p_viewport, float p_fsr_mipmap_bias) = 0;
+
enum ViewportUpdateMode {
VIEWPORT_UPDATE_DISABLED,
VIEWPORT_UPDATE_ONCE, //then goes to disabled, must be manually updated
@@ -1561,6 +1571,7 @@ VARIANT_ENUM_CAST(RenderingServer::ParticlesEmitFlags);
VARIANT_ENUM_CAST(RenderingServer::ParticlesCollisionType);
VARIANT_ENUM_CAST(RenderingServer::ParticlesCollisionHeightfieldResolution);
VARIANT_ENUM_CAST(RenderingServer::FogVolumeShape);
+VARIANT_ENUM_CAST(RenderingServer::ViewportScaling3DMode);
VARIANT_ENUM_CAST(RenderingServer::ViewportUpdateMode);
VARIANT_ENUM_CAST(RenderingServer::ViewportClearMode);
VARIANT_ENUM_CAST(RenderingServer::ViewportMSAA);