Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. Shader "Custom/Limiter" {
  2. Properties
  3. {
  4. _MainTex ("Texture", 2D) = "white" {}
  5. _PalTex ("Pallete", 2D) = "white" {}
  6. }
  7. SubShader
  8. {
  9. // No culling or depth
  10. Cull Off ZWrite Off ZTest Always
  11.  
  12. Pass
  13. {
  14. CGPROGRAM
  15. #pragma vertex vert
  16. #pragma fragment frag
  17.  
  18. #include "UnityCG.cginc"
  19.  
  20. struct appdata
  21. {
  22. float4 vertex : POSITION;
  23. float2 uv : TEXCOORD0;
  24. };
  25.  
  26. struct v2f
  27. {
  28. float2 uv : TEXCOORD0;
  29. float4 vertex : SV_POSITION;
  30. };
  31.  
  32. v2f vert (appdata v)
  33. {
  34. v2f o;
  35. o.vertex = UnityObjectToClipPos(v.vertex);
  36. o.uv = v.uv;
  37. return o;
  38. }
  39.  
  40. sampler2D _MainTex;
  41. sampler2D _PalTex;
  42.  
  43. fixed4 frag (v2f i) : SV_Target
  44. {
  45. float4 baseCol = tex2D(_MainTex, i.uv);
  46. float4 palCol = tex2D(_PalTex, 0);
  47. float palDiff = 1000;
  48.  
  49. for (int p = 4; p < 8; p++) {
  50. float baseColDiff = abs(tex2D(_PalTex, p).r - baseCol.r) + abs(tex2D(_PalTex, p).g - baseCol.g) + abs(tex2D(_PalTex, p).b - baseCol.b);
  51. palDiff = min(palDiff, baseColDiff);
  52. palCol = (abs(palDiff - baseColDiff) < 0.001) ? tex2D(_PalTex, p) : palCol;
  53. }
  54.  
  55. return palCol;
  56. }
  57. ENDCG
  58. }
  59. }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement