备份CatanBuilding瘦身独立工程
This commit is contained in:
64
LocalPackages/zzwater/shaders/libs/Common.hlsl
Normal file
64
LocalPackages/zzwater/shaders/libs/Common.hlsl
Normal file
@@ -0,0 +1,64 @@
|
||||
|
||||
#ifndef WATER_COMMON_INCLUDED
|
||||
#define WATER_COMMON_INCLUDED
|
||||
|
||||
//As per the "Shader" section of the documentation, this is primarily used for synchronizing animations in networked applications.
|
||||
//#define TIME_FRAG_INPUT input.uv.z
|
||||
//#define TIME_VERTEX_OUTPUT output.uv.z
|
||||
|
||||
//#define TIME ((TIME_FRAG_INPUT * _Speed) * -_Direction.xy)
|
||||
//#define TIME_VERTEX ((TIME_VERTEX_OUTPUT * _Speed) * -_Direction.xy)
|
||||
#define TIME_VERTEX ((_TimeParameters.x * _Speed) * -_Direction.xy)
|
||||
|
||||
#define HORIZONTAL_DISPLACEMENT_SCALAR 0.01
|
||||
#define UP_VECTOR float3(0,1,0)
|
||||
#define RAD2DEGREE 57.29578
|
||||
|
||||
struct WaterSurface
|
||||
{
|
||||
float3 positionWS;
|
||||
float3 viewDelta; //Un-normalized view direction,
|
||||
float3 viewDir;
|
||||
|
||||
//Normal from the base geometry, in world-space
|
||||
float3 vertexNormal;
|
||||
float3 tangentNormal;
|
||||
float3 tangentWorldNormal;
|
||||
|
||||
float3 albedo;
|
||||
float3 offset;
|
||||
float alpha;
|
||||
float fog;
|
||||
float edgeFade;
|
||||
float intersection;
|
||||
|
||||
float3 reflections;
|
||||
float reflectionMask;
|
||||
};
|
||||
|
||||
struct SceneDepth
|
||||
{
|
||||
float raw;
|
||||
float linear01;
|
||||
float eye;
|
||||
};
|
||||
|
||||
#define FAR_CLIP _ProjectionParams.z
|
||||
#define NEAR_CLIP _ProjectionParams.y
|
||||
//Scale linear values to the clipping planes for orthographic projection (unity_OrthoParams.w = 1 = orthographic)
|
||||
#define DEPTH_SCALAR (FAR_CLIP - NEAR_CLIP)
|
||||
|
||||
//Return depth based on the used technique (buffer, vertex color, baked texture)
|
||||
SceneDepth SampleDepth(float2 uv)
|
||||
{
|
||||
SceneDepth depth = (SceneDepth)0;
|
||||
|
||||
float raw = SampleSceneDepth(uv);
|
||||
depth.raw = raw;
|
||||
depth.eye = LinearEyeDepth(raw, _ZBufferParams);
|
||||
depth.linear01 = Linear01Depth(raw, _ZBufferParams) * DEPTH_SCALAR;
|
||||
|
||||
return depth;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user