Skip to content

Commit

Permalink
Merge pull request #151 from vilbeyli/staging
Browse files Browse the repository at this point in the history
VQE-v0.9.0 - FidelityFX: SSSR, DNSR, SPD and Render Visualization Modes
  • Loading branch information
vilbeyli authored May 23, 2022
2 parents a0bc41f + 3064d5d commit 343b75e
Show file tree
Hide file tree
Showing 103 changed files with 11,726 additions and 1,442 deletions.
22 changes: 13 additions & 9 deletions Build/GenerateProjectFiles.bat
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ set CMAKE_ASSIMP_PARAMETERS=!CMAKE_ASSIMP_PARAMETERS! -DASSIMP_INSTALL=OFF
set CMAKE_ASSIMP_PARAMETERS=!CMAKE_ASSIMP_PARAMETERS! !ASSIMP_IMPORT_FORMATS!


cmake ..\.. -G "Visual Studio 16 2019" -A x64 !CMAKE_ASSIMP_PARAMETERS!
cmake ..\.. -G "Visual Studio 17 2022" -A x64 !CMAKE_ASSIMP_PARAMETERS!

if !errorlevel! EQU 0 (
echo [VQBuild] Success!
Expand All @@ -160,18 +160,22 @@ if !errorlevel! EQU 0 (
)
) else (
echo.
echo [VQBuild] cmake VS2019 failed, retrying with VS 2017...
echo [VQBuild] cmake VS2022 failed, retrying with VS2019...
echo [VQBuild] removing %~dp0SolutionFiles ...
rmdir /S /Q %~dp0SolutionFiles
cmake ..\.. -G "Visual Studio 15 2017" -A x64 !CMAKE_ASSIMP_PARAMETERS!
if !errorlevel! NEQ 0 (
echo [VQBuild] cmake VS2017 failed, retrying without specifying VS version...
echo [VQBuild] removing %~dp0SolutionFiles ...
cmake ..\.. -G "Visual Studio 16 2019" -A x64 !CMAKE_ASSIMP_PARAMETERS!
if !errorlevel! NEQ 0 (
echo [VQBuild] cmake VS2019 failed, retrying with VS2017...
rmdir /S /Q %~dp0SolutionFiles
cmake ..\..
cmake ..\.. -G "Visual Studio 15 2017" -A x64 !CMAKE_ASSIMP_PARAMETERS!
if !errorlevel! NEQ 0 (
echo [VQBuild] GenerateSolutions.bat: Error with CMake. No solution file generated after retrying.
exit /b -1
echo [VQBuild] removing %~dp0SolutionFiles ...
rmdir /S /Q %~dp0SolutionFiles
cmake ..\..
if !errorlevel! NEQ 0 (
echo [VQBuild] GenerateSolutions.bat: Error with CMake. No solution file generated after retrying.
exit /b -1
)
)
)
echo.
Expand Down
100 changes: 91 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,23 @@ set (Shaders
"Shaders/CubemapConvolution.hlsl"
"Shaders/GaussianBlur.hlsl"
"Shaders/AMDFidelityFX.hlsl"
"Shaders/DownsampleDepth.hlsl"
"Shaders/UI.hlsl"
"Shaders/UIHDRComposite.hlsl"
"Shaders/HDR.hlsl"
"Shaders/Visualization.hlsl"
"Shaders/ApplyReflections.hlsl"
)

set (ShadersScreenSpaceReflections
"Shaders/ScreenSpaceReflections/ClassifyReflectionTiles.hlsl"
"Shaders/ScreenSpaceReflections/Intersect.hlsl"
"Shaders/ScreenSpaceReflections/Prefilter.hlsl"
"Shaders/ScreenSpaceReflections/PrepareBlueNoiseTexture.hlsl"
"Shaders/ScreenSpaceReflections/PrepareIndirectArgs.hlsl"
"Shaders/ScreenSpaceReflections/Reproject.hlsl"
"Shaders/ScreenSpaceReflections/ResolveTemporal.hlsl"
"Shaders/ScreenSpaceReflections/Common.hlsl"
)

#
Expand All @@ -81,10 +95,17 @@ set (Shaders
set (RenderPassFiles
"Source/Engine/RenderPass/RenderPass.h"
"Source/Engine/RenderPass/AmbientOcclusion.h"
"Source/Engine/RenderPass/ApplyReflections.h"
"Source/Engine/RenderPass/DepthPrePass.h"
"Source/Engine/RenderPass/DepthMSAAResolve.h"
"Source/Engine/RenderPass/ScreenSpaceReflections.h"

"Source/Engine/RenderPass/RenderPass.cpp"
"Source/Engine/RenderPass/AmbientOcclusion.cpp"
"Source/Engine/RenderPass/ApplyReflections.cpp"
"Source/Engine/RenderPass/DepthPrePass.cpp"
"Source/Engine/RenderPass/DepthMSAAResolve.cpp"
"Source/Engine/RenderPass/ScreenSpaceReflections.cpp"
)

set (CoreFiles
Expand All @@ -104,7 +125,6 @@ set (CoreFiles
"Source/Engine/Core/VQEngine_EventHandlers.cpp"
"Source/Engine/Core/FileParser.cpp"
"Source/Engine/Core/Memory.cpp"

)

set (SceneFiles
Expand Down Expand Up @@ -174,21 +194,51 @@ set (FFX_FSR_Shaders
"Shaders/AMDFidelityFX/FSR1.0/ffx_fsr1.h"
)
set (FFX_SPD_Shaders
"Shaders/FidelityFX/SPD/ffx_a.h"
"Shaders/FidelityFX/SPD/ffx_spd.h"
"Shaders/AMDFidelityFX/SPD/ffx_a.h"
"Shaders/AMDFidelityFX/SPD/ffx_spd.h"
)
set (FFX_CACAO_Shaders
"Shaders/AMDFidelityFX/CACAO/ffx_cacao.hlsl"
)
set (FFX_SSSR_Shaders
"Shaders/AMDFidelityFX/SSSR/ffx_sssr.h"
)
set (FFX_DNSR_Shaders
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_reflections_common.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_reflections_config.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_reflections_prefilter.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_reflections_reproject.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_reflections_resolve_temporal.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_shadows_filter.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_shadows_prepare.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_shadows_tileclassification.h"
"Shaders/AMDFidelityFX/DNSR/ffx_denoiser_shadows_util.h"
)

set (LibsIncl
"Libs/"
)

set (LibFFX
set (LibFFX_CACAO
"Libs/AMDFidelityFX/CACAO/ffx_cacao_defines.h"
"Libs/AMDFidelityFX/CACAO/ffx_cacao.cpp"
"Libs/AMDFidelityFX/CACAO/ffx_cacao.h"
"Libs/AMDFidelityFX/CACAO/ffx_cacao_impl.cpp"
"Libs/AMDFidelityFX/CACAO/ffx_cacao_impl.h"
)

set (LibFFX_SSSR
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_128spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_16spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_1spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_256spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_2spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_32spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_4spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_64spp.cpp"
"Libs/AMDFidelityFX/SSSR/samplerCPP/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_8spp.cpp"
)

# ouput exe to bin directory
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
Expand Down Expand Up @@ -216,27 +266,39 @@ source_group("Config" FILES ${Config})
source_group("Resource" FILES ${Resource})
source_group("Icons" FILES ${Icons})
source_group("Shaders" FILES ${Shaders})
source_group("Shaders\\AMD-FidelityFX\\CAS" FILES ${FFX_CAS_Shaders})
source_group("Shaders\\AMD-FidelityFX\\FSR1" FILES ${FFX_FSR_Shaders})
source_group("Shaders\\ScreenSpaceReflections" FILES ${ShadersScreenSpaceReflections})
source_group("Shaders\\AMD-FidelityFX\\CAS" FILES ${FFX_CAS_Shaders})
source_group("Shaders\\AMD-FidelityFX\\FSR1" FILES ${FFX_FSR_Shaders})
source_group("Shaders\\AMD-FidelityFX\\SPD" FILES ${FFX_SPD_Shaders})
source_group("Shaders\\AMD-FidelityFX\\CACAO" FILES ${FFX_CACAO_Shaders})
source_group("Shaders\\AMD-FidelityFX\\SSSR" FILES ${FFX_SSSR_Shaders})
source_group("Shaders\\AMD-FidelityFX\\DNSR" FILES ${FFX_DNSR_Shaders})
source_group("Scenes" FILES ${Scenes})
source_group("Materials" FILES ${Materials})
source_group("Source\\RenderPass" FILES ${RenderPassFiles})
source_group("Source\\Core" FILES ${CoreFiles})
source_group("Source\\Scene" FILES ${SceneFiles})
source_group("Source\\PostProcess" FILES ${PostProcessFiles})
source_group("Source" FILES ${SourceVQE})
source_group("Libs\\AMD-FidelityFX\\CACAO" FILES ${LibFFX})
source_group("Libs\\AMD-FidelityFX\\CACAO" FILES ${LibFFX_CACAO})
source_group("Libs\\AMD-FidelityFX\\SSSR" FILES ${LibFFX_SSSR})

set_source_files_properties(${Config} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${Materials} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${Scenes} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${ShadersScreenSpaceReflections} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${FFX_CAS_Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${FFX_FSR_Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${FFX_SPD_Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${FFX_CACAO_Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${FFX_SSSR_Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${FFX_DNSR_Shaders} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${CoreFiles} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${RenderPassFiles} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${SceneFiles} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${LibFFX} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${LibFFX_CACAO} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(${LibFFX_SSSR} PROPERTIES VS_TOOL_OVERRIDE "Text")
set_source_files_properties(Data/Resources/VQE.rc PROPERTIES VS_TOOL_OVERRIDE "Resource compiler")
set_source_files_properties(Data/Icons/VQE32.ico PROPERTIES VS_TOOL_OVERRIDE "Image")

Expand All @@ -247,7 +309,27 @@ link_directories(${CMAKE_CURRENT_SOURCE_DIR}/Libs/DirectXCompiler/lib/x64)
add_definitions(-DFFX_CACAO_ENABLE_D3D12)

# Create a library with the project name that is build with the Headers and Source files
add_executable( ${PROJECT_NAME} ${SourceVQE} ${Config} ${Scenes} ${Resource} ${Shaders} ${Materials} ${FFX_FSR_Shaders} ${FFX_CAS_Shaders} ${LibFFX} ${RenderPassFiles} ${CoreFiles} ${PostProcessFiles} ${SceneFiles})
add_executable( ${PROJECT_NAME}
${SourceVQE}
${Config}
${Scenes}
${Resource}
${Materials}
${Shaders}
${ShadersScreenSpaceReflections}
${FFX_FSR_Shaders}
${FFX_CAS_Shaders}
${FFX_CACAO_Shaders}
${FFX_SSSR_Shaders}
${FFX_DNSR_Shaders}
${FFX_SPD_Shaders}
${LibFFX_CACAO}
${LibFFX_SSSR}
${RenderPassFiles}
${CoreFiles}
${PostProcessFiles}
${SceneFiles}
)

set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY} )

Expand Down
2 changes: 2 additions & 0 deletions Data/EngineSettings.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ VSync=false
RenderScale=1.0
TripleBuffer=true
AntiAliasing=true
Reflections=1
MaxFrameRate=0
HDR=true
EnvironmentMapResolution=512

[Engine]
Width=1600
Expand Down
49 changes: 26 additions & 23 deletions Data/Levels/Default.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,25 @@
// preset usage: defined in EnvironmentMaps.ini
<Preset>Stadium01</Preset>
<EnvironmentMap>
<Preset>Stadium01</Preset>
</EnvironmentMap>
-->
<EnvironmentMap>
<Preset>GymEntrance</Preset>
</EnvironmentMap>

<!-- CAMERAS -->
<Camera>
<Position> 0.0 10.0 -22 </Position>
<Pitch> 15 </Pitch>
<Yaw> 0 </Yaw>
<Position> -0.935758 5.132592 -30.181700 </Position>
<Pitch> 11.949983 </Pitch>
<Yaw> -0.7 </Yaw>

<Projection>Perspective</Projection>
<FoV>70.0</FoV>
<!--
<Near>0.01</Near>
<Far>10000</Far>

-->
<Near>0.1</Near>
<Far>1000</Far>
<FirstPerson>
<TranslationSpeed>1000</TranslationSpeed>
<AngularSpeed>0.05</AngularSpeed>
Expand All @@ -50,19 +53,19 @@
<!-- GROUND PLANE -->
<GameObject>
<Transform>
<Position>0 -5.5 0</Position>
<Position>0 -5.0 0</Position>
<Scale>100 0.01 100</Scale>
</Transform>
<Model>
<Mesh>Cube</Mesh>
<MaterialName>Checkerboard</MaterialName>
<MaterialName>Black_herringbone_tiles_01</MaterialName>
</Model>
</GameObject>

<!-- OBJECTS -->
<GameObject>
<Transform>
<Position>0 0 4</Position>
<Position>-25 0 4</Position>
<Quaternion>0 0 0 1</Quaternion>
<Scale>4 4 4</Scale>
</Transform>
Expand All @@ -73,25 +76,25 @@
</GameObject>
<GameObject>
<Transform>
<Position>0 -5 4</Position>
<Position>-25 -5 4</Position>
<Quaternion>0 0 0 1</Quaternion>
<Scale>10 0.1 10</Scale>
</Transform>
<Model>
<Mesh>Cylinder</Mesh>
<MaterialName>Checkerboard_Grayscale</MaterialName>
<MaterialName>DarkGray_VeryRough</MaterialName>
</Model>
</GameObject>

<GameObject>
<Transform>
<Position>25 2 2</Position>
<Rotation>30 120 60</Rotation>
<Scale>3.1 3.1 3.1</Scale>
<Rotation>0 230 0</Rotation>
<Scale>800 800 800</Scale>
</Transform>
<Model>
<Mesh>Cylinder</Mesh>
<MaterialName>Metal_tiles_03</MaterialName>
<Path>Data/Models/BoomBox/glTF/BoomBox.gltf</Path>
<Name>BoomBox</Name>
</Model>
</GameObject>
<GameObject>
Expand All @@ -102,15 +105,15 @@
</Transform>
<Model>
<Mesh>Cylinder</Mesh>
<MaterialName>Checkerboard_Grayscale</MaterialName>
<MaterialName>DarkGray_VeryRough</MaterialName>
</Model>
</GameObject>

<GameObject>
<Transform>
<Position>-25 1 4</Position>
<Position>0 5 4</Position>
<Rotation>0 0 0</Rotation>
<Scale>6 6 6</Scale>
<Scale>12 12 12</Scale>
</Transform>
<Model>
<Mesh>Sphere</Mesh>
Expand All @@ -119,13 +122,13 @@
</GameObject>
<GameObject>
<Transform>
<Position>-25 -5 4</Position>
<Position>0 -5 4</Position>
<Quaternion>0 0 0 1</Quaternion>
<Scale>10 0.1 10</Scale>
<Scale>13 0.15 13</Scale>
</Transform>
<Model>
<Mesh>Cylinder</Mesh>
<MaterialName>Checkerboard_Grayscale</MaterialName>
<MaterialName>Black_VeryRough</MaterialName>
</Model>
</GameObject>

Expand Down
8 changes: 4 additions & 4 deletions Data/Levels/StressTest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<Yaw> 0 </Yaw>
<Projection>Perspective</Projection>
<FoV>60.0</FoV>
<Near>0.01</Near>
<Near>0.1</Near>
<Far>1000</Far>

<FirstPerson>
Expand Down Expand Up @@ -74,7 +74,7 @@
<Name>Sponza</Name>
</Model>
</GameObject>

<!-- MODELS -->
<GameObject>
<Transform>
Expand All @@ -89,7 +89,7 @@
</GameObject>
<GameObject>
<Transform>
<Position>20.351274 -29.875536 -20.422892</Position>
<Position>-20.176908 -29.498375 -16.502298</Position>
<Rotation>-90 0 0</Rotation>
<Scale>10 10 10</Scale>
</Transform>
Expand All @@ -111,7 +111,7 @@
</GameObject>
<GameObject>
<Transform>
<Position>-20.176908 -29.498375 -16.502298</Position>
<Position>20.351274 -29.875536 -20.422892</Position>
<Quaternion>0 0 0 1</Quaternion>
<Scale>8 8 8</Scale>
</Transform>
Expand Down
Loading

0 comments on commit 343b75e

Please sign in to comment.