From 01d80cee2853bcb65ebf1bdd95f21c2e311014de Mon Sep 17 00:00:00 2001 From: Alaska Date: Tue, 25 Feb 2025 04:34:19 +0100 Subject: [PATCH] Tests: Add render tests for outputs of the light path node This commit adds tests for the outputs of the light path node. This include many typical tests (E.g. Changing the colour of a material based on if it's a camera ray or not) along with some "unusual" tests. Examples include: - Testing many of the light path node outputs on lights. - This includes "analytical" lights and mesh lights, which can behave differently depending on if Next Event Estimation or forward path tracing occurs. - Adding extra objects using ray portal BSDFs and transparent BSDFs just to double check they don't introduce their own issues. Ref: blender/blender-test-data!55 --- tests/data | 2 +- tests/python/eevee_next_render_tests.py | 9 +++++++-- tests/python/storm_render_tests.py | 4 ++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/data b/tests/data index 123fa1c89b0..65ff80c926a 160000 --- a/tests/data +++ b/tests/data @@ -1 +1 @@ -Subproject commit 123fa1c89b02dbda2e969337bed00548ffd14423 +Subproject commit 65ff80c926a4ccff6815a511fea51e35172286ff diff --git a/tests/python/eevee_next_render_tests.py b/tests/python/eevee_next_render_tests.py index 1805cbc7ac9..22c172a786e 100644 --- a/tests/python/eevee_next_render_tests.py +++ b/tests/python/eevee_next_render_tests.py @@ -36,6 +36,10 @@ BLOCKLIST = [ "ray_offset.blend", # Blocked due to difference in border texel handling between platforms (to be fixed). "render_passes_thinfilm_color.blend", + # Blocked due to a significant amount of transparency that have a different nosie pattern between devices. + "light_path_is_shadow_ray.blend", + # Blocked as the test seems to alternate between two different states + "light_path_is_diffuse_ray.blend", ] BLOCKLIST_METAL = [ @@ -46,6 +50,7 @@ BLOCKLIST_METAL = [ "shadow_all_max_bounces.blend", "light_link_exclude.blend", "light_link_instanced_receiver.blend", + "light_path_is_volume_scatter_ray.blend", # Blocked due to difference in volume lightprobe bakes(maybe?) (to be fixed). "volume_zero_extinction_channel.blend", # Blocked due to difference in screen space tracing (to be fixed). @@ -273,8 +278,8 @@ def main(): # hair close up report.set_fail_threshold(0.0275) elif test_dir_name.startswith('integrator'): - # shadow all max bounces - report.set_fail_threshold(0.0275) + # Noise difference in transparent materials + report.set_fail_threshold(0.05) elif test_dir_name.startswith('pointcloud'): # points transparent report.set_fail_threshold(0.06) diff --git a/tests/python/storm_render_tests.py b/tests/python/storm_render_tests.py index 178810dd824..ea4c315a50e 100644 --- a/tests/python/storm_render_tests.py +++ b/tests/python/storm_render_tests.py @@ -39,6 +39,10 @@ BLOCKLIST_METAL = [ "underwater_caustics.blend", "shadow_link_transparency.blend", "principled_bsdf_transmission.blend", + "light_path_is_shadow_ray.blend", + "light_path_is_transmission_ray.blend", + "light_path_ray_depth.blend", + "light_path_ray_length.blend", # Volume "light_link_surface_in_volume.blend", "openvdb.*.blend",