Foundations of 3D Graphics Programming : Using Jogl and Java3d

by ;
Format: Hardcover
Pub. Date: 2006-06-01
Publisher(s): Springer-Verlag New York Inc
List Price: $89.95

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

This new text/reference is a shortcut to graphics theory and programming using JOGL, a new vehicle of 3D graphics programming in Java. It covers all graphics basics and several advanced topics, without including some implementation details that are not necessary in graphics applications. It also covers some basic concepts in Java programming for C/C++ programmers. Specifically, it covers OpenGL programming in Java, using JOGL, along with concise computer graphics theories. The book is designed as an excellent shortcut for scientists and engineers who understand Java programming to learn 3D graphics, and will serve nearly as well as a concise 3D graphics textbook for students who know programming basics already. Moreover, it is a good reference for C/C++ graphics programmers to learn Java and JOGL. It is recommended for readers who know basic vector analysis and programming already.

Table of Contents

Chapter 1 Introduction 1(36)
1.1 Graphics Models and Libraries
1(1)
1.2 OpenGL Programming in Java: JOGL
2(9)
1.2.1 Setting Up Working Environment
2(5)
1.2.2 Drawing a Point
7(2)
1.2.3 Drawing Randomly Generated Points
9(2)
1.3 Frame Buffer, Scan-conversion, and Clipping
11(11)
1.3.1 Scan-converting Lines
12(6)
1.3.2 Scan-converting Curves, Triangles, and Polygons
18(2)
1.3.3 Scan-converting Characters
20(1)
1.3.4 Clipping
21(1)
1.4 Attributes and Antialiasing
22(6)
1.4.1 Area Sampling
22(2)
1.4.2 Antialiasing a Line with Weighted Area Sampling
24(4)
1.5 Double-buffering for Animation
28(6)
1.6 Review Questions
34(2)
1.7 Programming Assignments
36(1)
Chapter 2 Transformation and Viewing 37(80)
2.1 Geometric Transformation
37(1)
2.2 2D Transformation
38(25)
2.2.1 2D Translation
38(1)
2.2.2 2D Rotation
39(1)
2.2.3 2D Scaling
40(1)
2.2.4 Simulating OpenGL Implementation
41(8)
2.2.5 Composition of 2D Transformations
49(14)
2.3 3D Transformation and Hidden-Surface Removal
63(29)
2.3.1 3D Translation, Rotation, and Scaling
63(2)
2.3.2 Transformation in OpenGL
65(4)
2.3.3 Hidden-Surface Removal
69(2)
2.3.4 3D Models: Cone, Cylinder, and Sphere
71(7)
2.3.5 Composition of 3D Transformations
78(10)
2.3.6 Collision Detection
88(4)
2.4 Viewing
92(20)
2.4.1 2D Viewing
92(1)
2.4.2 3D Viewing
93(4)
2.4.3 The Logical Orders of Transformation Steps
97(6)
2.4.4 gluPerspective and gluLookAt
103(3)
2.4.5 Multiple Viewports
106(6)
2.5 Review Questions
112(2)
2.6 Programming Assignments
114(3)
Chapter 3 Color and Lighting 117(42)
3.1 Color
117(3)
3.1.1 RGB Mode and Index Mode
118(1)
3.1.2 Eye Characteristics and Gamma Correction
119(1)
3.2 Color Interpolation
120(2)
3.3 Lighting
122(26)
3.3.1 Lighting Components
123(11)
3.3.2 OpenGL Lighting Model
134(14)
3.4 Visible-Surface Shading
148(7)
3.4.1 Back-Face Culling
148(1)
3.4.2 Polygon Shading Models
149(4)
3.4.3 Ray Tracing and Radiosity
153(2)
3.5 Review Questions
155(3)
3.6 Programming Assignments
158(1)
Chapter 4 Blending and Texture Mapping 159(32)
4.1 Blending
159(14)
4.1.1 OpenGL Blending Factors
162(1)
4.1.2 Transparency and Hidden-Surface Removal
163(7)
4.1.3 Antialiasing
170(1)
4.1.4 Fog
171(2)
4.2 Images
173(3)
4.3 Texture Mapping
176(13)
4.3.1 Pixel and Texel Relations
177(4)
4.3.2 Texture Objects
181(1)
4.3.3 Texture Coordinates
181(6)
4.3.4 Levels of Detail in Texture Mapping
187(2)
4.4 Review Questions
189(1)
4.5 Programming Assignments
190(1)
Chapter 5 Curved Models 191(36)
5.1 Introduction
191(1)
5.2 Quadratic Surfaces
192(6)
5.2.1 Sphere
192(1)
5.2.2 Ellipsoid
193(1)
5.2.3 Cone
194(1)
5.2.4 Cylinder
194(1)
5.2.5 Texture Mapping on GLU Models
195(3)
5.3 Tori, Polyhedra, and Teapots in GLUT
198(4)
5.3.1 Tori
198(1)
5.3.2 Polyhedra
198(1)
5.3.3 Teapots
199(3)
5.4 Cubic Curves
202(17)
5.4.1 Continuity Conditions
203(2)
5.4.2 Hermite Curves
205(3)
5.4.3 Bezier Curves
208(5)
5.4.4 Natural Splines
213(1)
5.4.5 B-splines
214(3)
5.4.6 Non-uniform B-splines
217(1)
5.4.7 NURBS
218(1)
5.5 Bi-cubic Surf- aces
219(6)
5.5.1 Hermite Surfaces
219(2)
5.5.2 Bezier Surfaces
221(4)
5.5.3 B-spline Surfaces
225(1)
5.6 Review Questions
225(1)
5.7 Programming Assignments
226(1)
Chapter 6 Programming in Java3D 227(30)
6.1 Introduction
227(1)
6.2 Scene Graph
227(6)
6.2.1 Setting Up Working Environment
229(3)
6.2.2 Drawing a ColorCube Object
232(1)
6.3 The SimpleUniverse
233(3)
6.4 Transformation
236(1)
6.5 Multiple Scene Graph Branches
237(3)
6.6 Animation
240(4)
6.7 Primitives
244(4)
6.8 Appearance
248(3)
6.9 Texture Mapping
251(2)
6.10 Files and Loaders
253(2)
6.11 Summary
255(1)
6.12 Review Questions
255(1)
6.13 Programming Assignments
255(2)
Chapter 7 Advanced Topics 257(34)
7.1 Introduction
257(1)
7.2 Graphics Libraries
258(1)
7.3 Visualization
258(4)
7.3.1 Interactive Visualization and Computational Steering
258(1)
7.3.2 Data Visualization: Dimensions and Data Types
259(2)
7.3.3 Parallel Coordinates
261(1)
7.4 Modeling and Rendering
262(4)
7.4.1 Sweep Representations
263(1)
7.4.2 Instances
263(1)
7.4.3 Constructive Solid Geometry
263(1)
7.4.4 Procedural Models
263(1)
7.4.5 Fractals
264(1)
7.4.6 Particle Systems
264(1)
7.4.7 Image-based Modeling and Rendering
265(1)
7.5 Animation and Simulation
266(8)
7.5.1 Physics-based Modeling and Simulation
268(2)
7.5.2 Real-Time Animation and Simulation: A Spider Web
270(3)
7.5.3 The Efficiency of Modeling and Simulation
273(1)
7.6 Virtual Reality
274(5)
7.6.1 Hardware and Software
275(1)
7.6.2 Non-immersive Systems
275(1)
7.6.3 Basic VR System Properties
276(1)
7.6.4 VR Tools
276(1)
7.6.5 VR Simulation Tools
277(1)
7.6.6 Basic Functions in VR Tool
278(1)
7.6.7 Characteristics of VR
278(1)
7.7 Graphics on the Internet: Web3D
279(2)
7.7.1 Virtual Reality Modeling Language (VRML)
280(1)
7.7.2 X3D
280(1)
7.7.3 Java3D
280(1)
7.8 3D File Formats
281(2)
7.8.1 3D File Formats
281(1)
7.8.2 3D Programming Tool Libraries
282(1)
7.8.3 3D Authoring Tools
282(1)
7.8.4 3D File Format Converters
282(1)
7.8.5 Built-in and Plug-in VRML Exporters
283(1)
7.8.6 Independent 3D File Format Converters
283(1)
7.9 3D Graphics Software Tools
283(8)
7.9.1 Low-Level Graphics Libraries
284(1)
7.9.2 Visualization
284(1)
7.9.3 Modeling and Rendering
285(2)
7.9.4 Animation and Simulation
287(1)
7.9.5 Virtual Reality
288(1)
7.9.6 Web3D
288(1)
7.9.7 3D File Format Converters
289(2)
Index 291

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.