3D Engine Design for Virtual Globes (ISBN: 9781568817118) is a 520-page programming book about rendering algorithms utilized by virtual globes softwares like Google Earth or Microsoft Bing Maps 3D. The huge amount of data required by virtual globes softwares (according to this paper –page 10, Google Earth and Google Maps used in 2006 approximately 70 terabytes of data) involves facing serveral challenges like managing massive datasets, multi-threading or precision and accuracy.
If you’re an OpenGL developer, you gonna love this book. The engine design presented in this book is based on OpenGL. Actually, all the code is based on OpenGL 3.3 with core profile.
This book is really pragmatic and provides many tips, notes or try-this like this one:
All concepts and algorithms are clearly explained and a lot of code snippets (in C# and GLSL), most of time fully functional, are available:
This book is focused on virtual globes problems, but if you’re interested by general 3D engine design (for gaming or other kind of applications), this book is also very good resource. Chapters like Renderer Design (p.41 to p.120) or the one about exploiting the parallelism of modern CPUs and GPUs (p.275 to p.304) present enough general notions and ideas that can be used to update your existing 3D gaming engine or help you to design a new versatile engine.
Here is the detailed table of contents:
The rear side of the book:
Patrick Cozzi and Kevin Ring, the authors of this nice book, have done a very good job and from now, I keep it on my desk, with my other OpenGL books. A great resource!