diff options
| author | Jason Maskell <[email protected]> | 2016-05-16 15:00:36 +0200 |
|---|---|---|
| committer | Jason Maskell <[email protected]> | 2016-05-16 15:00:36 +0200 |
| commit | 3eb017d032e0c542401ea202f7a62b7c7ddcd498 (patch) | |
| tree | 6470077bdc344f1493778976917f7217a3159707 /include/GFSDK_WaveWorks_Common.fxh | |
| parent | Project now compiles with Cmake. (diff) | |
| download | waveworks_archive-3eb017d032e0c542401ea202f7a62b7c7ddcd498.tar.xz waveworks_archive-3eb017d032e0c542401ea202f7a62b7c7ddcd498.zip | |
Added the test_d3d11 app to the solution. Not compiling yet, mostly a paranoia commit.
Diffstat (limited to 'include/GFSDK_WaveWorks_Common.fxh')
| -rw-r--r-- | include/GFSDK_WaveWorks_Common.fxh | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/include/GFSDK_WaveWorks_Common.fxh b/include/GFSDK_WaveWorks_Common.fxh new file mode 100644 index 0000000..c100c8b --- /dev/null +++ b/include/GFSDK_WaveWorks_Common.fxh @@ -0,0 +1,79 @@ +/* + * 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 � 2008- 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. + */ + +#ifndef _GFSDK_WAVEWORKS_COMMON_FX +#define _GFSDK_WAVEWORKS_COMMON_FX +/* + * + * + */ +#if defined(GFSDK_WAVEWORKS_SM4) || defined(GFSDK_WAVEWORKS_SM5) + #define SampleTex2D(nvsf_texture,nvsf_sampler,nvsf_coords) nvsf_texture.Sample(nvsf_sampler,nvsf_coords) + #define SampleTex2Dlod(nvsf_texture,nvsf_sampler,nvsf_coords,nvsf_lod) nvsf_texture.SampleLevel(nvsf_sampler,nvsf_coords,nvsf_lod) + #define BEGIN_CBUFFER(name,slot) cbuffer name : register(b##slot) { + #define END_CBUFFER }; + #define SEMANTIC(x) : x +#elif defined(GFSDK_WAVEWORKS_SM3) + #define SampleTex2D(nvsf_texture,nvsf_sampler,nvsf_coords) tex2D(nvsf_sampler,nvsf_coords) + #define SampleTex2Dlod(nvsf_texture,nvsf_sampler,nvsf_coords,nvsf_lod) tex2Dlod(nvsf_sampler,float4(nvsf_coords,0,nvsf_lod)) + #define BEGIN_CBUFFER(name,slot) + #define END_CBUFFER + #define SV_Target COLOR + #define SV_Position POSITION + #define SEMANTIC(x) : x +#elif defined(GFSDK_WAVEWORKS_GNM) + #define SampleTex2D(nvsf_texture,nvsf_sampler,nvsf_coords) nvsf_texture.Sample(nvsf_sampler,nvsf_coords) + #define SampleTex2Dlod(nvsf_texture,nvsf_sampler,nvsf_coords,nvsf_lod) nvsf_texture.SampleLOD(nvsf_sampler,nvsf_coords,nvsf_lod) + #define BEGIN_CBUFFER(name,slot) ConstantBuffer name : register(b##slot) { + #define END_CBUFFER }; + #define SV_Target S_TARGET_OUTPUT + #define SV_Position S_POSITION + #define SEMANTIC(x) : x +#elif defined(GFSDK_WAVEWORKS_GL) + #define SampleTex2D(nvsf_texture,nvsf_sampler,nvsf_coords) texture(nvsf_sampler,nvsf_coords) + #define SampleTex2Dlod(nvsf_texture,nvsf_sampler,nvsf_coords,nvsf_lod) textureLod(nvsf_sampler,nvsf_coords,nvsf_lod) + #define BEGIN_CBUFFER(name,slot) + #define END_CBUFFER + #define SEMANTIC(x) + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define float4x3 mat3x4 + //vec3 mul(vec4 v, mat3x4 m) { return v * m; } + #define mul(v,m) ((v)*(m)) + #define lerp mix + #define saturate(x) clamp(x,0.0,1.0) +#else + #error Shader model not defined (expected GFSDK_WAVEWORKS_SM3, GFSDK_WAVEWORKS_SM4, GFSDK_WAVEWORKS_SM5, GFSDK_WAVEWORKS_GNM or GFSDK_WAVEWORKS_GL) +#endif +/* + * + * + */ +#endif /* _GFSDK_WAVEWORKS_COMMON_FX */ |