Mobile 3D Graphics (eBook)
464 Seiten
Elsevier Science (Verlag)
978-0-08-055591-1 (ISBN)
This book - written by some of the key technical experts...provides a comprehensive but practical and easily understood introduction for any software engineer seeking to delight the consumer with rich 3D interactive experiences on their phone. Like the OpenGL ES and M3G standards it covers, this book is destined to become an enduring standard for many years to come.
- Lincoln Wallen, CTO, Electronic Arts, Mobile
This book is an escalator, which takes the field to new levels. This is especially true because the text ensures that the topic is easily accessible to everyone with some background in computer science...The foundations of this book are clear, and the authors are extremely knowledgeable about the subject.
- Tomas Akenine-M?ller, bestselling author and Professor of Computer Science at Lund University
This book is an excellent introduction to M3G. The authors are all experienced M3G users and developers, and they do a great job of conveying that experience, as well as plenty of practical advice that has been proven in the field.
- Sean Ellis, Consultant Graphics Engineer, ARM Ltd
The exploding popularity of mobile computing is undeniable. From cell phones to portable gaming systems, the global demand for multifunctional mobile devices is driving amazing hardware and software developments. 3D graphics are becoming an integral part of these ubiquitous devices, and as a result, Mobile 3D Graphics is arguably the most rapidly advancing area of the computer graphics discipline.
Mobile 3D Graphics is about writing real-time 3D graphics applications for mobile devices. The programming interfaces explained and demonstrated in this must-have reference enable dynamic 3D media on cell phones, GPS systems, portable gaming consoles and media players.
The text begins by providing thorough coverage of background essentials, then presents detailed hands-on examples, including extensive working code in both of the dominant mobile APIs, OpenGL ES and M3G.
C/C++ and Java Developers, graphic artists, students, and enthusiasts would do well to have a programmable mobile phone on hand to try out the techniques described in this book.
The authors, industry experts who helped to develop the OpenGL ES and M3G standards, distill their years of accumulated knowledge within these pages, offering their insights into everything from sound mobile design principles and constraints, to efficient rendering, mixing 2D and 3D, lighting, texture mapping, skinning and morphing.
Along the way, readers will benefit from the hundreds of included tips, tricks and caveats.
*Written by key industry experts who helped develop the standards of the field
*Hands-on code examples are presented throughout the book, and are also offered on the companion website
*Provides examples in the two most popular programing interfaces, OpenGL ES and M3G
Graphics and game developers must learn to program for mobility. This book will teach you how. "e;This book - written by some of the key technical experts...provides a comprehensive but practical and easily understood introduction for any software engineer seeking to delight the consumer with rich 3D interactive experiences on their phone. Like the OpenGL ES and M3G standards it covers, this book is destined to become an enduring standard for many years to come."e; - Lincoln Wallen, CTO, Electronic Arts, Mobile"e;This book is an escalator, which takes the field to new levels. This is especially true because the text ensures that the topic is easily accessible to everyone with some background in computer science...The foundations of this book are clear, and the authors are extremely knowledgeable about the subject. - Tomas Akenine-Moller, bestselling author and Professor of Computer Science at Lund University "e;This book is an excellent introduction to M3G. The authors are all experienced M3G users and developers, and they do a great job of conveying that experience, as well as plenty of practical advice that has been proven in the field."e; - Sean Ellis, Consultant Graphics Engineer, ARM LtdThe exploding popularity of mobile computing is undeniable. From cell phones to portable gaming systems, the global demand for multifunctional mobile devices is driving amazing hardware and software developments. 3D graphics are becoming an integral part of these ubiquitous devices, and as a result, Mobile 3D Graphics is arguably the most rapidly advancing area of the computer graphics discipline. Mobile 3D Graphics is about writing real-time 3D graphics applications for mobile devices. The programming interfaces explained and demonstrated in this must-have reference enable dynamic 3D media on cell phones, GPS systems, portable gaming consoles and media players. The text begins by providing thorough coverage of background essentials, then presents detailed hands-on examples, including extensive working code in both of the dominant mobile APIs, OpenGL ES and M3G. C/C++ and Java Developers, graphic artists, students, and enthusiasts would do well to have a programmable mobile phone on hand to try out the techniques described in this book. The authors, industry experts who helped to develop the OpenGL ES and M3G standards, distill their years of accumulated knowledge within these pages, offering their insights into everything from sound mobile design principles and constraints, to efficient rendering, mixing 2D and 3D, lighting, texture mapping, skinning and morphing. Along the way, readers will benefit from the hundreds of included tips, tricks and caveats. - Written by experts at Nokia whose workshops at industry conferences are blockbusters- The programs used in the examples are featured in thousands of professional courses each year
Cover 1
Contents 6
Preface 14
About the Authors 16
Acknowledgments 17
Chapter 1. Introduction 18
1.1 About This Book 19
1.2 Graphics on Handheld Devices 20
1.3 Mobile Graphics Standards 29
Part I: Anatomy of a Graphics Engine 42
Chapter 2. Linear Algebra for 3D Graphics 44
2.1 Coordinate Systems 44
2.2 Matrices 48
2.3 Affine Transformations 52
2.4 Eye Coordinate System 59
2.5 Projections 61
2.6 Viewport and 2D Coordinate Systems 68
Chapter 3. Low-Level Rendering 72
3.1 Rendering Primitives 74
3.2 Lighting 78
3.3 Culling and Clipping 87
3.4 Rasterization 90
3.5 Per-Fragment Operations 109
3.6 Life Cycle of a Frame 117
Chapter 4. Animation 122
4.1 Keyframe Animation 122
4.2 Deforming Meshes 130
Chapter 5. Scene Management 134
5.1 Triangle Meshes 135
5.2 Scene Graphs 137
5.3 Retained Mode Rendering 145
Chapter 6. Performance and Scalability 150
6.1 Scalability 151
6.2 Performance Optimization 153
6.3 Changing and Querying the State 162
6.4 Model Data 163
6.5 Transformation Pipeline 165
6.6 Lighting 168
6.7 Textures 169
Part II: OpenGL ES and EGL 172
Chapter 7. Introducing OpenGL ES 174
7.1 Khronos Group and OpenGL ES 174
7.2 Design Principles 175
7.3 Resources 176
7.4 API Overview 178
7.5 Hello, OpenGL ES! 187
Chapter 8. OpenGL ES Transformation and Lighting 190
8.1 Drawing Primitives 190
8.2 Vertex Transformation Pipeline 200
8.3 Colors and Lighting 206
Chapter 9. OpenGL ES Rasterization and Fragment Processing 212
9.1 Back-Face Culling 212
9.2 Texture Mapping 213
9.3 Fog 227
9.4 Antialiasing 228
9.5 Pixel Tests 231
9.6 Applying Fragments to the Color Buffer 235
Chapter 10. Miscellaneous OpenGL ES Features 240
10.1 Frame Buffer Operations 240
10.2 State Queries 242
10.3 Hints 250
10.4 Extensions 251
Chapter 11. EGL 258
11.1 API Overview 259
11.2 Configuration 261
11.3 Surfaces 265
11.4 Contexts 269
11.5 Extensions 270
11.6 Rendering into Textures 271
11.7 Writing High-Performance EGL Code 272
11.8 Mixing OpenGL ES and 2D Rendering 274
11.9 Optimizing Power Usage 276
11.10 Example on EGL Configuration Selection 281
Part III: M3G 284
Chapter 12. Introducing M3G 286
12.1 Overview 287
12.2 Design Principles and Conventions 294
12.3 M3G 1.1 302
Chapter 13. Basic M3G Concepts 306
13.1 Graphics3D 307
13.2 Image2D 314
13.3 Matrices and Transformations 317
13.4 Object3D 323
13.5 Importing Content 328
Chapter 14. Low-Level Modeling in M3G 336
14.1 Building Meshes 336
14.2 Adding Color and Light: Appearance 343
14.3 Lights and Camera 354
14.4 2D Primitives 360
Chapter 15. The M3G Scene Graph 366
15.1 Scene Graph Basics: Node, Group, and World 366
15.2 Mesh Objects 368
15.3 Transforming Objects 371
15.4 Layering and Multi-Pass Effects 377
15.5 Picking 379
15.6 Optimizing Performance 381
Chapter 16. Animation in M3G 384
16.1 Keyframe Animation: KeyframeSequence 384
16.2 Animation Targets: AnimationTrack 389
16.3 Timing and Speed: AnimationController 391
16.4 Animation Execution 394
16.5 Advanced Animation 395
Part IV: Appendix 408
Appendix A. Fixed-Point Mathematics 410
A.1 Fixed-Point Methods in C 412
A.2 Fixed-Point Methods in Assembly Language 417
A.3 Fixed-Point Methods in Java 422
Appendix B. Java Performance Tuning 424
B.1 Virtual Machines 425
B.2 Bytecode Optimization 426
B.3 Garbage Collection 427
B.4 Memory Accesses 428
B.5 Method Calls 430
Appendix C. Glossary 432
Bibliography 436
Index 442
Color Plate 454
Erscheint lt. Verlag | 19.11.2007 |
---|---|
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik ► Grafik / Design |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Informatik ► Weitere Themen ► Computerspiele | |
ISBN-10 | 0-08-055591-8 / 0080555918 |
ISBN-13 | 978-0-08-055591-1 / 9780080555911 |
Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich