added a shader folder for the stock shaders started the StockShaderCodeGenerator tool added a tools solution file added a bin folder in tools folder for precompiled tools and changed tools project files removed StockEffects content project from solution and added the effect files to the shader folder for reference
59 lines
1.7 KiB
HLSL
59 lines
1.7 KiB
HLSL
//-----------------------------------------------------------------------------
|
|
// Macros.fxh
|
|
//
|
|
// Microsoft XNA Community Game Platform
|
|
// Copyright (C) Microsoft Corporation. All rights reserved.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifdef SM4
|
|
|
|
|
|
// Macros for targetting shader model 4.0 (DX11)
|
|
|
|
#define BEGIN_CONSTANTS cbuffer Parameters : register(b0) {
|
|
#define MATRIX_CONSTANTS }; cbuffer ProjectionMatrix : register(b1) {
|
|
#define END_CONSTANTS };
|
|
|
|
#define _vs(r)
|
|
#define _ps(r)
|
|
#define _cb(r) : packoffset(r)
|
|
|
|
#define DECLARE_TEXTURE(Name, index) \
|
|
Texture2D<float4> Name : register(t##index); \
|
|
sampler Name##Sampler : register(s##index)
|
|
|
|
#define DECLARE_CUBEMAP(Name, index) \
|
|
TextureCube<float4> Name : register(t##index); \
|
|
sampler Name##Sampler : register(s##index)
|
|
|
|
#define SAMPLE_TEXTURE(Name, texCoord) Name.Sample(Name##Sampler, texCoord)
|
|
#define SAMPLE_CUBEMAP(Name, texCoord) Name.Sample(Name##Sampler, texCoord)
|
|
|
|
|
|
#else
|
|
|
|
|
|
// Macros for targetting shader model 2.0 (DX9)
|
|
|
|
#define BEGIN_CONSTANTS
|
|
#define MATRIX_CONSTANTS
|
|
#define END_CONSTANTS
|
|
|
|
#define _vs(r) : register(vs, r)
|
|
#define _ps(r) : register(ps, r)
|
|
#define _cb(r)
|
|
|
|
#define DECLARE_TEXTURE(Name, index) \
|
|
texture2D Name; \
|
|
sampler Name##Sampler : register(s##index) = sampler_state { Texture = (Name); };
|
|
|
|
#define DECLARE_CUBEMAP(Name, index) \
|
|
textureCUBE Name; \
|
|
sampler Name##Sampler : register(s##index) = sampler_state { Texture = (Name); };
|
|
|
|
#define SAMPLE_TEXTURE(Name, texCoord) tex2D(Name##Sampler, texCoord)
|
|
#define SAMPLE_CUBEMAP(Name, texCoord) texCUBE(Name##Sampler, texCoord)
|
|
|
|
|
|
#endif
|