Шейдер выдает черный квадрат

Шейдеры и все-все-все.

Шейдер выдает черный квадрат

Сообщение Vogd 20 май 2017, 09:08

Привет!

только начал вникать в шейдеры и сразу затык.

Хотел написать простой шейдер который не делает никаких изменений.

Синтаксис:
Используется csharp
Shader "Custom/Test"
  {
    Properties
    {
      _MainTex ("Texture (RGB)", 2D) = "white" {}
    }
    SubShader {
      Tags { "RenderType" = "Opaque" }
      Cull Off
      CGPROGRAM
      //if you're not planning on using shadows, remove "addshadow" for better performance
      #pragma surface surf Lambert
      struct Input {
          float2 uv_MainTex;
      };
      sampler2D _MainTex;
      void surf (Input IN, inout SurfaceOutput o)
      {
            float4 tex = tex2D (_MainTex, IN.uv_MainTex);

           o.Albedo = tex.rgb;
      }
      ENDCG
    }
    Fallback "Diffuse"
  }
 


Если назначить этот шейдер на картинку, то в редакторе она выглядит затемненной, а в игре черным квадратом (если картинка - UI) и так же затемненная если обычный Image
Почему он затемняет картинку? Я же вроде на выход передаю цвет без изменений?
Почему в UI черный квадрат?
Для UI шейдеры не работают или что-то с освещением?
Vogd
UNIт
 
Сообщения: 55
Зарегистрирован: 04 май 2016, 15:46

Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2