hlsl函数 ddx ddy

hlsl函数 ddx ddy

这两条指令用于对指定的寄存器,求其值在临近像素上的变化率,因为纹理坐标的梯度可以用来确定纹理当前被缩放的程度,可用该值来计算Mip层,另外它也可以用来计算Texel的跨越Size,由此求得正确的过滤宽度,从而纠正通常的线性过滤在远处由于过滤宽度错误而产生的失真。

简单的说就是三角面上一个像素的位置上对屏幕坐标x和y方向的导数,也就是改点位置的表面相对于屏幕平面的倾斜程度的度量。
vs_data vs_fun()
{
uv = half2(0,0);
}

vs中纹理坐标值赋0,则ps中得到的ddx和ddy的值为0.

http://bbs.gameres.com/thread_122015_1_1.html

你可能感兴趣的:(数据结构/算法,3D图形)