There was an article on gamma controls to perform fading some time ago. But, the code described in that article doesn't seem to work. It turns out that Microsoft has a different object, IDirectDrawColorControl. It pretty much has the same methods as IDirectDrawGammaControl except the initializing part. Querying the primary surface doesn't seem to work. Any suggestions?