Страница 1 из 1

Странное поведение альфы

СообщениеДобавлено: 09 июн 2017, 13:40
eonyanov
Вот две картинки. Исходная сверху.
Скрытый текст:
Изображение

Как видно, у желтой заливки слева всё гладко.
Это стандартное отображение UI.Image;
Затем я делаю в своем шейдере так:
Синтаксис:
Используется csharp
....
 _FillAmount ("Fill Amount", range(0,1)) = 1
....
....
fixed4 frag(v2f IN) : SV_Target
            {
                half4 c = tex2D(_MainTex, IN.texcoord) * IN.color;
                c.a = c.a *  floor(_FillAmount / IN.texcoord.x);          
                clip (c.a - 0.01);
                return c;
            }
 

_FillAmount задается в параметрах шейдера.
И получается уже нижняя картинка.
Почему так получается, ведь floor в моем случае возвращает 0 или 1.

Пока обошелся таким решением:
Синтаксис:
Используется csharp
 
          fixed4 frag(v2f IN) : SV_Target
            {
                half4 c = tex2D(_MainTex, IN.texcoord) * IN.color;
//                c.a = c.a *  floor(_FillAmount / IN.texcoord.x);          
                if(_FillAmount/IN.texcoord.x > 1)
                    c.a = c.a;
                 else
                    c.a = 0;
                clip (c.a - 0.01);
                return c;
            }