warp windows desktop - windows

I have read some threads and I know it is easy to warp a video. Now I want to warp windows desktop.The steps are:
1. Capture the desktop screen
2. Use desktop screen as a texture to a bezier surface mesh
The problem is the desktop screen captured isn't normal after first time when the desktop screen is distorted, so there is a endless loop. anyone can give me some suggestions? Thanks in advance!

You start with your original desktop capture, D. You distort it creating D1. Now if I understand your question, you are saying something like, "D1 is not the original image, so I can't use it as a texture for my next frame".
So, don't use D1. Use the original desktop capture as your source for every frame.

Related

macOS scan/detect screen in real time

There are some apps which can scan the screen and detect things in real time. For example, the macOS preinstalled app "Digital Color Meter". I can move the cursor and the app detects immediately which color is in the area around my cursor. So my question is, how can I do things like this? How can I "scan" the screen and detect objects or colors in a selected area in real time? I can't find a solution.
Digital Color Meter only captures a small square of the screen. If that's all you need, try CGDisplayCreateImageForRect and see if it's fast enough.
If that's not fast enough, look at the CGDisplayStream functions, starting with CGDisplayStreamCreate or CGDisplayStreamCreateWithDispatchQueue. These functions are significantly more complicated than CGDisplayCreateImageForRect and you'll have to learn about IOSurfaceRef to get at the pixel data from a CGDisplayStream.

how to use texture masks in game Maker?

First off I'm not totally sure if "texture masks" is the correct term to use here so If someone knows what it is then please let me know.
so the real question. I want to have an object in GameMaker: Studio which as it moves around it's texture changes depending on its position by pulling from a larger static image behind it. I've made a quick gif of what it might look like.
It can be found here
Another image that might help explain this is the "source-in" section of this image.
This is a reply to the same question posted on the steam GML forum by MrDave:
The feature you are looking for is draw_set_blend_mode(bm_subtract)
Basically you will have to draw everything onto a surface and then using the code above you switch the draw mode to bm_subtract. What this will do is rather than drawing images to the screen it will remove them. So you now draw blocks over the background and this will remove that area. Then you can draw everything you just put on the surface onto the screen.
(Remember to reset the draw mode and the surface target after. )
Its hard to get your head around the first time, but actually it isn’t all that complex once you get used to it.

Lower screen resolution while maintaining original pixel density

I'd like to play some older games on Windows 7. Running them isn't an issue, but the increase of monitor size and pixel density of later monitors is. Pre-rendered games intended to be played full-screen on e.g. a 640x480 resolution are now "blown up" to fit on a complete screen, making everything look unsharp. I've been looking at different solutions, but so far to no avail for a selection of games:
Running the game in "windowed mode" is an option for those games that support it.
DxWnd could be used to force some games in "windowed mode", but it causes some applications to crash as well.
VirtualBox works nicely since it will automatically resize to the applications desired full-screen resolution, but this is no option if VirtualBox's 3D support is insufficient to play the game.
Drivers like those of AMD or NVIDIA provide means to force maintaining pixel aspect ratio if pixel aspect ratio is an issue on wide-screen monitors
All of the above don't work for me for one game, since it does not provide "windowed mode", DxWnd makes it crash, VirtualBox's 3D support is insufficient and aspect ratio isn't an issue on my monitor.
Which brings me to the question: is there a way to lower the screen resolution while maintaining original pixel density of the monitor instead of having it fill up the whole screen? Thus essentially creating a smaller view port for the Windows environment to use and filling up the rest of the screen with big black borders?
Right click on the game and click property's and then try ticking this option.
.

PowerPoint: Animate arrow between rectantgle

I'm not sure whether it is the right place to ask a PowerPoint question. So, if it isn't, don't be too harsh with me, please.
I have two rectangles created using the drawing tools on a ppt slide. These both rectangles are connected using an arrow with magnetic connectors.
Now I want to move first one of the rectangles using an animation and in a second step the other one.
That's easy so far.
But now I also want that the magentic connectors stay tied to the rectangles during the animation.
Is this possible somehow?
(I'm unfortunately not sure whether I always use the correct ppt terms above, since I only have a German installation of ppt.)
Thanks!
I don't think there is an easy solution as the connector won't move with an animation of the connecting shape.
However, if the required movement isn't to complex you could try to replicate the behavior with a set of animations:
Move rectangle using motion path
Grow connector shape horizontally or vertically
Move connector in the required direction using another motion path which must be adjusted to growth rate of the grow animation
All animations need to start simultaneously ("start with previous") and smooth start/end need to be set to 0 sec for the motion paths. A sample of the stretch effect (2.+3.) can be found here: http://pptheaven.mvps.org/experimental.html ("Zoom Test").

How to display a windows/X window system window in 3d space on texture?

I'm wondering, how can I catch a window and display it on texture in 3D space. And how can I redirect mouse and keyboard input from 3D application to application running in background? I mean full 3D desktop.
This can be a bit complex, and a "full" answer might not be suitable for this forum. Here's an idea/outline, though:
One way of doing it is through VNC. Run a separate, invisible "virtual" desktop in a VNC server, then start the desired apps with it as the display. Your 3D rendering program on the "real" desktop can then connect to the VNC server, and get access to its desktop in bitmap format, and blast that onto textured polygons. Piping in input events is very doable, too.
I've actually done this, or at least half of it (the display). Here is a very old screenshot of what I managed to do, back then:
(source: sourceforge.net)
The black sky and blue/purple-ish "ground" are rendered by the 3D program on the real desktop, while the slanted quad shows a window in the "virtual" VNC desktop.
Fun!
A key part of the solution is the OpenGL/GLX extension GLX_EXT_texture_from_pixmap which bridges the gap between the X11 and OpenGL worlds.
As to the rest... Compiz and CompizFusion already implement 3D desktops. Give 'em a try; if you've got some specific ideas about the way things should work the sources are freely available (and they also support the idea of plugins).

Resources