Catálogo de publicaciones - libros

Compartir en
redes sociales


Pro Java 6 3D Game Development: Java 3D™, JOGL, JInput, and JOAL APIs

Andrew Davison

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

Software Engineering/Programming and Operating Systems

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2007 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-1-59059-817-7

ISBN electrónico

978-1-4302-0212-7

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Apress 2007

Tabla de contenidos

Introducing Java 3D

T he Java 3D API, a scene graph API developed by Sun Microsystems, provides a collection of highlevel constructs for creating, rendering, and manipulating a 3D scene graph. A scene graph makes 3D programming much easier for novices (and even for experienced programmers) because it emphasizes scene design, rather than rendering, by hiding the graphics pipeline. The scene graph supports complex graphical elements such as 3D geometries, lighting modes, picking, and collision detection.

Palabras clave: Virtual World; Collision Detection; Scene Graph; Behavior Node; Graphic Pipeline.

Part 1 - Java 3D | Pp. 3-14

Get a Life (in 3D)

T his chapter introduces a number of programming techniques that you will see again frequently in upcoming chapters. We will integrate Java 3D’s Canvas3D class (where a scene is rendered) with a Swing-based GUI and display the scene in a full-screen window. We will build a Java 3D scene graph that is lit with ambient and directional lights, has a blue-sky background, and is filled with multicolored spheres. The spheres gradually rotate, change color, and fade in and out of view. These dynamic elements are driven by a simple subclass of Java 3D’s Behavior acting as a timer, which triggers updates to the scene every 50 milliseconds. The user’s viewpoint (the camera) can be zoomed in and out, panned, and rotated with the mouse and control keys (courtesy of Java 3D’s OrbitBehavior class). We will then convert the example into a screensaver with the help of JScreenSaver, a Java-based Microsoft Windows screensaver loader.

Palabras clave: Cellular Automaton; Visual State; Directional Light; Scene Graph; Game Rule.

Part 1 - Java 3D | Pp. 15-48

Get a Life (the Java 6 Way)

T he Life3D example from Chapter 2 is utilized again in this chapter. Just to remind you, Life3D is a 3D version of Conway’s Game of Life , a simple cellular automaton game whose visualization demonstrates many of Java 3D’s basic capabilities. This time around I’ll change the application a little to discuss four new Java SE 6 features that are useful for gaming: splash screens; the system tray API; the desktop API; and scripting integration.

Palabras clave: Menu Item; Uniform Resource Identifier; Splash Image; Script File; Graphic Context.

Part 1 - Java 3D | Pp. 49-82

The Colliding Grabbers

T his chapter looks at how to use Java 3D’s built-in Box, Cylinder, and Sphere shapes to create articulated models . The shapes are linked together by Java 3D TransformGroups nodes acting as joints, which can be rotated and moved. This functionality is essential if you want to build humanoid figures with operational limbs or machinery with working parts.

Part 1 - Java 3D | Pp. 83-120

When Worlds Collide

A n important physics-related gaming problem is how to handle object collisions. It can be difficult to decide how a 3D object should rebound or bounce, especially when mass, linear and angular velocity, gravity, friction, and other forces are taken into account.

Palabras clave: Dynamic Object; Contact Joint; Scene Graph; Graphical Part; Collision Testing.

Part 1 - Java 3D | Pp. 121-144

A Multitextured Landscape

T his chapter’s focus is on using multitexturing and a heights map to make a natural-looking 3D landscape. I describe several multitexturing approaches for making a 3D landscape look more varied and natural by using grass and stone textures, adding light and shadow with a shadow map, and supplying flowers and water with an alpha map.

Palabras clave: Scene Graph; Texture Unit; Bump Mapping; Golden Ball; Alpha Channel.

Part 1 - Java 3D | Pp. 145-177

Walking Around the Models

T he previous chapter was about making interesting-looking landscape. This chapter is about populating a scene with 3D models and 2D images “pretending” to be 3D. The images act as ground cover, appearing to be 3D by rotating to always face the viewer.

Palabras clave: Ground Cover; Class Diagram; Scene Graph; Loader Interface; Scene Class.

Part 1 - Java 3D | Pp. 179-201

More Backgrounds and Overlays

I n Chapter 7, I described several ways of making detailed backgrounds that look different when viewed from different places in the scene. The techniques all utilize textures wrapped over 3D geometries connected to the scene graph.

Palabras clave: Mixed Mode; Text Message; Class Diagram; Background Image; Mutual Exclusion.

Part 1 - Java 3D | Pp. 203-229

More Backgrounds and Overlays

O ver the next few chapters, I look at using nonstandard input devices, including the game pad (in Chapters 11 and 12) and the P5 data glove (in Chapter 14), but I start with the webcam in this chapter and the next. (Chapter 13 is a sort of interlude, where I look at 3D sound generation using the JOAL API; JOAL is employed in the subsequent data glove chapter.)

Part 2 - Nonstandard Input Devices | Pp. 233-249

Navigating a 3D Scene by Waving Your Arm

I n this chapter, I explain how to navigate through a Java 3D world containing a checkerboard floor, a stormy background, a giant humanoid, and assorted ground cover, all mostly borrowed from the example in Chapter 7. The novelty here is that the navigation is achieved by the user moving and rotating his left arm; no keyboard or mouse manipulation is required. This “magic” is made possible by the user wearing a wrist strap containing three colored bands (blue, yellow, and red). Pictures of the strap are generated using the JMFCapture class from Chapter 9; a basic form of pattern recognition then finds the largest visible colored band on the strap. This information is converted into navigational commands for moving the camera around the world.

Part 2 - Nonstandard Input Devices | Pp. 251-271