Supplementary materials, including demos, source code, examples, specifications, and more can be found at www.gameenginegems.net.
The book is divided into four broad categories pertaining to game engine development:Graphics and rendering Physics General programming Character control and artificial intelligence
There is also a companion website, gameenginegems.com, where updates and supplementary materials are posted. Many chapters offer downloadable source code, demos, and examples.
Covering the latest developments and continuing to provide practical methods and tips for game engine development, Game Engine Gems 3 is indeed a new gem in the series. Not only does it aid professionals in their work, but it also shows students and others interested in game development how the pros tackle specific problems that arise during game engine development.
Graphics hardware has evolved enormously in the last decade. Hardware can now be directly controlled
through techniques such as shader programming, which requires an entirely new thought process of a
programmer. 3D Game Engine Design, Second Edition shows step-by-step how to make a shader-based graphics engine and how to tame the new technology. Much new material has been added, including more than twice the coverage of the essential techniques of scene graph management, as well as new methods for managing memory usage in the new generation of game consoles and portable game players. There are expanded discussions of collision detection, collision avoidance, and physics - all challenging subjects for developers.
Covering all the mathematical techniques required to resolve geometric problems and design computer programs for computer graphic applications, each chapter explores a specific mathematical topic prior to moving forward into the more advanced areas of matrix transforms, 3D curves and surface patches. Problem-solving techniques using vector analysis and geometric algebra are also discussed.
All the key areas are covered including: Numbers, Algebra, Trigonometry, Coordinate geometry, Transforms, Vectors, Curves and surfaces, Barycentric coordinates, Analytic geometry.
Plus – and unusually in a student textbook – a chapter on geometric algebra is included.
The new edition Windows code will now use Visual Studio.NET. There will also be DirectX support provided, along with OpenGL - due to its cross-platform nature. Programmers will find more concrete examples included in this edition, as well as additional information on tuning, optimization and robustness.
The book has a companion CD-ROM with exercises and a test bank for the academic secondary market, and for main market: code examples built around a shared code base, including a math library covering all the topics presented in the book, a core vector/matrix math engine, and libraries to support basic 3D rendering and interaction.
New to the Second Edition
Information on new topics, including the latest variant of the C++ programming language, C++11, and the architecture of the eighth generation of gaming consoles, the Xbox One and PlayStation 4 New chapter on audio technology covering the fundamentals of the physics, mathematics, and technology that go into creating an AAA game audio engine Updated sections on multicore programming, pipelined CPU architecture and optimization, localization, pseudovectors and Grassman algebra, dual quaternions, SIMD vector math, memory alignment, and anti-aliasing Insight into the making of Naughty Dog’s latest hit, The Last of Us
The book presents the theory underlying various subsystems that comprise a commercial game engine as well as the data structures, algorithms, and software interfaces that are typically used to implement them. It primarily focuses on the engine itself, including a host of low-level foundation systems, the rendering engine, the collision system, the physics simulation, character animation, and audio. An in-depth discussion on the "gameplay foundation layer" delves into the game’s object model, world editor, event system, and scripting system. The text also touches on some aspects of gameplay programming, including player mechanics, cameras, and AI.
An awareness-building tool and a jumping-off point for further learning, Game Engine Architecture, Second Edition gives readers a solid understanding of both the theory and common practices employed within each of the engineering disciplines covered. The book will help readers on their journey through this fascinating and multifaceted field.
The third edition of this widely adopted text gives students a comprehensive, fundamental introduction to computer graphics. The authors present the mathematical foundations of computer graphics with a focus on geometric intuition, allowing the programmer to understand and apply those foundations to the development of efficient code.
New in this edition: Four new contributed chapters, written by experts in their fields: Implicit Modeling, Computer Graphics in Games, Color, Visualization, including information visualization Revised and updated material on the graphics pipeline, reflecting a modern viewpoint organized around programmable shading. Expanded treatment of viewing that improves clarity and consistency while unifying viewing in ray tracing and rasterization. Improved and expanded coverage of triangle meshes and mesh data structures. A new organization for the early chapters, which concentrates foundational material at the beginning to increase teaching flexibility.
Extensively revised, this edition presents many new OpenGL 4.3 features, including compute shaders, texture views, indirect draws, and enhanced API debugging. It has been reorganized to focus more tightly on the API, to cover the entire pipeline earlier, and to help you thoroughly understand the interactions between OpenGL and graphics hardware.
Coverage includesA practical introduction to the essentials of realtime 3D graphics Core OpenGL 4.3 techniques for rendering, transformations, and texturing Foundational math for creating interesting 3D graphics with OpenGL Writing your own shaders, with examples to get you started Cross-platform OpenGL, including essential platform-specific API initialization material for Linux, OS X, and Windows Vertex processing, drawing commands, primitive processing, fragments, and framebuffers Using compute shaders to harness today’s graphics cards for more than graphics Monitoring and controlling the OpenGL graphics pipeline Advanced rendering: light simulation, artistic and non-photo-realistic rendering, and deferred shading Modern OpenGL debugging and performance optimization
Bonus material and sample code are available from the companion Web site, openglsuperbible.com.
Discover an exercise-driven, non-technical approach to game design without the need for programming or artistic expertise using Game Design Workshop, Third Edition.
Author Tracy Fullerton demystifies the creative process with a clear and accessible analysis of the formal and dramatic systems of game design. Examples of popular games, illustrations of design techniques, and refined exercises strengthen your understanding of how game systems function and give you the skills and tools necessary to create a compelling and engaging game.
The book puts you to work prototyping, playtesting, and revising your own games with time-tested methods and tools. It provides you with the foundation to advance your career in any facet of the game industry, including design, producing, programming, and visual design.
The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language—its facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, “pure C++11” examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard.
New C++11 coverage includesSupport for concurrency Regular expressions, resource management pointers, random numbers, and improved containers General and uniform initialization, simplified for-statements, move semantics, and Unicode support Lambdas, general constant expressions, control over class defaults, variadic templates, template aliases, and user-defined literals Compatibility issues
Topics addressed in this comprehensive book includeBasic facilities: type, object, scope, storage, computation fundamentals, and more Modularity, as supported by namespaces, source files, and exception handling C++ abstraction, including classes, class hierarchies, and templates in support of a synthesis of traditional programming, object-oriented programming, and generic programming Standard Library: containers, algorithms, iterators, utilities, strings, stream I/O, locales, numerics, and more The C++ basic memory model, in depth
This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable.
This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method—noticeable by a small space inside the spine—also increases durability.
Discover the timeless techniques and strategies that help you:
Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project