This book, the third volume in the popular Game Engine Gems series, is composed of short articles that focus on a particular technique, describe a clever trick, or offer practical advice within the subject of game engine development. The 22 chapters cover four broad categories—graphics and rendering, physics, general programming, and artificial intelligence. Professional game developers, students of game development and computer science, and anyone interested in learning how the pros tackle specific problems that arise during game engine development will find useful gems in this collection.
TABLE OF CONTENTS AND CONTRIBUTORS
Part I — Graphics and Rendering
1. The Open Game Engine Exchange Format
Eric Lengyel (Series Editor / Terathon Software LLC)
OpenGEX official website
2. Realistic Blending of Skies, Water, and Terrain
Frank Kane (Sundog Software, LLC)
3. Fog with a Linear Density Function
Eric Lengyel (Series Editor / Terathon Software LLC)
4. Vegetation Management in Leadwerks Game Engine 4
Josh Klint (Leadwerks Software)
Download supplementary files for Chapter 4
5. Smooth Horizon Mapping
Eric Lengyel (Series Editor / Terathon Software LLC)
Download supplementary files for Chapter 5
6. Buffer-Free Generation of Triangle Strip Cube Vertices
Don Williamson (Celtoys)
7. Edge-Preserving Smoothing Filter for Particle Based Rendering
Kin-Ming Wong (The Chinese University of Hong Kong)
Tien-Tsin Wong (The Chinese University of Hong Kong)
Download supplementary files for Chapter 7
8. Variable Precision Pixel Shading for Improved Power Efficiency
Rahul P. Sathe (Intel)
9. A Fast and High-Quality Texture Atlasing Algorithm
Manny Ko (Activision Blizzard Inc.)
Part II — Physics
10. Rotational Joint Limits in Quaternion Space
Gino van den Bergen (Dtecta)
Download supplementary files for Chapter 10
11. Volumetric Hierarchical Approximate Convex Decomposition
Khaled Mamou (AMD)
12. Simulating Soft Bodies Using Strain Based Dynamics
Muhammad Mobeen Movania (DHA Suffa University)
Download supplementary files for Chapter 12
Part III — General Programming
13. Generic, Lightweight, and Fast Delegates in C++
Stefan Reinalter (Molecular Matters)
Download supplementary files for Chapter 13
14. Compile-Time String Hashing in C++
Stefan Reinalter (Molecular Matters)
Download supplementary files for Chapter 14
15. Static Reflection in C++ Using Tuples
Nicolas Guillemot (Intel)
16. Portable SIMD Programs Using ISPC
Nicolas Guillemot (Intel)
Marc Fauconneau Dufresne (Intel)
17. Shared Network Arrays as an Abstraction of Network Code from Game Code Logic
João Lucas Guberman Raza (Microsoft)
Part IV — Character Control and Artificial Intelligence
18. Vision Based Local Collision Avoidance
Teófilo Bezerra Dutra (Universidade Federal do Ceará)
Ricardo Marques (Universitat Pompeu Fabra)
Julien Pettré (INRIA)
Jan Ondřej (Disney Research)
19. A Programming Framework for Autonomous NPCs
Artur de Oliveira da Rocha Franco (Federal University of Ceará)
José Gilvan Rodrigues Maia (Federal University of Ceará)
Fernando Antonio de Carvalho Gomes (Federal University of Ceará)
20. Beyond Smart Objects: Behavior-Oriented Programming for NPCs in Large Open Worlds
Martin Černý (Charles University in Prague)
Tomáš Plch (Charles University in Prague / Warhorse Studios)
Cyril Brom (Charles University in Prague)
21. A Control System for Enhancing Entity Behavior
Mike Ramsey (Ramsey Research, LLC)
22. A Control System Based Approach to Entity Behavior
Mike Ramsey (Ramsey Research, LLC)
1