|
5/12/98Zero Degrees FahrenheitWhat Fahrenheit says it will do in the next couple of years, Java 3D API is doing today.The partnership of Microsoft and Silicon Graphics, Inc. (SGI) to create a common set of 3D APIs (a.k.a. Fahrenheit) has produced much theory and almost no facts. But let's not underestimate Microsoft's ability to market vaporware. They tease customers with big hype, big promos, and tidbits of information, increasing curiosity and anticipation, especially when they are late to market. The result: a frozen marketplace that won't thaw until it sees all the players and their products. When you are running far behind with a new product, locking up the market while you catch up is just the move to make. We call this strategy "vapor lock." With Fahrenheit, all the market is getting from Microsoft/SGI is vapor lock -- no new product in the foreseeable future, no new bells and whistles down the road. Yes, Microsoft/SGI will give product demos and, yes, they will hype the partnerships at the next big trade show, but customers, press and industry analysts will ask when Fahrenheit will be available. Not until the year 2000, according to most sources.Let's look at some of the facts: Java 3D API versus Fahrenheit.
What are the products?The Java 3D API is an open, network-centric, scene-graph-based API that remodels 3D graphics application development. It provides 3D graphics for the network, it simplifies 3D graphics programming and it runs on any platform that supports Java technology.Fahrenheit, supposedly, is broken down into three layers. The low-level API does not present anything new, especially since industry trends are moving towards a higher level programming model using scene-graph architecture. However, Fahrenheit's second level scene graph API carries too much baggage as it will be layered on top of not only OpenGL® but also Direct3D® and the yet-to-be-defined Fahrenheit low-level API. This can only hinder overall performance. Support for platforms other than Windows and Windows NT is uncertain. "...Fahrenheit could turn out to be one serious piece of bloatware, since it has to translate both Direct3D legacy code and OpenGL code into its own format, it could introduce additional API overhead, and it might wind up being more of a hindrance than a help. Because the project's roll out products are so far off, we're left to speculate as to whether SGI and Microsoft can really pull this off.In addition, the Fahrenheit API is a 3D graphics-only solution, not geared for the media-rich applications of tomorrow. Did we mention that the second level of Fahrenheit is not due until deep into 1999 and that full functionality of the Fahrenheit product will not occur until the year 2000? Java 3D API, on the other hand, combines the benefits of a scene-graph programming architecture with the productivity benefits of Java technology, thereby simplifying the 3D programming tasks. And it is available to developers now, in early beta, with plans to ship this summer.
"Java is by far the best candidate for a uniform network computing environment, and Java 3D will be a major part of the human interface to the network. In order for Java to be a uniform network-computing environment, it must offer a common set of APIs everywhere. Java 3D looks like the best candidate for that. It's a very well designed API and it was a piece of cake to learn." Key Features of Java 3D APIJava 3D API is scene-graph based, offers geometry compression and provides multiple rendering modes for performance. It also supports advanced culling operations (view-frustum and execution culling), has support for occlusion culling and has continuous action devices (trackers). Java 3D API is Internet-aware and is integrated with other media types. (Java 3D API is part of the Java Media APIs which include Java 2D API, Java 3D API, Java Advanced Imaging API, Java Media Framework API and Java Sound API.) Fahrenheit's scene-graph API currently does not offer geometry compression, does not integrate 3D Graphic and 3D Sound and does not provide a flexible viewing model (which would enable it, like Java 3D API, to be deployed across a wide range of display environments ranging from desktops to a portal, without reprogramming).
"Facet chose Java 3D for visualization because it is the only Web-enabled cross-platform 3D graphics environment which combines high-performance with a complete suite of graphical objects for presenting complex data and models. Java 3D's scene graph architecture is simple yet powerful and has dramatically reduced the amount of code that we have had to write compared to OpenGL or other low-level 3D APIs. And we don't even have to recompile for different platforms."Fahrenheit 2000 = Java 3D API 1998
Let's conclude with some comments from users and developers:"Java 3D allows for easy rendering of VRML models, including behaviors. Significant time will be saved using native VRML-like support under Java 3D compared to using OpenGL. Features such as input devices, sound and behaviors are indispensable in our efforts to provide a rich collaborative virtual environment for user interaction. Without the Java 3D API, we wouldn't be able to develop our application on budget and deliver it on time." | |||||||||