GizmoPickingAlpha.bsl 805 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. shader GizmoPickingAlpha
  2. {
  3. raster
  4. {
  5. scissor = true;
  6. };
  7. code
  8. {
  9. cbuffer Uniforms
  10. {
  11. float4x4 gMatViewProj;
  12. float gAlphaCutoff;
  13. }
  14. void vsmain(
  15. in float3 inPos : POSITION,
  16. in float2 uv : TEXCOORD0,
  17. in float4 color : COLOR0,
  18. out float4 oPosition : SV_Position,
  19. out float2 oUv : TEXCOORD0,
  20. out float4 oColor : COLOR0)
  21. {
  22. oPosition = mul(gMatViewProj, float4(inPos.xyz, 1));
  23. oUv = uv;
  24. oColor = color;
  25. }
  26. SamplerState gMainTexSamp : register(s0);
  27. Texture2D gMainTexture : register(t0);
  28. float4 fsmain(in float4 inPos : SV_Position,
  29. in float2 uv : TEXCOORD0,
  30. in float4 inColor : COLOR0) : SV_Target
  31. {
  32. float4 color = gMainTexture.Sample(gMainTexSamp, uv);
  33. if(color.a < gAlphaCutoff)
  34. discard;
  35. return inColor;
  36. }
  37. };
  38. };