diff options
| author | Anton Novoselov <[email protected]> | 2017-08-01 12:53:38 +0300 |
|---|---|---|
| committer | Anton Novoselov <[email protected]> | 2017-08-01 12:53:38 +0300 |
| commit | 236f03c0b9a4982328ed1201978f7f69d192d9b2 (patch) | |
| tree | e486f2fa39dba203563895541e92c60ed3e25759 /tools/ArtistTools/source/Shaders/VisualizeShadow.hlsl | |
| parent | Added screens to welcome page (diff) | |
| download | blast-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.hlsl | 81 |
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; +} |