solid.effect 982 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. uniform float4x4 ViewProj;
  2. uniform float4 color = {1.0, 1.0, 1.0, 1.0};
  3. struct SolidVertInOut {
  4. float4 pos : POSITION;
  5. };
  6. SolidVertInOut VSSolid(SolidVertInOut vert_in)
  7. {
  8. SolidVertInOut vert_out;
  9. vert_out.pos = mul(float4(vert_in.pos.xyz, 1.0), ViewProj);
  10. return vert_out;
  11. }
  12. float4 PSSolid(SolidVertInOut vert_in) : TARGET
  13. {
  14. return color;
  15. }
  16. struct SolidColoredVertInOut {
  17. float4 pos : POSITION;
  18. float4 color : COLOR;
  19. };
  20. SolidColoredVertInOut VSSolidColored(SolidColoredVertInOut vert_in)
  21. {
  22. SolidColoredVertInOut vert_out;
  23. vert_out.pos = mul(float4(vert_in.pos.xyz, 1.0), ViewProj);
  24. vert_out.color = vert_in.color;
  25. return vert_out;
  26. }
  27. float4 PSSolidColored(SolidColoredVertInOut vert_in) : TARGET
  28. {
  29. return vert_in.color * color;
  30. }
  31. technique Solid
  32. {
  33. pass
  34. {
  35. vertex_shader = VSSolid(vert_in);
  36. pixel_shader = PSSolid(vert_in);
  37. }
  38. }
  39. technique SolidColored
  40. {
  41. pass
  42. {
  43. vertex_shader = VSSolidColored(vert_in);
  44. pixel_shader = PSSolidColored(vert_in);
  45. }
  46. }