O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Game Engine Gems 2

Book Description

This book, the second volume in the popular Game Engine Gems series, contains short articles that focus on a particular technique, describe a clever trick, or offer practical advice within the subject of game engine development. The 31 chapters cover three broad categories—graphics and rendering, game engine design, and systems programming. 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.

Supplementary materials, including demos, source code, examples, specifications, and more can be found at www.gameenginegems.net.

Table of Contents

  1. Front Cover
  2. Contents (1/2)
  3. Contents (2/2)
  4. Preface
  5. Part I. Graphics and Rendering
  6. 1. Fast Computation of Tight‐Fitting Oriented Bounding Boxes (1/4)
  7. 1. Fast Computation of Tight‐Fitting Oriented Bounding Boxes (2/4)
  8. 1. Fast Computation of Tight‐Fitting Oriented Bounding Boxes (3/4)
  9. 1. Fast Computation of Tight‐Fitting Oriented Bounding Boxes (4/4)
  10. 2. Modeling, Lighting, and Rendering Techniques for Volumetric Clouds (1/5)
  11. 2. Modeling, Lighting, and Rendering Techniques for Volumetric Clouds (2/5)
  12. 2. Modeling, Lighting, and Rendering Techniques for Volumetric Clouds (3/5)
  13. 2. Modeling, Lighting, and Rendering Techniques for Volumetric Clouds (4/5)
  14. 2. Modeling, Lighting, and Rendering Techniques for Volumetric Clouds (5/5)
  15. 3. Simulation of Night‐Vision and Infrared Sensors (1/2)
  16. 3. Simulation of Night‐Vision and Infrared Sensors (2/2)
  17. 4. Screen‐Space Classification for Efficient Deferred Shading (1/4)
  18. 4. Screen‐Space Classification for Efficient Deferred Shading (2/4)
  19. 4. Screen‐Space Classification for Efficient Deferred Shading (3/4)
  20. 4. Screen‐Space Classification for Efficient Deferred Shading (4/4)
  21. 5. Delaying OpenGL Calls (1/3)
  22. 5. Delaying OpenGL Calls (2/3)
  23. 5. Delaying OpenGL Calls (3/3)
  24. 6. A Framework for GLSL Engine Uniforms (1/2)
  25. 6. A Framework for GLSL Engine Uniforms (2/2)
  26. 7. A Spatial and Temporal Coherence Framework for Real‐Time Graphics (1/5)
  27. 7. A Spatial and Temporal Coherence Framework for Real‐Time Graphics (2/5)
  28. 7. A Spatial and Temporal Coherence Framework for Real‐Time Graphics (3/5)
  29. 7. A Spatial and Temporal Coherence Framework for Real‐Time Graphics (4/5)
  30. 7. A Spatial and Temporal Coherence Framework for Real‐Time Graphics (5/5)
  31. 8. Implementing a Fast DDOF Solver (1/4)
  32. 8. Implementing a Fast DDOF Solver (2/4)
  33. 8. Implementing a Fast DDOF Solver (3/4)
  34. 8. Implementing a Fast DDOF Solver (4/4)
  35. 9. Automatic Dynamic Stereoscopic 3D (1/4)
  36. 9. Automatic Dynamic Stereoscopic 3D (2/4)
  37. 9. Automatic Dynamic Stereoscopic 3D (3/4)
  38. 9. Automatic Dynamic Stereoscopic 3D (4/4)
  39. 10. Practical Stereo Rendering (1/3)
  40. 10. Practical Stereo Rendering (2/3)
  41. 10. Practical Stereo Rendering (3/3)
  42. 11. Making 3D Stereoscopic Games (1/4)
  43. 11. Making 3D Stereoscopic Games (2/4)
  44. 11. Making 3D Stereoscopic Games (3/4)
  45. 11. Making 3D Stereoscopic Games (4/4)
  46. 12. A Generic Multiview Rendering Engine Architecture (1/4)
  47. 12. A Generic Multiview Rendering Engine Architecture (2/4)
  48. 12. A Generic Multiview Rendering Engine Architecture (3/4)
  49. 12. A Generic Multiview Rendering Engine Architecture (4/4)
  50. 13. 3D in a Web Browser (1/6)
  51. 13. 3D in a Web Browser (2/6)
  52. 13. 3D in a Web Browser (3/6)
  53. 13. 3D in a Web Browser (4/6)
  54. 13. 3D in a Web Browser (5/6)
  55. 13. 3D in a Web Browser (6/6)
  56. 14. 2D Magic (1/4)
  57. 14. 2D Magic (2/4)
  58. 14. 2D Magic (3/4)
  59. 14. 2D Magic (4/4)
  60. Part II. Game Engine Design
  61. 15. High‐Performance Programming with Data‐Oriented Design (1/3)
  62. 15. High‐Performance Programming with Data‐Oriented Design (2/3)
  63. 15. High‐Performance Programming with Data‐Oriented Design (3/3)
  64. 16. Game Tuning Infrastructure (1/4)
  65. 16. Game Tuning Infrastructure (2/4)
  66. 16. Game Tuning Infrastructure (3/4)
  67. 16. Game Tuning Infrastructure (4/4)
  68. 17. Placeholders beyond Static Art Replacement (1/6)
  69. 17. Placeholders beyond Static Art Replacement (2/6)
  70. 17. Placeholders beyond Static Art Replacement (3/6)
  71. 17. Placeholders beyond Static Art Replacement (4/6)
  72. 17. Placeholders beyond Static Art Replacement (5/6)
  73. 17. Placeholders beyond Static Art Replacement (6/6)
  74. 18. Believable Dead Reckoning for Networked Games (1/5)
  75. 18. Believable Dead Reckoning for Networked Games (2/5)
  76. 18. Believable Dead Reckoning for Networked Games (3/5)
  77. 18. Believable Dead Reckoning for Networked Games (4/5)
  78. 18. Believable Dead Reckoning for Networked Games (5/5)
  79. 19. An Egocentric Motion Management System (1/3)
  80. 19. An Egocentric Motion Management System (2/3)
  81. 19. An Egocentric Motion Management System (3/3)
  82. 20. Pointer Patching Assets (1/3)
  83. 20. Pointer Patching Assets (2/3)
  84. 20. Pointer Patching Assets (3/3)
  85. 21. Data‐Driven Sound Pack Loading and Organization (1/2)
  86. 21. Data‐Driven Sound Pack Loading and Organization (2/2)
  87. 22. GPGPU Cloth Simulation Using GLSL, OpenCL, and CUDA (1/3)
  88. 22. GPGPU Cloth Simulation Using GLSL, OpenCL, and CUDA (2/3)
  89. 22. GPGPU Cloth Simulation Using GLSL, OpenCL, and CUDA (3/3)
  90. 23. A Jitter‐Tolerant Rigid Body Sleep Condition
  91. Part III. Systems Programming
  92. 24. Bit Hacks for Games (1/3)
  93. 24. Bit Hacks for Games (2/3)
  94. 24. Bit Hacks for Games (3/3)
  95. 25. Introspection for C++ Game Engines (1/3)
  96. 25. Introspection for C++ Game Engines (2/3)
  97. 25. Introspection for C++ Game Engines (3/3)
  98. 26. A Highly Optimized Portable Memory Manager (1/4)
  99. 26. A Highly Optimized Portable Memory Manager (2/4)
  100. 26. A Highly Optimized Portable Memory Manager (3/4)
  101. 26. A Highly Optimized Portable Memory Manager (4/4)
  102. 27. Simple Remote Heaps (1/2)
  103. 27. Simple Remote Heaps (2/2)
  104. 28. A Cache‐Aware Hybrid Sorter (1/3)
  105. 28. A Cache‐Aware Hybrid Sorter (2/3)
  106. 28. A Cache‐Aware Hybrid Sorter (3/3)
  107. 29. Thread Communication Techniques (1/2)
  108. 29. Thread Communication Techniques (2/2)
  109. 30. A Cross‐Platform Multithreading Framework (1/4)
  110. 30. A Cross‐Platform Multithreading Framework (2/4)
  111. 30. A Cross‐Platform Multithreading Framework (3/4)
  112. 30. A Cross‐Platform Multithreading Framework (4/4)
  113. 31. Producer‐Consumer Queues (1/5)
  114. 31. Producer‐Consumer Queues (2/5)
  115. 31. Producer‐Consumer Queues (3/5)
  116. 31. Producer‐Consumer Queues (4/5)
  117. 31. Producer‐Consumer Queues (5/5)
  118. Contributor Biographies (1/2)
  119. Contributor Biographies (2/2)
  120. Back Cover