diff options
Diffstat (limited to 'samples/VolumetricLightingTest/shaders/post_PS.hlsl')
| -rw-r--r-- | samples/VolumetricLightingTest/shaders/post_PS.hlsl | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/samples/VolumetricLightingTest/shaders/post_PS.hlsl b/samples/VolumetricLightingTest/shaders/post_PS.hlsl new file mode 100644 index 0000000..d0e5a4c --- /dev/null +++ b/samples/VolumetricLightingTest/shaders/post_PS.hlsl @@ -0,0 +1,56 @@ +// 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) 2003 - 2016 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. +// + +/* +Define the shader permutations for code generation +%% MUX_BEGIN %% +%% MUX_END %% +*/ + +struct VS_QUAD_OUTPUT +{ + float4 vPos : SV_POSITION; + sample float2 vTex : TEXCOORD0; +}; + +float3 tonemap(float3 C) +{ + // Filmic -- model film properties + C = max(0, C - 0.004); + return (C*(6.2*C+0.5))/(C*(6.2*C+1.7)+0.06); +} + +Texture2DMS<float4> tScene : register(t0); + +float4 main(VS_QUAD_OUTPUT input, uint sampleID : SV_SAMPLEINDEX) : SV_Target0 +{ + float3 output = float3(0, 0, 0); + float3 s_hdr = tScene.Load(int2(input.vPos.xy), sampleID).rgb; + output = tonemap(s_hdr); + return float4(output, 1); +} |