Supported with code examples and the authors' real-world experience, this book offers the first guide to engine design and rendering algorithms for virtual globe applications like Google Earth and NASA World Wind. The content is also useful for general graphics and games, especially planet and massive-world engines. With pragmatic advice throughout, it is essential reading for practitioners, researchers, and hobbyists in these areas, and can be used as a text for a special topics course in computer graphics.
Topics covered include:
- Rendering globes, planet-sized terrain, and vector data
- Multithread resource management
- Out-of-core algorithms
- Shader-based renderer design
"The first half of the book details the design of a modern 3D graphics engine: a shader-based architecture with an abstract rendering API fed by hierarchical culling and state sorting. The second half of the book upgrades the generic 3D engine to a virtual globe engine by adding high precision rendering, accurate globe rendering, vector data rendering, out-of-core rendering, and terrain rendering. The algorithms and techniques in the book are not tied to any particular programming language or rendering API but they will provide concrete examples in C#, OpenGL, and GLSL"--
3D Engine Design for Virtual Globes provides a fine guide to engine design and algorithms for virtual globe applications such as Google Earth ? packed with formulas and details on simulations, visualization and GIS applications ? a winner for any technical collection.-Midwest Book Review, November 2011
What the authors actually do is build a very nice, modern, OpenGL rendering engine. ? the code content is quite digestible and easy to follow, and we can imagine eager readers swarming the book's website in order to download the entire codebase. Asides from the very usable 3D engine provided, one can also find oodles of interesting discussions on how to solve Depth Buffer precision-related problems and how to deal with the limited coordinate precision afforded by the float representation ? we must issue bonus points for dealing with multi-threading head on ? We'd also recommend that one should play with all the "Try this" challenges in the book, they're good fun ? both the beginner and the more experienced practitioner has something in store hidden between the black covers.-Alex Voicu, Beyond3D, October 2011
3D Engine Design for Virtual Globes presents invaluable practical knowledge for building interactive 3D worlds and serves as a great reference for the different rendering algorithms and their tradeoffs. You will find a copy at my desk.-Quarup Barreirinhas, Google Earth Software Engineer
This is a long overdue book covering techniques essential for the design and implementation of virtual globe engines and for high-fidelity planetary scale terrain rendering applications. Written by experienced developers with a consistent and very practical approach, the book provides a comprehensive evaluation of modern algorithms and techniques for terrain and vector data rendering, 3D engine design, multithreading, and much more. I definitely recommend it to everyone implementing or interested in the methods used in virtual globes, simulations, large-scale visualizations, and GIS applications.-Brano Kemen, Outerra
This book is must-have literature for all software developers building virtual worlds. Based on the experience of its authors, this book covers all essential aspects of terrain rendering: mathematical background, geographic information systems basics, information about how to handle massive datasets, precise rendering, multithreading, and some state-of-the-art algorithms. It is richly illustrated with pictures and code, using a modern fully shader-based approach with OpenGL 3.3 core profile and C#.-Aleksandar Dimitrijevic, University of Nis