Find Your Way Home--Bestselling Sat NavsPlan ahead and avoid traffic jams with one of our bestselling sat navs from top brands including TomTom and Garmin. We also stock a great range of up-to-date and fully-routable maps for your device, including popular destinations such as France, Portugal, North America and Scotland.
- Also check our best rated Travel Book reviews
3D Engine Design for Virtual Globes Hardcover – 1 Jul 2011
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Special offers and product promotions
Customers who bought this item also bought
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Would you like to tell us about a lower price?
If you are a seller for this product, would you like to suggest updates through seller support?
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 Dimitrijević, University of Niš
About the Author
Patrick Cozzi is a senior software developer on the 3D team at Analytical Graphics, Inc. (AGI). He is a contributor to SIGGRAPH and the Game Engine Gems series. Before joining AGI, he worked on storage systems in IBM’s Extreme Blue internship program at the Almaden Research Lab, interned with IBM’s z/VM operating system team, and interned with the chipset validation group at Intel. He earned a master’s degree in computer and information science from the University of Pennsylvania and a bachelor’s degree in computer science from Pennsylvania State University.
Kevin Ring is the lead architect of AGI Components at Analytical Graphics, Inc. In his software development career, he has worked on a wide range of software systems, from class libraries to web applications to 3D game engines to interplanetary spacecraft trajectory design systems. He earned a bachelor’s degree in computer science from Rensselaer Polytechnic Institute.
Top customer reviews
If you're serious about writing a virtual globe application, then this book really is the starting point. Most of the chapters will give you enough information to understand roughly how a technique works, but if you want to really get to grips with how all the little bits work you really need to go off and find the original papers! This book makes that easy however with a consistent referencing style and a handy website which has all the bibliography as web addresses; which is a god send!
Most helpful customer reviews on Amazon.com
The only thing i dislike is the sample code is written in C#.
As a lifelong amateur astronomer and software engineer, with 3D graphics simulation being my hobby, I always wanted to write a 3D simulation allowing a user to fly around the solar system and buzz the canyons of our rocky planets or navigate through the rings of Saturn.
But even with many years of OpenGL programming, I had no idea how to achieve what I have conceived in my head (check out the Outtera website to get an idea, absolutely stunning!).
3D Engine Design for Virtual Globes is just what I needed. The book presents a complete API for rendering globes, massive amounts of terrain, vector data (GIS) and the techniques required for a seamless and smooth transition from orbit down to your front yard.
The API is called OpenGlobe and it is built on top of OpenTK which facilitates writing OpenGL programs with C#/.Net (yeah!).
To end on a good note, I’ll mention the con’s first:
I can’t praise this book enough for finally making this topic clear to me. With that said, be forewarned: The OpenGlobe API is not a plug-n-play solar system/planetary simulator. Literally all of the example programs demonstrate their purpose in isolation to the example. For example, the globe rendering examples render a single globe in its own space. If you want to render several planets, you will need to rip out the globe rendering example code and roll your own multi-planet solar system.
This also means there is no scene management. But the authors do gloss over multi-frustum rendering for large volume scenes that cover distances from one meter to 100,000,000 meters or more.
A bit frustrating is how some techniques are covered in detail and at the end you are told “but there is a better way…” Immediately following, most of the “better ways” are covered but in a lot of cases you are instead referred to a source in the bibliography (which is the best graphics bibliography I have ever seen!).
Now the good stuff!
An Abstract Rendering Engine
OpenGL programmers know how difficult and error prone managing the OpenGL state can be. This book begins by presenting an abstract render engine and implements it in OpenGL. This render engine hides the complexity of managing OpenGL state. You don’t need to remember to restore the previous states after you draw an object. The render engine shadows the OpenGL state and takes care of the details for you.
Writing OpenGL code with this rendering engine is an absolute joy!
Note that the OpenGL core profile is used in the engine. This means you need to write your own vertex and fragment shaders to put anything on the screen. There are myriad shaders provided with all of the samples. If you don’t know GLSL, you might as well pick up a copy of the orange book (OpenGL Shading Language) as well.
Several methods for rendering globes are presented with projects that demonstrate each. The pro’s and con’s are clearly explained. Picking the method you’ll want to use is the hardest decision.
The last 4 chapters of the book concentrate on terrain rendering techniques. If you have ever wondered how a game or simulation renders hundreds of miles of detailed terrain, all is revealed here. Especially enlightening are the web services that retrieve data and terrain tiles from NASA and ESRI servers as you move through your scene.
There are two chapters that cover precision and the problems caused by floating point round off errors and artifacts caused by depth buffer z-fighting. These issues are addressed in detail with several different solutions (yes, the code for the solutions is provided!).
Part three of the book has two chapters covering vector data which really boils down to drawing lines and polygons. Where globe and terrain rendering is concerned, this means maps. If you have ever done any GIS programming (I worked on GIS software projects at UPS for 8 years) you will love the ESRI Shapefile reader/renderer.
Billboards are covered and a great texture atlas is provided in the API. The texture atlas makes rendering billboards a breeze.
Yes, you can write multi-threaded OpenGL code. And this chapter shows you how. The appendix covers a message queue used heavily in a multi-threaded program.
Lastly, I have exchanged several emails with the authors. They are prompt and very helpful in their replies. As busy as they are, the individual attention is greatly appreciated. They are currently working on a WebGL Virtual Globe and Map Engine called “Cesium.” Check it out!
Look for similar items by category
- Books > Computing & Internet > Digital Lifestyle
- Books > Computing & Internet > PC & Video Games
- Books > Computing & Internet > Programming > Games
- Books > Computing & Internet > Programming > Graphics & Multimedia
- Books > Computing & Internet > Software & Graphics > Graphics & Multimedia > 3-D Graphics
- Books > Computing & Internet > Software & Graphics > Graphics & Multimedia > Image Manipulation & Creation
- Books > Computing & Internet > Web Development > Web Design > Web Graphics & Animation
- Books > Science & Nature > Earth Sciences & Geography > Geography > Cartography, Geodesy & Geographic Information Systems
- Books > Science & Nature > Earth Sciences & Geography > Geography > Reference
- Books > Travel & Holiday > Atlases & Maps > Historical Atlases & Maps
- Books > Travel & Holiday > Atlases & Maps > Special Interests