Co druga linia na czarno.

Shadery i tematy z nimi związane.

Co druga linia na czarno.

Postprzez sadek9 » 28 Lis 2014, 00:43

Cześć,

jestem w trakcie pisania swojego pierwszego shadera i na chwilę obceną umiem zaimplementować texture razem z odpowiednią konwersją oświetlenia na swój GameObject.

Docelowo chcę alby shader ten wyświetlał co drugą linię pixeli na mojej teksturze jako czarną linię.
Na chwile obecną mam taką część kodu odpowiedzialną za nałożenie tekstury na mój GameObject:

Kod: Zaznacz wszystko
//Textured Maps
 
 
 float4 tex = tex2D(_MainTex, i.tex.xy*_MainTex_ST.xy+_MainTex_ST.zw);
               
             
 return float4(tex.xyz * lightFinal * _Color.rgb, 1.0);


Ktoś może doradzić co dopisać, aby do druga linia pixeli na teksturze była wyświetlana jako czarna linia?
sadek9
 
Posty: 13
Rejestracja: 28 Wrz 2014, 19:45
Has thanked: 0 time
Been thanked: 0 time

Re: Co druga linia na czarno.

Postprzez ValaAntha » 02 Gru 2014, 05:17

No z pomocą w shaderach może być ciężko bo raczej tak myślę że na tym forum shader-ów tutaj nikt nie programuje ;/
Awatar użytkownika
ValaAntha
 
Posty: 479
Rejestracja: 17 Gru 2011, 03:37
Miejscowość: Olsztynek
Has thanked: 0 time
Been thanked: 0 time

Re: Co druga linia na czarno.

Postprzez Dartmoor » 26 Kwi 2015, 21:45

Może się komuś przyda.

Kod: Zaznacz wszystko
Shader "Custom/BWShader" {
   Properties {
      _Color ("Color", Color) = (1,1,1,1)
      _MainTex ("Albedo (RGB)", 2D) = "white" {}
      _Glossiness ("Smoothness", Range(0,1)) = 0.5
      _Metallic ("Metallic", Range(0,1)) = 0.0
      _Lines ("Lines number",  Range(0,1000)) = 100
   }
   SubShader {
      Tags { "RenderType"="Opaque" }
      LOD 200
      
      CGPROGRAM

      #pragma surface surf Standard fullforwardshadows
      

      sampler2D _MainTex;

      struct Input {
         float2 uv_MainTex;
          float4 screenPos;
      };

      half _Glossiness;
      half _Metallic;
      half _Lines;
      fixed4 _Color;

      void surf (Input IN, inout SurfaceOutputStandard o) {
         
         fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
         
         float screenUV = IN.screenPos.x / IN.screenPos.w;
         float f =  fmod(screenUV * _Lines,2);
         
         o.Albedo = c * f;
         o.Metallic = _Metallic;
         o.Smoothness = _Glossiness;
         o.Alpha = c.a;
      }
      ENDCG
   }
   FallBack "Diffuse"
}
Dartmoor
 
Posty: 14
Rejestracja: 26 Kwi 2015, 21:38
Has thanked: 0 time
Been thanked: 0 time


Wróć do Shader Lab

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość

cron