How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
This book provides readers with an in-depth exploration of 3D game engine architecture. It covers state-of-the-art software architecture principles in the context of game engine design, investigates the subsystems typically found in a real production game engine, surveys engine architectures from actual shipping games, and explores how the differences between game genres can affect engine design. Topics covered include large-scale C++ software architecture in a games context; engine subsystems including rendering, audio, collision, physics and game world models; multi-player engines; tools pipelines for modern games.
William H. Press
Do you want easy access to the latest methods in scientific computing? This greatly expanded third edition of Numerical Recipes has it, with wider coverage than ever before, many new, expanded and updated sections, and two completely new chapters. The executable C++ code, now printed in colour for easy reading, adopts an object-oriented style particularly suited to scientific applications. Co-authored by four leading scientists from academia and industry, Numerical Recipes starts with basic mathematics and computer science and proceeds to complete, working routines. The whole book is presented in the informal, easy-to-read style that made earlier editions so popular. Highlights of the new material include: a new chapter on classification and inference, Gaussian mixture models, HMMs, hierarchical clustering, and SVMs; a new chapter on computational geometry, covering KD trees, quad- and octrees, Delaunay triangulation, and algorithms for lines, polygons, triangles, and spheres; interior point methods for linear programming; MCMC; an expanded treatment of ODEs with completely new routines; and many new statistical distributions. For support, or to subscribe to an online version, please visit www.nr.com.
"OpenCL in Action blends the theory of parallel computing with the practical reality of building high-performance applications using OpenCL. It first guides you through the fundamental data structures in an intuitive manner. Then, it explains techniques for high-speed sorting, image processing, matrix operations, and fast Fourier transform. The book concludes with a deep look at the all-important subject of graphics acceleration. Numerous challenging examples give you different ways to experiment with working code."--Pub. desc.
Benedict Gaster, Lee Howes, David R.. Kaeli
"Heterogeneous Computing with OpenCL teaches OpenCL and parallel programming for complex systems that may include different types of hardware: Central Processing Units (CPUs), Digital Signal Processors (DSPs), Graphic Processing Units (GPUs) and Accelerated Processing Units (APUs). Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future.
Klaus Engel, Markus Hadwiger, Joe Kniss
In traditional computer graphics, 3D objects are created using high-level surface representations such as polygonal meshes, NURBS patches, or subdivision surfaces.However, these methods often do not account for light interaction that is taking place in the atmosphere or in the interior of an object. Contrary to surface rendering, volume rendering describes a wide range of techniques for generating images from 3D scalar data. These techniques generate high-quality images of volumetric objects in real time, including local and global illumination effects.This book provides the basic theory and practical examples needed to work with volume graphics by taking advantage of today's graphics hardware to produce stunning results in real time. The authors provide: • A practical introduction to texture-based volume rendering • Methods for integrating different aspects of light/matter interaction • Global illumination techniques • Optimization strategies • Code samples—and more!
Physics is really important to game programmers who need to know how to add physical realism to their games. They need to take into account the laws of physics when creating a simulation or game engine, particularly in 3D computer graphics, for the purpose of making the effects appear more real to the observer or player.The game engine needs to recognize the physical properties of objects that artists create, and combine them with realistic motion. The physics ENGINE is a computer program that you work into your game that simulates Newtonian physics and predict effects under different conditions. In video games, the physics engine uses real-time physics to improve realism. This is the only book in its category to take readers through the process of building a complete game-ready physics engine from scratch. The Cyclone game engine featured in the book was written specifically for this book and has been utilized in iPhone application development and Adobe Flash projects. There is a good deal of master-class level information available, but almost nothing in any format that teaches the basics in a practical way. The second edition includes NEW and/or revised material on collision detection, 2D physics, casual game physics for Flash games, more references, a glossary, and end-of-chapter exercises. The companion website will include the full source code of the Cyclone physics engine, along with example applications that show the physics system in operation.
The CUDA Handbook begins where CUDA by Example (Addison-Wesley, 2011) leaves off, discussing CUDA hardware and software in greater detail and covering both CUDA 5.0 and Kepler. Every CUDA developer, from the casual to the most sophisticated, will find something here of interest and immediate usefulness. Newer CUDA developers will see how the hardware processes commands and how the driver checks progress; more experienced CUDA developers will appreciate the expert coverage of topics such as the driver API and context migration, as well as the guidance on how best to structure CPU/GPU data interchange and synchronization. The accompanying open source code–more than 25,000 lines of it, freely available at www.cudahandbook.com–is specifically intended to be reused and repurposed by developers. Designed to be both a comprehensive reference and a practical cookbook, the text is divided into the following three parts: Part I, Overview, gives high-level descriptions of the hardware and software that make CUDA possible. Part II, Details, provides thorough descriptions of every aspect of CUDA, including Memory Streams and events Models of execution, including the dynamic parallelism feature, new with CUDA 5.0 and SM 3.5 The streaming multiprocessors, including descriptions of all features through SM 3.5 Programming multiple GPUs Texturing The source code accompanying Part II is presented as reusable microbenchmarks and microdemos, designed to expose specific hardware characteristics or highlight specific use cases. Part III, Select Applications, details specific families of CUDA applications and key parallel algorithms, including Streaming workloads Reduction Parallel prefix sum (Scan) N-body Image Processing These algorithms cover the full range of potential CUDA applications.
Gino van den Bergen, Dirk Gregorius
Implementing physical simulations for real-time games is a complex task that requires a solid understanding of a wide range of concepts from the fields of mathematics, physics, and software engineering. This book is a gems-like collection of practical articles in the area of game physics. Each provides hands-on detail that can be used in practical applications. The chapters cover topics such as collision detection, particle-based simulations, constraint solving, and soft-body simulation. An introductory section provides the mathematical foundations and offers some background for the problems inherent in successful physics simulation. The contributors write based on their experience in developing tools and runtime libraries either in game companies or middleware houses that produce physics software for games on PCs and consoles.