How we did it:
Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0. The book is divided into three parts that explain basic mathematical and 3D concepts, show how to describe 3D worlds and implement fundamental 3D rendering techniques, and demonstrate the application of Direct3D to create a variety of special effects. With this book understand basic mathematical tools used in video game creation such as vectors, matrices, and transformations; discover how to describe and draw interactive 3D scenes using Direct3D and the D3DX library; learn how to implement lighting, texture mapping, alpha blending, and stenciling using shaders and the high-level shading language (HLSL); explore a variety of techniques for creating special effects, including vertex blending, character animation, terrain rendering, multi-texturing, particle systems, reflections, shadows, and normal mapping;f ind out how to work with meshes, load and render .X files, program terrain/camera collision detection, and implement 3D object picking; review key ideas, gain programming experience, and explore new topics with the end-of-chapter exercises.
GPU Pro4: Advanced Rendering Techniques presents ready-to-use ideas and procedures that can help solve many of your day-to-day graphics programming challenges. Focusing on interactive media and games, the book covers up-to-date methods for producing real-time graphics. Section editors Wolfgang Engel, Christopher Oat, Carsten Dachsbacher, Michal Valient, Wessam Bahnassi, and Sebastien St-Laurent have once again assembled a high-quality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. Divided into six sections, the book begins with discussions on the ability of GPUs to process and generate geometry in exciting ways. It next introduces new shading and global illumination techniques for the latest real-time rendering engines and explains how image space algorithms are becoming a key way to achieve a more realistic and higher quality final image. Moving on to the difficult task of rendering shadows, the book describes the state of the art in real-time shadow maps. It then covers game engine design, including quality, optimization, and high-level architecture. The final section explores approaches that go beyond the normal pixel and triangle scope of GPUs as well as techniques that take advantage of the parallelism of modern graphic processors in a variety of applications. Useful to beginners and seasoned game and graphics programmers alike, this color book offers practical tips and techniques for creating real-time graphics. Example programs and source code are available for download on the book’s CRC Press web page. The directory structure of the online material closely follows the book structure by using the chapter numbers as the name of the subdirectory.