Follow us


MERCURY LEARNING and INFORMATION provides print and digital content in the areas of science and medicine, technology and computing, engineering, and mathematics (STEM disciplines) designed for the professional/reference, trade, library, higher education, career school, and online training markets. We embrace both traditional and innovative publishing models designed to accommodate the needs of the intended audience by using the appropriate delivery methods.

Introduction to 3D Game Programming with DirectX12

Frank D. Luna

ISBN: 978-1-942270-06-5
Pub Date:  March 2016
Specs: 7 x 9   Paperback with DVD
Pages: 900
Price: $54.95



This updated bestseller provides an introduction to programming interactive computer graphics, with an emphasis on game development using DirectX 12. The book is divided into three main parts: basic mathematical tools, fundamental tasks in Direct3D, and techniques and special effects. It shows how to use new Direct12 features such as command lists, pipeline state objects, descriptor heaps and tables, and explicit resource management to reduce CPU overhead and increase scalability across multiple CPU cores. The book covers modern special effects and techniques such as hardware tessellation, writing compute shaders, ambient occlusion, reflections, normal and displacement mapping, shadow rendering, and character animation. The print book includes a companion DVD with code and figures, this information is available for download for E-Book purchases.



Part I — Mathematical Prerequisites. Vector Algebra. Matrix Algebra. Transformations

Part II — Direct3D Foundations. Direct3D Initialization. The Rendering Pipeline. Drawing in Direct3D (Part 1). Drawing in Direct3D (Part 2). Lighting. Texturing. Blending. Stenciling. The Geometry Shader. The Compute Shader. The Tessellation Stages.

Part III —Topics. Building A First Person Camera & Dynamic Indexing. Instancing and Frustum Culling. Picking. Cube Mapping. Normal Mapping. Shadow Mapping. Ambient Occlusion. Quaternions. Character Animation. Appendices. Introduction to Windows Programming. High-Level Shader Language Reference. Some Analytic Geometry. Solutions to Selected Exercises (on disc). Index.


The below is a comment at page 351, 389, 415, 509, 553, 561, 637, 680, 739.

// Assumes nonuniform scaling;

It should read

// Assumes "no" nonuniform scaling;


Frank D. Luna has been programming interactive 3D graphics with DirectX for more than fifteen years. He is the author of three bestselling books on DirectX and has worked in 3D medical visualization, 3D architectural design software, and gaming. He holds a BS in mathematics from the University of California, Irvine.