> ## 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