67 lines
1.5 KiB
C#
67 lines
1.5 KiB
C#
|
using System;
|
|||
|
using System.IO;
|
|||
|
|
|||
|
namespace HLSLParserTests
|
|||
|
{
|
|||
|
public static class HlslTestFile
|
|||
|
{
|
|||
|
private const string Source =
|
|||
|
@"// This file is part of the ANX.Framework created by the
|
|||
|
// ""ANX.Framework developer group"" and released under the Ms-PL license.
|
|||
|
// For details see: http://anxframework.codeplex.com/license
|
|||
|
|
|||
|
uniform extern float4x4 MatrixTransform;
|
|||
|
|
|||
|
Texture2D<float4> Texture : register(t0);
|
|||
|
sampler TextureSampler : register(s0);
|
|||
|
|
|||
|
struct VertexShaderInput
|
|||
|
{
|
|||
|
float4 pos : POSITION;
|
|||
|
float4 col : COLOR;
|
|||
|
float2 tex : TEXCOORD0;
|
|||
|
};
|
|||
|
|
|||
|
struct PixelShaderInput
|
|||
|
{
|
|||
|
float4 pos : SV_POSITION;
|
|||
|
float4 col : COLOR;
|
|||
|
float2 tex : TEXCOORD0;
|
|||
|
};
|
|||
|
|
|||
|
PixelShaderInput SpriteVertexShader( VertexShaderInput input )
|
|||
|
{
|
|||
|
PixelShaderInput output = (PixelShaderInput)0;
|
|||
|
|
|||
|
output.pos = mul(input.pos, MatrixTransform);
|
|||
|
output.col = input.col;
|
|||
|
output.tex = input.tex;
|
|||
|
|
|||
|
return output;
|
|||
|
}
|
|||
|
|
|||
|
float4 SpritePixelShader( PixelShaderInput input ) : SV_Target
|
|||
|
{
|
|||
|
return Texture.Sample(TextureSampler, input.tex) * input.col;
|
|||
|
}
|
|||
|
|
|||
|
technique10 SpriteTechnique
|
|||
|
{
|
|||
|
pass SpriteColorPass
|
|||
|
{
|
|||
|
SetGeometryShader( 0 );
|
|||
|
SetVertexShader( CompileShader( vs_4_0, SpriteVertexShader() ) );
|
|||
|
SetPixelShader( CompileShader( ps_4_0, SpritePixelShader() ) );
|
|||
|
}
|
|||
|
}
|
|||
|
";
|
|||
|
|
|||
|
public static string WriteTestFile()
|
|||
|
{
|
|||
|
string testFilepath = Path.GetTempFileName() + ".fx";
|
|||
|
File.WriteAllText(testFilepath, HlslTestFile.Source);
|
|||
|
return testFilepath;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|