跳转到内容

dv

float  Dv(float n, ...)

vector  Dv(vector n, ...)

vector4  Dv(vector4 n, ...)

返回值

返回n相对于V的导数。

在着色上下文中,这表示变量在着色区域上的变化量。 导数选项

导数选项

计算导数的函数可以接受额外参数来调整导数计算方式。

extrapolate”, int =0

控制导数是否在面片边界处保持”平滑”。大多数情况下应设为true,若启用外推,对于C2连续曲面导数计算将是精确的。然而当VEX变量高频变化时(例如高频位移贴图导致P变量高频变化),导数计算的外推可能会放大面片边界处的不连续性。

smooth”, int =1

非均匀地调整面片上微分的幅度。这通常会减少位移/纹理着色器中面片间的不连续性。但在某些特殊情况下可能需要关闭此功能。

N = computenormal(P, "extrapolate", 1, "smooth", 0);