Image Effects -> Edge Color

Эффекты постобработки

Image Effects -> Edge Color

Сообщение pak 17 дек 2009, 13:03

Цветной контур.
Edge.jpg

Код: Выделить всё
Shader "Hidden/Edge Color" {
Properties {
   _MainTex ("Base (RGB)", RECT) = "white" {}
}

SubShader {
   Pass {
      ZTest Always Cull Off ZWrite Off
      Fog { Mode off }

CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"

uniform samplerRECT _MainTex;
uniform float4 _MainTex_TexelSize;
uniform float _Treshold;

struct v2f {
   float4 pos : POSITION;
   float2 uv[5] : TEXCOORD0;
   float z ;
};

v2f vert( appdata_img v )
{
   v2f o;
   o.pos = mul (glstate.matrix.mvp, v.vertex);
   float2 uv = MultiplyUV( glstate.matrix.texture[0], v.texcoord );
   o.uv[0] = uv;
   o.uv[1] = uv + float2(-_MainTex_TexelSize.x, 0);
   o.uv[2] = uv + float2(+_MainTex_TexelSize.x, 0);
   o.uv[3] = uv + float2(0, -_MainTex_TexelSize.y);
   o.uv[4] = uv + float2(0, +_MainTex_TexelSize.y);
   return o;
}

half4 frag (v2f i) : COLOR
{
   half4 original = texRECT(_MainTex, i.uv[0]);

   // a very simple cross gradient filter
   half3 p1 = original.rgb;
   half3 p2 = texRECT( _MainTex, i.uv[1] ).rgb;
   half3 p3 = texRECT( _MainTex, i.uv[2] ).rgb;
   half3 p4 = texRECT( _MainTex, i.uv[3] ).rgb;
   half3 p5 = texRECT( _MainTex, i.uv[4] ).rgb;
   
   half3 p6 = (p2+p3+p4+p5)*0.25;
   half3 diff1 = abs(p1-p2);
   half3 diff2 = abs(p1-p3);
   half3 diff3 = abs(p1-p4);
   half3 diff4 = abs(p1-p5);
   half3 diff=diff1;
   if (diff2>diff) diff=diff2;
   if (diff3>diff) diff=diff3;   
   if (diff4>diff) diff=diff4;      
   diff=diff*2-diff*diff;
   diff=diff*2-diff*diff;
   original.rgb = diff;
      
   return original;
}
ENDCG
   }
}

Fallback off

}
У вас нет доступа для просмотра вложений в этом сообщении.
pak
UNец
 
Сообщения: 8
Зарегистрирован: 17 сен 2009, 10:22

Re: Image Effects -> Edge Color

Сообщение Neodrop 17 дек 2009, 17:06

(3A4OT)
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Image Effects -> Edge Color

Сообщение mvladlin 24 май 2010, 17:24

не могу подцепить текстуру в инспекторе для проверки шейдера
что это за RECT текстура такая особенная?
Аватара пользователя
mvladlin
UNIт
 
Сообщения: 112
Зарегистрирован: 11 июл 2009, 19:53
Откуда: MO

Re: Image Effects -> Edge Color

Сообщение Battou 19 дек 2010, 19:12

Ха, церквушка из родного коломенского, у меня её из окна видно.)))) Сорри за оффтоп.
Battou
UNIт
 
Сообщения: 116
Зарегистрирован: 24 ноя 2010, 18:08

Re: Image Effects -> Edge Color

Сообщение Александр 22 мар 2012, 16:33

Может кто знает, как сделать так, что бы контур одного объекта, выводился сквозь другие объекты? Уже голову сломал :((
Александр
UNец
 
Сообщения: 16
Зарегистрирован: 05 янв 2010, 20:10


Вернуться в Post-effects

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

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