Monday, December 12, 2005
|Another special report from Peter Glaskowsky.|
Directions for DirectX
July 16, 1998
Like Windows itself, Microsofts DirectX multimedia API is a huge and sometimes almost incomprehensible monster. Its not really just one API, but literally dozens of different APIs. DirectX offers APIs for 2D and 3D graphics, audio and video, input devices, and more.
Much of this complexity is unavoidable due to the many different technologies used in PC multimedia, but complexity is always difficult to manage. For multimedia hardware and software developers, one of most important tools for managing the complexity of DirectX is Microsofts Meltdown conference.
Today was the last day of the summer 98 Meltdown in Burlingame, California just south of San Francisco, and it was an even busier show than the winter 98 Meltdown in February up in Bellevue, Washington (near Microsoft HQ).
Meltdown serves two primary purposes. First, Meltdown was originally created to provide an opportunity for software developers to test their products against a wide variety of new hardware. Hardware vendors (having the larger and heavier products) reserve suites at the host hotel, and software developers set up appointments to test their software on these systems. These testing sessions are closed to the press, reasonably enough.
Making this opportunity even more valuable, Microsoft brings its best engineers to Meltdown to help track down and fix any problems that might crop up. Microsoft should be commended for arranging this opportunity for testing; its been tremendously effective over the years at finding bugs before you and I have to. The name of the event came from this process: developers run more different programs on more different systems in just a day or two at Meltdown than they usually run in a month.
Meltdown Meets the Press
The other reason for Meltdown is to let Microsoft talk to developers (and the press) about DirectX. This a relatively recent evolution for Meltdown; in the past, the show was covered by non-disclosure agreements (NDAs) and the press wasnt invited. Starting last year most of the technical presentations were made public, and those of us in the technical press are welcome, though the show still hasnt caught on among the press the way WinHEC has.
This year, Meltdown included two tracks of programming over three days, a total of over 20 sessions. Most of these involved Microsoft presenters, but in a few cases, software or hardware developers were asked to present independent perspectives on DirectX development.
Judging from a simple count of presentation titles, it looks like 3D and music are the current hot topics for multimedia developers. There was also a talk on the Windows Game Manager API being developed to provide a more consistent user interface for games, an NDA presentation on the integration of DirectX into Windows CE, and an interesting description of Microsofts forthcoming Chrome enhancements for the Web.
Ill be honest with youI didnt attend any of the music sessions. I barely had time for the 3D sessions, what with another industry conference nearby. So, based in some cases on the printed slides rather than the actual presentations, here are the highlights.
Direct3D is Dramatically Better
The show opened with an overview of DirectX 6.0, which is on schedule for final release later this month. Microsoft said theres only one known must-fix bug in the release candidate that was distributed at Meltdown, which is very encouraging. DX6 includes a new version of Direct3D, and the new D3D is amazingly better than the previous release. Ive tested the release candidate myself and its really fast. When was the last time we saw a 60% performance boost from an updated Microsoft product?
Performance may be the best part of the story, but there are plenty of new features in D3D 6.0 as well, and its smaller! Its too bad the D3D team wasnt in charge of Windows 98. The new release provides an improved software programming interface and supports new 3D quality features like multiple texture maps per object, texture compression to save memory, bump mapping to permit more complex surfaces, and anisotropic texture filtering (which can greatly improve the appearance of billboard text in racing games, among other things).
D3D6 also supports the new 3DNow! instruction-set extensions found in AMDs K6-2 processor, which is the fastest CPU you cant get from Intel. In fact, for 3D applications that take advantage of it, the K6-2 at 300 MHz is pretty competitive with a 400-MHz Pentium II processor that costs twice as much.
For best results under DirectX 6.0, graphics cards and other peripherals will need DX6 drivers, but these wont be ready this month. Hardware developers will need a month or two after DX6 is released to finish writing and testing new driver code. DX5 drivers will suffice until the improved drivers are out, and then well see another boost in performance which Microsoft says will be comparable to the speedup from DX6 itself.
DirectX 6.0 will show up on new OEM systems perhaps as early as next month, on the Web, in new multimedia software and hardware products, and as part of Service Pack 1 for Windows 98. If you use the online Windows Update function for Win98, itll get installed automatically when it becomes available. In other words, you shouldnt have any trouble finding it. My recommendation: get it as soon as you can! Its good stuff.
DirectX 6.1 is already being planned for later this year, incorporating support for input devices using the new Windows Driver Model that will finally allow the same drivers to work on Windows 98 and Windows NT, as well as the cool new DirectMusic API. DirectMusic is sort of a virtual banddevelopers can define how instruments are played in response to events in a program. If a game needs louder or more ominous music when the player is in danger, DirectMusic will provide a fairly abstract way to produce it, transitioning smoothly between moods as the game requires. This saves game developers from having to record a fixed audio track for everything that might happen in a game.
DirectMusic will be handled in software on Windows 95, but Windows 98 and Windows NT 5.0 will permit hardware acceleration of the new API. I expect to see even more advanced DSP-based sound cards show up over the next year or so.
DirectX 6.1 will be included in Service Pack 2 for Windows 98, the first time Ive heard specific plans for a second service pack (and before weve received SP1!).
DirectX 7.0 Under Development
Were still at least a month away from a proposed feature list for the next major release of DirectX, but DX7 is already scheduled for release in 2Q99. Microsoft described its "current thinking" on the features it wants to see in DX7. These include a variety of new 2D, 3D, and audio improvements. For 3D, the most important additions will include the new Fahrenheit scene-graph API being developed by Silicon Graphics for Microsoft. The other half of Fahrenheit will appear in DirectX 8.0 in 2000. For more information, see:
Microsoft is also considering a form of extension mechanism like that found in OpenGL, but I think this is probably premature given that Fahrenheit will have its own extension mechanism. As much as hardware developers need a way to support new, unique features, I think it can wait another year.
We should also get support for stereoscopic graphicsusing LCD-shutter goggles, for examplein DX7, which will make it easier for software developers to add virtual-reality features to their titles. (Now I hope the software developers figure out how to avoid inducing nausea after prolonged use.)
DX7 should also provide standard interfaces to allow PCs to be used as coin-op arcade games. This is being done already, but there arent any real standards. Each game has to provide all the interface code for the coin mechanism, buttons, joysticks, light guns, and so on.
Chrome Brightens Your Browser
One of the most talked-about bits of Microsoft technology Ive seen recently is a set of Web-browser enhancements known as Chrome. In essence, Chrome provides an interface to DirectXmost importantly, DXs 2D and 3D featuresthrough simple extensions to HTML. Chrome can even be used to develop complete applications, though it lacks any kind of real-time behavior, so "twitch" games that require quick responses are out of the question.
With Chrome, Web pages no longer have to be flat surfaces that fill a window. Chrome makes it possible to display a different Web page on each side of a spinning cubeand each of the six pages can be simultaneously visible and active. With a little more work, a 3D object can be set loose to fly around inside your browser window, casting a shadow on the page if thats what you want.
Why would we want something like this? I have no idea. In fact, Im sure well see this technology abused by overambitious Web developers, but eventually I think well see useful new user-interface methods evolve out of Chromes early chaos.
Chrome faces another problemMicrosoft is planning to use it to give Internet Explorer a competitive advantage over Netscape, and to further differentiate its Windows operating systems from MacOS, Linux, and other non-Microsoft OSs. Chrome is basically a set of ActiveX objects, but ActiveX isnt supported in Navigator, and it isnt even available on any other OS.
I hope Chrome gets used by enough Web developers to let us explore new opportunities for 3D user interfaces, but I dont want to see it used to Balkanize the Web any more than it has been already.
And Now, A Bit of Fun
Last night, AMD and Diamond Multimedia sponsored an evening event at Paramounts Great America, a theme park here in Silicon Valley. There was free food and beverages and free admission to the parkand after they closed the park to other patrons, the Meltdown attendees had exclusive access for another couple of hours. Fun stuff.
I havent seen a schedule or location for the next Meltdown, but if youre a DirectX developer, Microsoft wont let you miss it. In fact, if youre in Europe or Japan, you havent missed the July Meltdown. All the same presentations and many of the same developers will be at Meltdown UK, July 27-30 at the Hotel Novotel in London, and at Meltdown Tokyo (which sounds like it ought to have something to do with Godzilla), August 18-20 at the Tera-House in Tokyo.
If you want more information about upcoming shows, or if you want to look at the non-NDA presentations from past Meltdowns, just visit the Meltdown Web site:
According to Microsoft, the July presentations should be available by next week (the week of July 20), while the slides from previous shows are already online.
Meanwhile, Im off to Siggraph next week in sunny (and hopefully not smoky) Orlando, Florida, and Im sure Ill have something to say about that too.
Peter N. Glaskowsky (mailto:email@example.com) is a senior analyst at MicroDesign Resources (http://www.MDRonline.com). Peter covers 3D and PC multimedia technology for MDR, and writes a monthly column on computer graphics for Multimedia Systems Design magazine (http://www.msdmag.com). Peters personal Web site may be found at http://www.ideaphile.com.