Skip to content

Commit 5796078

Browse files
committed
*Volumetric light parameters tuning
*Fix for volumetric lights' ray starting positions *LensFlareFeatures.hlsl now includes PostProcessingUtils.hlsl and consequently uses tex2Dlod() instead of tex2D() *Configuration, platform and build date and time information are now included in the window title
1 parent ea0e8ac commit 5796078

File tree

5 files changed

+31
-20
lines changed

5 files changed

+31
-20
lines changed

GITechDemo/Code/AppMain/Framework/Windows/FrameworkWin.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,12 @@ int FrameworkWin::Run()
4747
MSG msg; memset(&msg, 0, sizeof(msg));
4848
HACCEL hAccelTable;
4949

50+
char szTitleSuffix[128];
51+
sprintf_s(szTitleSuffix, " (%s|%s - %s %s)", _CONFIGURATION, _PLATFORM, __DATE__, __TIME__);
52+
5053
// Initialize global strings
5154
LoadString(m_hInstance, IDS_APP_TITLE, m_szTitle, MAX_LOADSTRING);
55+
strcat_s(m_szTitle, szTitleSuffix);
5256
LoadString(m_hInstance, IDC_FRAMEWORK, m_szWindowClass, MAX_LOADSTRING);
5357
MyRegisterClass(m_hInstance);
5458

GITechDemo/Code/AppMain/GITechDemo.vcxproj

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,36 +35,36 @@
3535
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
3636
<ConfigurationType>Application</ConfigurationType>
3737
<UseDebugLibraries>true</UseDebugLibraries>
38-
<CharacterSet>Unicode</CharacterSet>
38+
<CharacterSet>NotSet</CharacterSet>
3939
</PropertyGroup>
4040
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4141
<ConfigurationType>Application</ConfigurationType>
4242
<UseDebugLibraries>true</UseDebugLibraries>
43-
<CharacterSet>Unicode</CharacterSet>
43+
<CharacterSet>NotSet</CharacterSet>
4444
</PropertyGroup>
4545
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
4646
<ConfigurationType>Application</ConfigurationType>
4747
<UseDebugLibraries>false</UseDebugLibraries>
4848
<WholeProgramOptimization>true</WholeProgramOptimization>
49-
<CharacterSet>Unicode</CharacterSet>
49+
<CharacterSet>NotSet</CharacterSet>
5050
</PropertyGroup>
5151
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
5252
<ConfigurationType>Application</ConfigurationType>
5353
<UseDebugLibraries>false</UseDebugLibraries>
5454
<WholeProgramOptimization>true</WholeProgramOptimization>
55-
<CharacterSet>Unicode</CharacterSet>
55+
<CharacterSet>NotSet</CharacterSet>
5656
</PropertyGroup>
5757
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">
5858
<ConfigurationType>Application</ConfigurationType>
5959
<UseDebugLibraries>false</UseDebugLibraries>
6060
<WholeProgramOptimization>true</WholeProgramOptimization>
61-
<CharacterSet>Unicode</CharacterSet>
61+
<CharacterSet>NotSet</CharacterSet>
6262
</PropertyGroup>
6363
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="Configuration">
6464
<ConfigurationType>Application</ConfigurationType>
6565
<UseDebugLibraries>false</UseDebugLibraries>
6666
<WholeProgramOptimization>true</WholeProgramOptimization>
67-
<CharacterSet>Unicode</CharacterSet>
67+
<CharacterSet>NotSet</CharacterSet>
6868
</PropertyGroup>
6969
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
7070
<ImportGroup Label="ExtensionSettings">
@@ -123,14 +123,12 @@
123123
<PrecompiledHeader>Use</PrecompiledHeader>
124124
<WarningLevel>Level3</WarningLevel>
125125
<Optimization>Disabled</Optimization>
126-
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
126+
<PreprocessorDefinitions>WIN32;_CONFIGURATION="$(Configuration)";_PLATFORM="$(Platform)";_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
127127
<AdditionalIncludeDirectories>$(ProjectDir)Framework;$(ProjectDir)Framework\Windows;$(ProjectDir)GITechDemo;$(ProjectDir)GITechDemo\RenderScheme;$(ProjectDir)GITechDemo\Resources;$(ProjectDir)GITechDemo\Utilities;$(SolutionDir)..\Libraries\LibRenderer\SDK\gmtl\include;$(SolutionDir)..\Libraries\LibRenderer\Common;$(SolutionDir)..\Libraries\LibRenderer;$(SolutionDir)..\Libraries\freetype-2.6\include;$(SolutionDir)..\Libraries\gainput-0.10.0-beta\include</AdditionalIncludeDirectories>
128128
</ClCompile>
129129
<Link>
130130
<SubSystem>Windows</SubSystem>
131131
<GenerateDebugInformation>true</GenerateDebugInformation>
132-
<EntryPointSymbol>
133-
</EntryPointSymbol>
134132
<AdditionalLibraryDirectories>
135133
</AdditionalLibraryDirectories>
136134
<AdditionalDependencies>Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -155,14 +153,12 @@ echo.</Command>
155153
<PrecompiledHeader>Use</PrecompiledHeader>
156154
<WarningLevel>Level3</WarningLevel>
157155
<Optimization>Disabled</Optimization>
158-
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
156+
<PreprocessorDefinitions>WIN32;_CONFIGURATION="$(Configuration)";_PLATFORM="$(Platform)";_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
159157
<AdditionalIncludeDirectories>$(ProjectDir)Framework;$(ProjectDir)Framework\Windows;$(ProjectDir)GITechDemo;$(ProjectDir)GITechDemo\RenderScheme;$(ProjectDir)GITechDemo\Resources;$(ProjectDir)GITechDemo\Utilities;$(SolutionDir)..\Libraries\LibRenderer\SDK\gmtl\include;$(SolutionDir)..\Libraries\LibRenderer\Common;$(SolutionDir)..\Libraries\LibRenderer;$(SolutionDir)..\Libraries\freetype-2.6\include;$(SolutionDir)..\Libraries\gainput-0.10.0-beta\include</AdditionalIncludeDirectories>
160158
</ClCompile>
161159
<Link>
162160
<SubSystem>Windows</SubSystem>
163161
<GenerateDebugInformation>true</GenerateDebugInformation>
164-
<EntryPointSymbol>
165-
</EntryPointSymbol>
166162
<AdditionalLibraryDirectories>
167163
</AdditionalLibraryDirectories>
168164
<AdditionalDependencies>Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -189,7 +185,7 @@ echo.</Command>
189185
<Optimization>MaxSpeed</Optimization>
190186
<FunctionLevelLinking>true</FunctionLevelLinking>
191187
<IntrinsicFunctions>true</IntrinsicFunctions>
192-
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
188+
<PreprocessorDefinitions>WIN32;_CONFIGURATION="$(Configuration)";_PLATFORM="$(Platform)";NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
193189
<AdditionalIncludeDirectories>$(ProjectDir)Framework;$(ProjectDir)Framework\Windows;$(ProjectDir)GITechDemo;$(ProjectDir)GITechDemo\RenderScheme;$(ProjectDir)GITechDemo\Resources;$(ProjectDir)GITechDemo\Utilities;$(SolutionDir)..\Libraries\LibRenderer\SDK\gmtl\include;$(SolutionDir)..\Libraries\LibRenderer\Common;$(SolutionDir)..\Libraries\LibRenderer;$(SolutionDir)..\Libraries\freetype-2.6\include;$(SolutionDir)..\Libraries\gainput-0.10.0-beta\include</AdditionalIncludeDirectories>
194190
</ClCompile>
195191
<Link>
@@ -223,7 +219,7 @@ echo.</Command>
223219
<Optimization>MaxSpeed</Optimization>
224220
<FunctionLevelLinking>true</FunctionLevelLinking>
225221
<IntrinsicFunctions>true</IntrinsicFunctions>
226-
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
222+
<PreprocessorDefinitions>WIN32;_CONFIGURATION="$(Configuration)";_PLATFORM="$(Platform)";NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
227223
<AdditionalIncludeDirectories>$(ProjectDir)Framework;$(ProjectDir)Framework\Windows;$(ProjectDir)GITechDemo;$(ProjectDir)GITechDemo\RenderScheme;$(ProjectDir)GITechDemo\Resources;$(ProjectDir)GITechDemo\Utilities;$(SolutionDir)..\Libraries\LibRenderer\SDK\gmtl\include;$(SolutionDir)..\Libraries\LibRenderer\Common;$(SolutionDir)..\Libraries\LibRenderer;$(SolutionDir)..\Libraries\freetype-2.6\include;$(SolutionDir)..\Libraries\gainput-0.10.0-beta\include</AdditionalIncludeDirectories>
228224
</ClCompile>
229225
<Link>
@@ -257,7 +253,7 @@ echo.</Command>
257253
<Optimization>MaxSpeed</Optimization>
258254
<FunctionLevelLinking>true</FunctionLevelLinking>
259255
<IntrinsicFunctions>true</IntrinsicFunctions>
260-
<PreprocessorDefinitions>WIN32;_PROFILE;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
256+
<PreprocessorDefinitions>WIN32;_CONFIGURATION="$(Configuration)";_PLATFORM="$(Platform)";_PROFILE;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
261257
<AdditionalIncludeDirectories>$(ProjectDir)Framework;$(ProjectDir)Framework\Windows;$(ProjectDir)GITechDemo;$(ProjectDir)GITechDemo\RenderScheme;$(ProjectDir)GITechDemo\Resources;$(ProjectDir)GITechDemo\Utilities;$(SolutionDir)..\Libraries\LibRenderer\SDK\gmtl\include;$(SolutionDir)..\Libraries\LibRenderer\Common;$(SolutionDir)..\Libraries\LibRenderer;$(SolutionDir)..\Libraries\freetype-2.6\include;$(SolutionDir)..\Libraries\gainput-0.10.0-beta\include</AdditionalIncludeDirectories>
262258
</ClCompile>
263259
<Link>
@@ -292,7 +288,7 @@ echo.</Command>
292288
<Optimization>MaxSpeed</Optimization>
293289
<FunctionLevelLinking>true</FunctionLevelLinking>
294290
<IntrinsicFunctions>true</IntrinsicFunctions>
295-
<PreprocessorDefinitions>WIN32;_PROFILE;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
291+
<PreprocessorDefinitions>WIN32;_CONFIGURATION="$(Configuration)";_PLATFORM="$(Platform)";_PROFILE;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
296292
<AdditionalIncludeDirectories>$(ProjectDir)Framework;$(ProjectDir)Framework\Windows;$(ProjectDir)GITechDemo;$(ProjectDir)GITechDemo\RenderScheme;$(ProjectDir)GITechDemo\Resources;$(ProjectDir)GITechDemo\Utilities;$(SolutionDir)..\Libraries\LibRenderer\SDK\gmtl\include;$(SolutionDir)..\Libraries\LibRenderer\Common;$(SolutionDir)..\Libraries\LibRenderer;$(SolutionDir)..\Libraries\freetype-2.6\include;$(SolutionDir)..\Libraries\gainput-0.10.0-beta\include</AdditionalIncludeDirectories>
297293
</ClCompile>
298294
<Link>
@@ -954,6 +950,12 @@ call fxc.exe /T ps_3_0 /E psmain /O3 /nologo /Fc "$(SolutionDir)..\..\BinTemp\$(
954950
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\..\BinTemp\$(ProjectName)\Shaders\%(Filename).vsasm;$(SolutionDir)..\..\BinTemp\$(ProjectName)\Shaders\%(Filename).psasm;%(Outputs)</Outputs>
955951
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\..\BinTemp\$(ProjectName)\Shaders\%(Filename).vsasm;$(SolutionDir)..\..\BinTemp\$(ProjectName)\Shaders\%(Filename).psasm;%(Outputs)</Outputs>
956952
<Outputs Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">$(SolutionDir)..\..\BinTemp\$(ProjectName)\Shaders\%(Filename).vsasm;$(SolutionDir)..\..\BinTemp\$(ProjectName)\Shaders\%(Filename).psasm;%(Outputs)</Outputs>
953+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\Data\shaders\Common.hlsl;$(SolutionDir)..\..\Data\shaders\PostProcessingUtils.hlsl</AdditionalInputs>
954+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\..\Data\shaders\Common.hlsl;$(SolutionDir)..\..\Data\shaders\PostProcessingUtils.hlsl</AdditionalInputs>
955+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(SolutionDir)..\..\Data\shaders\Common.hlsl;$(SolutionDir)..\..\Data\shaders\PostProcessingUtils.hlsl</AdditionalInputs>
956+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\..\Data\shaders\Common.hlsl;$(SolutionDir)..\..\Data\shaders\PostProcessingUtils.hlsl</AdditionalInputs>
957+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\..\Data\shaders\Common.hlsl;$(SolutionDir)..\..\Data\shaders\PostProcessingUtils.hlsl</AdditionalInputs>
958+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">$(SolutionDir)..\..\Data\shaders\Common.hlsl;$(SolutionDir)..\..\Data\shaders\PostProcessingUtils.hlsl</AdditionalInputs>
957959
</CustomBuild>
958960
<CustomBuild Include="..\..\Data\shaders\LensFlareApply.hlsl">
959961
<FileType>Document</FileType>

GITechDemo/Code/AppMain/GITechDemo/Resources/RenderResourcesDef.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,8 @@ namespace GITechDemoApp
213213
IMPLEMENT_ARTIST_SHADER_CONSTANT(nSampleCount, int, 32 );
214214
IMPLEMENT_ARTIST_SHADER_CONSTANT(fLightIntensity, float, 5.f );
215215
IMPLEMENT_ARTIST_SHADER_CONSTANT(fMultScatterIntensity, float, 0.75f );
216-
IMPLEMENT_ARTIST_SHADER_CONSTANT(f3FogSpeed, Vec3f, Vec3f(10.f, -10.f, 10.f));
217-
IMPLEMENT_ARTIST_SHADER_CONSTANT(fFogVerticalFalloff, float, 75.f );
216+
IMPLEMENT_ARTIST_SHADER_CONSTANT(f3FogSpeed, Vec3f, Vec3f(20.f, -10.f, 20.f));
217+
IMPLEMENT_ARTIST_SHADER_CONSTANT(fFogVerticalFalloff, float, 25.f );
218218
IMPLEMENT_ARTIST_SHADER_CONSTANT(fBlurDepthFalloff, float, 0.0025f );
219219
IMPLEMENT_ARTIST_SHADER_CONSTANT(fUpsampleDepthThreshold, float, 0.0015f );
220220

GITechDemo/Data/shaders/DirectionalLightVolume.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ void psmain(VSOut input, out float4 f4Color : SV_TARGET)
8383
float3 f3RayPositionLightVS = f4RayPositionLightVS.xyz * rcp(f4RayPositionLightVS.w);
8484

8585
// Reduce noisiness by truncating the starting position
86-
const float3 f3Ray = f3CameraPositionLightVS - f3RayPositionLightVS;
86+
const float3 f3Ray = trunc(f3CameraPositionLightVS - f3RayPositionLightVS);
8787
const float3 f3RayDir = normalize(f3Ray);
88-
const float fRaymarchDistance = trunc(clamp(length(f3Ray), 0.f, fRaymarchDistanceLimit));
88+
const float fRaymarchDistance = clamp(length(f3Ray), 0.f, fRaymarchDistanceLimit);
8989

9090
// Calculate the size of each step
9191
const float fStepSize = fRaymarchDistance * rcp((float)nSampleCount);

GITechDemo/Data/shaders/LensFlareFeatures.hlsl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#include "PostProcessingUtils.hlsl"
2+
13
// Vertex shader /////////////////////////////////////////////////
24
const float2 f2HalfTexelOffset;
35

@@ -55,6 +57,9 @@ float4 FetchChromaShiftedTextureSample(sampler2D tex, float2 texCoord)
5557
}
5658

5759
// Convert tex2D() calls to FetchChromaShiftedTextureSample() calls
60+
#ifdef tex2D
61+
#undef tex2D
62+
#endif
5863
#define tex2D(tex, texCoord) FetchChromaShiftedTextureSample(tex, texCoord)
5964

6065
void psmain(VSOut input, out float4 f4Color : SV_TARGET)

0 commit comments

Comments
 (0)