Sun unleashes Java 3D API beta
How will it complement VRML?
San Francisco (April 1, 1998) -- Sun released it's Java 3D API for beta testing last week at JavaOne. Two issues surrounding Java 3D API are Sun's perceived tortoise-like pace in developing the API and Java 3D API's relationship to Virtual Reality Modeling Language (VRML).
The Java 3D application programming interface is a network-centric, scene graph-based API. "A scene graph is simply an ordered way of representing a 3D world." says Gopal Ramasammy-Cook, chief technical officer of PsyberGate.
"Inside a 3D viewer/rendering program, the scene graph is stored as a data structure which represents a number of nodes joined by lines (a kind of branching tree-like structure)," Ramasammy-Cook says. "Representing a 3D world as a scene graph simplifies the task of rendering it from various viewpoints as the viewer navigates through the world."
InWorldVR, is a company that develops 3D and virtual reality applications. They created SpaceCrafter 3D Java Developers API in late 1996.
When describing the beginning of their efforts, Jeffery Donovan, chief technical officer of InWorldVR, says, "Sun, and most other people, said we could never build a 3D perspective corrected texture mapped API in Java, due to performance reasons. This is why the Sun Java API is written on top of native rendering engines and cannot run on every platform Java does."
"Nobody ever said it was technically impossible," says Donovan, "just that it would never achieve a frame rate that was acceptable or an API lightweight enough to transfer across the 'Net. We have done both."
InWorldVR is about two years ahead of Sun in creating a Java 3D API. "Our SpaceCrafter is a proprietary Java 3D API," says Donovan, "SpaceCrafter has been in final for over a year and has nothing to do with Sun's recently released Java 3D API. Unlike Sun's API, SpaceCrafter runs on any platform that supports Java."
Donovan notes that Sun's Java 3D API runs on platform-dependent Java Virtual Machines. He's frustrated with this because he says the point of Java is supposed to be platform independence.
Programmers who work with the languages that create computer graphics seem to hold strong, often polar, opinions about the relationship of Java 3D and and the content creation language VRML. Some feel they'll be a good complement to one another, and others are not so complimentary of the union.
Are Java 3D and VRML "complementary technologies"?
In a speech given at JavaOne last week, Tony Parisi, chief executive officer of Intervista Software, Inc., said, "While there is a certain amount of overlap, in general Java 3D and VRML are complementary technologies solving different problems."
"Over time we hope to see these technologies converge," said Parisi. "By integrating the full programming capabilities of Java 3D with a comprehensive content standard like VRML we can have a 3D solution that spans the spectrum of content and applications..." Parisi is one of the co-creators of VRML 1.0. He feels VRML is a good complement to Java 3D because Java 3D has no content creation language of its own.
Ramasammy-Cook thinks Java 3D APIs are, "great." He adds, "I believe that 3D is the next stage in the evolution towards more human-oriented computer user interfaces. First we had pure text interfaces like DOS, then came the graphical user interfaces or GUIs, and now we're standing on the threshold of another revolution in GUIs -- the virtual reality or 3D interface."
"But just as GUIs did not totally replace text, the 3D interface will not eradicate the GUI," says Ramasammy-Cook, "but will have to integrate harmoniously with its predecessor."
Ramasammy-Cook says, "I do not see any conflict between the aims of Java 3D APIs and that of VRML. I like to view the relationship between Java 3D and VRML as being equivalent to the relationship between Java and HTML (HyperText Markup Language)."
"An HTML file can specify all the details of the the layout and behavior of a Web page, but it still requires a browser to render this layout. The Internet browser has to be written in a language such as Java," says Ramasammy-Cook. "Similarly, a VRML file contains the specification of the layout and behavior of a 3D scene, but requires a VRML browser to render this scene. Such a browser could be written using a Java 3D API."
Ramasammy-Cook also notes, "the developer audiences are different. High-level file formats such as HTML and VRML are pitched at multimedia authors who do not want to be labored by the complexities of a fully fledged programming language." He says, "Java and Java 3D APIs, on the other hand, are for programmers. Java gives you the full power of a programming language, and allows you to step outside the confines of VRML."
Donovan says his company does not like VRML. "Our company is biased towards true programming APIs," he says. "It's our feeling that VRML is flawed from the start, due to the fact that it's looked at as much more than a file format specification."
"There's a threshold that you reach on level of complexity versus programming ease and the ability to simply do things that you would normally do in a programming API," says Donovan. "Once you reach that threshold level in VRML that level of complexity increases every step exponentially, whereas in a programming API it does not." We have not seen VRML's promise come true, we think it's a file format, and that's about it."
If you have technical problems with this magazine, contact email@example.com