Index

Numerics
 
2D coordinates, projecting from 3D coordinates to 13-19

comparing outputs 15
drawing filled triangles 16-19
simple 3D projection routine 13-15
3D Ark (web site) 13, 354
3D coordinates, projecting to 2D coordinates 13-19
comparing outputs 15
drawing filled triangles 16-19
simple 3D projection routine 13-15
3D file formats (web pages) 354
3D Fly-Through example application 6-8
3D graphics cards 6, 245
3D graphics engines list (web pages) 354
3D graphics glossaries (web pages) 354
3D graphics programming
learning 10-13
lighting effects 19-20
MyJava3D example 21-24
projecting from 3D coordinates to 2D 13-19
comparing outputs 15
drawing filled triangles 16-19
simple 3D projection routine 13-15
resources for 28-30, 353-357
3D rendering cards 6, 245
3D texture coordinates. See texture coordinates
 
A
 
AC3D loader 273
accelerator cards 106
addCanvas3D method 292-293
addGeometry method 21
Advanced Animation and Rendering Techniques (Watt) 101
advantages of Java 3D 2-3
algebra, vector and matrix 13
Allaire Kawa (Integrated Development Environment) 30, 356
ALLOW_COMPONENT_WRITE capability bit 204
ALLOW_TRANSFORM_WRITE capability bit 204-205
ALLOW_VALUE_WRITE capability bit 205
Alpha class 37, 199-202
Alpha test modes 138
Alpha values 141, 199
Amapi 3D (web site) 355
ambient colors 133, 154
AmbientLights 157, 159, 160
AnimatingSurface 23
animation
data model design for 98
SimpleTest example 32, 37
antialiasing 23, 24, 132, 134
APIs (application programming interfaces)
client-side 1
OpenGL 1-2
Appearance class 128
See also capability bits
Appearances
in InterpolatorTest example 208
merging and sorting 66
SimpleTest example 31
AppearanceTest example 127, 129-131, 254-255
applets
deploying Java 3D application as 301-324
automatic Java 3D installation 323-324
end-user experience 321-323
original HTML applet code 319
security issues 324
using Java 2 plug-in HTML converter 320-321
download time 8
enabling running of 27-28
running examples 352
Application Programming Interfaces. See APIs
ARB (Architecture Review Board) 9
architecture, system. See system architecture
asset management 106-107
attribute merging 66
audience, for Java 3D 3, 5
AvatarTest example 93-95, 175-176
AWT Frame 87-88
AwtRendering-Engine interface 23-24
axis angles, creating quaternions from 207
 
B
 
background geometry 31, 38, 94-95
Background Node, MixedTest example 61
Barrileaux, Jon xviii
BASE_LEVEL_LINEAR MagFilter mode 255, 256
BASE_LEVEL_LINEAR MinFilter mode 255
BASE_LEVEL_POINT MagFilter mode 255
BASE_LEVEL_POINT MinFilter mode 255
Behavior class 165-166
behaviors 164-197
architecture of 164
BehaviorTest example 220-221
Billboard 192-195
built-in 165, 167, 168
ExplodeBehavior 224-227
LOD (level of detail) 195-197
methods of 166-167
Mouse 186, 190-191
building improved 188-191
Java 3D mouse support 187-188
overview 186
ObjectSizeBehavior 221-224
StretchBehavior 227-230
using for debugging 230-232
WakeUp criteria for 167-171
what they are 164
BehaviorScheduler 329
BehaviorStructure 329
benefits of Java 3D 2-3
Bill Day?s Articles on Java 3D (web pages) 354
Billboard behavior 95-96, 165, 168, 192-195
binary space partition (BSP) trees 17
BitSet 74, 339
blend color 257, 258
BLEND mode 259, 260
Book reviews by Brian Hook (web pages) 356
Borland JBuilder (Integrated Development Environment) 30, 356
boundary color 252
boundary mode 252
BoundingBox class 67-70, 220
BoundingPolytope class 67
BoundingSphere class 38, 67-70
Bounds 46-47, 67-71
and level of detail 51-52
associated with Light Nodes 156
creating object with various combinations of 67-69
examples of 49-50
propagation 69
scheduling
describing application?s volume 38
for Behaviors 165
BOUNDS (PickTool mode) 277, 287
BoundsBehavior 230
Box class 111-113, 358-360
BSP (binary space partition ) trees 17
Building Java 3D User Interfaces (Barrilleaux) 29
built-in behaviors 165, 167, 168
""burning" objects 224
 
C
 
CAD (Computer-Aided Drafting) visualization 105
Cain, Andrew 180
Canvas3D component 46
callback methods 57
creating 87
postSwap method 231-232
capability bits 65-66, 128
for ColoringAttributes class 129
for LineAttributes class 131
for Material class 132
for PointAttributes class 133
for PolygonAttributes class 136
for RenderingAttributes class 138
for TexCoordGeneration class 140
for Texture class 141
for TextureAttributes class 140
for TransparencyAttributes class 141
child Node, removing from parent Group 72-73
classes
See also names of specific classes
decompiling 30
utility 267-270
client-side APIs 1
Cline, H.E. 101
clip planes 19, 86
codes, example
running 352
collision detection 180-182, 293-300
CollisionBounds 67-71
Color buffer 142-143
ColoringAttributes 129-131BR> colors
ambient 133, 154
diffuse 133
effect of lighting on 150
emissive 133, 154
KeyNavigateTest example 177-180
SimpleTest example 37
specular 133
compatibility
testing for 6
with Windows 3-5
compilation, scenegraph 51, 65-66
ComplexObject class 214
computeIntensity method 20
Computer Graphics Principles and Practice (van Dam, Feiner, and Hughes) 13
Computer Graphics Principles and Practice in C (Foley) 29
Computer-Aided Drafting (CAD) visualization 105
Concentration property 158
Cone class 113-114
ConicWorld Java 3D demo directory 111
ConicWorld/BoxExample 112
constant component 158
constructor method 167
contourCountArray 269
Control Nodes 43
coordinates, projecting from 3D to 2D 13-19
comparing outputs 15
drawing filled triangles 16-19
simple 3D projection routine 13-15
Core Web3D (web site) 354
cosine shading 152
Cosm (online role-playing game) 98, 355
createMapItem method 179
createSceneBranchGroup method 293
createTextureGeometry method 239-241
createWall method 180
CULL_FACE property 136-137
CustomAlphaTest example 201-202
Cylinder class 114
 
D
 
Dash Dot pattern 132
data file loaders 107
data model design
choosing data model 97-104
surface models 98-100
volumetric and mathematical models 100-103
implementing 103-104
performance objectives 104-107
DECAL mode 259
decompiler, Java class 30
Decreasing Alpha phase parameter 200
Decreasing Alpha ramp parameter 200
depth buffer technique 18-19
depth sorting 16-17
development time 106-107
diffuse colors 133
directed acyclic graph. See scenegraph
DirectionalLight 157, 158
directmanipulation. See picking
disadvantages of Java 3D 3-5
display hardware recommendations 6
DistanceLOD class 195-197
documentation, Java 3D programming 28-30
DOOM and DOOM-style keyboard navigation imple-mentation 176-186
implementing collision detection 180-182
loading and creating world from 2D map 177-180
texture image animation for flaming 183
downloading
applets, time considerations 8
Java 2 SDK 27-28
Java 3D SDK 3-5, 28
doWork method 336
drivers, accelerator 106
DXF data file loader 107
dynamic mapping 245-251
EYE_LINEAR mode 248
OBJECT_LINEAR mode 246-248
SPHERE_MAP mode 250-251
dynamic objects 41-42
 
D
 
Eclipse (Open Source, IBM) 356
Edinburgh Virtual Environment Centre (EdVEC) 98, 355
editing Windows registry 28
editors, programming 30
EdVEC (Edinburgh Virtual Environment Centre) 98, 355
Emacs (Integrated Development Environment) 30, 356
email list, Java 3D 29
emissive colors 133, 154
ENABLE_APPEARANCE_MODIFY primitive flag 115
ENABLE_GEOMETRY_PICKING primitive flag 115
environment, programming 30
Euler angles, creating quaternions from 207
exception strings 340
ExplodeBehavior 221
EYE_LINEAR mode 248, 249
 
F
 
facial models 99-100
far clip plane 19
FASTEST MagFilter mode 255
FASTEST MinFilter mode 255
Feiner, Steven 13
fields-of-view (FOV) 48-50
FileAlpha class 201-202
Foley, James D. 29
FontExtrusion object 123
FOV (fields-of-view) 48-50
FpsBehavior 230
frame rate 104-105
calculating using behaviors 231-232
determining factors 6
required 5
FullSail OpenFLT loader 274
 
G
 
games
frame rate for 105
texture mapping problems 236>
use of dynamic LOD algorithms 195
garbage collector (GC) 3
Gehringer, Doug 104
GENERATE_NORMALS primitive flag 115
GENERATE_NORMALS_INWARD primitive flag 115
GENERATE_TEXTURE_COORDS primitive flag 113, 115
GeomBuffer class 116, 358-361, 363-364
geometry
cache, and primitive classes 116
choice of geometry description 98
GeomBuffer helper class 116
geometry-by-reference 100
importing data into Java3D. See object loaders
merging 66
modifying appearance of. See Appearance class
Morph Node 124-125
Primitive classes 109-116
and geometry cache 116
Box class 111-113
Cone class 113-114
Cylinder class 114
primitive flags 115-116
Sphere class 115
Raster class 116-120
Shape3D classes 108-109
sorting 143
Text2D 121-122
utility classes for importing or generating 267-270
viewer, attaching 87-91
GEOMETRY (PickTool mode) 277
Geometry cache 362-363
Geometry nodes 43
GEOMETRY_INTERSECT_INFO (PickTool mode) 277
GEOMETRY_NOT_SHARED primitive flag 115
GeometryArrays
and lighting effects 20-22
associated with Morph Nodes 124-125
colors modified at runtime 162
GeometryInfo object 240-241
GeometryStructure 329
GeometryUpdater 22
getRectangleScaleFactor method 121
getSoundDistanceGain method 219
getViewer call 92
getViewingPlatform call 92
gimbal-lock, avoiding 207
GL4Java (web pages) 354
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 142
GNU Emacs (Integrated Development Environment) 30, 356
Gouraud shading 153-154
Gouraud, Henri 152
graphics cards 6
graphics programming, 3D. See 3D graphics programming
GraphicsContext3D 337
Group objects 42, 43, 67, 72
 
H
 
hardware requirements 5-7
"has-a" relationships 126
Hashtable 339
HelloUniverse Java 3D demonstration 28
hidden-surface removal 16
HiResCoord object 82-85
HiResCoordTest example 84-85
HTML applet code 319
HTMLConverter, for Java plug-in 320-321
Hughes, John 13
 
I
 
IDEs (Integrated Development Environments) 30
Illustrated Java 3D Bibliography in French (web pages) 356
immediate mode 57, 63
ImmediateTest example 57-62
Import3DS 274
Increasing Alpha phase parameter 200
Increasing Alpha ramp parameter 200
Influence nodes 43
initialize method 166, 167
initJava3D method 292
input devices, sampling 3
inputDeviceScheduler 329, 336
inputDeviceThreads 330
installing
Java 2 Plug-in 321-324
Java 2 SDK 27-28
Java 3D 3-5, 27-30, 351
integer arrays 84-85
Integrated Development Environments (IDEs) 30
IntelliJ IDEA 356
Internet Explorer (web browser), and Java 2 plug-in 320-321
Interpolator class 198-199
Interpolators
behavior 165, 168
ColorInterpolator 204
cubic-spline interpolator 210-219
Bias parameter 211
Continuity parameter 211
controlling textent of audio 218-219
creating texture-mapped sky backdrop 218
level of detail behavior 214-215
reading spline key frames from disk 215-218
SplineInterpolatorTest example 211-214
Tension parameter 210, 211
PositionInterpolator 204
RotationInterpolator 205
RotPosScalePathInterpolator 205-208
ScaleInterpolator 205
SwitchValueInterpolator 203-204
TransparencyInterpolator 205
InterpolatorTest example 208-210
Introduction to Computer Graphics (course) 355
Introduction to Computer Graphics (online course) 16-17
inverse kinematics 98
 
J
 
J3D DLL 340-348
J3D.org (web site) 29, 354
J3dMessage class 332, 334-335
J3D-TimerThread 338
JAD (Java class decompiler) 30, 356
JAR file extension options 324, 353
Java 2
deploying on Windows 5
downloading and installing 27-28
extensions documentation 324, 353
extensions mechanism tutorial 353
Integrated Development Environments (IDEs) for developing 30
resources for 28
Java 3D API Specification (web site) 353
Java 3D Fly-Through example application 6-8
Java 3D Forum (web site) 354
Java 3D graphics programming. See 3D graphics programming
Java 3D Home Page (web site) 353
Java 3D Interest Email List 29
Java books reviewed (web pages) 356
Java class decompiler 30
Java Community Process (JCP) 8-9
Java Development Portal (web pages) 354
Java garbage collector (GC) 3
Java Native Interface (JNI) 340
Java Plug-in 318, 320-32
Java Virtual Machine (JVM) 106
and Windows 318
garbage collector 3
Java WebStart documentation 353
Java3dApplet methods, overriding 292
JavaMet example 104
JBuilder (Integrated Development Environment) 356
JCP (Java Community Process) 9
JDK 1.3.1, web pages about 353
JFrame 24
JNI (Java Native Interface) 340
JPanel 23, 303-304
JProbe (performance analysis tool) 30, 357
Junghanns, Andreas 207-208
JVM. See Java Virtual Machine
 
K
 
Kawa (Integrated Development Environment) 30, 356
K-B (Kochanek-Bartels) algorithm 210
key frames, reading from disk 215-218
keyboard behaviors 172-186
DOOM and DOOM-style keyboard navigation implementation 176-186
implementing 180-182
loading and 177-180
texture image 183
KeyNavigatorBehavior 173-174
writing 174-176
KeyCollision-Behavior class 180-181
KeyNavigateTest example 176-185
implementing collision detection 180-182
loading and creating world from 2D map 177-180
KeyNavigator class 174
KeyNavigatorBehavior 165, 168, 173-174
kinematics, inverse 98
knots 205-207, 210
Kochanek-Bartels (K-B) algorithm 210
 
L
 
Lambert shading 152
Leaf nodes 67
level of detail (LOD) 51-52, 95-96, 99
behavior 165, 168, 195-197
DistanceLOD 195-197
Light class 183-185
Light node 155-157
lighting 150-162
AmbientLights 157
and material properties 154
and normal vectors 152-154
and shadows 154-155
and surface properties 150
DirectionalLight 157
effect on colors 150
effect on rendering quality 105
effects 19-20
KeyNavigateTest example 183-185
Light node 155-157
light properties 150
mathematical equations for 151-152
PointLight 157-158
SimpleTest example 31, 37
SpotLight 158-162
types of 150
LightTest example 156
Lightwave data file loader 107
linear component 158
LineAttributes class 131
List of Java Books (web pages) 356
load time 106
Load3DS 274
Loader3DS 274
LoaderBase class 270
loaders, object 270-274
LoaderTest example 271-273
Locales 82-85
purpose of 46
rendering 85-87
LOD. See level of detail
Loisel, Sébastien 13, 356
Loop count parameter 200
Lorensen, W. E. 101
Lw3dLoader 274
 
M
 
machine configurations, target. See performance targets
MagFilter method 255
magnetic resonance imaging (MRI) visualization 101
Management nodes 43
mapping, texture. See texture mapping
"Marching Cubes?a high resolution 3D surface reconstruction algorithm" (Lorensen and Cline) 101
Marching Cubes Algorithm 101
MasterControl class 334
J3dMessage class 332, 334-335
message processing and threading architecture 329-332
system properties read by Java 3D 335
MasterControl.doWork method 330
Material 31, 37, 132-133, 154
mathematical object descriptions 101-103
matrix algebra 13
Matrix and quaternion FAQ (web pages) 207-208, 354, 356
medical visualization applications 101
memory
and data model design 106
and Text2D objects 121-122
and Text3D objects 123
consumed by texture images 245, 253-254
display hardware, recommended 6
of 3D rendering cards 245
system, required 6-8
merging
Appearance objects 66
geometry 66
meteorological visualization 104
Microsoft Terraserver (satellite image database) 214
Microsoft Windows. See Windows
Milkshape3D loader 273
MinFilter option 255
MIPMAP mode 253-256
mixed mode 57, 61-62
MixedTest example 61-62
Model transformation matrix 60
MODULATE mode 259
Morph nodes 124-125, 278
Moss, Gary 180
motion capture 98
motion. See frame rate
mouse behaviors 165, 168, 186-191
building improved 188-191
Java 3D mouse support 187-188
overview 186
Tornado mouse behaviors 189-191
MouseListener instance 292-293
MouseNavigateTest example 189-191
moving scenes 172-173
MRI (magnetic resonance imaging) visualization 101
MULTI_LEVEL_LINEAR MinFilter mode 255, 256
MULTI_LEVEL_POINT MinFilter mode 255, 257
multiple texture images 253-256
multiple views 46, 95
MultiTransformGroup 88
MyJava3D example 12, 21-24
comparing outputs with Java 3D 15
drawing filled triangles 16-19
lighting effects 19-20
 
N
 
NCSA Portfolio loader 273
near clip plane 19
negative aspects of Java 3D 3-5
NetBeans (Integrated Development Environment) 30, 356
Netscape Navigator (web browser), and Java 2 plug-in 320, 321
NFF & OBJ loader 274
NICEST MagFilter mode 255
NICEST MinFilter mode 255
NICEST mode 144-147
Node class 42, 43, 67
Node types 339-340
Non Uniform Relational B Splines (NURBS) 101-103
Normal vectors
and lighting 152-154
compensating 136, 137
NormalGenerator class 154, 269
NURBS (Non Uniform Relational B Splines) 101-103
 
O
 
object loaders 270-274
object orientation 51
object pooling 333
OBJECT_LINEAR mode 246-248
ObjectFile loader 271-273
ObjectLoaders 106-107
object-oriented programming (OOP) 2
ObjectSizeBehavior 220
ObjLoad (loader) 274
OldGeomBuffer 358-360
online courses 355
OOP (object-oriented programming) 2
opaque texture image 263
OpenGL "Red Book" (web pages) 29-30, 355
OpenGL FAQ and Troubleshooting Guide (web pages) 19, 29-30, 354
OpenGL programming 1-2
depth buffer 19
resources for 29-30
versus Java 3D 3-5, 8-9
optimization tools 30
OptimizeIt (performance analysis tool) 6, 30, 357
OrderedGroup 72, 185, 186
 
P
 
Painter?s algorithm 16-17
parallel projections 15
parent Group, removing child Node from 72-73
performance analysis tools 30
performance targets 104-10
setting 6
validate design against 6-8
Phong shading 20, 153-154
Phong, Bui Tuong 153-154
PhysicalBody 87-88
PhysicalEnvironment 87-88
pickAllSorted method 278
PickCanvas 278
pickClosest method 278
picking 275-300
for collision detection 293-300
overview 275-276
VrmlPickingTest example 280-282
PickIntersection 278-279
PickMouseBehavior 165, 168
PickResults 277, 279-280, 293
PickShapes 276
PickTool 277-278
pixilated texture images, fixing 253-256
planes, defining 247
PlatformGeometry class 88-89, 92-93
PlatformTest example 89-91
PointAttributes class 133-135
PointLight 157-160
points-of-view for scenes, multiple 46
PointSounds 218-219
PointTest example 134
Polygon fill-mode parameters 137
PolygonAttributes class 136-137
polygons, converting to triangular surfaces. See Triangulator class
poses 205-207, 210
PositionInterpolator behavior 32, 37
positive aspects of Java 3D 2-3
postRender method 57
postSwap method 57, 231-232
preRender method 57, 60-61
primary View 96BR> Primitive class 72, 109-116
and geometry cache 116
classes derived from 111-115, 362-363
incompatibility with Shape3D objects 110
primitive flags 115-116
Sphere class 115
primitive flags (primflags) 115-116
private boolean compiled field 339
private boolean live field 339
private boolean liveOrCompiled field 339
private Object userData field 339
processor speed
effect of Java garbage collector (GC) on 3
required 6
processStimulus method 166-167
computational cost of processing within 224
for ExplodeBehavior 226 programming editors. See editors, programming
programming, 3D graphics. See 3D graphics programming
projections, from 3D coordinates to 2D 13-19
comparing outputs 15
drawing filled triangles 16-19
simple 3D projection routine 13-15
projectPoint method 3D-projection routine 13-15
prototypes 6-8
 
Q
 
Quad Strip 364
quadratic component 158
quality, rendering 105-106
Quat4f class 207-208
Quaternions 207-208
 
R
 
RAM 6, 8
RandomAlpha class 208-210
Rasters 116-120
ray-tracing techniques 155
reading resources 356
references. See resources
registry, Windows 28
removing
child Node from parent Group 72-73
hidden surfaces 16
Render method 22
RenderAtoms 337-338
RenderBin 329
Renderer 336-338
Renderer doWork method 336
renderField method 57, 59-60
rendering
cards for 245
quality of 105-106
time needed for 104-105
using Raster class 117
rendering hints 23
rendering mode 136
RenderingAttributes class 138, 139
RenderingAttributesStructure 329
RenderingEngine interface 21-24
RenderingEnvironmentStructure 329
RenderingSurface 23, 24
RenderMolecule 337-338
renderThreadData 330
renderWorkThreads 330-332
REPLACE mode 259, 260
requestRenderWorkThreads 330-332
resources
3D graphics 13
Java 3D programming 28-30, 353-357
retained mode 57, 61, 63
ROAM algorithm 99, 195
ROAMing Terrain
Real-time Optimally Adapting Meshes (web pages) 355
Robinson, Mathew 29
ROTATE_ABOUT_AXIS mode 193
ROTATE_ABOUT_POINT mode 193
rotating objects 95-96
RotatingGeometryUpdater class 23, 24
rotational transformation 260-262
RotationInterpolator behaviors 165
RotationInterpolator Node 61-62
runMonitor method 331
 
S
 
scene branch 46, 47
scene depth components 117
SceneBase class 270-271
scenegraph
advantages of 2, 52
bounds and CollisionBounds 67-70
branches within 46
compilation 51, 65-66
elements of design 51-52
elements required by Java 3D 46-51
hierarchical control 53-56
need for 39-42
what it is 42
SceneGraphObject 338-339
SceneGraphObjectRetained 339
scenes, moving 172-173
scientific visualization applications 98
scopes, for lights 156-157
SCREEN_DOOR mode 144-147
sendMessage method 334-335
setCapability method 128-129
setEnable method 166
setIgnoreVertexColors method 162
setImage method 253
setLightAngle method 21
setMagFilter method 255
setMaterial call 37
setMinFilter method 255
setPlatformGeometry 92-93
setRectangleScaleFactor method 121
setScale method 21
setScreenSize method 21
setString method 124
setViewAngle method 21
shading
cosine shading 152
effect on rendering qual-ity 105
Gouraud shading 153
Lambert shading 152
Phong shading 153-154
shadows 154-155
Shape3D 108-109
SharedGroup Node 72
SimpleTest example 30, 37-38
SimpleUniverse class 83, 87-91
Sitraka JProbe (performance analysis tool) 30, 357
slow-down of system 3
software and software companies 356-357
Solaris Texture3D rendering 104
sorting
Appearance objects 66
geometry 143
SOUND_SCHEDULER thread identifier 334
SoundScheduler 330
SoundStructure 329
spatial relationships 41, 44
See also scenegraph
specular colors 133
Sphere class 115
SPHERE_MAP mode 250-251
SplineInterpolatorTest example 196-197
SpotLight 158-162
Spread Angle property 158
startup time 8
state, for lights 157
stateWorkThreads 329, 331-332
static mapping 237-245
static objects 41-42
static relationships 237-245
strengths of Java 3D 2-3
StretchBehavior 221
stripCountArray 268
Stripifier class 270
StructureUpdateThread 338
Sun Collateral Java 3D tutorial 29
Sun ConicWorld Java 3D demo directory 111
Sun?s Java Plug-in 318
Surface class 23
surfaces
hidden, removing 16
properties of 150
Swing programming
and Java 3D Box class 111
building Java 3D application with 301-303
resources for 29
Switch Node 72, 208
Switch.ALLOW_SWITCH_WRITE capability bit 203-204
SwitchInterpolator
behavior 75
in InterpolatorTest example 208-209
SwitchTest example 74
system architecture 325-348
exception strings 340
InputDeviceScheduler 336
J3D DLL 340-348
J3D-TimerThread 338
MasterControl class 334
J3dMessage 332, 334-335
message processing and threading architecture 329-332
system properties read by java 3D 335
Node types 339-340
Renderer 336-338
SceneGraphObject 338-339
StructureUpdateThread 338
system requirements 5-8
system speed
effect of Java garbage collector (GC) on 3
required 6
 
T
 
target machine configurations. See performance targets
Terraserver satellite image data-base 214
testing, for compatibility 6
TexCoordGeneration 245-251
EYE_LINEAR mode 248
OBJECT_LINEAR mode 246-248
SPHERE_MAP mode 250-251
TexCoordGeneration class 140
texels 236
Text2D 121-122
Text3D 122-124
Texture class 140-141
texture coordinates 236
3D 251
pre-vertex 237-245
TexCoordGeneration 245-251
EYE_LINEAR mode 248
SPHERE_MAP mode 250-251
texture mapping 234-265
3D texture coordinates 251
and TextureAttributes 257-262
blend color 257, 258
rotational transformation 260-262
texture modes 258-260
animated (video) 265
boundary color 252
boundary mode 252
dynamic mapping 245-251
EYE_LINEAR mode 248
OBJECT_LINEAR mode 246-248
SPHERE_MAP mode 250-251
MIPMAP mode, filter, and multiple texture images 253-256
overview 235-237
setting image 253
static mapping using per-vertex texture coordinates 237-245
transparent images 262, 264-265
texture modes 258-260
Texture2D class 252
Texture3D class 252
Texture3D rendering 104
TextureAnimationBehavior 184-185
TextureAttributes 140, 257-262
blend color 257, 258
KeyNavigateTest example 183-185
rotational transformation 260-262
texture modes 258-260
TextureLoader class 253
TextureTest example 237-245
TimerThread 338
Tornado mouse behaviors 189-191
Transform3D
and mouse behaviors 187
KeyNavigateTest example 183
TransformGroup Node 53-56, 80
and Billboard behavior 192
and mouse behaviors 187, 190-191
in InterpolatorTest example 208
in MixedTest example 62
modifying with keyboard controls 174-176
used to scale, translate, or rotate scene 86
TransparencyAttributes
main discussion 141-144
potential rendering problems 144-147
TransparencyInterpolator behavior 165, 168
transparent images 262, 264-265
TriangleStrip primitives 280
triangular surfaces
and data model design 98-100
drawing 12-13, 16-19
need to use 101-103
Triangulator class 268-270
TriangulatorTest example 268, 269
tutorials
Java 2 extensions mechanism 324
Sun Collateral Java 3D tutorial 29
 
U
 
University of North Carolina at Chapel Hill, Computer Science Department 16-17
UnorderList members 329-330
UPDATE_BEHAVIOR thread identifier 334
UPDATE_GEOMETRY thread identifier 334
UPDATE_RENDER thread identifier 334
UPDATE_RENDERING_ATTRIBUTES thread identifier 334
UPDATE_RENDERING_ENVIRONMENT thread identifier 334
UPDATE_SOUND thread identifier 334
UPDATE_TRANSFORM thread identifier 334
USE_GEOMETRY collision mode 68
user data object, Shape3D 109
User Interfaces with Java 3D (Barrileaux) xviii
users, of Java 3D 3, 5
utility classes 267-270
 
V
 
van Dam, Andries 13
VCollide (collision detection engine) 293
vector algebra 13
video cards, and depth buffering 18-19
view branch 46, 47
View class 85-87
view model 3
Viewer class 87-88
ViewerAvatar class 87-88
ViewingPlatform class 88
ViewPlatform 46, 85-87, 173
views, multiple 95
Virtual Reality Modeling Language (VRML)
data file loaders 107
object loader 268
versus Java 3D 3, 4
Virtual Terrain Project (VTP) 99, 355
VirtualUniverse class
defined 39
example 40-42
Locales 82-85
Visible Human Project (web pages) 98, 355
Visual Café (Integrated Development Environment) 30, 357
Visualization Laboratory, Department of Computer Science, State University of New York at Stony 355
VMGear OptimizeIt (performance analysis tool) 30, 357
VMGear?s OptimizeIt (software tool) 6
Volume Graphics Research Group, Department of Computer and Information Science, Ohio State 355
volume rendering 103-104
Vorobiev, Pavel 29
voxel descriptions 100-102
VRML Links and Models (web pages) 354
VRML. See Virtual Reality Modeling Language
VrmlPickingTest example 280-282
VTK loader 274
VTP (Virtual Terrain Project) 99
VWorld coordinates 279
 
W
 
WakeUpCondition 164, 166, 167, 170-171
WakeupCriterion 170
combining 170-171
for StretchBehavior 227-229
wakeupOn method 166
Watt, Alan 101
Watt, Mark 101
Wavefront format .obj file 271-273
weaknesses of Java 3D 3-5
Web3D Consortium (web site) 354
WebGain Visual Café (Integrated Development Environment) 30
Windows, Microsoft
and Java Virtual Machine (JVM) 318
editing registry 28
use of Java 3D with 3-5
WRAP boundary mode 252
 
X
 
Xj3D loader 273
 
Z
 
Z-buffer 18-19, 117, 142-143
Zed3D, A compact reference for 3D computer graphics programming (Loisel) 13, 356
Z-value offset 136