Texture2D txDiffuseA : register( t0 ); | |
Texture2D txDiffuseB : register( t1 ); | |
SamplerState samLinearA : register( s0 ); | |
SamplerState samLinearB : register( s1 ); | |
cbuffer cbNeverChanges : register( b0 ) | |
{ | |
matrix View; | |
}; | |
cbuffer cbChangeOnResize : register( b1 ) | |
{ | |
matrix Projection; | |
}; | |
cbuffer cbChangesEveryFrame : register( b2 ) | |
{ | |
matrix World; | |
float4 vMeshColor; | |
}; | |
struct VS_INPUT | |
{ | |
float4 Pos : POSITION; | |
float2 Tex : TEXCOORD0; | |
}; | |
struct PS_INPUT | |
{ | |
float4 Pos : SV_POSITION; | |
float2 Tex : TEXCOORD0; | |
}; | |
float4 main( PS_INPUT input) : SV_Target | |
{ | |
PS_INPUT output = (PS_INPUT)0; | |
output.Pos = mul( input.Pos, World ); | |
output.Pos = mul( output.Pos, View ); | |
output.Pos = mul( output.Pos, Projection ); | |
output.Tex = input.Tex; | |
return txDiffuseA.Sample( samLinearA, output.Tex ) * vMeshColor; | |
} |