123 第1页 | 共3 页下一页
返回列表 发新帖
查看: 6194|回复: 23
打印 上一主题 下一主题

unity3d建筑玻璃shader代码

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-9-8 08:31:37 |只看该作者 |倒序浏览
Shader "Building/Glass" {

Properties {

_Lightmap ("Lightmap (RGB) Reflectiveness (A)", 2D) = "black" {}

_Color ("Main Color", Color) = (1,1,1,1)

_Cube ("Reflection Cubemap", Cube) = "" { TexGen CubeReflect }

}

  

Category {

Tags { "Queue" = "Transparent-110" }

Blend SrcAlpha OneMinusSrcAlpha

Lighting Off

Colormask RGB

  

// ---- fragment program cards

SubShader {

Pass {

  

CGPROGRAM

#pragma vertex vert

#pragma fragment frag

#pragma fragmentoption ARB_fog_exp2

#pragma fragmentoption ARB_precision_hint_fastest

#include "UnityCG.cginc"

  

struct v2f {

V2F_POS_FOG;

float3 normal;

float3 viewDir;

float3 rotNormal;

float2 uv;

};

  

uniform float4x4 _RotMatrix;

uniform float4 _Lightmap_ST;

  

v2f vert (appdata_tan v)

{

v2f o;

PositionFog( v.vertex, o.pos, o.fog );

o.normal = mul( (float3x3)_Object2World, v.normal );

o.rotNormal = mul( (float3x3)_RotMatrix, o.normal );

o.viewDir = mul( (float3x3)_Object2World, ObjSpaceViewDir(v.vertex) );

o.uv = TRANSFORM_TEX(v.texcoord, _Lightmap);

return o;

}

  

uniform samplerCUBE _Cube;

uniform float4 _Color;

uniform sampler2D _Lightmap;

  

float4 frag (v2f i) : COLOR

{

float3 normal = i.normal;

i.viewDir = normalize(i.viewDir);

half nsv = saturate(dot( normal, i.viewDir ));

  

// calculate reflection vector in world space

half3 r = reflect(-i.viewDir, i.rotNormal);

  

half4 lightmapColor = tex2D(_Lightmap, i.uv);

half4 reflcolor = texCUBE(_Cube, r);

  

half fresnel = 1 - nsv*0.5;

half fresnelAlpha = 1 - nsv * (1 - _Color.a);

half4 c = half4( lerp( _Color.rgb, reflcolor.rgb, fresnel * lightmapColor.a ), fresnelAlpha );

  

c.rgb *= lightmapColor.rgb;

  

return c;

}

ENDCG

}

}

  

// ---- cards that can do cube maps

SubShader {

Pass {

SetTexture [_Cube] { matrix[_RotMatrix] constantColor(1,1,1,0.5) combine texture, constant }

}

}

  

// ---- cards that can't do anything

SubShader {

Pass {

Color (1,1,1,0.3)

}

}

}

  

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

使用道具 举报

Asen    

867

主题

0

听众

1万

积分

外协人员

Rank: 7Rank: 7Rank: 7

纳金币
17488
精华
1
沙发
发表于 2011-9-8 09:24:07 |只看该作者
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

板凳
发表于 2012-1-21 23:30:12 |只看该作者
每年短信都很卡,今年提前一点发,就算网络再怎么忙,保准我是第一个,祝福提前到:运气顺顺顺,一切旺旺旺,一年更比一年强!收到有福啦!
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

地板
发表于 2012-1-27 23:28:48 |只看该作者
得得失失平常事,是是非非任由之,恩恩怨怨心不愧,冷冷暖暖我自知,坎坎坷坷人生路,曲曲折折事业梯,凡事不必太在意,愿你一生好运气!
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

5#
发表于 2012-1-31 23:19:49 |只看该作者
万事胜意,合家幸福,人强马壮,心想事成,顺理成章 步步高升。
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

6#
发表于 2012-3-10 23:32:20 |只看该作者
百度的叫度娘,网易的叫易娘,新浪内部还在为是叫新娘还是浪娘而争论不休!……不管你们是企鹅的额娘,豆瓣的伴娘,还是华为的伪娘,都要记得,淘宝才是你们的亲娘啊!亲!!
回复

使用道具 举报

409

主题

1

听众

8429

积分

高级设计师

Rank: 6Rank: 6

纳金币
8423
精华
0

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

7#
发表于 2012-3-16 17:49:29 |只看该作者
回复

使用道具 举报

409

主题

1

听众

8429

积分

高级设计师

Rank: 6Rank: 6

纳金币
8423
精华
0

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

8#
发表于 2012-3-16 17:49:38 |只看该作者
回复

使用道具 举报

409

主题

1

听众

8429

积分

高级设计师

Rank: 6Rank: 6

纳金币
8423
精华
0

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

9#
发表于 2012-3-16 17:49:57 |只看该作者
谢谢啦
回复

使用道具 举报

409

主题

1

听众

8429

积分

高级设计师

Rank: 6Rank: 6

纳金币
8423
精华
0

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

10#
发表于 2012-3-16 17:51:10 |只看该作者
回复

使用道具 举报

123 第1页 | 共3 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2024-11-19 04:47 , Processed in 0.101001 second(s), 28 queries .

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

© 2008-2019 Narkii Inc.

回顶部