用到了一个新的PASS:GrabPass.效果图如下:
因为是先截取屏幕后,进行一个混合运算,黄色方块虽然在plane的前方,但还是会有扭曲的效果.如果要实现清澈河流的效果.可能还是用Render Texture 更加的合适.也更节省性能.
切线空间转换这里现在还不是很懂.当前只是把代码扒下来.有空回头再看几遍空间转换.
Shader"wx/Glass"{
Properties{
_MainTex("Main Tex",2D)="white"{}
_BumpMap("Normal Map",2D)="bump"{}
_CubeMap("Environment Cubemap",Cube)="_Skybox"{}
_Distortion("Distortion",Range(0,100))=10
_RefractAmount("Refract Amount",Range(0,1.0))=1.0
}
SubShader{
Tags{"Queue"="Transparent" "RenderType"="Opaque"}
GrabPass{"_RefractionTex"}
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#incl