查看: 1928|回复: 8
打印 上一主题 下一主题

一个玻璃的Shader

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-9-2 08:21:00 |只看该作者 |倒序浏览
Shader "Reflective/Glass" {   

    Properties {   

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

        _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)   

        _Shininess ("Shininess", Range (0.01, 1)) = 0.078125   

        _ReflectColor ("Reflect Strength", Color) = (1,1,1,0.5)   

        _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {}   

        _Parallax ("Height", Range (0.005, 0.08)) = 0.02   

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

    }   

    SubShader   

    {   

        LOD 300   

        Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}   

        Blend one OneMinusDstColor   

        ZWrite Off   

           

        // First pass does reflection cubemap   

        Pass   

        {   

            Name "BASE"  

            Tags {"LightMode" = "Always"}   

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;   

    float2 uv : TEXCOORD0;   

    float3 I : TEXCOORD1;   

};   

  

uniform float4 _MainTex_ST;   

  

v2f vert(appdata_tan v)   

{   

    v2f o;   

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

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

  

    // calculate object space reflection vector   

    float3 viewDir = ObjSpaceViewDir( v.vertex );   

    float3 I = reflect( -viewDir, v.normal );   

      

    // transform to world space reflection vector   

    o.I = mul( (float3x3)_Object2World, I );   

      

    return o;   

}   

  

uniform sampler2D _MainTex;   

uniform samplerCUBE _Cube;   

uniform float4 _ReflectColor;   

  

half4 frag (v2f i) : COLOR   

{   

    half4 texcol = tex2D (_MainTex, i.uv);   

    half4 reflcol = texCUBE( _Cube, i.I );   

    reflcol *= texcol.a;   

    return reflcol * _ReflectColor;   

}   

ENDCG   

        }   

  

        UsePass "arallax Specular/PPL"  

  

    }   

    FallBack "Reflective/VertexLit", 1   

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

使用道具 举报

Asen    

867

主题

0

听众

1万

积分

外协人员

Rank: 7Rank: 7Rank: 7

纳金币
17488
精华
1
沙发
发表于 2011-9-2 09:01:55 |只看该作者

回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

板凳
发表于 2012-4-1 23:19:33 |只看该作者
我无语!
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

地板
发表于 2012-4-26 23:24:25 |只看该作者
好可爱的字,学习了
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

5#
发表于 2012-6-16 23:21:48 |只看该作者
发了那么多,我都不知道该用哪个给你回帖了,呵呵
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

6#
发表于 2012-8-3 01:52:44 |只看该作者
不会吧,太恐怖了
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

7#
发表于 2012-8-3 01:53:53 |只看该作者
好铁多多发,感激分享
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

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

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

9#
发表于 2012-12-1 23:25:57 |只看该作者
已阵亡的 蝶 随 风 舞 说过  偶尔按一下 CTRL A 会发现 世界还有另一面
回复

使用道具 举报

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

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

GMT+8, 2025-7-23 04:47 , Processed in 0.076091 second(s), 29 queries .

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

© 2008-2019 Narkii Inc.

回顶部