Is there a fast way (60fps) to get a texture of the whole screen without the actual monogame window?
System.Drawing.Graphics.CopyFromScreen() seems to be to slow because I need to convert the Bitmap to a Texture2D.
Do you plan to make a video with this ?
If yes, there are tools that can do the trick. (camtasia for ex but still the game will be displayed i think)
No I am trying to apply a shader to the whole screen.
People usually render everything to a render target and then render that to the backbuffer with some post-processing shader and optionally resize the texture to fit the window. If your game is all set that would probably mean a lot of refactoring though
No I don’t want the output of my game. I want to get a screenshot of everything windows is outputting (desktop, etc.).
Oh sorry, I completely misunderstood! No idea how to do that
I can’t see the point of this, what is the utility ? Taking a screenshot of everything but the game… doing this is simply a sort of spy integrated within a game…
There are simpler methods to do this…
I don’t think MG is very well suited for something like that. Do you plan on using the screencap inside a game or do you actually want to make something like Virtual Desktop?
This is definitely outside the scope of MonoGame’s features.
Then you need a low level API to do this, available in C++ and use DX or OpenGL.
Maybe I will look into it later. It should be possible with SharpDX. I found this article which should work for my project.