
C++ Game Animation Programming
Learn modern animation techniques from theory to implementation using C++, OpenGL, and Vulkan
Packt Publishing
2nd Edition
Published on 1. December 2023
Book
Paperback/Softback
480 pages
978-1-80324-652-9 (ISBN)
Description
Build your own OpenGL or Vulkan application in C++ and learn the latest techniques in character animation for modern games with this detailed, color guide
Key Features
Learn how to create a game skeleton with keyboard and mouse controls along with modern graphics
Gain insights into model loading, character animations, inverse kinematics, and debugging techniques
Master the art of creating animated characters and controlling their various aspects
Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionIf you're fascinated by the complexities of animating video game characters and are curious about the transformation of model files into 3D avatars and NPCs that can explore virtual worlds, then this book is for you. In this new edition, you'll find expanded content on high-performance graphics and modern animation techniques, along with improved workflows and enhanced guidance on using OpenGL and Vulkan. You'll learn everything you need to know about game animation, from a simple graphical window to a large crowd of smoothly animated characters.
First, you'll learn how to use modern high-performance graphics, dig into the details of how virtual characters are stored, and load the models and animations into a minimalistic game-like application. Then, you'll get an overview of the components of an animation system, how to play the animations and combine them, and how to blend from one animation into another. You'll also get an introduction to topics that will make your programming life easier, such as debugging your code or stripping down the graphical output.
By the end of this book, you'll have gained deep insights into all the parts of game animation programming and how they work together, revealing the magic that brings life to the virtual worlds on your screen.What you will learn
Create simple OpenGL and Vulkan applications and work with shaders
Explore the glTF file format, including its design and data structures
Design an animation system with poses, clips, and skinned meshes
Find out how vectors, matrices, quaternions, and splines are used in game development
Discover and implement ways to seamlessly blend character animations
Implement inverse kinematics for your characters using CCD and FABRIK solvers
Understand how to render large, animated crowds efficiently
Identify and resolve performance issues
Who this book is forThis book is for curious C++ developers, game programmers, game designers, and character animators, either pursuing this as a hobby or profession, who have always wanted to look behind the curtain and see how character animation in games works. The book assumes basic C++ and math knowledge, and you should be able to read code and math formulas to get the most out of this book.
Key Features
Learn how to create a game skeleton with keyboard and mouse controls along with modern graphics
Gain insights into model loading, character animations, inverse kinematics, and debugging techniques
Master the art of creating animated characters and controlling their various aspects
Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionIf you're fascinated by the complexities of animating video game characters and are curious about the transformation of model files into 3D avatars and NPCs that can explore virtual worlds, then this book is for you. In this new edition, you'll find expanded content on high-performance graphics and modern animation techniques, along with improved workflows and enhanced guidance on using OpenGL and Vulkan. You'll learn everything you need to know about game animation, from a simple graphical window to a large crowd of smoothly animated characters.
First, you'll learn how to use modern high-performance graphics, dig into the details of how virtual characters are stored, and load the models and animations into a minimalistic game-like application. Then, you'll get an overview of the components of an animation system, how to play the animations and combine them, and how to blend from one animation into another. You'll also get an introduction to topics that will make your programming life easier, such as debugging your code or stripping down the graphical output.
By the end of this book, you'll have gained deep insights into all the parts of game animation programming and how they work together, revealing the magic that brings life to the virtual worlds on your screen.What you will learn
Create simple OpenGL and Vulkan applications and work with shaders
Explore the glTF file format, including its design and data structures
Design an animation system with poses, clips, and skinned meshes
Find out how vectors, matrices, quaternions, and splines are used in game development
Discover and implement ways to seamlessly blend character animations
Implement inverse kinematics for your characters using CCD and FABRIK solvers
Understand how to render large, animated crowds efficiently
Identify and resolve performance issues
Who this book is forThis book is for curious C++ developers, game programmers, game designers, and character animators, either pursuing this as a hobby or profession, who have always wanted to look behind the curtain and see how character animation in games works. The book assumes basic C++ and math knowledge, and you should be able to read code and math formulas to get the most out of this book.
More details
Edition
2nd Revised edition
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
Edition type
Revised edition
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 26 mm
Weight
888 gr
ISBN-13
978-1-80324-652-9 (9781803246529)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Michael Dunsky | Gabor Szauer
C++ Game Animation Programming
Learn modern animation techniques from theory to implementation using C++, OpenGL, and Vulkan
E-Book
01/2025
2nd Edition
Packt Publishing Limited
from
€29.99
Available for download
Persons
Michael Dunsky is an electronics engineer, console porting programmer, and game developer with more than 20 years of programming experience. He started with BASIC at the young age of 14 and expanded his portfolio over the years to include assembly language, C, C++, Java, Python, VHDL, OpenGL, GLSL, and Vulkan. During his career, he also gained extensive knowledge of Linux, virtual machines, server operation, and infra-structure automation. Michael holds a Master of Science degree in Computer Sci-ence from the FernUniversitaet in Hagen with a focus on computer graphics, parallel programming, and software systems. Gabor Szauer has been making games since 2010. He graduated from Full Sail University in 2010 with a bachelor's degree in game development. Gabor maintains an active Twitter presence, and maintains a programming-oriented game development blog. Gabor's previously published books are Game Physics Programming Cookbook and Lua Quick Start Guide, both published by Packt.
Content
Table of Contents
Creating the Game Window
Building an OpenGL 4 Renderer
Building a Vulkan Renderer
Working with Shaders
Adding Dear ImGui to show valuable information
Understanding Vector and Matrix
A Primer on Quaternions and Splines
Loading Models in the glTF format
The Model Skeleton and Skin
About Poses, Frames, and Clips
Blending between Animations
Cleaning up the User Interface
Implementing Inverse Kinematics
Creating Instanced Crowds
Measuring Performance and Optimizing the Code
Creating the Game Window
Building an OpenGL 4 Renderer
Building a Vulkan Renderer
Working with Shaders
Adding Dear ImGui to show valuable information
Understanding Vector and Matrix
A Primer on Quaternions and Splines
Loading Models in the glTF format
The Model Skeleton and Skin
About Poses, Frames, and Clips
Blending between Animations
Cleaning up the User Interface
Implementing Inverse Kinematics
Creating Instanced Crowds
Measuring Performance and Optimizing the Code