我正在尝试了解 GLSL 中的dFdx()
和dFdy()
功能。
我理解以下内容:
- 导数是变化率
- 具有两个参数的函数的偏导数是指在保持其中一个参数不变的情况下对函数进行微分。
dFdx()
并dFdy()
找到当前片段和相邻片段之间值变化的速率。
我不明白变化率是指什么。是片段坐标的变化率吗?
有没有可能你可以在片段着色器的两次调用之间找到任意变量的变化率?着色器调用是否从相邻调用“读取”变量?对于一个(简单的)示例:
// invocation for fragment 1
float x = 1.0;
float d = dFdx(x);
// invocation for fragment next to fragment 1 along the x axis.
float x = 2.0;
float d = dFdx(x);
d
分别是-1.0和1.0吗?