> # NAME

> ddy - returns approximate partial derivative with respect to window-space Y

> # SYNOPSIS

>       float  ddy(float a);
>       float1 ddy(float1 a);
>       float2 ddy(float2 a);
>       float3 ddy(float3 a);
>       float4 ddy(float4 a);

>       half   ddy(half a);
>       half1  ddy(half1 a);
>       half2  ddy(half2 a);
>       half3  ddy(half3 a);
>       half4  ddy(half4 a);

>       fixed  ddy(fixed a);
>       fixed1 ddy(fixed1 a);
>       fixed2 ddy(fixed2 a);
>       fixed3 ddy(fixed3 a);
>       fixed4 ddy(fixed4 a);

> # PARAMETERS

> a

>   Vector or scalar of which to approximate the partial derivative with respect to window-space Y.

> # DESCRIPTION

> Returns approximate partial derivative of a with respect to the window-space (vertical) y coordinate.

> For vectors, the returned vector contains the approximate partial derivative of each element of the input vector.

> This function is only available in fragment program profiles (but not all of them).

> The specific way the partial derivative is computed is implementation-dependent. Typically fragments are rasterized in 2x2 arrangements of fragments (called quad-fragments) and the partial derivatives of a variable is computed by differencing with the adjacent horizontal fragment in the quad-fragment.

> The partial derivative computation may incorrect when ddy is used in control flow paths where not all the fragments within a quad-fragment have branched the same way.

> The partial derivative computation may be less exact (wobbly) when the variable is computed based on varying parameters interpolated with centroid interpolation.

> # REFERENCE IMPLEMENTATION

> ddy is not expressible in Cg code.

> # PROFILE SUPPORT

> ddy is supported only in fragment profiles. Vertex and geometry profiles lack the concept of window space.

> ddy is unsupported in the fp20, ps_1_1, ps_1_2, ps_1_3, and arbfp1 profiles.

> # SEE ALSO

> ddx, fp30, fp40, fwidth, gp4fp