DirectX SDK |
The D3DXColorAdjustSaturation function adjusts the saturation value of a given color.
D3DXCOLOR* D3DXColorAdjustSaturation( D3DXCOLOR* pOut, D3DXCOLOR* pC, float s );
The function returns a pointer to a D3DXCOLOR structure that is the result of the saturation adjustment.
The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXColorAdjustSaturation function can be used as a parameter for another function.
This function interpolates the red, green, and blue color components of a D3DXCOLOR structure between an unsaturated color and a given color:
// Approximate values for each component's contribution to luminance. // Based upon the NTSC standard described in ITU-R Recommendation BT.709. float grey = pC->r * 0.2125f + pC->g * 0.7154f + pC->b * 0.0721f; pOut->r = grey + s * (pC->r - grey);
If s is greater than zero and less than 1, then the saturation will be decreased. If s is greater than 1, then the saturation will be increased.
The gray-scale color is computed as: r = g = b = 0.2125*r + 0.7154*g + 0.0721*b.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Version: Requires DirectX 7.0.
Header: Declared in d3dxmath.h.
Library: Use d3dx.lib.