├── .gitignore ├── Config ├── DefaultEditor.ini ├── DefaultEngine.ini └── DefaultGame.ini ├── Content ├── Maps │ ├── Test_Glossy_Sphere.umap │ ├── Test_PerfectLambert_Sphere.umap │ ├── Test_PerfectMirror_Sphere.umap │ └── Test_PerfectMirror_WeakWhite_Sphere.umap └── Materials │ ├── BaseMaterial.uasset │ ├── Glossy_White.uasset │ ├── PerfectLambert_Red.uasset │ ├── PerfectLambert_White.uasset │ ├── PerfectMirror_WeakWhite.uasset │ └── PerfectMirror_White.uasset ├── LICENSE ├── LightingTest_UE5.uproject ├── README.md ├── References ├── Images │ ├── falcor52_pathtracing_glossy_plane.jpg │ ├── falcor52_pathtracing_perfect_lambert.jpg │ ├── falcor52_pathtracing_perfect_mirror.jpg │ ├── falcor52_pathtracing_perfect_mirror_basecolor_weak_white.jpg │ ├── ue5_editor_disable_all_postprocessing.jpg │ ├── ue5_editor_disable_game_settings.jpg │ ├── ue5_editor_lumen_glossy_plane.jpg │ ├── ue5_editor_lumen_perfect_lambert.jpg │ ├── ue5_editor_lumen_perfect_mirror.jpg │ ├── ue5_editor_lumen_perfect_mirror_basecolor_weak_white.jpg │ ├── ue5_editor_pathtracing_glossy_plane.jpg │ ├── ue5_editor_pathtracing_perfect_lambert.jpg │ ├── ue5_editor_pathtracing_perfect_mirror.jpg │ ├── ue5_editor_pathtracing_perfect_mirror_basecolor_weak_white.jpg │ ├── ue5_editor_settings_disable_postprocessing.jpg │ └── ue5_editor_settings_rendering.jpg └── Scenes │ ├── test_sphere_glossy_plane.pyscene │ ├── test_sphere_perfect_lambert.pyscene │ ├── test_sphere_perfect_mirror.pyscene │ └── test_sphere_perfect_mirror_base_color_weak_white.pyscene └── Source ├── LightingTest_UE5.Target.cs ├── LightingTest_UE5 ├── LightingTest_UE5.Build.cs ├── LightingTest_UE5.cpp ├── LightingTest_UE5.h ├── LightingTest_UE5GameModeBase.cpp └── LightingTest_UE5GameModeBase.h └── LightingTest_UE5Editor.Target.cs /.gitignore: -------------------------------------------------------------------------------- 1 | # Visual Studio 2015 user specific files 2 | .vs/ 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | 22 | # Compiled Static libraries 23 | *.lai 24 | *.la 25 | *.a 26 | *.lib 27 | 28 | # Executables 29 | *.exe 30 | *.out 31 | *.app 32 | *.ipa 33 | 34 | # These project files can be generated by the engine 35 | *.xcodeproj 36 | *.xcworkspace 37 | *.sln 38 | *.suo 39 | *.opensdf 40 | *.sdf 41 | *.VC.db 42 | *.VC.opendb 43 | 44 | # Precompiled Assets 45 | SourceArt/**/*.png 46 | SourceArt/**/*.tga 47 | 48 | # Binary Files 49 | Binaries/* 50 | Plugins/*/Binaries/* 51 | 52 | # Builds 53 | Build/* 54 | 55 | # Whitelist PakBlacklist-.txt files 56 | !Build/*/ 57 | Build/*/** 58 | !Build/*/PakBlacklist*.txt 59 | 60 | # Don't ignore icon files in Build 61 | !Build/**/*.ico 62 | 63 | # Built data for maps 64 | *_BuiltData.uasset 65 | 66 | # Configuration files generated by the Editor 67 | Saved/* 68 | 69 | # Compiled source files for the engine to use 70 | Intermediate/* 71 | Plugins/*/Intermediate/* 72 | 73 | # Cache files for the editor to use 74 | DerivedDataCache/* 75 | -------------------------------------------------------------------------------- /Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | [/Script/UnrealEd.EditorProjectAppearanceSettings] 2 | bDisplayUnits=True 3 | bDisplayUnitsOnComponentTransforms=True 4 | -DistanceUnits=EUnit::Centimeters 5 | +DistanceUnits=Meters 6 | -MassUnits=EUnit::Kilograms 7 | +MassUnits=Kilograms 8 | -TimeUnits=EUnit::Seconds 9 | -TimeUnits=EUnit::Minutes 10 | +TimeUnits=Seconds 11 | +TimeUnits=Minutes 12 | AngleUnits=Degrees 13 | SpeedUnits=MetersPerSecond 14 | TemperatureUnits=Celsius 15 | ForceUnits=Newtons 16 | ShowSearchableNames=NoPreference 17 | ReferenceViewerDefaultMaxSearchBreadth=20 18 | 19 | -------------------------------------------------------------------------------- /Config/DefaultEngine.ini: -------------------------------------------------------------------------------- 1 | 2 | 3 | [/Script/EngineSettings.GameMapsSettings] 4 | GameDefaultMap=/Game/Maps/Test_PerfectLambert_Sphere.Test_PerfectLambert_Sphere 5 | EditorStartupMap=/Game/Maps/Test_PerfectLambert_Sphere.Test_PerfectLambert_Sphere 6 | 7 | [/Script/HardwareTargeting.HardwareTargetingSettings] 8 | TargetedHardwareClass=Desktop 9 | AppliedTargetedHardwareClass=Desktop 10 | DefaultGraphicsPerformance=Maximum 11 | AppliedDefaultGraphicsPerformance=Maximum 12 | 13 | [/Script/WindowsTargetPlatform.WindowsTargetSettings] 14 | DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 15 | 16 | [/Script/Engine.RendererSettings] 17 | r.GenerateMeshDistanceFields=True 18 | r.DynamicGlobalIlluminationMethod=1 19 | r.ReflectionMethod=1 20 | r.SkinCache.CompileShaders=True 21 | r.RayTracing=True 22 | r.Shadow.Virtual.Enable=1 23 | r.Lumen.HardwareRayTracing=True 24 | r.DefaultFeature.Bloom=False 25 | r.DefaultFeature.AutoExposure=False 26 | r.DefaultFeature.MotionBlur=False 27 | 28 | [/Script/WorldPartitionEditor.WorldPartitionEditorSettings] 29 | CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet' 30 | 31 | [/Script/Engine.Engine] 32 | +ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/LightingTest_UE5") 33 | +ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/LightingTest_UE5") 34 | +ActiveClassRedirects=(OldClassName="TP_BlankGameModeBase",NewClassName="LightingTest_UE5GameModeBase") 35 | 36 | [/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] 37 | bEnablePlugin=True 38 | bAllowNetworkConnection=True 39 | SecurityToken=4C3C001649C61876F10496A05928D7FF 40 | bIncludeInShipping=False 41 | bAllowExternalStartInShipping=False 42 | bCompileAFSProject=False 43 | bUseCompression=False 44 | bLogFiles=False 45 | bReportStats=False 46 | ConnectionType=USBOnly 47 | bUseManualIPAddress=False 48 | ManualIPAddress= 49 | 50 | -------------------------------------------------------------------------------- /Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | 2 | [/Script/EngineSettings.GeneralProjectSettings] 3 | ProjectID=3D6B6A404AE932BDFFFFFBB6AB4D44FC 4 | -------------------------------------------------------------------------------- /Content/Maps/Test_Glossy_Sphere.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Maps/Test_Glossy_Sphere.umap -------------------------------------------------------------------------------- /Content/Maps/Test_PerfectLambert_Sphere.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Maps/Test_PerfectLambert_Sphere.umap -------------------------------------------------------------------------------- /Content/Maps/Test_PerfectMirror_Sphere.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Maps/Test_PerfectMirror_Sphere.umap -------------------------------------------------------------------------------- /Content/Maps/Test_PerfectMirror_WeakWhite_Sphere.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Maps/Test_PerfectMirror_WeakWhite_Sphere.umap -------------------------------------------------------------------------------- /Content/Materials/BaseMaterial.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Materials/BaseMaterial.uasset -------------------------------------------------------------------------------- /Content/Materials/Glossy_White.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Materials/Glossy_White.uasset -------------------------------------------------------------------------------- /Content/Materials/PerfectLambert_Red.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Materials/PerfectLambert_Red.uasset -------------------------------------------------------------------------------- /Content/Materials/PerfectLambert_White.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Materials/PerfectLambert_White.uasset -------------------------------------------------------------------------------- /Content/Materials/PerfectMirror_WeakWhite.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Materials/PerfectMirror_WeakWhite.uasset -------------------------------------------------------------------------------- /Content/Materials/PerfectMirror_White.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/Content/Materials/PerfectMirror_White.uasset -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 msgfx 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LightingTest_UE5.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "5.0", 4 | "Category": "", 5 | "Description": "", 6 | "Modules": [ 7 | { 8 | "Name": "LightingTest_UE5", 9 | "Type": "Runtime", 10 | "LoadingPhase": "Default" 11 | } 12 | ], 13 | "Plugins": [ 14 | { 15 | "Name": "ModelingToolsEditorMode", 16 | "Enabled": true, 17 | "TargetAllowList": [ 18 | "Editor" 19 | ] 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lighting Test for Unreal Engine 5 2 | The goal is lighting has correctness and neutral. 3 | Engine Users would be able to use these test scenes to verify that the lighting is correct and neutral for the various Unreal Engine rendering methods. 4 | * Lumen 5 | * Hardware Ray Tracing (HWRT) 6 | * Software Ray Tracing (SWRT) 7 | * Screen Space Reflection (SSR) 8 | * Screen Space Global Illumination (SSGI) 9 | 10 | # Default Settings 11 | ## Rendering 12 | - Global Illumination use Lumen 13 | - Reflection use Lumen 14 | - Use Hardware Ray Tracing when available 15 | 16 | References/Images/ue5_editor_settings_rendering.jpg
17 | 18 | # Preparation 19 | ## Disable Post Processing on Project Settings 20 | References/Images/ue5_editor_settings_disable_postprocessing.jpg
21 | 22 | ## Disable All Post Processing on Editor 23 | References/Images/ue5_editor_disable_all_postprocessing.jpg
24 | 25 | ## Disable Game Setting on Editor 26 | References/Images/ue5_editor_disable_game_settings.jpg
27 | 28 | # References 29 | * [NVIDIA Falcor 5.2 Custom](https://github.com/msgfx/Falcor) Mogwai 30 | * Script Falcor/Source/Mogwai/Data/PathTracer.py 31 | * Tonemap is Linear 32 | * [Test Scenes: References/Scenes](References/Scenes) 33 | 34 | # Scenes 35 | * Unreal Engine 5.0.3 36 | * There are 4 test scenes 37 | 1. Perfect Lambert Plane 38 | 2. Perfect MirrorPlane 39 | 3. Perfect Mirror Weak White Plane 40 | 4. Glossy Plane 41 | 42 | ## 1. Perfect Lambert Plane 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
ReferenceLumenPath Tracing (UE5)
References/Images/falcor52_pathtracing_perfect_lambert.jpgReferences/Images/ue5_editor_lumen_perfect_lambert.jpgReferences/Images/ue5_editor_lumen_perfect_lambert.jpg
58 | 59 | * UE5 - [Content/Maps/Test_PerfectLambert_Sphere.umap](Content/Maps/Test_PerfectLambert_Sphere.umap) 60 | * Reference - [References/Scenes/test_sphere_perfect_lambert.pyscene](References/Scenes/test_sphere_perfect_lambert.pyscene) 61 | 62 | ### Directional Light 63 | | Property | Value | 64 | | ------------------ | -------------------- | 65 | | Intensity | 10 [lux] | 66 | | Rotation | (0, -90, 0) [degree] | 67 | 68 | ### Sphere Material 69 | | Property | Value | 70 | | ------------------ | ---------- | 71 | | Base Color | (1, 0, 0) | 72 | | Metalness | 0.0 | 73 | | Specular Roughness | 1.0 | 74 | 75 | ### Plane Material 76 | | Property | Value | 77 | | ------------------ | ---------- | 78 | | Base Color | (1, 1, 1) | 79 | | Metalness | 0.0 | 80 | | Specular Roughness | 1.0 | 81 | 82 | ## 2. Perfect Mirror Plane 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
ReferenceLumenPath Tracing (UE5)
References/Images/falcor52_pathtracing_perfect_mirror.jpgReferences/Images/ue5_editor_lumen_perfect_mirror.jpgReferences/Images/ue5_editor_pathtracing_perfect_mirror.jpg
This looks like mix in diffuse(base color) to mirror plane...UE5 Path Tracing is also same result...
100 | 101 | * UE5 - [Content/Maps/Test_PerfectMirror_Sphere.umap](Content/Maps/Test_PerfectMirror_Sphere.umap) 102 | * Reference - [References/Scenes/test_sphere_perfect_mirror.pyscene](References/Scenes/test_sphere_perfect_mirror.pyscene) 103 | ### Directional Light 104 | | Property | Value | 105 | | ------------------ | -------------------- | 106 | | Intensity | 10 [lux] | 107 | | Rotation | (0, -90, 0) [degree] | 108 | 109 | ### Sphere Material 110 | | Property | Value | 111 | | ------------------ | ---------- | 112 | | Base Color | (1, 0, 0) | 113 | | Metalness | 0.0 | 114 | | Specular Roughness | 1.0 | 115 | 116 | ### Plane Material 117 | | Property | Value | 118 | | ------------------ | ---------- | 119 | | Base Color | (1, 1, 1) | 120 | | Metalness | 1.0 | 121 | | Specular Roughness | 0.0 | 122 | 123 | 124 | ## 3. Perfect Mirror Weak White Plane 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 140 | 141 | 142 |
ReferenceLumenPath Tracing (UE5)
References/Images/falcor52_pathtracing_perfect_mirror_basecolor_weak_white.jpgReferences/Images/ue5_editor_lumen_perfect_mirror_basecolor_weak_white.jpgReferences/Images/ue5_editor_pathtracing_perfect_mirror_basecolor_weak_white.jpg
Making Base Color as close to black as possible
will bring you closer to the reference image.
139 | However, the reflection of the floor will also be weakened...
UE5 Path Tracing is also same result...
143 | 144 | * UE5 - [Content/Maps/Test_PerfectMirror_WeakWhite_Sphere.umap](Content/Maps/Test_PerfectMirror_WeakWhite_Sphere.umap) 145 | * Reference - [References/Scenes/test_sphere_perfect_mirror_base_color_weak_white.pyscene](References/Scenes/test_sphere_perfect_mirror_base_color_weak_white.pyscene) 146 | ### Directional Light 147 | | Property | Value | 148 | | ------------------ | -------------------- | 149 | | Intensity | 10 [lux] | 150 | | Rotation | (0, -90, 0) [degree] | 151 | 152 | ### Sphere Material 153 | | Property | Value | 154 | | ------------------ | ---------- | 155 | | Base Color | (1, 0, 0) | 156 | | Metalness | 0.0 | 157 | | Specular Roughness | 1.0 | 158 | 159 | ### Plane Material 160 | | Property | Value | 161 | | ------------------ | ---------- | 162 | | Base Color | (0.1, 0.1, 0.1) | 163 | | Metalness | 1.0 | 164 | | Specular Roughness | 0.0 | 165 | 166 | 167 | ## 4. Glossy Plane 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 |
ReferenceLumenPath Tracing (UE5)
References/Images/falcor52_pathtracing_glossy_plane.jpgReferences/Images/ue5_editor_lumen_glossy_plane.jpgReferences/Images/ue5_editor_pathtracing_glossy_plane.jpg
Plane is dark less than Lumen result...
185 | 186 | * UE5 - [Content/Maps/Test_Glossy_Sphere.umap](Content/Maps/Test_Glossy_Sphere.umap) 187 | * Reference - [References/Scenes/test_sphere_glossy_plane.pyscene](References/Scenes/test_sphere_glossy_plane.pyscene) 188 | ### Directional Light 189 | | Property | Value | 190 | | ------------------ | -------------------- | 191 | | Intensity | 10 [lux] | 192 | | Rotation | (0, -90, 0) [degree] | 193 | 194 | ### Sphere Material 195 | | Property | Value | 196 | | ------------------ | ---------- | 197 | | Base Color | (1, 0, 0) | 198 | | Metalness | 0.0 | 199 | | Specular Roughness | 1.0 | 200 | 201 | ### Plane Material 202 | | Property | Value | 203 | | ------------------ | ---------- | 204 | | Base Color | (1, 1, 1) | 205 | | Metalness | 0.8 | 206 | | Specular Roughness | 0.2 | 207 | 208 | 209 | # TODO 210 | - Image Based Lighting Tests 211 | - Lighting Complex Scene Tests 212 | - Real-Time Lighting with Dynamic Physics Rigid Body Objects 213 | -------------------------------------------------------------------------------- /References/Images/falcor52_pathtracing_glossy_plane.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/falcor52_pathtracing_glossy_plane.jpg -------------------------------------------------------------------------------- /References/Images/falcor52_pathtracing_perfect_lambert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/falcor52_pathtracing_perfect_lambert.jpg -------------------------------------------------------------------------------- /References/Images/falcor52_pathtracing_perfect_mirror.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/falcor52_pathtracing_perfect_mirror.jpg -------------------------------------------------------------------------------- /References/Images/falcor52_pathtracing_perfect_mirror_basecolor_weak_white.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/falcor52_pathtracing_perfect_mirror_basecolor_weak_white.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_disable_all_postprocessing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_disable_all_postprocessing.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_disable_game_settings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_disable_game_settings.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_lumen_glossy_plane.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_lumen_glossy_plane.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_lumen_perfect_lambert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_lumen_perfect_lambert.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_lumen_perfect_mirror.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_lumen_perfect_mirror.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_lumen_perfect_mirror_basecolor_weak_white.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_lumen_perfect_mirror_basecolor_weak_white.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_pathtracing_glossy_plane.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_pathtracing_glossy_plane.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_pathtracing_perfect_lambert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_pathtracing_perfect_lambert.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_pathtracing_perfect_mirror.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_pathtracing_perfect_mirror.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_pathtracing_perfect_mirror_basecolor_weak_white.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_pathtracing_perfect_mirror_basecolor_weak_white.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_settings_disable_postprocessing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_settings_disable_postprocessing.jpg -------------------------------------------------------------------------------- /References/Images/ue5_editor_settings_rendering.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msgfx/LightingTest_UE5/6d8f3c876401e42891cd00c6140d94ce1e63beb1/References/Images/ue5_editor_settings_rendering.jpg -------------------------------------------------------------------------------- /References/Scenes/test_sphere_glossy_plane.pyscene: -------------------------------------------------------------------------------- 1 | # Create Triangle Meshes 2 | quadMesh = TriangleMesh.createQuad() 3 | sphereMesh = TriangleMesh.createSphere() 4 | 5 | # Create Materials 6 | red = StandardMaterial('Red') 7 | red.baseColor = float4(1.0, 0.0, 0.0, 1.0) 8 | red.roughness = 1.0 9 | red.metallic = 0.0 10 | 11 | white = StandardMaterial('White') 12 | white.baseColor = float4(1.0, 1.0, 1.0, 1.0) 13 | white.roughness = 0.2 14 | white.metallic = 0.8 15 | 16 | # Add meshes to Scene Builder 17 | quadMeshID = sceneBuilder.addTriangleMesh(quadMesh, white) 18 | sphereMeshID = sceneBuilder.addTriangleMesh(sphereMesh, red) 19 | 20 | # Add scene graph nodes to Scene Builder 21 | quadNodeID = sceneBuilder.addNode('Quad', Transform(scaling=10, translation=float3(0, 0, 0), rotationEulerDeg=float3(0, 0, 0))) 22 | sphereNodeID = sceneBuilder.addNode('Sphere', Transform(scaling=1, translation=float3(0, 1, 0), rotationEulerDeg=float3(0, 0, 0))) 23 | 24 | # Add mesh instances to Scene Graph 25 | sceneBuilder.addMeshInstance(quadNodeID, quadMeshID) 26 | sceneBuilder.addMeshInstance(sphereNodeID, sphereMeshID) 27 | 28 | # Add environment map 29 | #envMap = EnvMap('LightProbes/20050806-03_hd.hdr') 30 | #envMap.intensity = 1.0 31 | #sceneBuilder.envMap = envMap 32 | 33 | # Add camera 34 | camera = Camera() 35 | camera.position = float3(0, 2.5, 8.5) 36 | camera.target = float3(0, 2.3, 7.5) 37 | camera.up = float3(0, 1, 0) 38 | camera.focalLength = 35.0 39 | sceneBuilder.addCamera(camera) 40 | 41 | # Add directional light 42 | dirLight = DirectionalLight('Directional light') 43 | #dirLight = DistantLight('Directional light') 44 | dirLight.intensity = float3(10, 10, 10) 45 | dirLight.direction = float3(0, -1, 0) 46 | #dirLight.angle = 0.0 47 | sceneBuilder.addLight(dirLight) 48 | -------------------------------------------------------------------------------- /References/Scenes/test_sphere_perfect_lambert.pyscene: -------------------------------------------------------------------------------- 1 | # Create Triangle Meshes 2 | quadMesh = TriangleMesh.createQuad() 3 | sphereMesh = TriangleMesh.createSphere() 4 | 5 | # Create Materials 6 | red = StandardMaterial('Red') 7 | red.baseColor = float4(1.0, 0.0, 0.0, 1.0) 8 | red.roughness = 1.0 9 | red.metallic = 0.0 10 | 11 | white = StandardMaterial('White') 12 | white.baseColor = float4(1.0, 1.0, 1.0, 1.0) 13 | white.roughness = 1.0 14 | white.metallic = 0.0 15 | 16 | # Add meshes to Scene Builder 17 | quadMeshID = sceneBuilder.addTriangleMesh(quadMesh, white) 18 | sphereMeshID = sceneBuilder.addTriangleMesh(sphereMesh, red) 19 | 20 | # Add scene graph nodes to Scene Builder 21 | quadNodeID = sceneBuilder.addNode('Quad', Transform(scaling=10, translation=float3(0, 0, 0), rotationEulerDeg=float3(0, 0, 0))) 22 | sphereNodeID = sceneBuilder.addNode('Sphere', Transform(scaling=1, translation=float3(0, 1, 0), rotationEulerDeg=float3(0, 0, 0))) 23 | 24 | # Add mesh instances to Scene Graph 25 | sceneBuilder.addMeshInstance(quadNodeID, quadMeshID) 26 | sceneBuilder.addMeshInstance(sphereNodeID, sphereMeshID) 27 | 28 | # Add environment map 29 | #envMap = EnvMap('LightProbes/20050806-03_hd.hdr') 30 | #envMap.intensity = 1.0 31 | #sceneBuilder.envMap = envMap 32 | 33 | # Add camera 34 | camera = Camera() 35 | camera.position = float3(0, 2.5, 8.5) 36 | camera.target = float3(0, 2.3, 7.5) 37 | camera.up = float3(0, 1, 0) 38 | camera.focalLength = 35.0 39 | sceneBuilder.addCamera(camera) 40 | 41 | # Add directional light 42 | dirLight = DirectionalLight('Directional light') 43 | #dirLight = DistantLight('Directional light') 44 | dirLight.intensity = float3(10, 10, 10) 45 | dirLight.direction = float3(0, -1, 0) 46 | #dirLight.angle = 0.0 47 | sceneBuilder.addLight(dirLight) 48 | -------------------------------------------------------------------------------- /References/Scenes/test_sphere_perfect_mirror.pyscene: -------------------------------------------------------------------------------- 1 | # Create Triangle Meshes 2 | quadMesh = TriangleMesh.createQuad() 3 | sphereMesh = TriangleMesh.createSphere() 4 | 5 | # Create Materials 6 | red = StandardMaterial('Red') 7 | red.baseColor = float4(1.0, 0.0, 0.0, 1.0) 8 | red.roughness = 1.0 9 | red.metallic = 0.0 10 | 11 | white = StandardMaterial('White') 12 | white.baseColor = float4(1.0, 1.0, 1.0, 1.0) 13 | white.roughness = 0.0 14 | white.metallic = 1.0 15 | 16 | # Add meshes to Scene Builder 17 | quadMeshID = sceneBuilder.addTriangleMesh(quadMesh, white) 18 | sphereMeshID = sceneBuilder.addTriangleMesh(sphereMesh, red) 19 | 20 | # Add scene graph nodes to Scene Builder 21 | quadNodeID = sceneBuilder.addNode('Quad', Transform(scaling=10, translation=float3(0, 0, 0), rotationEulerDeg=float3(0, 0, 0))) 22 | sphereNodeID = sceneBuilder.addNode('Sphere', Transform(scaling=1, translation=float3(0, 1, 0), rotationEulerDeg=float3(0, 0, 0))) 23 | 24 | # Add mesh instances to Scene Graph 25 | sceneBuilder.addMeshInstance(quadNodeID, quadMeshID) 26 | sceneBuilder.addMeshInstance(sphereNodeID, sphereMeshID) 27 | 28 | # Add environment map 29 | #envMap = EnvMap('LightProbes/20050806-03_hd.hdr') 30 | #envMap.intensity = 1.0 31 | #sceneBuilder.envMap = envMap 32 | 33 | # Add camera 34 | camera = Camera() 35 | camera.position = float3(0, 2.5, 8.5) 36 | camera.target = float3(0, 2.3, 7.5) 37 | camera.up = float3(0, 1, 0) 38 | camera.focalLength = 35.0 39 | sceneBuilder.addCamera(camera) 40 | 41 | # Add directional light 42 | dirLight = DirectionalLight('Directional light') 43 | #dirLight = DistantLight('Directional light') 44 | dirLight.intensity = float3(10, 10, 10) 45 | dirLight.direction = float3(0, -1, 0) 46 | #dirLight.angle = 0.0 47 | sceneBuilder.addLight(dirLight) 48 | -------------------------------------------------------------------------------- /References/Scenes/test_sphere_perfect_mirror_base_color_weak_white.pyscene: -------------------------------------------------------------------------------- 1 | # Create Triangle Meshes 2 | quadMesh = TriangleMesh.createQuad() 3 | sphereMesh = TriangleMesh.createSphere() 4 | 5 | # Create Materials 6 | red = StandardMaterial('Red') 7 | red.baseColor = float4(1.0, 0.0, 0.0, 1.0) 8 | red.roughness = 1.0 9 | red.metallic = 0.0 10 | 11 | white = StandardMaterial('WeakWhite') 12 | white.baseColor = float4(0.1, 0.1, 0.1, 1.0) 13 | white.roughness = 0.0 14 | white.metallic = 1.0 15 | 16 | # Add meshes to Scene Builder 17 | quadMeshID = sceneBuilder.addTriangleMesh(quadMesh, white) 18 | sphereMeshID = sceneBuilder.addTriangleMesh(sphereMesh, red) 19 | 20 | # Add scene graph nodes to Scene Builder 21 | quadNodeID = sceneBuilder.addNode('Quad', Transform(scaling=10, translation=float3(0, 0, 0), rotationEulerDeg=float3(0, 0, 0))) 22 | sphereNodeID = sceneBuilder.addNode('Sphere', Transform(scaling=1, translation=float3(0, 1, 0), rotationEulerDeg=float3(0, 0, 0))) 23 | 24 | # Add mesh instances to Scene Graph 25 | sceneBuilder.addMeshInstance(quadNodeID, quadMeshID) 26 | sceneBuilder.addMeshInstance(sphereNodeID, sphereMeshID) 27 | 28 | # Add environment map 29 | #envMap = EnvMap('LightProbes/20050806-03_hd.hdr') 30 | #envMap.intensity = 1.0 31 | #sceneBuilder.envMap = envMap 32 | 33 | # Add camera 34 | camera = Camera() 35 | camera.position = float3(0, 2.5, 8.5) 36 | camera.target = float3(0, 2.3, 7.5) 37 | camera.up = float3(0, 1, 0) 38 | camera.focalLength = 35.0 39 | sceneBuilder.addCamera(camera) 40 | 41 | # Add directional light 42 | dirLight = DirectionalLight('Directional light') 43 | #dirLight = DistantLight('Directional light') 44 | dirLight.intensity = float3(10, 10, 10) 45 | dirLight.direction = float3(0, -1, 0) 46 | #dirLight.angle = 0.0 47 | sceneBuilder.addLight(dirLight) 48 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5.Target.cs: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class LightingTest_UE5Target : TargetRules 7 | { 8 | public LightingTest_UE5Target( TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Game; 11 | DefaultBuildSettings = BuildSettingsVersion.V2; 12 | ExtraModuleNames.AddRange( new string[] { "LightingTest_UE5" } ); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5/LightingTest_UE5.Build.cs: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | 5 | public class LightingTest_UE5 : ModuleRules 6 | { 7 | public LightingTest_UE5(ReadOnlyTargetRules Target) : base(Target) 8 | { 9 | PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; 10 | 11 | PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); 12 | 13 | PrivateDependencyModuleNames.AddRange(new string[] { }); 14 | 15 | // Uncomment if you are using Slate UI 16 | // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); 17 | 18 | // Uncomment if you are using online features 19 | // PrivateDependencyModuleNames.Add("OnlineSubsystem"); 20 | 21 | // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5/LightingTest_UE5.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "LightingTest_UE5.h" 4 | #include "Modules/ModuleManager.h" 5 | 6 | IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, LightingTest_UE5, "LightingTest_UE5" ); 7 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5/LightingTest_UE5.h: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | 7 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5/LightingTest_UE5GameModeBase.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | 4 | #include "LightingTest_UE5GameModeBase.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5/LightingTest_UE5GameModeBase.h: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/GameModeBase.h" 7 | #include "LightingTest_UE5GameModeBase.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class LIGHTINGTEST_UE5_API ALightingTest_UE5GameModeBase : public AGameModeBase 14 | { 15 | GENERATED_BODY() 16 | 17 | }; 18 | -------------------------------------------------------------------------------- /Source/LightingTest_UE5Editor.Target.cs: -------------------------------------------------------------------------------- 1 | // Copyright Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class LightingTest_UE5EditorTarget : TargetRules 7 | { 8 | public LightingTest_UE5EditorTarget( TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Editor; 11 | DefaultBuildSettings = BuildSettingsVersion.V2; 12 | ExtraModuleNames.AddRange( new string[] { "LightingTest_UE5" } ); 13 | } 14 | } 15 | --------------------------------------------------------------------------------