IconGizmo.bsl 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. shader IconGizmo
  2. {
  3. pass
  4. {
  5. blend
  6. {
  7. target
  8. {
  9. enabled = true;
  10. color = { srcA, srcIA, add };
  11. };
  12. };
  13. depth
  14. {
  15. write = false;
  16. compare = lte;
  17. };
  18. code
  19. {
  20. cbuffer Uniforms
  21. {
  22. float4x4 gMatViewProj;
  23. float4 gViewDir;
  24. }
  25. void vsmain(
  26. in float3 inPos : POSITION,
  27. in float2 uv : TEXCOORD0,
  28. in float4 color : COLOR0,
  29. out float4 oPosition : SV_Position,
  30. out float2 oUv : TEXCOORD0,
  31. out float4 oColor : COLOR0)
  32. {
  33. oPosition = mul(gMatViewProj, float4(inPos.xyz, 1));
  34. oUv = uv;
  35. oColor = color;
  36. }
  37. SamplerState gMainTexSamp : register(s0);
  38. Texture2D gMainTexture : register(t0);
  39. float4 fsmain(
  40. in float4 inPos : SV_Position,
  41. float2 uv : TEXCOORD0,
  42. float4 color : COLOR0) : SV_Target
  43. {
  44. return color * gMainTexture.Sample(gMainTexSamp, uv);
  45. }
  46. };
  47. };
  48. pass
  49. {
  50. blend
  51. {
  52. target
  53. {
  54. enabled = true;
  55. color = { srcA, srcIA, add };
  56. };
  57. };
  58. depth
  59. {
  60. write = false;
  61. compare = gt;
  62. };
  63. code
  64. {
  65. cbuffer Uniforms
  66. {
  67. float4x4 gMatViewProj;
  68. float4 gViewDir;
  69. }
  70. void vsmain(
  71. in float3 inPos : POSITION,
  72. in float2 uv : TEXCOORD0,
  73. in float4 color : COLOR1,
  74. out float4 oPosition : SV_Position,
  75. out float2 oUv : TEXCOORD0,
  76. out float4 oColor : COLOR0)
  77. {
  78. oPosition = mul(gMatViewProj, float4(inPos.xyz, 1));
  79. oUv = uv;
  80. oColor = color;
  81. }
  82. SamplerState gMainTexSamp : register(s0);
  83. Texture2D gMainTexture : register(t0);
  84. float4 fsmain(
  85. in float4 inPos : SV_Position,
  86. float2 uv : TEXCOORD0,
  87. float4 color : COLOR0) : SV_Target
  88. {
  89. return color * gMainTexture.Sample(gMainTexSamp, uv);
  90. }
  91. };
  92. };
  93. };