Skip to content

Commit

Permalink
NRD updated to v4.8.0:
Browse files Browse the repository at this point in the history
- NRI updated to v1.132
- PT: shadows use a shorter animated blue noise sequence to improve temporal stability
- UI tweaks
- updated tests
- updated deps
  • Loading branch information
dzhdanNV committed May 9, 2024
1 parent 3dd5136 commit 475fc17
Show file tree
Hide file tree
Showing 11 changed files with 69 additions and 61 deletions.
9 changes: 4 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ if (WIN32)
else ()
find_library (NGX_D_LIB NAMES libnvsdk_ngx.a PATHS "External/NGX/lib/Linux_x86_64")
find_library (NGX_LIB NAMES libnvsdk_ngx.a PATHS "External/NGX/lib/Linux_x86_64")
find_file (DLSS_SR_DLL NAMES libnvidia-ngx-dlss.so.3.5.10 PATHS "External/NGX/lib/Linux_x86_64/rel")
find_file (DLSS_SR_DLL NAMES libnvidia-ngx-dlss.so.3.7.0 PATHS "External/NGX/lib/Linux_x86_64/rel")
endif ()

if (NGX_D_LIB AND NGX_LIB AND DLSS_SR_DLL)
Expand Down Expand Up @@ -172,24 +172,23 @@ set (SHADERMAKE_GENERAL_ARGS
-I "External"
-I "External/NGX"
-I "External/NRD/External"
-I "External/NRIFramework/Shaders"
-D COMPILER_DXC
-I "External/NRIFramework/External/NRI/Include"
-D NRD_NORMAL_ENCODING=${NRD_NORMAL_ENCODING}
-D NRD_ROUGHNESS_ENCODING=${NRD_ROUGHNESS_ENCODING}
)

if (WIN32)
add_custom_target (${PROJECT_NAME}_Shaders ALL
COMMAND ShaderMake ${SHADERMAKE_GENERAL_ARGS} -p DXIL --compiler "${DXC_PATH}"
COMMAND ShaderMake ${SHADERMAKE_GENERAL_ARGS} -p SPIRV --compiler "${DXC_SPIRV_PATH}" -D VULKAN --hlsl2021 --sRegShift 100 --tRegShift 200 --bRegShift 300 --uRegShift 400
COMMAND ShaderMake ${SHADERMAKE_GENERAL_ARGS} -p SPIRV --compiler "${DXC_SPIRV_PATH}" --hlsl2021 --sRegShift 100 --tRegShift 200 --bRegShift 300 --uRegShift 400
DEPENDS ShaderMake
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
VERBATIM
SOURCES ${SHADERS}
)
else ()
add_custom_target (${PROJECT_NAME}_Shaders ALL
COMMAND ShaderMake ${SHADERMAKE_GENERAL_ARGS} -p SPIRV --compiler "${DXC_SPIRV_PATH}" -D VULKAN --hlsl2021 --sRegShift 100 --tRegShift 200 --bRegShift 300 --uRegShift 400
COMMAND ShaderMake ${SHADERMAKE_GENERAL_ARGS} -p SPIRV --compiler "${DXC_SPIRV_PATH}" --hlsl2021 --sRegShift 100 --tRegShift 200 --bRegShift 300 --uRegShift 400
DEPENDS ShaderMake
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
VERBATIM
Expand Down
2 changes: 1 addition & 1 deletion External/NGX
Submodule NGX updated 33 files
+67 −271 LICENSE.txt
+ doc/DLSS_Programming_Guide_Release.pdf
+ doc/RTX Developer Localization Strings - 032224.zip
+ doc/RTX Developer Localization Strings - 082123.zip
+ doc/RTX UI Developer Guidelines Chinese Version.pdf
+ doc/RTX UI Developer Guidelines.pdf
+4 −4 include/nvsdk_ngx.h
+49 −29 include/nvsdk_ngx_defs.h
+1 −91 include/nvsdk_ngx_helpers.h
+1 −2 include/nvsdk_ngx_helpers_vk.h
+ lib/Linux_x86_64/dev/libnvidia-ngx-dlss.so.3.7.0
+ lib/Linux_x86_64/libnvsdk_ngx.a
+ lib/Linux_x86_64/rel/libnvidia-ngx-dlss.so.3.7.0
+ lib/Windows_x86_64/dev/nvngx_dlss.dll
+ lib/Windows_x86_64/rel/nvngx_dlss.dll
+ lib/Windows_x86_64/vs2012/nvsdk_ngx_d.lib
+ lib/Windows_x86_64/vs2012/nvsdk_ngx_d_dbg.lib
+ lib/Windows_x86_64/vs2012/nvsdk_ngx_s.lib
+ lib/Windows_x86_64/vs2012/nvsdk_ngx_s_dbg.lib
+ lib/Windows_x86_64/vs2013/nvsdk_ngx_d.lib
+ lib/Windows_x86_64/vs2013/nvsdk_ngx_d_dbg.lib
+ lib/Windows_x86_64/vs2013/nvsdk_ngx_s.lib
+ lib/Windows_x86_64/vs2013/nvsdk_ngx_s_dbg.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_d.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_d_dbg.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_d_dbg_iterator0.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_d_dbg_iterator1.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_d_iterator1.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_s.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_s_dbg.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_s_dbg_iterator0.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_s_dbg_iterator1.lib
+ lib/Windows_x86_64/x86_64/nvsdk_ngx_s_iterator1.lib
2 changes: 1 addition & 1 deletion External/NRD
Submodule NRD updated from f20158 to 8d3c24
2 changes: 1 addition & 1 deletion External/NRIFramework
10 changes: 5 additions & 5 deletions Shaders/Composition.cs.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ void main( int2 pixelPos : SV_DispatchThreadId )
z *= STL::Math::Sign( dot( N, gSunDirection_gExposure.xyz ) );

// Early out - sky
if( abs( viewZ ) == INF )
if( abs( viewZ ) >= INF )
{
gOut_ComposedDiff[ pixelPos ] = Lemi * float( gOnScreen == SHOW_FINAL );
gOut_ComposedSpec_ViewZ[ pixelPos ] = float4( 0, 0, 0, z );
Expand Down Expand Up @@ -153,10 +153,10 @@ void main( int2 pixelPos : SV_DispatchThreadId )
float3 Nn = NRD_FrontEnd_UnpackNormalAndRoughness( gIn_Normal_Roughness[ pixelPos + int2( 0, 1 ) ] ).xyz;
float3 Ns = NRD_FrontEnd_UnpackNormalAndRoughness( gIn_Normal_Roughness[ pixelPos + int2( 0, -1 ) ] ).xyz;

float Ze = gIn_ViewZ[ pixelPos + int2( 1, 0 ) ];
float Zw = gIn_ViewZ[ pixelPos + int2( -1, 0 ) ];
float Zn = gIn_ViewZ[ pixelPos + int2( 0, 1 ) ];
float Zs = gIn_ViewZ[ pixelPos + int2( 0, -1 ) ];
float Ze = gIn_ViewZ[ pixelPos + int2( 1, 0 ) ];
float Zw = gIn_ViewZ[ pixelPos + int2( -1, 0 ) ];
float Zn = gIn_ViewZ[ pixelPos + int2( 0, 1 ) ];
float Zs = gIn_ViewZ[ pixelPos + int2( 0, -1 ) ];

float scale = NRD_SG_ReJitter( sg, sg, 0.0, V, 0.0, viewZ, Ze, Zw, Zn, Zs, N, Ne, Nw, Nn, Ns ).x;

Expand Down
2 changes: 1 addition & 1 deletion Shaders/Include/Shared.hlsli
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ struct InstanceData
// RESOURCES
//===============================================================

#include "Include/BindingBridge.hlsli"
#include "NRICompatibility.hlsli"

NRI_RESOURCE( cbuffer, GlobalConstants, b, 0, 0 )
{
Expand Down
13 changes: 6 additions & 7 deletions Shaders/TraceOpaque.cs.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ license agreement from NVIDIA CORPORATION is strictly prohibited.
NRI_RESOURCE( Texture2D<float3>, gIn_PrevComposedDiff, t, 0, 1 );
NRI_RESOURCE( Texture2D<float4>, gIn_PrevComposedSpec_PrevViewZ, t, 1, 1 );
NRI_RESOURCE( Texture2D<float3>, gIn_Ambient, t, 2, 1 );
NRI_RESOURCE( Texture2D<uint3>, gIn_Scrambling_Ranking_16spp, t, 3, 1 );
NRI_RESOURCE( Texture2D<uint3>, gIn_ScramblingRanking4spp, t, 3, 1 );
NRI_RESOURCE( Texture2D<uint4>, gIn_Sobol, t, 4, 1 );

// Outputs
Expand Down Expand Up @@ -794,7 +794,6 @@ void main( uint2 pixelPos : SV_DispatchThreadId )
// Early out - sky
if( geometryProps0.IsSky( ) )
{
gOut_ShadowData[ pixelPos ] = SIGMA_FrontEnd_PackShadow( viewZ, 0.0, 0.0 );
gOut_DirectEmission[ pixelPos ] = materialProps0.Lemi;

#if( USE_INF_STRESS_TEST == 1 )
Expand Down Expand Up @@ -849,7 +848,7 @@ void main( uint2 pixelPos : SV_DispatchThreadId )
gOut_DirectEmission[ pixelPos ] = materialProps0.Lemi;

// Sun shadow
float2 rnd = GetBlueNoise( gIn_Scrambling_Ranking_16spp, pixelPos, false, 0, 0, 16 ); // TODO: STBN or blue noise 32rpp?
float2 rnd = GetBlueNoise( gIn_ScramblingRanking4spp, pixelPos, false, 0, 0, 4 );
if( gDenoiserType == DENOISER_REFERENCE )
rnd = STL::Rng::Hash::GetFloat2( );
rnd = STL::ImportanceSampling::Cosine::GetRay( rnd ).xy;
Expand Down Expand Up @@ -882,11 +881,11 @@ void main( uint2 pixelPos : SV_DispatchThreadId )
Xoffset += sunDirection * ( geometryPropsShadow.tmin + 0.001 );
}

float4 shadowData1;
float2 shadowData0 = SIGMA_FrontEnd_PackShadow( viewZ, shadowHitDist, gTanSunAngularRadius, shadowTranslucency, shadowData1 );
float penumbra = SIGMA_FrontEnd_PackPenumbra( shadowHitDist, gTanSunAngularRadius );
float4 translucency = SIGMA_FrontEnd_PackTranslucency( shadowHitDist, shadowTranslucency );

gOut_ShadowData[ pixelPos ] = shadowData0;
gOut_Shadow_Translucency[ pixelPos ] = shadowData1;
gOut_ShadowData[ pixelPos ] = penumbra;
gOut_Shadow_Translucency[ pixelPos ] = translucency;

// This code is needed to avoid self-intersections if tracing starts from crunched g-buffer coming from textures
#if 0
Expand Down
2 changes: 1 addition & 1 deletion Shaders/UpsampleNis.cs.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ NRI_RESOURCE( RWTexture2D<float4>, gOut_Image, u, 0, 1 );
#define NIS_HLSL 1
#define NIS_VIEWPORT_SUPPORT 0

#ifndef COMPILER_FXC
#if( NRI_SHADER_MODEL >= 62 )
#define NIS_HLSL_6_2 1
#endif

Expand Down
Loading

0 comments on commit 475fc17

Please sign in to comment.