Mobile 3D graphics with OpenGL ES and M3G:
Gespeichert in:
Format: | Buch |
---|---|
Sprache: | English |
Veröffentlicht: |
Amsterdam [u.a.]
Elsevier
2008
|
Schriftenreihe: | Morgan Kaufmann series in computer graphics
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XVI, 436 S., [4] Bl. Ill., graph. Darst. |
ISBN: | 9780123737274 0123737273 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035085692 | ||
003 | DE-604 | ||
005 | 20081215 | ||
007 | t | ||
008 | 081007s2008 ad|| |||| 00||| eng d | ||
015 | |a GBA768223 |2 dnb | ||
020 | |a 9780123737274 |9 978-0-12-373727-4 | ||
020 | |a 0123737273 |c (pbk) |9 0-12-373727-3 | ||
035 | |a (OCoLC)488806531 | ||
035 | |a (DE-599)HBZHT015589073 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-703 | ||
084 | |a ST 320 |0 (DE-625)143657: |2 rvk | ||
245 | 1 | 0 | |a Mobile 3D graphics with OpenGL ES and M3G |c Kari Pulli ... |
264 | 1 | |a Amsterdam [u.a.] |b Elsevier |c 2008 | |
300 | |a XVI, 436 S., [4] Bl. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Morgan Kaufmann series in computer graphics | |
630 | 0 | 4 | |a OpenGL |
650 | 4 | |a Computer graphics | |
650 | 4 | |a Computer drawing | |
650 | 4 | |a Smartphones | |
650 | 4 | |a Three-dimensional display systems | |
650 | 0 | 7 | |a Dimension 3 |0 (DE-588)4321722-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Mobile Telekommunikation |0 (DE-588)4341131-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a OpenGL |0 (DE-588)4391716-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Computergrafik |0 (DE-588)4010450-3 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Mobile Telekommunikation |0 (DE-588)4341131-9 |D s |
689 | 0 | 1 | |a Computergrafik |0 (DE-588)4010450-3 |D s |
689 | 0 | 2 | |a Dimension 3 |0 (DE-588)4321722-9 |D s |
689 | 0 | 3 | |a OpenGL |0 (DE-588)4391716-1 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Pulli, Kalli |e Sonstige |4 oth | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753876&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016753876 |
Datensatz im Suchindex
_version_ | 1804138040222810112 |
---|---|
adam_text | Contents
Preface
xiii
About the Authors
xv
CHAPTER
1.
INTRODUCTION
1
1.1
About this Book
2
з
1.2
Graphics on Handheld Devices
3
4
5
6
About this Book
1.1.1
Typographic Conventions
Graphics on Handheld Devices
1.2.1
Device Categories
1.2.2
Display Technology
1.2.3
Processing Power
1.2.4
Graphics Hardware
1.2.5
Execution Environments
Mobile Graphics Standards
1.3.1
Fighting the Fragmentation
1.3.2
Design Principles
1.3.3
OpenGL ES
1.3.4
M3G
1.3.5
Related Standards
9
1.3
Mobile Graphics Standards
12
12
14
18
19
21
PART I ANATOMY OF A GRAPHICS ENGINE
__________
CHAPTER
2.
LINEAR ALGEBRA FOR
3D
GRAPHICS
27
2.1
Coordinate Systems
27
2.1.1
Vectors and Points
29
2.1.2
Vector Products
29
2.1.3
Homogeneous Coordinates
31
2.2
Matrices
31
2.2.1
Matrix Products
32
2.2.2
Identity and Inverse
33
2.2.3
Compound Transformations
33
2.2.4
Transforming Normal Vectors
34
CONTENTS
2.3 Affine Transformations 35
2.3.1
Types of
Affine Transformations 35
2.3.2 Transformation
Around
a
Pivot 39
2.3.3
Example: Hierarchical Modeling
39
2.4
Eye Coordinate System
42
2.5
Projections
44
2.5.1
Near and Far Planes and the Depth Buffer
45
2.5.2
A General View Frustum
47
2.5.3
Parallel Projection
50
2.6
Viewport and 2D Coordinate Systems
51
CHAPTER
3.
LOW-LEVEL RENDERING
55
3.1
Rendering Primitives
57
3.1.1
Geometric Primitives
57
3.1.2
Raster Primitives
60
3.2
Lighting
61
3.2.1
Color
61
3.2.2
Normal Vectors
63
3.2.3
Reflection Models and Materials
64
3.2.4
Lights
68
3.2.5
Full Lighting Equation
70
3.3
Culling and Clipping
70
3.3.1
Back-Face Culling
71
3.3.2
Clipping and View-Frustum Culling
71
3.4
Rasterization
73
3.4.1
Texture Mapping
74
3.4.2
Interpolating Gradients
82
3.4.3
Texture-Based Lighting
83
3.4.4
Fog
88
3.4.5
Antialiasing
90
3.5
Per-Fragment Operations
92
3.5.1
Fragment Tests
92
3.5.2
Blending
95
3.5.3
Dithering, Logical Operations, and Masking
99
3.6
Life Cycle of a Frame
100
3.6.1
Single versus Double Buffering
101
3.6.2
Complete Graphics System
101
3.6.3
Synchronization Points
102
CHAPTER
4.
ANIMATION
105
4.1
Keyframe Animation
105
4.1.1
Interpolation
106
4.1.2
Quaternions 111
CONTENTS
4.2
Deforming Meshes
113
4.2.1
Morphing
113
4.2.2
Skinning
114
4.2.3
Other Dynamic Deformations
116
CHAPTER
5.
SCENE MANAGEMENT
117
5.1
Triangle Meshes
118
5.2
Scene Graphs
120
5.2.1
Application Area
120
5.2.2
Spatial Data Structure
121
5.2.3
Content Creation
123
5.2.4
Extensibility
125
5.2.5
Class Hierarchy
125
5.3
Retained Mode Rendering
128
5.3.1
Setting Up the Camera and Lights
129
5.3.2
Resolving Rendering State
130
5.3.3
Finding Potentially Visible Objects
130
5.3.4
Sorting and Rendering
132
CHAPTER
6.
PERFORMANCE AND SCALABILITY
133
6.1
Scalability
134
6.1.1
Special Effects
135
6.1.2
Tuning Down the Details
136
6.2
Performance Optimization
136
6.2.1
Pixel Pipeline
137
6.2.2
Vertex Pipeline
139
6.2.3
Application Code
140
6.2.4
Profiling
OpenGL ES
Based Applications
141
6.2.5
Checklists
142
6.3
Changing and Querying the State
145
6.3.1
Optimizing State Changes
146
6.4
Model Data
146
6.4.1
Vertex Data
147
6.4.2
Triangle Data
148
6.5
Transformation Pipeline
148
6.5.1
Object Hierarchies
148
6.5.2
Rendering Order
149
6.5.3
Culling
150
6.6
Lighting
151
6.6.1
Precomputed Illumination
151
viii CONTENTS
6.7
Textures
152
6.7.1
Texture
Storage
152
PART 11 OPENGL ES AND EGL
______________________
CHAPTER
7.
INTRODUCING
OPENGL ES
157
7.1
Khronos Group and OpenGL ES
157
7.2
Design
Principles
158
7.3
Resources
159
7.3.1
Documentation
160
7.3.2
Technical
Support
160
7.3.3
Implementations
160
7.4
API Overview
161
7.4.1
Profiles and Versions
161
7.4.2
OpenGL ES
1.0
in a Nutshell
161
7.4.3
New
Features in
OpenGL ES
1.1 164
7.4.4
Extension
Mechanism
165
7.4.5
OpenGL ES Extension Pack
166
7.4.6
Utility APIs
166
7.4.7
Conventions
167
7.5 Hello,
OpenGL ES!
170
CHAPTER
8.
OPENGL ES TRANSFORMATION AND
LIGHTING
173
8.1
Drawing
Primitives
173
174
177
179
180
8.2
Vertex
Transformation Pipeline
183
183
185
186
188
188
189
8.3
Colors and Lighting
189
189
190
192
193
193
Drawing
Primitives
8.1.1
Primitive Types
8.1.2
Specifying Vertex Data
8.1.3
Drawing the
Primitives
8.1.4
Vertex Buffer Objects
Vertex
Transformation Pipeline
8.2.1
Matrices
8.2.2
Transforming Normals
8.2.3
Texture Coordinate Transformation
8.2.4
Matrix Stacks
8.2.5
Viewport Transformation
8.2.6
User Clip Planes
Colors and Lighting
8.3.1
Specifying Colors and Materials
8.3.2
Lights
8.3.3
Two-Sided Lighting
8.3.4
Shading
8.3.5
Lighting Example
CONTENTS
CHAPTER
9. OPENGL ES
RASTERIZATION AND
FRAGMENT PROCESSING 195
195
196
196
197
202
205
205
206
207
209
209
210
211
211
212
213
214
214
214
215
218
218
219
220
220
220
CHAPTER
10.
MISCELLANEOUS
OPENGL ES FEATURES 223
10.1 Frame Buffer
Operations
223
10.1.1 Clearing
the
Buffers 223
10.1.2
Reading Back the Color
Buffer 224
10.1.3
Flushing the Command Stream
225
10.2
State Queries
225
10.2.1
Static State
226
10.2.2
Dynamic State Queries
227
10.3
Hints
233
10.4
Extensions
234
10.4.1
Querying Extensions
234
10.4.2
Query Matrix
234
10.4.3
Matrix Palette
235
10.4.4
Draw Texture
238
10.4.5
Using Extensions
238
9.1
Back-Face Culling
9.2
Texture Mapping
9.2.1
Texture Objects
9.2.2
Specifying Texture Data
9.2.3
Texture Filtering
9.2.4
Texture Wrap Modes
9.2.5
Basic Texture Functions
9.2.6
Multi-Texturing
9.2.7
Texture Combiners
9.2.8
Point Sprite Texturing
9.2.9
Implementation Differences
9.3
Fog
9.4
Antialiasing
9.4.1
Edge Antialiasing
9.4.2
Multisampling
9.4.3
Other Antialiasing Approaches
9.5
Pixel Tests
9.5.1
Scissoring
9.5.2
Alpha Test
9.5.3
Stencil Test
9.5.4
Depth Testing
9.6
Applying Fragments to the Color Buffer
9.6.1
Blending
9.6.2
Dithering
9.6.3
Logic Ops
9.6.4
Masking Frame Buffer Channels
χ
CONTENTS
CHAPTER
11.
EGL
241
11.1
API Overview
242
11.2
Configuration
244
11.3
Surfaces
248
11.4
Contexts
252
11.5
Extensions
253
11.6
Rendering into Textures
254
11.7
Writing High-Performance EGL Code
255
11.8
Mixing
OpenGL ES
and 2D Rendering
257
11.8.1
Method
1:
Window Surface is in Control
257
11.8.2
Method
2:
Pbuffer Surfaces and Bitmaps
258
11.8.3
Method
3:
Pixmap Surfaces
258
11.9
Optimizing Power Usage
259
11.9.1
Power Management Implementations
259
11.9.2
Optimizing the Active Mode
261
11.9.3
Optimizing the Idle Mode
262
11.9.4
Measuring Power Usage
262
11.10
Example on EGL Configuration Selection
264
PART III M3G
_________________________________
269
270
270
272
276
277
278
279
280
281
282
283
284
284
285
285
285
286
287
288
CHAPTER
12.
INTRODUCING M3G
12.1
Overview
12.1.1
Mobile Java
12.1.2
Features and Structure
12.1.3
Hello, World
12.2
Design
ι
Principles and Conventions
12.2.1
High Abstraction Level
12.2.2
No Events or Callbacks
12.2.3
Robust Arithmetic
12.2.4
Consistent Methods
12.2.5
Parameter Passing
12.2.6
Numeric Values
12.2.7
Enumerations
12.2.8
Error Handling
12.3
M3G
1
.1
12.3.1
Pure
3D
Rendering
12.3.2
Rotation Interpolation
12.3.3
PNG and JPEG Loading
12.3.4
New Getters
12.3.5
Other Changes
CONTENTS
CHAPTER
13. BASIC M3G
CONCEPTS
289
13.1 GraphicsSD 290
13.1.1
Render
Targets 290
13.1.2
Viewport
293
13.1.3
Rendering
294
13.1.4
Static Properties
296
13.2
Image2D
297
13.3
Matrices and Transformations
300
13.3.1
Transform
300
13.3.2
Transformable
303
13.4
ObjectSD
306
13.4.1
Animating
306
13.4.2
Iterating and Cloning
306
13.4.3
Tags and Annotations
308
13.5
Importing Content
311
13.5.1
Loader
311
13.5.2
The File Format
313
CHAPTER
14.
LOW-LEVEL MODELING IN M3G
319
14.1
Building meshes
319
14.1.1
VertexArray
319
14.1.2
VertexBuffer
320
14.1.3
IndexBuffer and Rendering Primitives
323
14.1.4
Example
325
14.2
Adding Color and Light: Appearance
326
14.2.1
PolygonMode
327
14.2.2
Material
328
14.2.3
Texture2D
329
14.2.4
Fog
332
14.2.5
Compos it ingMode
333
14.3
Lights and Camera
337
14.3.1
Camera
337
14.3.2
Light
339
14.4
2D Primitives
343
14.4.1
Background
343
14.4.2
Sprite3D
346
CHAPTER
15.
THE M3G SCENE GRAPH
349
15.1
Scene Graph Basics:
Hode,
Group, and World
349
15.2
Mesh Objects
351
15.3
Transforming Objects
354
15.3.1
Camera, Light, and Viewing Transformations
355
15.3.2
Node Alignment
356
CONTENTS
15.4
Layering and Multi-Pass Effects
360
15.5
Picking
362
15.6
Optimizing Performance
364
15.6.1
Visibility Optimization
365
15.6.2
Scope Masks
365
CHAPTER
16.
ANIMATION IN M3G
367
16.1
Keyframe Animation: KeyframeSequence
367
16.2
Animation Targets: AnimationTrack
372
16.3
Timing and Speed:
Animationcontroller 374
16.4
Animation Execution
377
16.5
Advanced Animation
378
16.5.1
Deformable Meshes
378
16.5.2
Animation Blending
385
16.5.3
Creating Discontinuities
387
16.5.4
Dynamic Animation
388
PART IV APPENDIX
_______________________________
A FIXED-POINT MATHEMATICS
393
A.1 Fixed-Point Methods in
С
395
A.I.I Basic Operations
395
A.
1.2
Shared Exponents
397
A.
1.3
Trigonometric Operations
399
A.2 Fixed-Point Methods in Assembly Language
400
A.3 Fixed-Point Methods in Java
405
В
JAVA PERFORMANCE TUNING
407
B.1 Virtual Machines
408
B.2
Bytecode
Optimization
409
B.3 Garbage Collection
410
B.4 Memory Accesses
411
В
5
Method Calls
413
С
GLOSSARY
415
Bibliography
419
Index
425
|
adam_txt |
Contents
Preface
xiii
About the Authors
xv
CHAPTER
1.
INTRODUCTION
1
1.1
About this Book
2
з
1.2
Graphics on Handheld Devices
3
4
5
6
About this Book
1.1.1
Typographic Conventions
Graphics on Handheld Devices
1.2.1
Device Categories
1.2.2
Display Technology
1.2.3
Processing Power
1.2.4
Graphics Hardware
1.2.5
Execution Environments
Mobile Graphics Standards
1.3.1
Fighting the Fragmentation
1.3.2
Design Principles
1.3.3
OpenGL ES
1.3.4
M3G
1.3.5
Related Standards
9
1.3
Mobile Graphics Standards
12
12
14
18
19
21
PART I ANATOMY OF A GRAPHICS ENGINE
_
CHAPTER
2.
LINEAR ALGEBRA FOR
3D
GRAPHICS
27
2.1
Coordinate Systems
27
2.1.1
Vectors and Points
29
2.1.2
Vector Products
29
2.1.3
Homogeneous Coordinates
31
2.2
Matrices
31
2.2.1
Matrix Products
32
2.2.2
Identity and Inverse
33
2.2.3
Compound Transformations
33
2.2.4
Transforming Normal Vectors
34
CONTENTS
2.3 Affine Transformations 35
2.3.1
Types of
Affine Transformations 35
2.3.2 Transformation
Around
a
Pivot 39
2.3.3
Example: Hierarchical Modeling
39
2.4
Eye Coordinate System
42
2.5
Projections
44
2.5.1
Near and Far Planes and the Depth Buffer
45
2.5.2
A General View Frustum
47
2.5.3
Parallel Projection
50
2.6
Viewport and 2D Coordinate Systems
51
CHAPTER
3.
LOW-LEVEL RENDERING
55
3.1
Rendering Primitives
57
3.1.1
Geometric Primitives
57
3.1.2
Raster Primitives
60
3.2
Lighting
61
3.2.1
Color
61
3.2.2
Normal Vectors
63
3.2.3
Reflection Models and Materials
64
3.2.4
Lights
68
3.2.5
Full Lighting Equation
70
3.3
Culling and Clipping
70
3.3.1
Back-Face Culling
71
3.3.2
Clipping and View-Frustum Culling
71
3.4
Rasterization
73
3.4.1
Texture Mapping
74
3.4.2
Interpolating Gradients
82
3.4.3
Texture-Based Lighting
83
3.4.4
Fog
88
3.4.5
Antialiasing
90
3.5
Per-Fragment Operations
92
3.5.1
Fragment Tests
92
3.5.2
Blending
95
3.5.3
Dithering, Logical Operations, and Masking
99
3.6
Life Cycle of a Frame
100
3.6.1
Single versus Double Buffering
101
3.6.2
Complete Graphics System
101
3.6.3
Synchronization Points
102
CHAPTER
4.
ANIMATION
105
4.1
Keyframe Animation
105
4.1.1
Interpolation
106
4.1.2
Quaternions 111
CONTENTS
4.2
Deforming Meshes
113
4.2.1
Morphing
113
4.2.2
Skinning
114
4.2.3
Other Dynamic Deformations
116
CHAPTER
5.
SCENE MANAGEMENT
117
5.1
Triangle Meshes
118
5.2
Scene Graphs
120
5.2.1
Application Area
120
5.2.2
Spatial Data Structure
121
5.2.3
Content Creation
123
5.2.4
Extensibility
125
5.2.5
Class Hierarchy
125
5.3
Retained Mode Rendering
128
5.3.1
Setting Up the Camera and Lights
129
5.3.2
Resolving Rendering State
130
5.3.3
Finding Potentially Visible Objects
130
5.3.4
Sorting and Rendering
132
CHAPTER
6.
PERFORMANCE AND SCALABILITY
133
6.1
Scalability
134
6.1.1
Special Effects
135
6.1.2
Tuning Down the Details
136
6.2
Performance Optimization
136
6.2.1
Pixel Pipeline
137
6.2.2
Vertex Pipeline
139
6.2.3
Application Code
140
6.2.4
Profiling
OpenGL ES
Based Applications
141
6.2.5
Checklists
142
6.3
Changing and Querying the State
145
6.3.1
Optimizing State Changes
146
6.4
Model Data
146
6.4.1
Vertex Data
147
6.4.2
Triangle Data
148
6.5
Transformation Pipeline
148
6.5.1
Object Hierarchies
148
6.5.2
Rendering Order
149
6.5.3
Culling
150
6.6
Lighting
151
6.6.1
Precomputed Illumination
151
viii CONTENTS
6.7
Textures
152
6.7.1
Texture
Storage
152
PART 11 OPENGL ES AND EGL
_
CHAPTER
7.
INTRODUCING
OPENGL ES
157
7.1
Khronos Group and OpenGL ES
157
7.2
Design
Principles
158
7.3
Resources
159
7.3.1
Documentation
160
7.3.2
Technical
Support
160
7.3.3
Implementations
160
7.4
API Overview
161
7.4.1
Profiles and Versions
161
7.4.2
OpenGL ES
1.0
in a Nutshell
161
7.4.3
New
Features in
OpenGL ES
1.1 164
7.4.4
Extension
Mechanism
165
7.4.5
OpenGL ES Extension Pack
166
7.4.6
Utility APIs
166
7.4.7
Conventions
167
7.5 Hello,
OpenGL ES!
170
CHAPTER
8.
OPENGL ES TRANSFORMATION AND
LIGHTING
173
8.1
Drawing
Primitives
173
174
177
179
180
8.2
Vertex
Transformation Pipeline
183
183
185
186
188
188
189
8.3
Colors and Lighting
189
189
190
192
193
193
Drawing
Primitives
8.1.1
Primitive Types
8.1.2
Specifying Vertex Data
8.1.3
Drawing the
Primitives
8.1.4
Vertex Buffer Objects
Vertex
Transformation Pipeline
8.2.1
Matrices
8.2.2
Transforming Normals
8.2.3
Texture Coordinate Transformation
8.2.4
Matrix Stacks
8.2.5
Viewport Transformation
8.2.6
User Clip Planes
Colors and Lighting
8.3.1
Specifying Colors and Materials
8.3.2
Lights
8.3.3
Two-Sided Lighting
8.3.4
Shading
8.3.5
Lighting Example
CONTENTS
CHAPTER
9. OPENGL ES
RASTERIZATION AND
FRAGMENT PROCESSING 195
195
196
196
197
202
205
205
206
207
209
209
210
211
211
212
213
214
214
214
215
218
218
219
220
220
220
CHAPTER
10.
MISCELLANEOUS
OPENGL ES FEATURES 223
10.1 Frame Buffer
Operations
223
10.1.1 Clearing
the
Buffers 223
10.1.2
Reading Back the Color
Buffer 224
10.1.3
Flushing the Command Stream
225
10.2
State Queries
225
10.2.1
Static State
226
10.2.2
Dynamic State Queries
227
10.3
Hints
233
10.4
Extensions
234
10.4.1
Querying Extensions
234
10.4.2
Query Matrix
234
10.4.3
Matrix Palette
235
10.4.4
Draw Texture
238
10.4.5
Using Extensions
238
9.1
Back-Face Culling
9.2
Texture Mapping
9.2.1
Texture Objects
9.2.2
Specifying Texture Data
9.2.3
Texture Filtering
9.2.4
Texture Wrap Modes
9.2.5
Basic Texture Functions
9.2.6
Multi-Texturing
9.2.7
Texture Combiners
9.2.8
Point Sprite Texturing
9.2.9
Implementation Differences
9.3
Fog
9.4
Antialiasing
9.4.1
Edge Antialiasing
9.4.2
Multisampling
9.4.3
Other Antialiasing Approaches
9.5
Pixel Tests
9.5.1
Scissoring
9.5.2
Alpha Test
9.5.3
Stencil Test
9.5.4
Depth Testing
9.6
Applying Fragments to the Color Buffer
9.6.1
Blending
9.6.2
Dithering
9.6.3
Logic Ops
9.6.4
Masking Frame Buffer Channels
χ
CONTENTS
CHAPTER
11.
EGL
241
11.1
API Overview
242
11.2
Configuration
244
11.3
Surfaces
248
11.4
Contexts
252
11.5
Extensions
253
11.6
Rendering into Textures
254
11.7
Writing High-Performance EGL Code
255
11.8
Mixing
OpenGL ES
and 2D Rendering
257
11.8.1
Method
1:
Window Surface is in Control
257
11.8.2
Method
2:
Pbuffer Surfaces and Bitmaps
258
11.8.3
Method
3:
Pixmap Surfaces
258
11.9
Optimizing Power Usage
259
11.9.1
Power Management Implementations
259
11.9.2
Optimizing the Active Mode
261
11.9.3
Optimizing the Idle Mode
262
11.9.4
Measuring Power Usage
262
11.10
Example on EGL Configuration Selection
264
PART III M3G
_
269
270
270
272
276
277
278
279
280
281
282
283
284
284
285
285
285
286
287
288
CHAPTER
12.
INTRODUCING M3G
12.1
Overview
12.1.1
Mobile Java
12.1.2
Features and Structure
12.1.3
Hello, World
12.2
Design
ι
Principles and Conventions
12.2.1
High Abstraction Level
12.2.2
No Events or Callbacks
12.2.3
Robust Arithmetic
12.2.4
Consistent Methods
12.2.5
Parameter Passing
12.2.6
Numeric Values
12.2.7
Enumerations
12.2.8
Error Handling
12.3
M3G
1
.1
12.3.1
Pure
3D
Rendering
12.3.2
Rotation Interpolation
12.3.3
PNG and JPEG Loading
12.3.4
New Getters
12.3.5
Other Changes
CONTENTS
CHAPTER
13. BASIC M3G
CONCEPTS
289
13.1 GraphicsSD 290
13.1.1
Render
Targets 290
13.1.2
Viewport
293
13.1.3
Rendering
294
13.1.4
Static Properties
296
13.2
Image2D
297
13.3
Matrices and Transformations
300
13.3.1
Transform
300
13.3.2
Transformable
303
13.4
ObjectSD
306
13.4.1
Animating
306
13.4.2
Iterating and Cloning
306
13.4.3
Tags and Annotations
308
13.5
Importing Content
311
13.5.1
Loader
311
13.5.2
The File Format
313
CHAPTER
14.
LOW-LEVEL MODELING IN M3G
319
14.1
Building meshes
319
14.1.1
VertexArray
319
14.1.2
VertexBuffer
320
14.1.3
IndexBuffer and Rendering Primitives
323
14.1.4
Example
325
14.2
Adding Color and Light: Appearance
326
14.2.1
PolygonMode
327
14.2.2
Material
328
14.2.3
Texture2D
329
14.2.4
Fog
332
14.2.5
Compos it ingMode
333
14.3
Lights and Camera
337
14.3.1
Camera
337
14.3.2
Light
339
14.4
2D Primitives
343
14.4.1
Background
343
14.4.2
Sprite3D
346
CHAPTER
15.
THE M3G SCENE GRAPH
349
15.1
Scene Graph Basics:
Hode,
Group, and World
349
15.2
Mesh Objects
351
15.3
Transforming Objects
354
15.3.1
Camera, Light, and Viewing Transformations
355
15.3.2
Node Alignment
356
CONTENTS
15.4
Layering and Multi-Pass Effects
360
15.5
Picking
362
15.6
Optimizing Performance
364
15.6.1
Visibility Optimization
365
15.6.2
Scope Masks
365
CHAPTER
16.
ANIMATION IN M3G
367
16.1
Keyframe Animation: KeyframeSequence
367
16.2
Animation Targets: AnimationTrack
372
16.3
Timing and Speed:
Animationcontroller 374
16.4
Animation Execution
377
16.5
Advanced Animation
378
16.5.1
Deformable Meshes
378
16.5.2
Animation Blending
385
16.5.3
Creating Discontinuities
387
16.5.4
Dynamic Animation
388
PART IV APPENDIX
_
A FIXED-POINT MATHEMATICS
393
A.1 Fixed-Point Methods in
С
395
A.I.I Basic Operations
395
A.
1.2
Shared Exponents
397
A.
1.3
Trigonometric Operations
399
A.2 Fixed-Point Methods in Assembly Language
400
A.3 Fixed-Point Methods in Java
405
В
JAVA PERFORMANCE TUNING
407
B.1 Virtual Machines
408
B.2
Bytecode
Optimization
409
B.3 Garbage Collection
410
B.4 Memory Accesses
411
В
5
Method Calls
413
С
GLOSSARY
415
Bibliography
419
Index
425 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
building | Verbundindex |
bvnumber | BV035085692 |
classification_rvk | ST 320 |
ctrlnum | (OCoLC)488806531 (DE-599)HBZHT015589073 |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01832nam a2200481 c 4500</leader><controlfield tag="001">BV035085692</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20081215 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">081007s2008 ad|| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA768223</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780123737274</subfield><subfield code="9">978-0-12-373727-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0123737273</subfield><subfield code="c">(pbk)</subfield><subfield code="9">0-12-373727-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)488806531</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)HBZHT015589073</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 320</subfield><subfield code="0">(DE-625)143657:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Mobile 3D graphics with OpenGL ES and M3G</subfield><subfield code="c">Kari Pulli ...</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Amsterdam [u.a.]</subfield><subfield code="b">Elsevier</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVI, 436 S., [4] Bl.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Morgan Kaufmann series in computer graphics</subfield></datafield><datafield tag="630" ind1="0" ind2="4"><subfield code="a">OpenGL</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer graphics</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer drawing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Smartphones</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Three-dimensional display systems</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Dimension 3</subfield><subfield code="0">(DE-588)4321722-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Mobile Telekommunikation</subfield><subfield code="0">(DE-588)4341131-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">OpenGL</subfield><subfield code="0">(DE-588)4391716-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computergrafik</subfield><subfield code="0">(DE-588)4010450-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Mobile Telekommunikation</subfield><subfield code="0">(DE-588)4341131-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Computergrafik</subfield><subfield code="0">(DE-588)4010450-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Dimension 3</subfield><subfield code="0">(DE-588)4321722-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">OpenGL</subfield><subfield code="0">(DE-588)4391716-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Pulli, Kalli</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753876&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016753876</subfield></datafield></record></collection> |
id | DE-604.BV035085692 |
illustrated | Illustrated |
index_date | 2024-07-02T22:08:51Z |
indexdate | 2024-07-09T21:21:52Z |
institution | BVB |
isbn | 9780123737274 0123737273 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016753876 |
oclc_num | 488806531 |
open_access_boolean | |
owner | DE-703 |
owner_facet | DE-703 |
physical | XVI, 436 S., [4] Bl. Ill., graph. Darst. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Elsevier |
record_format | marc |
series2 | Morgan Kaufmann series in computer graphics |
spelling | Mobile 3D graphics with OpenGL ES and M3G Kari Pulli ... Amsterdam [u.a.] Elsevier 2008 XVI, 436 S., [4] Bl. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Morgan Kaufmann series in computer graphics OpenGL Computer graphics Computer drawing Smartphones Three-dimensional display systems Dimension 3 (DE-588)4321722-9 gnd rswk-swf Mobile Telekommunikation (DE-588)4341131-9 gnd rswk-swf OpenGL (DE-588)4391716-1 gnd rswk-swf Computergrafik (DE-588)4010450-3 gnd rswk-swf Mobile Telekommunikation (DE-588)4341131-9 s Computergrafik (DE-588)4010450-3 s Dimension 3 (DE-588)4321722-9 s OpenGL (DE-588)4391716-1 s DE-604 Pulli, Kalli Sonstige oth Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753876&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Mobile 3D graphics with OpenGL ES and M3G OpenGL Computer graphics Computer drawing Smartphones Three-dimensional display systems Dimension 3 (DE-588)4321722-9 gnd Mobile Telekommunikation (DE-588)4341131-9 gnd OpenGL (DE-588)4391716-1 gnd Computergrafik (DE-588)4010450-3 gnd |
subject_GND | (DE-588)4321722-9 (DE-588)4341131-9 (DE-588)4391716-1 (DE-588)4010450-3 |
title | Mobile 3D graphics with OpenGL ES and M3G |
title_auth | Mobile 3D graphics with OpenGL ES and M3G |
title_exact_search | Mobile 3D graphics with OpenGL ES and M3G |
title_exact_search_txtP | Mobile 3D graphics with OpenGL ES and M3G |
title_full | Mobile 3D graphics with OpenGL ES and M3G Kari Pulli ... |
title_fullStr | Mobile 3D graphics with OpenGL ES and M3G Kari Pulli ... |
title_full_unstemmed | Mobile 3D graphics with OpenGL ES and M3G Kari Pulli ... |
title_short | Mobile 3D graphics with OpenGL ES and M3G |
title_sort | mobile 3d graphics with opengl es and m3g |
topic | OpenGL Computer graphics Computer drawing Smartphones Three-dimensional display systems Dimension 3 (DE-588)4321722-9 gnd Mobile Telekommunikation (DE-588)4341131-9 gnd OpenGL (DE-588)4391716-1 gnd Computergrafik (DE-588)4010450-3 gnd |
topic_facet | OpenGL Computer graphics Computer drawing Smartphones Three-dimensional display systems Dimension 3 Mobile Telekommunikation Computergrafik |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016753876&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT pullikalli mobile3dgraphicswithopenglesandm3g |