Buy new:
-7% $158.35$158.35
$3.99 delivery December 30 - January 8
Ships from: Prime Deals, USA Sold by: Prime Deals, USA
Save with Used - Good
$147.18$147.18
$3.99 delivery December 24 - 31
Ships from: HPB-Red Sold by: HPB-Red
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
GPGPU Programming for Games and Science 1st Edition
Purchase options and add-ons
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 ResourceAvailable 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.
- ISBN-101466595353
- ISBN-13978-1466595354
- Edition1st
- PublisherA K Peters/CRC Press
- Publication dateAugust 15, 2014
- LanguageEnglish
- Dimensions8 x 1.25 x 9.75 inches
- Print length469 pages
Similar items that may deliver to you quickly
Editorial Reviews
About the Author
David H. Eberly
Product details
- Publisher : A K Peters/CRC Press; 1st edition (August 15, 2014)
- Language : English
- Hardcover : 469 pages
- ISBN-10 : 1466595353
- ISBN-13 : 978-1466595354
- Item Weight : 2.14 pounds
- Dimensions : 8 x 1.25 x 9.75 inches
- Best Sellers Rank: #7,691,054 in Books (See Top 100 in Books)
- #436 in Rendering & Ray Tracing
- #3,279 in Computer Graphics
- #4,859 in Game Programming
- Customer Reviews:
About the author

I maintain the Geometric Tools website (https://www.geometrictools.com) providing freely downloadable source code, much of it motivated by my time spent in the 3D video game industry working on game engines and games. Some source code is based on algorithms I have worked on for contracting, and other portions are based on requests from users themselves. I consider my active field to be Computational Mathematics, because I like mathematics and I like computing. The algorithms and ideas are not new, but I have focused on robustness for computing mathematics when using floating-point arithmetic.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Chapter 1 is a brief overview of the subject matter.
Chapter 2 deals primarily with finite binary encodings of the reals, with emphasis on the IEEE 754 floating-point standard. Much of this material could have been pared down or omitted. Even "Numerical Recipes in C", a book entirely about numerical methods, spends only a few pages on such low-level technicalities.
Chapter 3 is a discussion of SIMD computing. It covers some useful techniques for avoiding branching, and places a heavy emphasis on polynomial approximations of common arithmetic and trigonometric functions. Eberly takes a principled approach using the Chebyshev equioscillation theorem (in particular, the Remez algorithm for computing minimax approximations). The second half of the chapter is somewhat redundant due to the presence of intrinsics in HLSL for all of the described functions.
Chapter 4 is the first practical chapter in the book. It introduces the 3D graphics pipeline, with a brief discussion of coordinate spaces, projection, and rasterization. A few trivial shaders are decompiled and analyzed, but this chapter is mostly a laundry list of the steps required to do useful work with Direct X 11. Everything you would expect to see is here: devices, contexts, swap chains, buffers, textures, states, shaders, and techniques for copying from CPU to GPU and vice-versa. A few, mostly trivial, examples are scattered throughout, but very little of this material is motivated.
We're now halfway through the book, page-wise, and we haven't seen any practical compute shaders yet. A bit curious for a book with "GPGPU" in the title.
Chapter 5 is a grab-bag of OOD, debugging, performance, and testing advice. There are a few useful tidbits here.
Chapter 6 is yet another 90-page chapter with hardly any content relevant to GPGPU. We get coverage of the geometric and algebraic properties of vectors, matrices, and rotations, and a quite thorough discussion of coordinate space conventions, but it's hard to see how any of this relates to work one might be interested in doing on the GPU that isn't directly related to 3D rendering.
Chapter 7 redeems the book somewhat. It contains a survey of GPGPU implementations of various problems in collision detection, physical system simulation, image processing, and level set extraction. These are all well-illustrated and lucidly explained.
So, now for the verdict.
I can't imagine an audience that will find this book indispensible. Chapters 2, 3, 5, and 6 could be condensed to about 20 pages total while retaining most of their value. The content of Chapter 4 is better covered in a book expressly on DX11 and HLSL, such as Varcholik's. The actual GPGPU examples are worth studying on their own, but comprise so little of the book's contents. The GPU Gems and GPU Pro series have roughly the same proportion of GPGPU content in each volume, and the techniques are generally self-contained and lavishly illustrated.
A final note: Eberly's codebase (GTEngine) is currently implemented only in DirectX, and thus is of limited utility to non-Windows users. By the time it is ported to OpenGL and GLSL, it will probably have undergone architectural shifts (as did every version of Eberly's Wild Magic / Geometric Tools codebase when he was writing his 3DGEA and 3DGED texts). Nevertheless, it does make for interesting reading.





