Zibb

Graphics API expands hardware flexibility, standardization scope

-- EDN, 12/21/2000

Microsoft recently released Version 8 of its DirectX API (application-programming interface), which is available for downloading at www.microsoft.com/directx. Microsoft combines the 2-D DirectDraw and 3-D Direct3D APIs into a unified DirectX Graphics component. The company has also exposed optional low-level control over graphics hardware through DirectX Graphics' programmable shader language, targeting both the vertex and the pixel pipelines.

The DirectX 8 vertex-shader language supports as many as 128 instructions and 128 register variables; each register variable is a vector containing four values. Basic instructions, such as add, multiply, reciprocal, dot product, minimum, maximum, exponent, log, light, and distance, enable a variety of geometry operations. These operations include morphing and "tweening" animation, matrix-palette skinning, user-defined lighting models, procedural geometry, and general environment mapping.

Programmable pixel shaders comprise a minimum of 12 instructions and 16 registers, each of which is a vector containing four values. The shaders combine with instructions, such as add, multiply, and dot product; independent color and alpha; and robust instructions modifiers, to support numerous features. These features include texture-combining expressions; procedural textures; per-pixel lighting effects, including bump mapping and diffuse, specular, and anisotropic lighting; and per-pixel environmental mapping, such as fresnel effects, rotation, and normalization.

Multisample rendering support standardizes full-scene antialiasing and enables motion blur, soft shadows, and depth of field. Point-sprite support uses hardware to accelerate particle-system generation of snow, sparks, rain, and explosions. Volume rendering attenuates textures in a range-based manner for generation of atmospheric effects, such as clouds and fog, and DirectX 8 looks beyond today's geometry and color precision with support for higher order primitives, such as NURBS (nonuniform rational B-splines), and surface data, such as color depth greater than 32 bits. Multiresolution level-of-detail support assists developers in creating content that scales in complexity according to each system's available CPU and graphics-subsystem features and performance.

The latest graphics accelerators from companies such as 3dfx (www.3dfx.com), ATI Technologies (www.ati.com), and Nvidia (www.nvidia.com) support these features in hardware. DirectX's developers, along with its silicon partners, walk the feature tightrope and attempt to neither undershoot nor overshoot the state of the art in available graphics hardware (see "Balancing in three dimensions," EDN, April 27, 2000, pg 54). Microsoft has also combined DirectMusic and DirectSound into the tightly coupled DirectX Audio; integrated DirectShow into DirectX; and made requisite feature, scalability, and performance improvements to all DirectX components.

Microsoft has also unveiled plans for VA, its newest DirectX component. The Revision 1.0 specification describes "an API and a corresponding DDI (device-driver interface) for hardware acceleration of digital-video-decoding processing with support of alpha blending for such purposes as DVD subpicture support. It provides an interface definition focused on support of MPEG-2 'main-profile' video (formally ITU-T H.262, ISO/IEC 13818-2) but is also intended to support other key video codecs (eg, ITU-T Recommendations H.263 and H.261, and MPEG-1 and MPEG-4)." DirectX Graphics has enabled developers to write a single application that runs in either software-emulated or hardware-accelerated modes under widely divergent hardware.

DirectX VA will similarly free video application developers from writing graphics-subsystem-specific application patches that comprehend the presence or lack of hardware support for color-space conversion, motion prediction and compensation, DCT (discrete-cosine transform), inverse DCT, and other valuable encoding and decoding hardware features. Microsoft targets DirectX VA at Windows ME, 2000, and future operating systems, such as Whistler. Read all about DirectX VA at www.microsoft.com/hwdev/directx_va.

Microsoft, 1-425-882-8080, www.microsoft.com.

—by Brian Dipert


Reed Business Information Resource Center

Featured Company


Related Resources

ADVERTISEMENT

ADVERTISEMENT

Feedback Loop


Post a CommentPost a Comment

There are no comments posted for this article.

Related Content

 

By This Author

There are no additional articles written by this author.


ADVERTISEMENT

Knowledge Center



Technology Quick Links

EDN Marketplace


©1997-2009 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites