Skip to content
You are not logged in |Login  
     
Limit search to available items
Bestseller
BestsellerE-Book
Author Szauer, Gabor, author.

Title Hands-on C++ game animation programming.

Publication Info. Birmingham, UK : Packt Publishing, 2020.

Copies

Location Call No. Status
 Rocky Hill - Downloadable Materials  EBSCO Ebook    Downloadable
Rocky Hill cardholders click here to access this title from EBSCO
Description 1 online resource (1 volume) : illustrations
data file rda
Note Online resource; title from title page (viewed October 9, 2020).
Summary Learn animation programming from first principles and implement modern animation techniques that can be integrated into any game development workflow Key Features Build a functional and production-ready modern animation system with complete features using C++ Learn basic, advanced, and skinned animation programming with this step-by-step guide Discover the math required to implement cutting edge animation techniques such as inverse kinematics and dual quaternions Book Description Animation is one of the most important parts of any game. Modern animation systems work directly with track-driven animation and provide support for advanced techniques such as inverse kinematics (IK), blend trees, and dual quaternion skinning. This book will walk you through everything you need to get an optimized, production-ready animation system up and running, and contains all the code required to build the animation system. You'll start by learning the basic principles, and then delve into the core topics of animation programming by building a curve-based skinned animation system. You'll implement different skinning techniques and explore advanced animation topics such as IK, animation blending, dual quaternion skinning, and crowd rendering. The animation system you will build following this book can be easily integrated into your next game development project. The book is intended to be read from start to finish, although each chapter is self-contained and can be read independently as well. By the end of this book, you'll have implemented a modern animation system and got to grips with optimization concepts and advanced animation techniques. What you will learn Get the hang of 3D vectors, matrices, and transforms, and their use in game development Discover various techniques to smoothly blend animations Get to grips with GLTF file format and its design decisions and data structures Design an animation system by using animation tracks and implementing skinning Optimize various aspects of animation systems such as skinned meshes, clip sampling, and pose palettes Implement the IK technique for your game characters using CCD and FABRIK solvers Understand dual quaternion skinning and how to render large instanced crowds Who this book is for This book is for professional, independent, and hobbyist developers interested in building a robust animation system from the ground up. Some knowledge of the C++ programming language will be helpful.
Contents Cover -- Title page -- Copyright and Credits -- About the Packt -- Contributors -- Table of Contents -- Preface -- Chapter 1: Creating a Game Window -- Technical requirements -- Creating an empty project -- Creating the application class -- Adding an OpenGL loader -- Getting glad -- Adding glad to the project -- Creating a window -- Global variables -- Opening a window -- Creating the event handler -- Exploring the samples -- Summary -- Chapter 2: Implementing Vectors -- Introducing vectors -- Creating a vector -- Epsilon -- Understanding component-wise operations -- Vector addition
Vector subtraction -- Scaling vectors -- Multiplying vectors -- Dot product -- Understanding non-component-wise operations -- Vector length -- Normalizing vectors -- The angle between vectors -- Vector projection and rejection -- Vector reflection -- Cross product -- Interpolating vectors -- Comparing vectors -- Exploring more vectors -- Summary -- Chapter 3: Implementing Matrices -- Technical requirements -- What is a matrix? -- Matrix storage -- Creating a matrix -- Common matrix operations -- Comparing matrices -- Adding matrices -- Scaling a matrix -- Matrix multiplication
Transforming vectors and points -- Inverting a matrix -- Transpose -- Determinant and minors of lower-order matrices -- Creating camera matrices -- Frustum -- Perspective -- Orthographic -- Look at -- Summary -- Chapter 4: Implementing Quaternions -- Creating quaternions -- Angle axis -- Creating rotations from one vector to another -- Retrieving quaternion data -- Common quaternion operations -- Comparison operations -- Dot product -- Length and squared length -- Unit quaternions -- Conjugate and inverse -- Multiplying quaternions -- Transforming vectors -- Interpolating quaternions
Neighborhood -- Understanding the mix function -- Understanding the nlerp function -- Introduction to slerp -- Power -- Implementing slerp -- Look rotation -- Converting between quaternions and matrices -- Summary -- Chapter 5: Implementing Transforms -- Creating the transform -- Combining transforms -- Inverting transforms -- Mixing transforms -- Converting transforms to matrices -- Converting matrices into transforms -- Transforming points and vectors -- Summary -- Chapter 6: Building an Abstract Renderer -- Technical requirements -- Working with shaders -- The Shader class declaration
Implementing the Shader class -- Working with buffers (attributes) -- The Attribute class declaration -- Implementing the Attribute class -- Working with uniforms -- The Uniform class declaration -- Implementing the Uniform class -- Working with index buffers -- The IndexBuffer class declaration -- Implementing the IndexBuffer class -- Rendering geometry -- Working with textures -- Adding stb_image -- The Texture class declaration -- Implementing the Texture class -- Simple shaders -- The vertex shader -- The fragment shader -- Summary -- Chapter 7: Exploring the glTF File Format
Subject Video games -- Programming.
C++ (Computer program language)
C++ (Computer program language) (OCoLC)fst00843286
Computer games -- Programming. (OCoLC)fst00872114
Genre/Form Electronic books.
Other Form: Print version: Szauer, Gabor. Hands-On C++ Game Animation Programming : Learn Modern Animation Techniques from Theory to Implementation with C++ and OpenGL. Birmingham : Packt Publishing, Limited, ©2020
-->
Add a Review