Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to create full screen color overlay effects in windows?

I remember my old Radeon graphics drivers which had a number of overlay effects or color filters (whatever they are called) that would render the screen in e.g. sepia tones or negative colors. My current NVIDIA card does not seem to have such a function so I wondered if it is possible to make my own for Vista.

I don't know if there is some way to hook into window's rendering engine or, alternatively, into NVIDIA's drivers to achieve this effect. While it would be cool to just be able to modify the color, it would be even better to modify the color based on its screen coordinates or perform other more varied functions. An example would be colors which are more desaturated the longer they are from the center of the screen.

I don't have a specific use scenario so I cannot provide much more information. Basically, I'm just curious if there is anything to work with in this area.

like image 579
Morten Christiansen Avatar asked Nov 15 '22 17:11

Morten Christiansen


1 Answers

You could have a full-screen layered window on top of everything and passing through click events.. However that's hacky and slow compared to what could be done by getting a hook in the WDM renderer's DirectX context. However, so far it's not possible, as Microsoft does not provide any public interface into this.

The Flip 3D utility does this, though, but even there that functionality is not in the program, it's in the WDM DLL, called by ordinal (hidden/undocumented function, obviously, since it doesn't serve any other purpose). So pretty much another dead end, from where I haven't bothered to dig deeper.

On that front, the best we can do is wait for some kind of official API.

like image 72
anon6439 Avatar answered Dec 10 '22 07:12

anon6439