Longhorn's Windows Graphics Foundation Examined
Matt J writes "Dave Salvator at ExtremeTech goes over some of the graphics designs for Longhorn. 'David Blythe of the DirectX development team gave a very interesting talk about the upcoming 3D graphics architecture in Longhorn, the next major revision of Windows. Called Windows Graphics Foundation (WGF), this new architecture will usher in some major changes to how 3D graphics operations get handled by Longhorn. These changes extend well beyond Longhorn's Avalon technology, which will render the Windows Desktop using a GPU's 3D graphics processing power rather than the traditional 2D blitter. WGF will instead define the core 3D operations themselves.'"
Back up and erase the "it." in "it.slashdot.org" to make it go away.
It's native in Windows, as well, since Windows 2000. Just because you need a separate application to enable it in apps that don't specifically support the Windows 2000+-specific extensions doesn't mean it's not native to the system. See the alpha-blended fade-in/out effects on menus, for example. Microsoft simply chose to go with an understated application (and yet still gets blasted for "annoying" menu animations), while Apple went over the top.
"It's just like OSX's Aqua, rendering the GUI in the graphics card and all...?"
No. Aqua doesn't render the GUI in the graphics card at all. It does, however, use the graphics card as a high-speed composition engine.
Aqua is also bitmap based. Despite what many have said, OS X icons are just bitmaps, as are the buttons and other controls. That means that they don't scale very well - just like the widgets in Windows XP.
With Longhorn, everything is vectorized. You'll be able to adjust the DPI of your display and all of the controls will automatically update to match it. For example, you could have a 300dpi display and then adjust the widget size so you can still read the text.
People with UXGA 14" notebook displays know all about this. Many choose to run their display at a lower, non-native resolution because the text is too small otherwise. This isn't the best solution. With Longhorn, they'll be able to run at full native resolution and adjust the text size (and the size of the titlebars, icons, buttons, scrollbars, and everything else) to make everything usable. Plus, they get the benifits of high resolution: clear, crisp text and objects.
Um, OSS already has:
1) An X server that does transparency and double-buffering;
2) An (actually, 2) OpenGL-accelerated canvas;
3) A window manager that uses said canvas.
Sure, they are still "in progress" releases, but you can actually download them and try them out, which is way more than can be said for Longhorn.
A deep unwavering belief is a sure sign you're missing something...
It sounds like he is talking about how the 3d surface is created inside the computer.
It's kind of like the difference between a photograph and a painting. Both can represent a 3d world projected onto a 2d surface. The painter must fake the 3d effect by hand (like a traditional GUI appearing 3d). The photographer doesn't have to do this since he is simply taking a snapshot of an already 3d world (like rendering a real 3d scene as a GUI). To get a photograph of a different angle, you just reposition the camera. A painter, on the other hand, has to basically start from scratch.
Old computer games sometimes appeared 3d even though they were represented internally as 2d objects (static character images with the shadows manually drawn in for example). Current games represent the world internally as a 3d environment that is projected onto the plane of the camera. It's computationally more expensive, but much more flexible. At first I'm sure it'll be a more complicated way of making things look basically the same as they do now. But I imagine people will find useful applications for it as time goes on.
It's sort of happening already.
SVG in GNOME and KDE. That's scalable vector graphics at the application level. Some themes already use SVG for icons and window decorations.
CAIRO offers scalable vector graphics at the X11 level. Nice pics here. Hardware acceleration through Xrender.
Windows are getting alpha channels thanks to XDamage, XFixes and XComposite. Means we'll finally start seeing similar effects to what you get with Aqua on MacOS X.
All the bits are coming together. If you're willing to play at the bleeding edge then you can see some of these effects today.