Hagerman & Company, Inc. Technology Bulletin

Direct3D vs. OpenGL:
Moving away from the longtime CAD Standard

by John Boline
Service Manager,
MCSE, CNE, USE

For years we asked the same questions when doing support where video issues were concerned. Is your video card OpenGL? Is it certified for use with your CAD software? What version of the driver are you using? Do the artifacts occur when you move the mouse from left to right or right to left? How much RAM is on the video card? The reason for all these questions was simple: Everything had to be a perfect match to get the performance you wanted and not have unexpected results. The old standard was that OpenGL was for professional workstations and most others were for general office use or were a dreaded “gaming card.” Now the water is murky, if not muddy, thanks to Windows Vista.

Gaming Card vs. Professional Workstation Graphics
While both card types produce graphics, they performed the functions in very different ways. One used rendered polygons and the other used ray-tracing to produce images. One was great for high-speed animation and the other was for accuracy. And such was the way of the world. With Windows Vista, Microsoft changed that for PC users. OpenGL was no longer directly supported by a driver in Windows Vista, but was instead funneled or translated through a driver using Direct3D. With some cards, this resulted in poor performance. CAD manufacturers therefore began to have drivers for Direct3D video cards. Suddenly high end gaming cards found a new home in the professional workstation.

SGI's OpenGL
SGI's (Silicon Graphics) OpenGL is a procedural 3D graphics API, the successor to Iris GL which originated in the UNIX workstation market. Many of you will remember we sold those SGI stations along with those from HP, Sun and IBM. The Iris GL is the graphics API used on a succession of 3D graphics workstations designed and built by Silicon Graphics, Inc. Many of the OpenGL cards for PCs were based on this chip set. "OpenGL" is a trademark of the OpenGL Architectural Review Board (ARB). The ARB controls the definition of OpenGL through control of the specification by which an implementation may call itself "OpenGL." By definition, OpenGL is a graphics state that controls the rendering pipeline.

Microsoft's Direct3D
Microsoft's Direct3D is a COM-based 3D graphics API originating in a third-party 3D graphics API for x86 architectures. As with many components of Microsoft’s products, DirectX was acquired in 1996. Direct3D contains an immediate-mode interface and is part of DirectX. As it evolved, first appearing in DirectX 3, Microsoft Direct3D used execute buffers as its display structure. Since DirectX 5, a more traditional approach to buffers and primitives has been adopted with each successive version.

Feature Comparison
So what is the real difference? OpenGL and Direct3D use a traditional graphics rendering flow or pipeline. The use of a “pipeline” format has been present since the earliest days of computer graphics and has been enhanced and extended to use faster interfaces and the addition of plentiful RAM as technology advances. Of all the information I found, this chart shows the comparisons between the two formats and how they differ:

 

Feature

OpenGL 1.2 Core

Direct3D 7

Direct3D 8

System Mechanics

Operating System Support

Windows
(9x, NT, 2000), MacOS, BeOS, *nix, others

Windows
(9x, 2000, CE)

Windows
(9x, 2000)

API Definition Control

OpenGL ARB

Microsoft

Microsoft

API Specification

OpenGL Specification

SDK/DDK Documentation and DDK Reference

SDK Documentation

API Mechanism

includes and libraries

COM

COM

Software Emulation of Unaccelerated Features

Yes

No

No

Extension Mechanism

Yes

No

Yes

Source Implementation Available

Yes

Yes

No

Modeling

Fixed-Function Vertex Blending

No

Yes

Yes

Programmable Vertex Blending

No

No

Yes

Parametric Curve Primitives

Yes

No

Yes

Parametric Surface Primitives

Yes

No

Yes

Hierarchical Display Lists

Yes

No

No

Rendering

Two-sided Lighting

Yes

No

No

Point Size Rendering Attributes

Yes

No

Yes

Line Width Rendering Attributes

Yes

No

No

Programmable Pixel Shading

No

No

Yes

Triadic Texture Blending Operations

No

No

Yes

Cube Environment Mapping

No

Yes

Yes

Volume Textures

Yes

No

Yes

Multitexture Cascade

No

Yes

Yes

Texture Temporary Result Register

No

No

Yes

Mirror Texture Addressing

No

Yes

Yes

Texture "Wrapping"

No

Yes

Yes

Range-Based Fog

No

Yes

Yes

Bump Mapping

No

Yes

Yes

Modulate 2X Texture Blend

No

Yes

Yes

Modulate 4X Texture Blend

No

Yes

Yes

Add Signed Texture Blend

No

Yes

Yes

Frame Buffer

Hardware Independent Z Buffer Access

Yes

No

No

Full-Screen Antialiasing

Yes

Yes

Yes

Motion Blur

Yes

No

Yes

Depth of Field

Yes

No

Yes

Accumulation Buffers

Yes

No

No

Miscellaneous

Picking Support

Yes

No

No

Multiple Monitor Support

No

Yes

Yes

Stereo Rendering

Yes

Yes

No


Please note that as DirectX and Direct3D become even more mature, the differences and the speed of the interface as well as its acceptance in the professional workstation environment will continue to increase.

How can I get more information on this subject?
Update early, update often and back it up. What more can I say?! Verify the capabilities of the video cards you are looking at and the requirements of not only the operating system but also your applications. If you have questions or comments about this article or if there is anything new on the subject, contact me. I would be happy to respond!

 

 

All product names / logos, company names / logos are copyrights of their respective holders. John Boline is an MCSE, CNE, USE and a member of the Network Professional Association. The content herein is often based on late-breaking events. Much of the material is based on information from sources that are believed to be reliable. Hagerman & Company, Inc. disclaims all warranties as to the ultimate accuracy or completeness of the information. Hagerman & Company, Inc. and its employees shall have no liability for errors, omissions or inadequacies in the information contained within this article or for any interpretations thereof. The recommendations, positions and best practice policies outlined herein represent Hagerman & Company, Inc. initial analysis and therefore are subject to change as further information which may have bearing on these positions is made available. The reader assumes sole responsibility for the selection of these materials to achieve its intended results. The opinions expressed herein are subject to change without notice. Entire contents © 2007 Hagerman & Company, Inc. All rights reserved. Reproduction of this publication in any form without prior written permission is forbidden.

top