aboutsummaryrefslogtreecommitdiff
path: root/tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl
diff options
context:
space:
mode:
authorAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
committerAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
commit236f03c0b9a4982328ed1201978f7f69d192d9b2 (patch)
treee486f2fa39dba203563895541e92c60ed3e25759 /tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl
parentAdded screens to welcome page (diff)
downloadblast-236f03c0b9a4982328ed1201978f7f69d192d9b2.tar.xz
blast-236f03c0b9a4982328ed1201978f7f69d192d9b2.zip
Blast 1.1 release (windows / linux)
see docs/release_notes.txt for details
Diffstat (limited to 'tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl')
-rw-r--r--tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl81
1 files changed, 81 insertions, 0 deletions
diff --git a/tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl b/tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl
new file mode 100644
index 0000000..04bf9f9
--- /dev/null
+++ b/tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl
@@ -0,0 +1,81 @@
+// This code contains NVIDIA Confidential Information and is disclosed
+// under the Mutual Non-Disclosure Agreement.
+//
+// Notice
+// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
+// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
+//
+// NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
+// expressly authorized by NVIDIA. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
+//
+// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
+// rights in and to this software and related documentation and any modifications thereto.
+// Any use, reproduction, disclosure or distribution of this software and related
+// documentation without an express license agreement from NVIDIA Corporation is
+// strictly prohibited.
+//
+///////////////////////////////////////////////////////////////////////////////////
+// constant buffer
+///////////////////////////////////////////////////////////////////////////////////
+cbuffer cbPerFrame : register(b0)
+{
+ float g_zNear;
+ float g_zFar;
+ float g_unitScale;
+ float g_dummy;
+}
+
+///////////////////////////////////////////////////////////////////////////////////
+// Textures
+///////////////////////////////////////////////////////////////////////////////////
+Texture2D g_ColorTexture : register(t0);
+
+struct VSOut
+{
+ float4 pos : SV_Position;
+ float2 tex : TEXCOORD;
+};
+
+/////////////////////////////////////////////////////////////////////////////////////
+// vertex shader
+/////////////////////////////////////////////////////////////////////////////////////
+VSOut vs_main( uint id : SV_VertexID )
+{
+ VSOut output;
+ output.tex = float2( (id << 1) & 2, id & 2 );
+ output.pos = float4( output.tex * float2( 2.0f, -2.0f ) + float2( -1.0f, 1.0f), 0.0f, 1.0f );
+
+ return output;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// pixel shader
+/////////////////////////////////////////////////////////////////////////////////////
+//SamplerState samLinear;
+SamplerState samPointClamp;
+
+float4 ps_main(VSOut input) : SV_Target
+{
+ float4 color;
+
+ color.rgb = g_ColorTexture.Sample(samPointClamp,input.tex).rgb;
+
+ float depth = color.r;
+ float near = g_zNear;
+ float far = g_zFar;
+
+ color.rgb = (depth - near) / (far - near);
+ color.a = 1.0f;
+ return color;
+}