Muutke küpsiste eelistusi

E-raamat: 3D Engine Design for Virtual Globes [Taylor & Francis e-raamat]

(Analytical Graphics, Inc., Exton, Pennsylvania, USA), (University of Pennsylvania, Philadelphia, USA)
  • Formaat: 516 pages
  • Ilmumisaeg: 24-Jun-2011
  • Kirjastus: A K Peters
  • ISBN-13: 9780429108464
Teised raamatud teemal:
  • Taylor & Francis e-raamat
  • Hind: 180,03 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 257,19 €
  • Säästad 30%
  • Formaat: 516 pages
  • Ilmumisaeg: 24-Jun-2011
  • Kirjastus: A K Peters
  • ISBN-13: 9780429108464
Teised raamatud teemal:
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
Foreword vii
Preface x
1 Introduction
1(10)
1.1 Rendering Challenges in Virtual Globes
1(4)
1.2 Contents Overview
5(3)
1.3 OpenGlobe Architecture
8(2)
1.4 Conventions
10(1)
I Fundamentals
11(144)
2 Math Foundations
13(28)
2.1 Virtual Globe Coordinate Systems
13(4)
2.2 Ellipsoid Basics
17(5)
2.3 Coordinate Transformations
22(12)
2.4 Curves on an Ellipsoid
34(5)
2.5 Resources
39(2)
3 Renderer Design
41(80)
3.1 The Need for a Renderer
42(4)
3.2 Bird's-Eye View
46(14)
3.3 State Management
60(3)
3.4 Shaders
63(21)
3.5 Vertex Data
84(17)
3.6 Textures
101(11)
3.7 Framebuffers
112(3)
3.8 Putting It All Together: Rendering a Triangle
115(4)
3.9 Resources
119(2)
4 Globe Rendering
121(34)
4.1 Tessellation
121(12)
4.2 Shading
133(16)
4.3 GPU Ray Casting
149(5)
4.4 Resources
154(1)
II Precision
155(46)
5 Vertex Transform Precision
157(24)
5.1 Jittering Explained
158(6)
5.2 Rendering Relative to Center
164(5)
5.3 Rendering Relative to Eye Using the CPU
169(2)
5.4 Rendering Relative to Eye Using the GPU
171(6)
5.5 Recommendations
177(3)
5.6 Resources
180(1)
6 Depth Buffer Precision
181(20)
6.1 Causes of Depth Buffer Errors
181(7)
6.2 Basic Solutions
188(1)
6.3 Complementary Depth Buffering
189(2)
6.4 Logarithmic Depth Buffer
191(3)
6.5 Rendering with Multiple Frustums
194(4)
6.6 W-Buffer
198(1)
6.7 Algorithms Summary
198(1)
6.8 Resources
199(2)
III Vector Data
201(104)
7 Vector Data and Polylines
203(18)
7.1 Sources of Vector Data
203(1)
7.2 Combating Z-Fighting
204(3)
7.3 Polylines
207(12)
7.4 Resources
219(2)
8 Polygons
221(30)
8.1 Render to Texture
221(1)
8.2 Tessellating Polygons
222(19)
8.3 Polygons on Terrain
241(9)
8.4 Resources
250(1)
9 Billboards
251(24)
9.1 Basic Rendering
252(6)
9.2 Minimizing Texture Switches
258(9)
9.3 Origins and Offsets
267(4)
9.4 Rendering Text
271(2)
9.5 Resources
273(2)
10 Exploiting Paralleslism in Resource Preparation
275(30)
10.1 Parallelism Everywhere
275(3)
10.2 Task-Level Parallelism in Virtual Globes
278(2)
10.3 Architectures for Multithreading
280(12)
10.4 Multithreading with OpenGL
292(12)
10.5 Resources
304(1)
IV Terrain
305(162)
11 Terrain Basics
307(58)
11.1 Terrain Representations
308(5)
11.2 Rendering Height Maps
313(22)
11.3 Computing Normals
335(8)
11.4 Shading
343(20)
11.5 Resources
363(2)
12 Massive-Terrain Rendering
365(38)
12.1 Level of Detail
367(9)
12.2 Preprocessing
376(5)
12.3 Out-of-Core Rendering
381(9)
12.4 Culling
390(10)
12.5 Resources
400(3)
13 Geometry Clipmapping
403(42)
13.1 The Clipmap Pyramid
406(2)
13.2 Vertex Buffers
408(3)
13.3 Vertex and Fragment Shaders
411(3)
13.4 Blending
414(3)
13.5 Clipmap Update
417(18)
13.6 Shading
435(1)
13.7 Geometry Clipmapping on a Globe
436(7)
13.8 Resources
443(2)
14 Chunked LOD
445(22)
14.1 Chunks
447(1)
14.2 Selection
448(1)
14.3 Cracks between Chunks
449(1)
14.4 Switching
450(2)
14.5 Generation
452(7)
14.6 Shading
459(1)
14.7 Out-of-Core Rendering
460(2)
14.8 Chunked LOD on a Globe
462(1)
14.9 Chunked LOD Compared to Geometry Clipmapping
463(2)
14.10 Resources
465(2)
A Implementing a Message Queue 467(10)
Bibliography 477(14)
Index 491
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 IBMs Extreme Blue internship program at the Almaden Research Lab, interned with IBMs z/VM operating system team, and interned with the chipset validation group at Intel. He earned a masters degree in computer and information science from the University of Pennsylvania and a bachelors 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 bachelors degree in computer science from Rensselaer Polytechnic Institute.