ShadowedSponzaTest.bv.lua 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. ----------------------------------------------------------------------------------------------------
  2. --
  3. -- Copyright (c) Contributors to the Open 3D Engine Project.
  4. -- For complete copyright and license terms please see the LICENSE at the root of this distribution.
  5. --
  6. -- SPDX-License-Identifier: Apache-2.0 OR MIT
  7. --
  8. --
  9. --
  10. ----------------------------------------------------------------------------------------------------
  11. RunScript("scripts/TestEnvironment.luac")
  12. g_testCaseFolder = 'ShadowedSponza'
  13. Print('Saving screenshots to ' .. NormalizePath(g_screenshotOutputFolder .. g_testCaseFolder))
  14. function SetNumSpotlightsActive(num)
  15. SetImguiValue('Number', num)
  16. end
  17. function SetDirectionalFiltering()
  18. SetImguiValue('Intensity##directional', 5.0)
  19. SetImguiValue('Filter Method##Directional', 'ESM+PCF')
  20. IdleFrames(1)
  21. SetImguiValue('Filtering # ##Directional', 64)
  22. end
  23. function SetDirectionalLightOrientation(pitchDegrees, yawDegrees)
  24. local pitchRadians = math.rad(pitchDegrees)
  25. local yawRadians = math.rad(yawDegrees)
  26. SetImguiValue('Pitch', pitchRadians)
  27. SetImguiValue('Yaw', yawRadians)
  28. end
  29. function SetDirectionalNoneFiltering()
  30. SetImguiValue('Intensity##directional', 5.0)
  31. SetImguiValue('Filter Method##Directional', 'None')
  32. end
  33. function SetSpotFiltering()
  34. SetImguiValue('Filter Method##Spot', 'ESM+PCF')
  35. IdleFrames(1)
  36. SetImguiValue('Filtering # ##Spot', 64)
  37. end
  38. function SetSpotNoneFiltering()
  39. SetImguiValue('Intensity##directional', 1.0)
  40. SetImguiValue('Filter Method##Spot', 'None')
  41. end
  42. OpenSample('Features/ShadowedSponza')
  43. ResizeViewport(800, 600)
  44. SelectImageComparisonToleranceLevel("Level H")
  45. -- Initial
  46. IdleFrames(1)
  47. CaptureScreenshot(g_testCaseFolder .. '/initial.png')
  48. SetNumSpotlightsActive(0)
  49. SetDirectionalLightOrientation(-45, 95)
  50. -- Directional Light None-filtering
  51. SetDirectionalNoneFiltering()
  52. IdleFrames(1)
  53. CaptureScreenshot(g_testCaseFolder .. '/directional_nofilter.png')
  54. -- Directional Light Filtering
  55. SetDirectionalFiltering()
  56. IdleFrames(1)
  57. CaptureScreenshot(g_testCaseFolder .. '/directional_filter.png')
  58. SetNumSpotlightsActive(17)
  59. -- Spot Light Non-filtering
  60. SetSpotNoneFiltering()
  61. SetImguiValue('Intensity##directional', 0.0)
  62. IdleFrames(1)
  63. CaptureScreenshot(g_testCaseFolder .. '/spot_nofilter.png')
  64. -- Spot Light Filtering
  65. SetSpotFiltering()
  66. IdleFrames(1)
  67. CaptureScreenshot(g_testCaseFolder .. '/spot_filter.png')
  68. OpenSample(nil)