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 demise of the Microsoft/SGI/Intel 3D consortium(for more information on this consortium, see link on main page), OpenGL support for Windows appears to be waning, and is now pretty much up to the h/w manufacturers to provide support(Microsoft and SGI aren't gonna do it). The flip-side is, SGI is supporting OpenGL more than ever now, and is providing their Performer product free for Linux.

Direct3D

Direct3D is best for supporting the Windows graphics accelerator market. It is COM-based.

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

What a disaster. The Microsoft/SGI team has now split up, and once again are going at each other head-to-head, and fahrenheit is apparently dead(although Microsoft is claiming otherwise). Fahrenheit was suppossed to eliminate the rift between OpenGL and Direct3D. Now it appears that SGI will concentrate on Linux-based Platforms with their OpenGL/Performer, and will hope to make their money selling hardware. We've got an SGI 320 running flight simulations at work and it is pretty cool. See the old write ups on the main page under "Fahrenheit" if you want more history on this abortion of a product.

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