Skip to content

导数函数

dFdx

计算 x 方向的偏导数。

glsl
float dFdx(float p)
vec2 dFdx(vec2 p)
vec3 dFdx(vec3 p)
vec4 dFdx(vec4 p)

参数说明:

  • p: 输入值 返回值:x 方向的偏导数

使用示例:

glsl
float dx = dFdx(v_position.x);

dFdy

计算 y 方向的偏导数。

glsl
float dFdy(float p)
vec2 dFdy(vec2 p)
vec3 dFdy(vec3 p)
vec4 dFdy(vec4 p)

参数说明:

  • p: 输入值 返回值:y 方向的偏导数

使用示例:

glsl
float dy = dFdy(v_position.y);

fwidth

计算 x 和 y 方向偏导数的绝对值之和。

glsl
float fwidth(float p)
vec2 fwidth(vec2 p)
vec3 fwidth(vec3 p)
vec4 fwidth(vec4 p)

参数说明:

  • p: 输入值 返回值:x 和 y 方向偏导数的绝对值之和

使用示例:

glsl
float width = fwidth(v_position.x);

dFdxFine

计算 x 方向的精细偏导数。

glsl
float dFdxFine(float p)
vec2 dFdxFine(vec2 p)
vec3 dFdxFine(vec3 p)
vec4 dFdxFine(vec4 p)

参数说明:

  • p: 输入值 返回值:x 方向的精细偏导数

使用示例:

glsl
float dx = dFdxFine(v_position.x);

dFdyFine

计算 y 方向的精细偏导数。

glsl
float dFdyFine(float p)
vec2 dFdyFine(vec2 p)
vec3 dFdyFine(vec3 p)
vec4 dFdyFine(vec4 p)

参数说明:

  • p: 输入值 返回值:y 方向的精细偏导数

使用示例:

glsl
float dy = dFdyFine(v_position.y);

fwidthFine

计算 x 和 y 方向精细偏导数的绝对值之和。

glsl
float fwidthFine(float p)
vec2 fwidthFine(vec2 p)
vec3 fwidthFine(vec3 p)
vec4 fwidthFine(vec4 p)

参数说明:

  • p: 输入值 返回值:x 和 y 方向精细偏导数的绝对值之和

使用示例:

glsl
float width = fwidthFine(v_position.x);

dFdxCoarse

计算 x 方向的粗略偏导数。

glsl
float dFdxCoarse(float p)
vec2 dFdxCoarse(vec2 p)
vec3 dFdxCoarse(vec3 p)
vec4 dFdxCoarse(vec4 p)

参数说明:

  • p: 输入值 返回值:x 方向的粗略偏导数

使用示例:

glsl
float dx = dFdxCoarse(v_position.x);

dFdyCoarse

计算 y 方向的粗略偏导数。

glsl
float dFdyCoarse(float p)
vec2 dFdyCoarse(vec2 p)
vec3 dFdyCoarse(vec3 p)
vec4 dFdyCoarse(vec4 p)

参数说明:

  • p: 输入值 返回值:y 方向的粗略偏导数

使用示例:

glsl
float dy = dFdyCoarse(v_position.y);

fwidthCoarse

计算 x 和 y 方向粗略偏导数的绝对值之和。

glsl
float fwidthCoarse(float p)
vec2 fwidthCoarse(vec2 p)
vec3 fwidthCoarse(vec3 p)
vec4 fwidthCoarse(vec4 p)

参数说明:

  • p: 输入值 返回值:x 和 y 方向粗略偏导数的绝对值之和

使用示例:

glsl
float width = fwidthCoarse(v_position.x);