您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
41 行
1.3 KiB
41 行
1.3 KiB
/*
|
|
float _Tess;
|
|
float _TessNear;
|
|
float _TessFar;
|
|
float _UseDisplacementfalloff;
|
|
float _DisplacementfalloffNear;
|
|
float _DisplacementfalloffFar;
|
|
*/
|
|
|
|
float4 TessellationEdge(float3 p0, float3 p1, float3 p2, float3 n0, float3 n1, float3 n2)
|
|
{
|
|
// if (_TessellationFactorFixed >= 0.0f)
|
|
{
|
|
// return _TessellationFactorFixed.xxxx;
|
|
}
|
|
|
|
return DistanceBasedTess(p0, p1, p2, 0.0, _TessellationFactorMaxDistance, unity_ObjectToWorld, _WorldSpaceCameraPos) * _TessellationFactorFixed.xxxx;
|
|
}
|
|
|
|
void Displacement(inout Attributes v)
|
|
{
|
|
/*
|
|
float LengthLerp = length(ObjSpaceViewDir(v.vertex));
|
|
LengthLerp -= _DisplacementfalloffNear;
|
|
LengthLerp /= _DisplacementfalloffFar - _DisplacementfalloffNear;
|
|
LengthLerp = 1 - (saturate(LengthLerp));
|
|
|
|
float d = ((tex2Dlod(_DispTex, float4(v.texcoord.xy * _Tiling, 0, 0)).r) - _DisplacementCenter) * (_Displacement * LengthLerp);
|
|
d /= max(0.0001, _Tiling);
|
|
*/
|
|
|
|
#ifdef _HEIGHTMAP
|
|
float height = (SAMPLE_TEXTURE2D_LOD(ADD_ZERO_IDX(_HeightMap), ADD_ZERO_IDX(sampler_HeightMap), v.uv0, 0).r - ADD_ZERO_IDX(_HeightCenter)) * ADD_IDX(_HeightAmplitude);
|
|
#else
|
|
float height = 0.0;
|
|
#endif
|
|
|
|
#if (SHADERPASS != SHADERPASS_VELOCITY) && (SHADERPASS != SHADERPASS_DISTORTION)
|
|
v.positionOS.xyz += height * v.normalOS;
|
|
#endif
|
|
}
|