This might not seem too mind blowing to people who have never tried to actually do something like this from scratch, but this right here might as well be black fucking magic:
What you're seeing is a demonstration of an experimental build of UI library called ImGui. ImGui is made by Omar Cornut, the dude behind the emulator Meka and games like Wonder Boy: The Dragon's Trap. ImGui is a cross platform user interface for programming projects that works with stuff like OpenGL or DirectX. If you've never done any sort of programming before, it's actually a ton of work just to get a window drawn to your screen through your operating system shell, especially when you do things cross platform. This is because the underlaying window handling technologies between windows, OSX, and linux (even different distros of linux) are often radically different and wholly incompatible. A technology called SDL is already pretty magical in that it basically makes the "build a window" portion of making an OpenGL application completely vanish, but it offers no user interface options, you have to build that from scratch.
Now, for complex reasons, handling multiple SDL2 windows is kind of tough, handling multiple OpenGL contexts is also kind of tough (an OpenGL context is basically like a "copy" of OpenGL reserved for a window), and when you throw multiple monitors into the mix, everything gets much, much tougher. In the demo above, an ImGui window is straddling two separate monitors. That's really remarkable in and of itself, but it gets more crazy.
See, ImGui normally embeds into your OpenGL program. You build an OpenGL app, tell SDL to make you a window, and it's like your window has OpenGL inside of it. ImGui uses OpenGL to draw itself, which is how it gets around the need for underlaying window technologies in linux and windows and all that being incompatible. The original idea was that ImGui was a window UI that created virtual windows inside of your OpenGL app. This meant that ImGui windows could only remain inside your app. But this experimental build of ImGui is called the "docker" build, until it gets rolled into the proper stable ImGui build. This build of ImGui is amazing -- you can now drag an ImGui window out of your application. When you drag the ImGui window outside of your app, ImGui seamlessly handles turning it into an entirely separate SDL-OpenGL window. It's fucking insane:
I can't express enough how this is normally thousands of lines of boiler plate code to do this kind of stuff, and it currently exists as essentially a drag and drop solution that you can throw on top of basically any existing application. And the UI is cross platform. A slick UI like this on a single platform is normally a massive amount of work, but now you can embed it into any graphical program with just a few lines of code, and it'll just work on any OS??
Now, all of that is amazing enough, but that's not all that's going on in the pic. You might notice the monitors in the pic, one of them is an ancient 4:3 CRT monitor. The computer I do my development on is actually modern, with a modern video card. It only has HDMI and Display ports to output with, no VGA option. Even when I use an HDMI -> DVI -> VGA adapter, the chip actually doesn't do analogue conversion and can't connect to a CRT monitor. It doesn't output an analogue signal at all. You see, in the pic above, that's actually two separate computers. The second monitor on the right is connected to a mini Xi3 Piston PC:
This makes what ImGui is doing way, way more impressive. The screen on the right is acting like a display for the PC on the left using OpenSSH. I set up a VNC sever on the PC on the left using x11vnc, then used VNCViewer on the PC on the right. By manually configuring the intel GPU on the PC on the left to set up a virtual head, I was able to extend my desktop to the size of both screens at once, then use x11vnc to crop the display to a vnc server, which the PC on the right connected with. The two PCs are actually only communicating through the router, across the network.
This means that ImGui is spreading a window that shouldn't exist, seamlessly, across two monitors, with each monitor being an entirely separate computer, and it just fucking works with no real setup on my part. And every technology being used here is FOSS - free and open source software. This entire setup would have been literally impossible like 10 years ago even for expensive enterprise tools, yet it's free and open today. Absolutely mind blowing.
What you're seeing is a demonstration of an experimental build of UI library called ImGui. ImGui is made by Omar Cornut, the dude behind the emulator Meka and games like Wonder Boy: The Dragon's Trap. ImGui is a cross platform user interface for programming projects that works with stuff like OpenGL or DirectX. If you've never done any sort of programming before, it's actually a ton of work just to get a window drawn to your screen through your operating system shell, especially when you do things cross platform. This is because the underlaying window handling technologies between windows, OSX, and linux (even different distros of linux) are often radically different and wholly incompatible. A technology called SDL is already pretty magical in that it basically makes the "build a window" portion of making an OpenGL application completely vanish, but it offers no user interface options, you have to build that from scratch.
Now, for complex reasons, handling multiple SDL2 windows is kind of tough, handling multiple OpenGL contexts is also kind of tough (an OpenGL context is basically like a "copy" of OpenGL reserved for a window), and when you throw multiple monitors into the mix, everything gets much, much tougher. In the demo above, an ImGui window is straddling two separate monitors. That's really remarkable in and of itself, but it gets more crazy.
See, ImGui normally embeds into your OpenGL program. You build an OpenGL app, tell SDL to make you a window, and it's like your window has OpenGL inside of it. ImGui uses OpenGL to draw itself, which is how it gets around the need for underlaying window technologies in linux and windows and all that being incompatible. The original idea was that ImGui was a window UI that created virtual windows inside of your OpenGL app. This meant that ImGui windows could only remain inside your app. But this experimental build of ImGui is called the "docker" build, until it gets rolled into the proper stable ImGui build. This build of ImGui is amazing -- you can now drag an ImGui window out of your application. When you drag the ImGui window outside of your app, ImGui seamlessly handles turning it into an entirely separate SDL-OpenGL window. It's fucking insane:
I can't express enough how this is normally thousands of lines of boiler plate code to do this kind of stuff, and it currently exists as essentially a drag and drop solution that you can throw on top of basically any existing application. And the UI is cross platform. A slick UI like this on a single platform is normally a massive amount of work, but now you can embed it into any graphical program with just a few lines of code, and it'll just work on any OS??
Now, all of that is amazing enough, but that's not all that's going on in the pic. You might notice the monitors in the pic, one of them is an ancient 4:3 CRT monitor. The computer I do my development on is actually modern, with a modern video card. It only has HDMI and Display ports to output with, no VGA option. Even when I use an HDMI -> DVI -> VGA adapter, the chip actually doesn't do analogue conversion and can't connect to a CRT monitor. It doesn't output an analogue signal at all. You see, in the pic above, that's actually two separate computers. The second monitor on the right is connected to a mini Xi3 Piston PC:
This makes what ImGui is doing way, way more impressive. The screen on the right is acting like a display for the PC on the left using OpenSSH. I set up a VNC sever on the PC on the left using x11vnc, then used VNCViewer on the PC on the right. By manually configuring the intel GPU on the PC on the left to set up a virtual head, I was able to extend my desktop to the size of both screens at once, then use x11vnc to crop the display to a vnc server, which the PC on the right connected with. The two PCs are actually only communicating through the router, across the network.
This means that ImGui is spreading a window that shouldn't exist, seamlessly, across two monitors, with each monitor being an entirely separate computer, and it just fucking works with no real setup on my part. And every technology being used here is FOSS - free and open source software. This entire setup would have been literally impossible like 10 years ago even for expensive enterprise tools, yet it's free and open today. Absolutely mind blowing.