一、ddx、ddy
1.1 概念
ddx,ddy 获取屏幕空间中任何两个片段之间的变化率,需要在片段着色器中使用
1.2 获取同一个三角面
三角形内是法线相同
1.3 利用曲率转法线
float3 heightToNormal(float height, float intensity)
{
float dU = ddx(height);
float dV = ddy(height);
float3 n = normalize(float3(0, 0, 1) + float3(dU, dV, 0) * intensity);
n = n * 0.5 + 0.5;
return n;
}
在进行一次 Gamma 校正
float3 n = pow(heightToNormal(Color, _Intensity), 2.2);