hlsl.multiDescriptorSet.frag 903 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. Texture2D txDiffuseA : register( t0 );
  2. Texture2D txDiffuseB : register( t1 );
  3. SamplerState samLinearA : register( s0 );
  4. SamplerState samLinearB : register( s1 );
  5. cbuffer cbNeverChanges : register( b0 )
  6. {
  7. matrix View;
  8. };
  9. cbuffer cbChangeOnResize : register( b1 )
  10. {
  11. matrix Projection;
  12. };
  13. cbuffer cbChangesEveryFrame : register( b2 )
  14. {
  15. matrix World;
  16. float4 vMeshColor;
  17. };
  18. struct VS_INPUT
  19. {
  20. float4 Pos : POSITION;
  21. float2 Tex : TEXCOORD0;
  22. };
  23. struct PS_INPUT
  24. {
  25. float4 Pos : SV_POSITION;
  26. float2 Tex : TEXCOORD0;
  27. };
  28. float4 main( PS_INPUT input) : SV_Target
  29. {
  30. PS_INPUT output = (PS_INPUT)0;
  31. output.Pos = mul( input.Pos, World );
  32. output.Pos = mul( output.Pos, View );
  33. output.Pos = mul( output.Pos, Projection );
  34. output.Tex = input.Tex;
  35. return txDiffuseA.Sample( samLinearA, output.Tex ) * vMeshColor;
  36. }