Virtual Reality and Java 3D

Virtual Reality and Java 3D

Chi Chung Ko (National University of Singapore, Singapore) and Chang Dong Cheng (CCS Automation PTE LTD, Singapore)
Copyright: © 2009 |Pages: 17
DOI: 10.4018/978-1-59904-789-8.ch001
OnDemand PDF Download:


Web-based virtual reality is fast becoming an important application and technological tools in the next generation of games and simulation as well as scientific research, visualization, and multi-user collaboration. While tools based on VRML (virtual reality modeling language) are frequently used for creating Web-based 3D applications, Java 3D has established itself as an important modeling and rendering languages for more specialized applications that involve, for example, database accesses, customized behaviors, and home use mobile devices such as the PDA, mobile phone, and pocket PC (Kameyama, Kato, Fujimoto, & Negishi, 2003).
Chapter Preview

Interactive 3D Computer Graphics

In general, the field of computer graphics includes the creation, collection, processing, and displaying of data using computer technology into a visual representation or form (Rhyne, 1997). Very often, this is supplemented by the need for an interactive graphical user interface that captures user inputs through appropriate mouse, window, and widget functions. In terms of applications, computer graphics is an important subject in digital media technologies, scientific visualization, virtual reality, arts, and entertainment.

The basic theory for computer graphics can be found in the references by Pokorny (1994), Hearn and Baker (2006), and Foley, Dam, Feiner, and Hughes (2006). Very simply, in 3D computer graphic application, the components in a particular scene are often defined by using mathematical relationships or geometries. Specifically, these involve the use of graphical primitives that correspond to basic geometrical shapes for constructing graphical scenes. Each primitive may have many attributes including size and color.

To create 2D graphics, primitives such as line, circle, ellipse, arc, text, polygon, and spline are frequently used. For more complicated 3D applications, the primitives employed may include cylinder, sphere, cube, and cone. The main purpose of using these primitive-based representations is to speed up rendering in real-time. This is especially important in scenarios involving a large scale virtual world.

Since most display devices are 2D in nature, the projection or transformation of a 3D world on a 2D screen is an inherent process in most applications. This is not a trivial task, especially when there is a need to create immersive 3D effect by using lighting, volume, and shadowing techniques.

While the use of static 3D graphical primitives may satisfies the requirements in some cases, the ability for the user to interact with virtual or real objects in a 3D world are needed in a lot more applications. As examples, interactive 3D graphics can provide us with the capability to interact with movable objects or scenes, for exploring complex structures, and to better visualize time varying phenomena and architecture design. In general, with realistic interaction included in a 3D world, we arrive at what is commonly known as virtual reality.

To create 3D computer graphical applications, a variety of programming tools may be needed depending on the type of applications and hardware support available. A commonly used programming tool, very often provided in the form of graphical libraries, is OpenGL (open graphics library). OpenGL is in turns based on GL (Graphics Library) from SGI. OpenGL has grown to be an industrial standard library for graphical application development, and consists of a set of procedures and functions that allow the programmer to specify objects and operations associated with producing high quality computer graphics. Figure 1 illustrates the rendering pipeline used in OpenGL.

Figure 1.

OpenGL rendering pipeline

Complete Chapter List

Search this Book:
Table of Contents
Chi Chung Ko
Chapter 1
Chi Chung Ko, Chang Dong Cheng
Web-based virtual reality is fast becoming an important application and technological tools in the next generation of games and simulation as well... Sample PDF
Virtual Reality and Java 3D
Chapter 2
Java 3D Overview  (pages 18-31)
Chi Chung Ko, Chang Dong Cheng
In the last chapter, a brief introduction on the creation of 3D content through the use of Java 3D and other programming methodologies for virtual... Sample PDF
Java 3D Overview
Chapter 3
Geometry Objects  (pages 32-74)
Chi Chung Ko, Chang Dong Cheng
To create 3D graphics, we have to build graphics or visual objects and position them appropriately in a virtual scene. In general, there are three... Sample PDF
Geometry Objects
Chapter 4
Appearance Objects  (pages 75-96)
Chi Chung Ko, Chang Dong Cheng
In the last chapter, the creation of the skeletons or shapes of 3D objects has been discussed through the use of geometry objects in Java 3D. In... Sample PDF
Appearance Objects
Chapter 5
Textures  (pages 97-113)
Chi Chung Ko, Chang Dong Cheng
Although extensive use of basic attributes such as color and material will be able to make an object realistic to the human user, it will be time... Sample PDF
Chapter 6
Chi Chung Ko, Chang Dong Cheng
How the properties of virtual 3D objects can be specified and defined has been discussed in earlier chapters. However, how a certain virtual object... Sample PDF
Lighting, Fog, and Background
Chapter 7
Animation Objects  (pages 132-158)
Chi Chung Ko, Chang Dong Cheng
We have discussed important Java 3D objects that are basically static in the last few chapters. Starting from this chapter, we will be looking at... Sample PDF
Animation Objects
Chapter 8
Interaction  (pages 159-187)
Chi Chung Ko, Chang Dong Cheng
In Chapter VII, we discussed how animation can be applied in Java 3D to increase the visual impact of a virtual 3D world and illustrate the dynamic... Sample PDF
Chapter 9
Picking  (pages 188-216)
Chi Chung Ko, Chang Dong Cheng
The last two chapters have discussed how animation and interaction can be created in Java 3D to increase visual impact, to show object dynamics and... Sample PDF
Chapter 10
Chi Chung Ko, Chang Dong Cheng
One of the most useful and important advantages of 3D graphics rendering and applications is that there is the possibility for the user to navigate... Sample PDF
Navigation, Input Devices, and Collision
Chapter 11
Multiple Views  (pages 238-263)
Chi Chung Ko, Chang Dong Cheng
Our discussions in previous chapters have centered on the creation and interaction of visual objects in a virtual 3D world. The objects and scenes... Sample PDF
Multiple Views
Chapter 12
Audio  (pages 264-275)
Chi Chung Ko, Chang Dong Cheng
Of all the human perceptions, two of the most important ones are perhaps vision and sound, for which we have developed highly specialized sensors... Sample PDF
Chapter 13
Chi Chung Ko, Chang Dong Cheng
In this final chapter, we will describe the use of Java 3D as a visualization technology in the development of a Web-based 3D real time oscilloscope... Sample PDF
A Web-Based 3D Real Time Oscilloscope Experiment
Appendix A: Downloading Software
Appendix B: Running the Rotating Cube Program
Appendix C: ViewManager
Appendix D: Main Applet for Web-Based 3D Experiment
Appendix E: Scene Graph Implementation for Web-Based 3D Experiment
Appendix F: Knob Class for Web-Based 3D Experiment
Appendix G: Navigation and Collision Detection for Web-Based 3D Experiment
Appendix H: Picking for Web-Based 3D Experiment
Appendix I: Program Summary and Screen Capture
About the Authors