3D API Discussion

OpenGL

Originally designed by Silicon Graphics(SGI), now an open industry standard. It runs on multiple platforms, and UNIX implementations abound. If you are mainly interested in the ability to run on multiple platforms, this should be the API of choice. This API is simpler to learn and use than Direct3D, so if learning curve, and/or development-time are of paramount concern, this should be your API. It is recommended that you use the GLUT (OpenGL Utility Toolkit), to further simplify development and cross-platform porting.

Unfortunately, due to the new Microsoft/SGI/Intel 3D consortium(for more information on this consortium, see link on main page), OpenGL support for Windows appears to be at a standstill, or worse. For example, 3dFX is no longer providing their OpenGL driver on their website(you can download one here - go back to the main page and follow the link); and they are referrring you to the board manufacturer's pages.

Direct3D

Direct3D is best for supporting PC graphics accelerator market. It is COM-based, and should ease transition to Fahrenheit, which is reportedly COM-based. But future support for Direct3D may also be in jeopardy, as Fahrenheit is being built to replace it.

NOTE: All references to Direct3D herein generally refer to Direct3D RM(Retained-Mode), not the lower-level Direct3D IM(Immediate-Mode) which Direct3D RM is layered on top of. This is an important distinction, because many of the comparisons that you will come across on the Web are actually comparing OpenGL to IM, which makes Direct3D appear worse than it really is for new developers.

Fahrenheit

As the Fahrenheit API doesn't exist yet, it can't be recommended for any new development, but could be the obvious choice once a stable version exists(I expect that will be when Windows 2000 ships). Based on the new white paper now at the SGI web page, the new Scene Graph level should greatly simplify programming applications. I'd be interested in getting a beta release of the Scene Graph API - others have speculated that the Scene Graph level would be implemented first, and use Direct3D IM or OpenGL until Low Level is completed. I'll also be interested to know if Scene Graph or Low Level will be included free with Windows - or if we are going to have to pay extra. SGI should be WORKING THEIR TAILS OFF to get this Fahrenheit stuff out the door quickly - because until they have a solution, they will continue to lose hardware market share to 3dFX, nVidia, etc.

Java 3D API

Too slow for PC-resident simulation application. Main application is for Web-based 3D, giving the ability to run on multiple platforms. If you're interested in doing Java in a real application, Microsoft supports Direct3D in their Java SDK - of course that will only work on a Windows-based PC.

Please provide e-mail feedback to: horseshoestew@geocities.com, so that this site can be kept up to date.

Return to the 3D API Information Page