mirror of
https://github.com/godotengine/godot-benchmarks.git
synced 2026-09-03 18:14:28 +03:00
Add Sponza AA benchmarks (FSR2, FXAA, MSAA, TAA) (#53)
This commit is contained in:
committed by
GitHub
parent
f509e14139
commit
29ec9d0cfe
@@ -21,6 +21,15 @@ class TestScene extends Node3D:
|
||||
var using_ssao: bool
|
||||
var using_volumetric_fog: bool
|
||||
|
||||
var using_fsr2_100: bool
|
||||
var using_fsr2_50: bool
|
||||
var using_fxaa: bool
|
||||
var using_msaa2x: bool
|
||||
var using_msaa4x: bool
|
||||
var using_taa: bool
|
||||
|
||||
var viewport_rid: RID
|
||||
|
||||
func _init():
|
||||
sponza = sponza_scene.instantiate()
|
||||
add_child(sponza)
|
||||
@@ -54,10 +63,36 @@ class TestScene extends Node3D:
|
||||
using_volumetric_fog = true
|
||||
return self
|
||||
|
||||
func with_fsr2_100():
|
||||
using_fsr2_100 = true
|
||||
return self
|
||||
|
||||
func with_fsr2_50():
|
||||
using_fsr2_50 = true
|
||||
return self
|
||||
|
||||
func with_fxaa():
|
||||
using_fxaa = true
|
||||
return self
|
||||
|
||||
func with_msaa2x():
|
||||
using_msaa2x = true
|
||||
return self
|
||||
|
||||
func with_msaa4x():
|
||||
using_msaa4x = true
|
||||
return self
|
||||
|
||||
func with_taa():
|
||||
using_taa = true
|
||||
return self
|
||||
|
||||
func _ready():
|
||||
$"Sponza/DirectionalLight3D".visible = using_directional_light
|
||||
$"Sponza/OmniLights".visible = using_omni_lights
|
||||
|
||||
viewport_rid = get_window().get_viewport_rid()
|
||||
|
||||
if using_dof:
|
||||
var cam_attrs = CameraAttributesPractical.new()
|
||||
cam_attrs.dof_blur_near_enabled = true
|
||||
@@ -85,6 +120,20 @@ class TestScene extends Node3D:
|
||||
if using_volumetric_fog:
|
||||
env = Environment.new()
|
||||
env.volumetric_fog_enabled = true
|
||||
if using_fsr2_100:
|
||||
RenderingServer.viewport_set_scaling_3d_mode(viewport_rid, RenderingServer.VIEWPORT_SCALING_3D_MODE_FSR2)
|
||||
RenderingServer.viewport_set_scaling_3d_scale(viewport_rid, 1.0);
|
||||
if using_fsr2_50:
|
||||
RenderingServer.viewport_set_scaling_3d_mode(viewport_rid, RenderingServer.VIEWPORT_SCALING_3D_MODE_FSR2)
|
||||
RenderingServer.viewport_set_scaling_3d_scale(viewport_rid, 0.5);
|
||||
if using_fxaa:
|
||||
RenderingServer.viewport_set_screen_space_aa(viewport_rid, RenderingServer.VIEWPORT_SCREEN_SPACE_AA_FXAA)
|
||||
if using_msaa2x:
|
||||
RenderingServer.viewport_set_msaa_3d(viewport_rid, RenderingServer.VIEWPORT_MSAA_2X)
|
||||
if using_msaa4x:
|
||||
RenderingServer.viewport_set_msaa_3d(viewport_rid, RenderingServer.VIEWPORT_MSAA_4X)
|
||||
if using_taa:
|
||||
RenderingServer.viewport_set_use_taa(viewport_rid, true)
|
||||
|
||||
if env != null:
|
||||
world_env = WorldEnvironment.new()
|
||||
@@ -100,6 +149,16 @@ class TestScene extends Node3D:
|
||||
RenderingServer.free_rid(world_env)
|
||||
RenderingServer.free_rid(sponza)
|
||||
|
||||
if using_fsr2_100 or using_fsr2_50:
|
||||
RenderingServer.viewport_set_scaling_3d_mode(viewport_rid, RenderingServer.VIEWPORT_SCALING_3D_MODE_BILINEAR)
|
||||
RenderingServer.viewport_set_scaling_3d_scale(viewport_rid, 1.0);
|
||||
if using_fxaa:
|
||||
RenderingServer.viewport_set_screen_space_aa(viewport_rid, RenderingServer.VIEWPORT_SCREEN_SPACE_AA_DISABLED)
|
||||
if using_msaa2x or using_msaa4x:
|
||||
RenderingServer.viewport_set_msaa_3d(viewport_rid, RenderingServer.VIEWPORT_MSAA_DISABLED)
|
||||
if using_taa:
|
||||
RenderingServer.viewport_set_use_taa(viewport_rid, false)
|
||||
|
||||
|
||||
func benchmark_basic_ambient():
|
||||
return TestScene.new()
|
||||
@@ -138,3 +197,27 @@ func benchmark_effect_volumetric_fog():
|
||||
return (TestScene.new()
|
||||
.with_directional_light()
|
||||
.with_volumetric_fog())
|
||||
|
||||
func benchmark_aa_fsr2_100():
|
||||
return (TestScene.new()
|
||||
.with_fsr2_100())
|
||||
|
||||
func benchmark_aa_fsr2_50():
|
||||
return (TestScene.new()
|
||||
.with_fsr2_50())
|
||||
|
||||
func benchmark_aa_fxaa():
|
||||
return (TestScene.new()
|
||||
.with_fxaa())
|
||||
|
||||
func benchmark_aa_msaa2x():
|
||||
return (TestScene.new()
|
||||
.with_msaa2x())
|
||||
|
||||
func benchmark_aa_msaa4x():
|
||||
return (TestScene.new()
|
||||
.with_msaa4x())
|
||||
|
||||
func benchmark_aa_taa():
|
||||
return (TestScene.new()
|
||||
.with_taa())
|
||||
|
||||
Reference in New Issue
Block a user