Witam! próbuje napisać Shader Dla Unity, i moje pytanie w Properties mam dwie textury, pierwsza jest główną, a druga ma być jakby paletą barw i moje pytanie, jak w pętli pobrać kolor każdego piksela danej Textury (_ColMap )?
Dziękuje za pomoc!
Dobra z pobieraniem kolorów sobie poradziłem, ale jest taki problem, że program pozycje piksela ma pomiędzy wartościami 0,0 a 1,1 (dolny lewy róg, prawy górny czy jakoś tak) zmiana kolorów na bitmapie następuje przejściem gradientowym czyli kolory są zmieniane tonacyjnie, a ja chcę żeby kolory bitmapy pozostawały nie zmienne i takich barw jakie użyłem w niej, żeby takie zostały. Jak to można zrobić?
Shader "DegColors" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_ColMap ("Color Texture", 2D) = "white" {}
}
SubShader {
Pass {
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform Texture2D _ColMap;
fixed4 frag(v2f_img i) : COLOR {
fixed3 original = tex2D (_MainTex, i.uv).rgb;
fixed R=original.r,G=original.g,B=original.b;
// W tej funkcji chciałbym wstawić właśnie taką pętle.
fixed4 col = fixed4 (R,G,B,1);
return col;
}
ENDCG
}
}
}