| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | 
							- #ifndef CALMWATER_VARIABLES_INCLUDED
 
- #define CALMWATER_VARIABLES_INCLUDED
 
- UNITY_DECLARE_SCREENSPACE_TEXTURE(_GrabTexture);
 
- UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);//Fix for depth precision
 
- sampler2D _MainTex, _BumpMap, _BumpMapLarge, _FlowMap, _CapsMask, _FoamTex, _CausticsTex, _ReflectionTex, _DisplacementTex;
 
- half4 _BumpMap_ST, _BumpMapLarge_ST, _FlowMap_ST, _CapsMask_ST, _FoamTex_ST, _CausticsTex_ST, _DisplacementTex_ST;
 
- samplerCUBE _Cube;
 
- fixed4 _Color, _DepthColor, _CubeColor, _FoamColor, _ScatterColor;
 
- #ifndef LIGHTING_INCLUDED
 
- fixed3 _SpecColor;
 
- uniform fixed4 _LightColor0;
 
- #endif
 
- half4 _GrabTexture_TexelSize;
 
- float _EdgeFade, _BumpStrength, _BumpLargeStrength, _FlowSpeed, _FlowIntensity;
 
- float _DepthStart, _DepthEnd, _Distortion, _Reflection, _ReflectionNormals,_RimPower, _FoamSize, _CapsSpeed, _CapsIntensity, _CapsSize, _CubeDist;
 
- float _CausticsIntensity, _CausticsStart, _CausticsEnd, _CausticsSpeed;
 
- float _Amplitude, _Frequency, _Speed, _Steepness;
 
- float4 _Speeds, _SpeedsLarge, _WSpeed, _WDirectionAB, _WDirectionCD, _ScatterParams, _DisplacementSpeed;
 
- half _Smoothness;
 
- float _Tess, _Smoothing, _specFresnel, _specIntensity;
 
- #ifndef LIGHTCOLOR
 
- #define LIGHTCOLOR
 
- #endif
 
- struct appdata {
 
-     float4 vertex 	: POSITION;
 
-     float3 normal 	: NORMAL;
 
-     float4 tangent 	: TANGENT;
 
-     float2 texcoord : TEXCOORD0;
 
-     float2 texcoord1 : TEXCOORD1;
 
-     float4 color 	: COLOR;
 
-     UNITY_VERTEX_INPUT_INSTANCE_ID
 
- };
 
- // V2F
 
- struct v2f {
 
-     float4 pos : SV_POSITION;
 
-     fixed4 ambient : COLOR;
 
-     half4 tspace0 : TEXCOORD0; // tangent.x, bitangent.x, normal.x
 
-     half4 tspace1 : TEXCOORD1; // tangent.y, bitangent.y, normal.y
 
-     half4 tspace2 : TEXCOORD2; // tangent.z, bitangent.z, normal.z
 
-     float3 worldPos : TEXCOORD3; // w = distance
 
-     float4 GrabUV 	: TEXCOORD4;
 
-     float4 DepthUV	: TEXCOORD5;
 
- #if _BUMPMODE_SINGLE ||_BUMPMODE_DUAL
 
-     float4 AnimUV	: TEXCOORD6;
 
- #endif
 
- #if _BUMPMODE_DUAL
 
-     float2 AnimUV2 	: TEXCOORD7;
 
- #endif
 
- #if _BUMPMODE_FLOWMAP
 
-     float2 BumpUV		: TEXCOORD6;
 
-     float2 FlowMapUV	: TEXCOORD7;
 
- #endif
 
-     //#ifdef UNITY_PASS_FORWARDADD
 
-     UNITY_SHADOW_COORDS(8)
 
-         //#endif
 
- #ifdef UNITY_PASS_FORWARDBASE
 
-         UNITY_FOG_COORDS(9)
 
- #endif
 
- #ifndef SHADER_API_D3D9
 
- #if _FOAM_ON || _WHITECAPS_ON
 
-         float4 FoamUV	: TEXCOORD10;
 
- #endif
 
- #endif
 
-     UNITY_VERTEX_OUTPUT_STEREO
 
- };
 
- struct GlobalData 
 
- {
 
-     float pixelDepth;
 
-     float cleanDepth;
 
-     float depth;
 
-     float4 refractedBuffers;	// RGB: Refraction Color A: Refraction Depth
 
-     float4 cleanBuffers;	    // RGB: Clear Color A: Clean Depth
 
-     float3 worldPosition;
 
-     float3 worldNormal;
 
-     float3 tangentNormal;
 
-     float3 worldViewDir;
 
-     float3 lightDir;
 
-     float4 GrabUV;
 
-     float4 DepthUV;
 
-     float3 finalColor;
 
-     float3 specular;
 
-     float NdotV;
 
- };
 
- void InitializeGlobalData(inout GlobalData data, v2f IN)
 
- {
 
-     data.depth = 0.0;
 
-     data.cleanDepth = 0.0;
 
-     data.pixelDepth = IN.DepthUV.z;
 
-     data.worldPosition = IN.worldPos;
 
-     data.worldNormal = float3(0, 1, 0);
 
-     data.tangentNormal = float3(0, 0, 1);
 
-     // World ViewDir
 
-     data.worldViewDir = normalize(UnityWorldSpaceViewDir(IN.worldPos.xyz));
 
-     #ifdef CULL_FRONT
 
-         data.worldViewDir = -data.worldViewDir;
 
-     #endif
 
-     // World LightDir
 
-     #ifndef USING_DIRECTIONAL_LIGHT
 
-         data.lightDir = normalize(UnityWorldSpaceLightDir(IN.worldPos.xyz));
 
-     #else
 
-         data.lightDir = normalize(_WorldSpaceLightPos0.xyz);
 
-     #endif
 
-     data.refractedBuffers = float4(0, 0, 0, 0);
 
-     data.cleanBuffers = float4(0, 0, 0, 0);
 
-     data.GrabUV = float4(0, 0, 0, 0);
 
-     data.DepthUV = float4(0, 0, 0, 0);
 
-     data.finalColor = float3(0, 0, 0);
 
-     data.specular = float3(0, 0, 0);
 
-     data.NdotV = 0.0;
 
-     //data.screenUV = float4(IN.screenCoord.xyz / IN.screenCoord.w, IN.pos.z);
 
- }
 
- #endif
 
 
  |