查看: 1888|回复: 4
打印 上一主题 下一主题

卡通渲染效果shard-1

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-3-9 11:13:34 |只看该作者 |倒序浏览
Shader "Hidden/Edge Detect Normals" {
Properties {

_MainTex ("Base (RGB)", RECT) = "white" {}

_NormalsTexture ("Normals", 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 samplerRECT _NormalsTexture;

uniform float4 _MainTex_***lSize;
s***ct v2f {

float4 pos : POSITION;

float2 uv[3] : TEXCOORD0;

};
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_***lSize.x, -_MainTex_***lSize.y);

o.uv[2] = uv + float2(+_MainTex_***lSize.x, -_MainTex_***lSize.y);

return o;

}
half4 frag (v2f i) : COLOR

{

half4 original = texRECT(_MainTex, i.uv[0]);



// three samples from normals+depth buffer  

half4 normalD1 = texRECT(_NormalsTexture, i.uv[0]);

half4 normalD2 = texRECT(_NormalsTexture, i.uv[1]);

half4 normalD3 = texRECT(_NormalsTexture, i.uv[2]);



// normals filter

half3 n1 = normalD1.rgb*2-1;

half3 n2 = normalD2.rgb*2-1;

half3 n3 = normalD3.rgb*2-1;

half2 ndiff;

ndiff.x = dot( n1, n2 );

ndiff.y = dot( n1, n3 );

ndiff -= 0.9;

ndiff = ndiff > half2(0,0) ? half2(1,1) : half2(0,0);

half ndiff1 = ndiff.x * ndiff.y;

original.rgb *= ndiff1;



// depth filter

float2 zdiff;

zdiff.x = normalD1.a - normalD2.a;

zdiff.y = normalD1.a - normalD3.a;

zdiff = abs( zdiff ) - 0.05;

zdiff = zdiff > half2(0,0) ? half2(0,0) : half2(1,1);

original *= zdiff.x*zdiff.y;



return original;

}

ENDCG

}

}
Fallback off
}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

5472

主题

6

听众

1万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
76544
精华
23

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-3-9 16:30:10 |只看该作者
图片呢?
回复

使用道具 举报

643

主题

1

听众

9937

积分

高级设计师

Rank: 6Rank: 6

纳金币
9935
精华
1

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-3-9 17:39:56 |只看该作者
什么东东
回复

使用道具 举报

643

主题

1

听众

9937

积分

高级设计师

Rank: 6Rank: 6

纳金币
9935
精华
1

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-3-9 17:43:53 |只看该作者
这是什么啊
回复

使用道具 举报

103

主题

1

听众

7956

积分

高级设计师

Rank: 6Rank: 6

纳金币
7953
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-3-9 20:04:45 |只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-16 05:48 , Processed in 0.245403 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部