The Development of 3D Graphics and VRML Libraries for Web3d Platform by Using Java

The Development of 3D Graphics and VRML Libraries for Web3d Platform by Using Java

The Development of 3D Graphics and VRML Libraries for Web3D Platform by Using Java Bing-Yu Chen1 and Tomoyuki Nishita2 1Department of Computer Science, The University of Tokyo, 113-0033 Japan 2Department of Complexity Science and Engineering, The University of Tokyo, 113-0033 Japan SUMMARY Recently, the Internet users are growing day by day, and so are the demands of 3D graphics on the Internet. This paper proposes a new 3D graphics program- However, when we develop a 3D graphics program on ming environment for Web3D on the Internet. To de- the Internet, since the Internet itself is a heterogeneous velop 3D graphics programs on the Internet is not easy network environment, to offer several versions of the because there is no popular 3D graphics library like same program for several different platforms is not easy. OpenGL. For this purpose, we developed a 3D graphics This is so-called the platform dependant problem. Al- 1 library called jGL by using Java exclusively. jGL is a though Java can be used to solve this problem now be- general-purpose 3D graphics library, and its API (Appli- cause of its hardware-neutral features, its 3D graphics cation Programming Interface) is defined in a manner support forms another problem. quite similar to that of OpenGL. Since jGL offers the To develop a 3D graphics program on a same functionalities as OpenGL, the programmers can stand-alone computer, the programmer always uses a 2 use it easily. Furthermore, since people can use some general-purpose 3D graphics library, like OpenGL . simple Java programs on cellular phones recently, the However, there is no such a library on the Internet when migration experimentation toward i-αppli is also de- using Java. Moreover, if there is a 3D graphics library for scribed in this paper. Moreover, VRML (Virtual Reality Java, it should be easy to learn and use. Therefore, we Modeling Language) is a standard file format for de- developed a 3D graphics library called jGL, and defined scribing 3D models on the Internet. To display a 3D the API of it in a manner quite similar to that of OpenGL. model on the Internet, people may like to use the VRML Hence, while using jGL, the programmers do not need to file format. Therefore, we also developed a VRML li- learn how to use a entirely new 3D graphics library, so brary called jVL by using Java exclusively as an exten- that to develop 3D graphics applications on the Internet sion of jGL. In this paper, the results and some detail becomes easier than before. descriptions are updated and different from those in [3]. Unlike Java 3D and other similar 3D graphics li- braries for the Internet; jGL does not need any native codes or pre-installed libraries, such as OpenGL, it is Key words: OpenGL; VRML; Web3D; Java; developed with pure Java only. To develop a 3D graphics graphics library. application with jGL on the Internet, the programmer can just ignore how to do the 3D graphics rendering on the 1. Introduction 1 http://java.sun.com/ 2 http://www.opengl.org/ Java VM (Virtual Machine). The entire 3D graphics ren- systems on the Internet. Some are 3D graphics libraries dering is done by jGL. If the application is designed to (Java 3D and JSparrow in the following); others are for be run by other users on the Web, all he or she has to do displaying 3D objects or scenes (Eyematic Shout3D, is just to put it on the Web server with jGL. Then, the blaxxun3D, Cortona Jet, and Xj3D in the following). users can use this program via the in-lined applet on any Java 3D – Java 3D4 is provided by Sun Microsys- Java enabled Web browser. Moreover, the users who run tems, Inc. as the 3D support for Java programming lan- any application developed with jGL do not need to install guage, but has not become an official part of core Java any package even jGL before using it; all of the required package. Java 3D needs the support from OpenGL or codes are downloaded at run-time from the server. DirectX, which has been pre-installed. Since it can get We released the first version of jGL at the end of the benefits from the graphics hardware the run-time 1997 [4]. That version provided only the basic rendering performance is good, but the platform dependent prob- routines due to the machine performance. Moreover, lem is occurred. To use a program based on Java 3D, the some complex functions, such as texture mapping, are users have to install the run-time package of Java 3D also ignored, since those functions are time-consuming. before using it. Moreover, the API of Java 3D is specific, However, because the computer hardware has much im- so people who want to develop some 3D graphics pro- proved and more and more fancy 3D graphics applica- grams with Java 3D may spend much time to learn how tions have been required for the Internet, we therefore to use it. decided to enhance the capabilities of jGL. Unfortunately, JSparrow – JSparrow5 is an implementation of although the computer hardware is getting faster and Java binding for OpenGL provided by PFU, Ltd. Since it faster day by day, the network bandwidth is still the same needs the support from native OpenGL, it also has the as, or even worse than before. Trying to increase the ca- platform dependent problem as Java 3D. Moreover, to pabilities of jGL may make its code size become too use a program developed with it, the users also have to large to be transmitted over the Internet. To enhance the install the JSparrow package before using it. capabilities and minimize the code size at the same time, Eyematic Shout3D – Eyematic Shout3D 6 is a the kernel of jGL has been re-written. commercial product of Eyematic Interfaces, Inc. It is Recently, some simple Java applets can be run on developed using pure Java and can display 3D models on cellular phones, for example the i-αppli3 of the 503i and the Web. Although the file format of the 3D model is not 504i series provided by NTT DoCoMo in Japan. Since VRML, it provides a converter from VRML to its own i-αppli is not standard and based on Java 2 SDK, Micro file format (not one-to-one mapping). Like VRML, it Edition (J2ME) that is different from the platform of jGL, also provides its own API to let people program anima- which is Java 2 SDK, Standard Edition (J2SE), jGL can tion of the 3D model. not be run on the i-αppli platform directly. To make the blaxxun3D – blaxxun3D7 is a commercial product cellular phones to have 3D graphics supports, we ported of Blaxxun Interactive, Inc. As Eyematic Shout3D, it is some basic parts of jGL onto the i-αppli platform. also developed using pure Java and can display 3D mod- Besides the 3D graphics library as a programming els on the Web. It reads VRML and draft X3D (Extensi- environment for the Internet, we also need to show and ble 3D; the next generation of VRML) file format, al- use 3D models while developing 3D graphics applica- though it does not fully support both. Following the tions. Hence, we also used pure Java to develop a VRML concepts of JavaEAI (Java External Authoring Interface), library called jVL by following the API of jGL and the blaxxun3D also provides an API to let people program specification of VRML [2], since VRML is a standard their 3D models. file format for describing 3D models on the Internet. Cortona Jet – Cortona Jet8 is a commercial prod- Furthermore, the 3D graphics rendering of jVL is also uct of Parallel Graphics, Inc. As Eyematic Shout3D and done by jGL. blaxxun3D, it is also developed using pure Java and can display 3D models on the Web. It reads VRML file for- 2. Related systems 4 http://java.sun.com/products/java-media/3D/ For the Web3D platform, there are some related 5 http://home.att.ne.jp/red/aruga/jsparrow/ 6 http://www.shout3d.com/products_shout3d.html 7 http://www.blaxxun.com/products/blaxxun3d/ 3 http://www.nttdocomo.co.jp/p_s/imode/java/ 8 http://www.parallelgraphics.com/products/jet/ mat, but does not provide any API for programming. same function hierarchy and is defined as Fig. 1 (b). Xj3D – Xj3D9 is an open-source project of the Web3D Consortium, Inc. Xj3D is also developed using 3D Application 3D Java Applet Java, but the 3D graphics rendering is based on Java 3D. It can read VRML and draft X3D file format exactly; GLUT AUX GLUT GLAUX actually it is the testing platform for the X3D. GLU GL U GL As listed in Table 1, since Java 3D is not platform independent and programmers need to pay more time to GL Graphics Context study how to use it, we think to provide a real platform Native Window Systems Java Virtual Machine independent 3D graphics library with a familiar API is useful. Moreover, although there are several programs (a) (b) could be used to show 3D models, the users can not use Fig. 1. The hierarchy of (a) OpenGL and (b) jGL mod- them for programming such as changing the light sources ules. or the actions of the 3D model. Therefore, the develop- ment of 3D graphics programs on the Internet is easier GL implements a powerful but small set of draw- than before by using jGL and jVL. ing primitive 3D graphics operations, including rasteri- zation, clipping, etc.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us