Game Engine Gems
GameEngineGems.com — The official website of the Game Engine Gems series.
Book Cover

Game Engine Gems, Volume 1

Eric Lengyel, Series Editor
ISBN-13: 978-0-7637-7888-0
Hardcover · 380 Pages
Jones and Bartlett Publishers © 2010

Purchase at Amazon.com


See this book in the Graphics and Game Gems Database

Game Engine Gems 1 brings together a collection of new articles from leading software engineering professionals in the first volume of a new series. Each “gem” in this volume presents a previously unpublished technique related to game engines and real-time virtual simulations, and each one is supported by many years of experience and wisdom possessed by the authors. Specific topics include rendering techniques, shaders, scene organization, visibility determination, collision detection, audio, user interface, input devices, memory management, artificial intelligence, resource organization, and cross-platform considerations.

TABLE OF CONTENTS AND CONTRIBUTORS

Part I — Game Engine Design

1. What to Look for When Evaluating Middleware for Integration
Jason Hughes (Founder of Steel Penny Games)

2. The Game Asset Pipeline
Rémi Arnaud (Chief Software Architect at Screampoint International)

3. Volumetric Representation of Virtual Environments
David Williams (Graphics Programmer for Thermite3D)

4. High-Level Pathfinding
Daniel Higgins (Owner of Lunchtime Studios, Inc.)

5. Environment Sound Culling
Simon Franco (The Creative Assembly)

6. A GUI Framework and Presentation Layer
Adrian Hirst (Founder of Weaseltron Entertainment)

7. World’s Best Palettizer
Jason Hughes (Founder of Steel Penny Games)

8. 3D Stereoscopic Rendering: An Overview of Implementation Issues
Anders Hast (Associate Professor at University of Gävle and Visualization Expert at UPPMAX)

9. A Multithreaded 3D Renderer
Sebastien Schertenleib (Principal Engineer at Sony Computer Entertainment Europe)

10. Camera Centric Engine Design for Multithreaded Rendering
Colt McAnlis (Graphics Programmer at Blizzard Entertainment)

11. A GPU Managed Memory Pool
Jeremy Moore (Lead Engine Programmer at Black Rock Studio)

12. Precomputed 3D Velocity Field for Simulating Fluid Dynamics
Khalid Djado (PhD Student and Lecturer at University of Sherbrooke)
Richard Egli (Professor of Computer Sciences at University of Sherbrooke)

13. Mesh Partitioning for Fun and Profit
Jason Hughes (Founder of Steel Penny Games)

14. Moments of Inertia for Common Shapes
Eric Lengyel (Series Editor and Founder of Terathon Software LLC)

Part II — Rendering Techniques

15. Physically-Based Outdoor Scene Lighting
Frank Kane (Founder of Sundog Software, LLC)

16. Rendering Physically-Based Skyboxes
Frank Kane (Founder of Sundog Software, LLC)

17. Motion Blur and the Velocity-Depth-Gradient Buffer
Eric Lengyel (Series Editor and Founder of Terathon Software LLC)

18. Fast Screen-space Ambient Occlusion and Indirect Lighting
László Szirmay-Kalos (Department Head of Control Engineering and Information Technology at Budapest University of Technology and Economics)
Balázs Tóth (Assistant Professor at Budapest University of Technology and Economics)
Tamás Umenhoffer (Assistant Professor at Budapest University of Technology and Economics)

19. Real-Time Character Dismemberment
Aurelio Reis (Programmer at id Software)

20. A Deferred Decal Rendering Technique
Jan Krassnigg (Information Technologies Student at University of Aachen, Germany)

Part III — Programming Methods

21. Multithreaded Object Models
Jon Parise (Senior Software Engineer at Electronic Arts)

22. Holistic Task Parallelism for Common Game Architecture Patterns
Brad Werth (Senior Software Engineer at Intel)

23. Dynamic Code Execution Hierarchies
Martin Linklater (Technical Director at Sony)

24. Key-Value Dictionary
Martin Linklater (Technical Director at Sony)

25. A Basic Scheduler
John Bolton (Software Engineer at Netflix)

26. The Game State Observer Pattern
Ron Barbosa (Chief Software Architect at Revelex Corporation)

27. Fast Trigonometric Operations Using CORDIC Methods
John Bolton (Software Engineer at Netflix)

28. Inter-Process Communication Based on Your Own RPC Subsystem
Kurt Pelzer (Senior Software Engineer at Piranha Bytes)

UPDATED SOURCE CODE

Download updated code for Chapter 15 (26 kB)

Copyright © 2010–2015 by Eric Lengyel