No matter whether we've got a low end or high end system, we all expect the realtime 3D revolution to continue until we achieve near parity with reality. The push forward is backed by many factors including pure hardware performance and brilliant advances in techniques for better approximating what we see. But there's another side to the equation beyond just hardware and developers: there is the graphics API.

Unlike CPUs, graphics hardware (GPUs) do not have a common instruction set upon which tools and software can be built. In order to get the power of the hardware out to the public, we need a common interface that works no matter what GPU is underneath. It's left to the graphics hardware designer to take the code generated by this application programming interface (API) and translate it into something that their chip can use. Because it's the developer's single point of contact, the graphics API is incredibly important. It defines how much flexibility programmers have in using hardware and shapes the world of high performance realtime 3D graphics.

Some of the key work done through the graphics API is taking descriptions of 3D objects in a 3D world, sending those objects and other resources to the hardware, and then telling the hardware what to do with them. There is sort of a step by step process that needs to be followed that we generally call a pipeline. Graphics API pipelines have stages where different work is done. Here's the general structure of a 3D graphics pipeline:

First vertex data (information about the position of the corners of shapes) is taken in and processed. Then those shapes can then be further manipulated and re-processed if needed. After this, 3D objects are broken down from 3D shapes by projecting them into 2D fragments called pixels (this step is called rasterization), and then these pixels are each processed by looking up texture information and using lighting techniques and so on. When pixels are finished processing, they are output and displayed on the screen. And that's the mile high overview of how 3D graphics work.

For the past dozen years (it seems longer doesn't it?), we've seen makers of 3D graphics hardware accelerate two very prominent APIs: OpenGL and DirectX.

We recently touched on advancements tangential to OpenGL in our OpenCL article, but today our focus will be on DirectX. Microsoft's DirectX graphics API is much more heavily used in game engines than OpenGL, in a large part because DirectX tends to move much more quickly and sets the bar for both the hardware and DirectX in terms of feature set and flexibility. That always makes upcoming versions of DirectX exciting to talk about: they define the future capabilities of hardware and expose improved tools to developers. Upcoming DirectX versions are glimpses into our graphical future. Currently we have a lot of DirectX 9 and DirectX 10 games available and in development, but DirectX 11 looms on the horizon.

As usual, Microsoft will be trying to time the release of their next DirectX revision with the release of compatible graphics hardware. As with last time, DirectX 11 will also be released with Windows 7. With the Windows 7 Beta already under way, we expect the OS to be done some time this year.

Microsoft has been rather aggressive with Windows 7 scheduling in light of the rejection of Vista, so it appears they are stepping up to the plate to get everything out sooner rather than later. There was a little more than 4 years between the release of DirectX 9 and DirectX 10. As it hit the streets with Vista in January of 2007, DirectX 10 has just turned 2 and we are already anticipating it's replacement in the very near future. As we will learn, this speedy transition should be very good for DirectX 11 adoption as DirectX 10 hasn't even become pervasive yet: many games are still DirectX 9 only.

But let's take a closer look at what we are talking about before we go any further.

Introducing DirectX 11: The Pipeline and Features
POST A COMMENT

109 Comments

View All Comments

  • Havor - Saturday, January 31, 2009 - link

    DX10 is Vista only ware XP and 98SE/win2k shared a common DX

    And yeah XP was Win2K but it had better gaming support then W2K so there was no reason not to use XP over W2K, and only very old games gave some problems whit XP over 98SE.

    Ware Vista almost had no RL benefits over XP just a high resource hog and steep learning curve.

    If people could had a those between XP and vista i think Vista Nr's would have bin 75% lower

    Other then DX10 and x64 there is no reason for me to go to Vista, so i will wait for Win7 and upgrade to i7/i5 till then my X2 6000+ and XP sp3 will do
    Reply
  • michal1980 - Friday, January 30, 2009 - link

    i agree with most of your logic. And it makes sense. It didn't feel right with the rest of the article though.


    I will however disagree with it being compared to Win ME.

    Win ME was just junk, unstable, worthless, and never improving. And while vista had teething issues, alot of it was due to a huge shift in the actual OS.

    I haven't tired 7 yet, but from all I read,it seems like vista re-tuned. However I doubt Win7 could have ever gotten to where it is without Vista. Vista was a trail by fire, and in most cases it made it. A huge problem early on was hardware specs to run it were set too low, and it was hell for people on cheap low end hardware.

    My experance has been overall very postive, esspically when I moved to 4gb's of ram. Driver problems now are minimal (x64), and no matter how stable XP ever was. IMHO, and in my experance, vista has been leaps and bounds more stable. I can't recall having an OS crash/lock up that required a reboot. If not for hardware changes/updates, my vista box would never reboot.
    Reply
  • Havor - Saturday, January 31, 2009 - link

    The compering to ME holds up some bid, do vista is not as bad as ME was.

    How ever on my computer club there was a 100% return to 98SE ore win2k, most users(70%) here that run dual-boot Vista/XP machine, returned to XP after trying Vista for a wile (me included)

    And there has never bin Any love for the OS especially compared to XP.

    The bigger problem for dev. is that DX10 is Vista only, and there are way to many XP machines out there to develop DX10 only games, so from a dev. point of view Vista was/still is the next ME.
    Reply
  • just4U - Wednesday, February 04, 2009 - link

    WinME is what Vista will eventually be compared to no matter what. I had less problems with WinME then I did with 98, or 95 but it got a bad rap.. Nowadays people just all say it was crap. Im sure 5-7+ years from now they will say the exact same thing about Vista. (shrug) Reply
  • marsbound2024 - Friday, January 30, 2009 - link

    I agree with what you have said. Microsoft had years to develop Vista where previously its OS releases came within two years of each other. It should have been optimized at the very least and we have seen that it is resource-intensive and one might even say "bloated." While Vista does work and I rather like working with Vista 64-bit, I think it should have been more than what it is for having such a lengthy development timeframe. While many of us superbly informed on computer operating systems and application support, the average consumer seems to really dislike Vista. From UAC to horrible startup times on occasion (usually due to services such as Cyberlink), to the network connectivity problems that seem to be related to IPv6 and the fact that it used to bring budget systems to their knees (when they were manufactured with the purpose of running Vista), most people have a bad taste in their mouths from running Vista. Vista had a lot of promise on the table from what was on paper, but in execution it simply generated more headaches than it should have. Windows 7 should hopefully be getting back to what an operating system should be: streamlined GUI with robust, yet optimally programmed features that range from security to file management on NTFS. Reply
  • srp49ers - Friday, January 30, 2009 - link

    The vista comments seemed out of place considering the tone of the rest of the article. Reply
  • Cuhulainn - Friday, January 30, 2009 - link

    Agreed. Even if you think it sucks, give the reasons related to the article. I would like to know what issues there are between Vista/DirectX, as I am a current user. Rather than being told that what I am running sucks, tell me what is wrong with it, or what is right with 7 that is an improvement over Vista.

    That being said, I have little to no knowledge of these things and still found this to be an interesting read. Much appreciated.
    Reply
  • Staples - Saturday, January 31, 2009 - link

    And the fact that a year ago, most people who said that Vista sucks are ones who unsurprisingly never actually used it. When someone says Vista sucks, I always think there is a high probablility that they are someone who has never used it (and therefore stupid for saying something like that). Anyway, I have been using Vista since it came out and except for the fixes which made it use less resources, there never has been anything wrong with the OS despite what the legion of "I read it on the internet so it must be true" people would have you believe. Seems like the majority of geeks thought it sucked without having ever used it which is just idiotic. When I realized this, it was sad to know how gulible people really are. Reply
  • ssj4Gogeta - Friday, January 30, 2009 - link

    It will be great if MS releases DX11 for XP. I multi-boot XP and Vista and Ubuntu. I think I'll replace Vista with Win 7 and not XP.

    By the way, why haven't we heard anything about Larrabee? Intel said that the first samples would be ready by the end of 2008. It seems to me like it will be a revolutionary step in graphics computing.
    Reply
  • Ryan Smith - Friday, January 30, 2009 - link

    It won't happen, it can't happen. DX10 goes hand-in-hand with a massive rearchitecting of GPU threading and memory management, which is why we transitioned from the XPDM to WDDM for Vista. You can't backport that kind of stuff, it's a fundamental change in how the OS addresses the GPU and allocates work & resources for it. Reply

Log in

Don't have an account? Sign up now