123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- ----------------------------------------------------------------------------------------------------
- --
- -- Copyright (c) Contributors to the Open 3D Engine Project.
- -- For complete copyright and license terms please see the LICENSE at the root of this distribution.
- --
- -- SPDX-License-Identifier: Apache-2.0 OR MIT
- --
- --
- --
- ----------------------------------------------------------------------------------------------------
- function EnablePositionalLights()
- SetImguiValue('Red', true)
- SetImguiValue('Intensity##Positional', 500.0)
- IdleFrames(1)
- SetImguiValue('Green', true)
- SetImguiValue('Height##Positional', 4.0)
- SetImguiValue('Intensity##Positional', 400.0)
- IdleFrames(1)
- SetImguiValue('Blue', true)
- SetImguiValue('Intensity##Positional', 500.0)
- IdleFrames(1)
- end
- function DisablePositionalLights()
- SetImguiValue('Red', true)
- SetImguiValue('Intensity##Positional', 0.0)
- IdleFrames(1)
- SetImguiValue('Green', true)
- SetImguiValue('Intensity##Positional', 0.0)
- IdleFrames(1)
- SetImguiValue('Blue', true)
- SetImguiValue('Intensity##Positional', 0.0)
- end
- function TestDirectionalLight()
- DisablePositionalLights()
- -- Set Camera
- ArcBallCameraController_SetHeading(DegToRad(90.0))
- ArcBallCameraController_SetPitch(DegToRad(-45.0))
- ArcBallCameraController_SetDistance(6.0)
- ArcBallCameraController_SetPan(Vector3(0.9, 2.4, -1.0))
- -- Set quality highest
- SetImguiValue('Size##Directional', '2048')
- SetImguiValue('4', true) -- cascade count
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_initial.png')
- -- Directional Light Manual Cascade Split
- SetImguiValue('Debug Coloring', true)
- SetImguiValue('Automatic Cascade Split', false)
- IdleFrames(1)
- SetImguiValue('FarDepth 0', 3.0)
- IdleFrames(1)
- SetImguiValue('FarDepth 1', 5.0)
- IdleFrames(1)
- SetImguiValue('FarDepth 2', 6.0)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_manual_cascade.png')
- -- Directional Light Automatic Cascade Split
- SetImguiValue('Automatic Cascade Split', true)
- IdleFrames(1)
- SetImguiValue('Ratio', 0.25)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_auto_cascade.png')
- -- Directional Light Cascade Position Correction
- SetImguiValue('Cascade Position Correction', true)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_cascade_correction.png')
- -- Directional Light PCF low
- SetImguiValue('Debug Coloring', false)
- SetImguiValue('Cascade Position Correction', false)
- SetImguiValue('Filter Method##Directional', 'PCF')
- SetImguiValue('Filtering # ##Directional', 4)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_pcf_low.png')
- -- Directional Light PCF high
- SetImguiValue('Filtering # ##Directional', 64)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_pcf_high.png')
- -- Directional Light ESM
- SetImguiValue('Filter Method##Directional', 'ESM')
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_esm.png')
- -- Directional Light ESM+PCF
- SetImguiValue('Filter Method##Directional', 'ESM+PCF')
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/directional_esm_pcf.png')
- end
- function TestDiskLights()
- SetImguiValue('Disk', true)
- IdleFrames(1)
- -- Disabling directional light
- SetImguiValue('Intensity##Directional', 0.0)
- EnablePositionalLights()
- CaptureScreenshot(g_screenshotOutputFolder .. '/spot_initial.png')
- -- Positional Light Disabling Shadow for Red
- SetImguiValue('Red', true)
- SetImguiValue('Enable Shadow', false)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/spot_no_red_shadow.png')
- -- Positional Light Various Shadowmap Sizes
- SetImguiValue('Red', true)
- SetImguiValue('Enable Shadow', true)
- IdleFrames(1)
- SetImguiValue('Size##Positional', '2048')
- IdleFrames(1)
- SetImguiValue('Green', true)
- SetImguiValue('Size##Positional', '1024')
- IdleFrames(1)
- SetImguiValue('Blue', true)
- SetImguiValue('Size##Positional', '512')
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/spot_shadowmap_size.png')
- -- Positional Light Various Filter Methods
- SetImguiValue('Red', true)
- SetImguiValue('Filter Method##Positional', 'PCF')
- IdleFrames(1)
- SetImguiValue('Filtering # ##Positional', 64)
- IdleFrames(1)
- SetImguiValue('Green', true)
- SetImguiValue('Filter Method##Positional', 'ESM')
- IdleFrames(1)
- IdleFrames(1)
- SetImguiValue('Blue', true)
- SetImguiValue('Filter Method##Positional', 'ESM+PCF')
- IdleFrames(1)
- SetImguiValue('Filtering # ##Positional', 64)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/spot_filter_method.png')
- end
- function TestPointLights()
- SetImguiValue('Point', true)
- IdleFrames(1)
- SetImguiValue('Intensity##Directional', 0.0)
- IdleFrames(1)
- EnablePositionalLights()
- CaptureScreenshot(g_screenshotOutputFolder .. '/point_lights.png')
- end
- g_screenshotOutputFolder = ResolvePath('@user@/Scripts/Screenshots/Shadow/')
- Print('Saving screenshots to ' .. NormalizePath(g_screenshotOutputFolder))
- OpenSample('Features/Shadow')
- ResizeViewport(800, 600)
- SelectImageComparisonToleranceLevel("Level H")
- SetImguiValue('Auto Rotation##Directional', false)
- SetImguiValue('Auto Rotation##Positional', false)
- -- Initial
- SetImguiValue('Direction##Directional', 0.0)
- SetImguiValue('Base Direction##Positional', 0.0)
- IdleFrames(1)
- CaptureScreenshot(g_screenshotOutputFolder .. '/initial.png')
- TestDirectionalLight()
- TestPointLights()
- TestDiskLights()
- OpenSample(nil)
|