Book description
An In-Depth, Practical Guide to GPGPU Programming Using Direct3D 11
GPGPU Programming for Games and Science demonstrates how to achieve the following requirements to tackle practical problems in computer science and software engineering:
- Robustness
- Accuracy
- Speed
- Quality source code that is easily maintained, reusable, and readable
The book primarily addresses programming on a graphics processing unit (GPU) while covering some material also relevant to programming on a central processing unit (CPU). It discusses many concepts of general purpose GPU (GPGPU) programming and presents practical examples in game programming and scientific programming.
The author first describes numerical issues that arise when computing with floating-point arithmetic, including making trade-offs among robustness, accuracy, and speed. He then shows how single instruction multiple data (SIMD) extensions work on CPUs since GPUs also use SIMD.
The core of the book focuses on the GPU from the perspective of Direct3D 11 (D3D11) and the High Level Shading Language (HLSL). This chapter covers drawing 3D objects; vertex, geometry, pixel, and compute shaders; input and output resources for shaders; copying data between CPU and GPU; configuring two or more GPUs to act as one; and IEEE floating-point support on a GPU.
The book goes on to explore practical matters of programming a GPU, including code sharing among applications and performing basic tasks on the GPU. Focusing on mathematics, it next discusses vector and matrix algebra, rotations and quaternions, and coordinate systems. The final chapter gives several sample GPGPU applications on relatively advanced topics.
Web Resource
Available on a supporting website, the author’s fully featured Geometric Tools Engine for computing and graphics saves you from having to write a large amount of infrastructure code necessary for even the simplest of applications involving shader programming. The engine provides robust and accurate source code with SIMD when appropriate and GPU versions of algorithms when possible.
Table of contents
- Front Cover
- Contents (1/2)
- Contents (2/2)
- List of Figures
- List of Tables
- Listings (1/2)
- Listings (2/2)
- Preface
- Trademarks
- Chapter 1 Introduction
- Chapter 2 CPU Computing (1/18)
- Chapter 2 CPU Computing (2/18)
- Chapter 2 CPU Computing (3/18)
- Chapter 2 CPU Computing (4/18)
- Chapter 2 CPU Computing (5/18)
- Chapter 2 CPU Computing (6/18)
- Chapter 2 CPU Computing (7/18)
- Chapter 2 CPU Computing (8/18)
- Chapter 2 CPU Computing (9/18)
- Chapter 2 CPU Computing (10/18)
- Chapter 2 CPU Computing (11/18)
- Chapter 2 CPU Computing (12/18)
- Chapter 2 CPU Computing (13/18)
- Chapter 2 CPU Computing (14/18)
- Chapter 2 CPU Computing (15/18)
- Chapter 2 CPU Computing (16/18)
- Chapter 2 CPU Computing (17/18)
- Chapter 2 CPU Computing (18/18)
- Chapter 3 SIMD Computing (1/6)
- Chapter 3 SIMD Computing (2/6)
- Chapter 3 SIMD Computing (3/6)
- Chapter 3 SIMD Computing (4/6)
- Chapter 3 SIMD Computing (5/6)
- Chapter 3 SIMD Computing (6/6)
- Chapter 4 GPU Computing (1/20)
- Chapter 4 GPU Computing (2/20)
- Chapter 4 GPU Computing (3/20)
- Chapter 4 GPU Computing (4/20)
- Chapter 4 GPU Computing (5/20)
- Chapter 4 GPU Computing (6/20)
- Chapter 4 GPU Computing (7/20)
- Chapter 4 GPU Computing (8/20)
- Chapter 4 GPU Computing (9/20)
- Chapter 4 GPU Computing (10/20)
- Chapter 4 GPU Computing (11/20)
- Chapter 4 GPU Computing (12/20)
- Chapter 4 GPU Computing (13/20)
- Chapter 4 GPU Computing (14/20)
- Chapter 4 GPU Computing (15/20)
- Chapter 4 GPU Computing (16/20)
- Chapter 4 GPU Computing (17/20)
- Chapter 4 GPU Computing (18/20)
- Chapter 4 GPU Computing (19/20)
- Chapter 4 GPU Computing (20/20)
- Chapter 5 Practical Matters (1/7)
- Chapter 5 Practical Matters (2/7)
- Chapter 5 Practical Matters (3/7)
- Chapter 5 Practical Matters (4/7)
- Chapter 5 Practical Matters (5/7)
- Chapter 5 Practical Matters (6/7)
- Chapter 5 Practical Matters (7/7)
- Chapter 6 Linear and Affine Algebra (1/17)
- Chapter 6 Linear and Affine Algebra (2/17)
- Chapter 6 Linear and Affine Algebra (3/17)
- Chapter 6 Linear and Affine Algebra (4/17)
- Chapter 6 Linear and Affine Algebra (5/17)
- Chapter 6 Linear and Affine Algebra (6/17)
- Chapter 6 Linear and Affine Algebra (7/17)
- Chapter 6 Linear and Affine Algebra (8/17)
- Chapter 6 Linear and Affine Algebra (9/17)
- Chapter 6 Linear and Affine Algebra (10/17)
- Chapter 6 Linear and Affine Algebra (11/17)
- Chapter 6 Linear and Affine Algebra (12/17)
- Chapter 6 Linear and Affine Algebra (13/17)
- Chapter 6 Linear and Affine Algebra (14/17)
- Chapter 6 Linear and Affine Algebra (15/17)
- Chapter 6 Linear and Affine Algebra (16/17)
- Chapter 6 Linear and Affine Algebra (17/17)
- Chapter 7 Sample Applications (1/18)
- Chapter 7 Sample Applications (2/18)
- Chapter 7 Sample Applications (3/18)
- Chapter 7 Sample Applications (4/18)
- Chapter 7 Sample Applications (5/18)
- Chapter 7 Sample Applications (6/18)
- Chapter 7 Sample Applications (7/18)
- Chapter 7 Sample Applications (8/18)
- Chapter 7 Sample Applications (9/18)
- Chapter 7 Sample Applications (10/18)
- Chapter 7 Sample Applications (11/18)
- Chapter 7 Sample Applications (12/18)
- Chapter 7 Sample Applications (13/18)
- Chapter 7 Sample Applications (14/18)
- Chapter 7 Sample Applications (15/18)
- Chapter 7 Sample Applications (16/18)
- Chapter 7 Sample Applications (17/18)
- Chapter 7 Sample Applications (18/18)
- Bibliography (1/2)
- Bibliography (2/2)
- Back Cover
Product information
- Title: GPGPU Programming for Games and Science
- Author(s):
- Release date: August 2014
- Publisher(s): A K Peters/CRC Press
- ISBN: 9781466595361
You might also like
book
Core Techniques and Algorithms in Game Programming
To even try to keep pace with the rapid evolution of game development, you need a …
book
Practical Algorithms for 3D Computer Graphics, 2nd Edition
Practical Algorithms for 3D Computer Graphics, Second Edition covers the fundamental algorithms that are the core …
book
Hands-On C++ Game Animation Programming
Learn animation programming from first principles and implement modern animation techniques that can be integrated into …
book
Advanced Graphics Programming Using OpenGL
Today truly useful and interactive graphics are available on affordable computers. While hardware progress has been …