Zaslal: Fresnel shader.
Popis: Jednoduchý Fresnel shader pro auta do Unity. Zkoušeno ve verzi 3.5.
Jazyk: C
Vloženo: 7.12.2015, 11:22
Stáhnout jako soubor
Shader "Custom/Fresnel" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _Reflection ("Reflection (RGB)", Cube) = "white" {} _Color ("Color", Color) = (1.0, 1.0, 1.0, 0) _FresnelPower ("Fresnel Power", Float) = 2 _FresnelBias ("Fresnel Bias", Float) = 0.1 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf BlinnPhong sampler2D _MainTex; samplerCUBE _Reflection; float4 _Color; float _FresnelPower; float _FresnelBias; struct Input { float2 uv_MainTex; float3 worldRefl; float3 worldNormal; float3 viewDir; }; float fresnel(float3 I, float3 N, float power, float bias) { return saturate(pow(1.0-abs(dot(I, N)), power) + bias); } void surf (Input IN, inout SurfaceOutput o) { float fres = fresnel(normalize(IN.viewDir), IN.worldNormal, _FresnelPower, _FresnelBias); half4 r = texCUBE(_Reflection, IN.worldRefl); half4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = lerp(c.rgb * _Color.rgb, r.rgb, fres * c.a); o.Alpha = 0.0; } ENDCG } FallBack "Diffuse" }
© 2006 Michal Tuláček, Syntax Highlight - GeSHi (thx bref)