The co-op bookstore for avid readers
Book Cover for: Mastering C++ Game Animation Programming: Enhance your skills with advanced game animation techniques in C++, OpenGL, and Vulkan, Michael Dunsky

Mastering C++ Game Animation Programming: Enhance your skills with advanced game animation techniques in C++, OpenGL, and Vulkan

Michael Dunsky

Develop a compact game engine-like animation application in C++ using OpenGL 4 or Vulkan through hands-on implementation in this part-color guide

Key Features:

- Learn how to build a game engine-like skeleton application using a modern graphics API

- Explore compute shaders, visual selection, UI creation, visual programming, configuration file handling, collision detection, behavior controls, and more

- Create your own virtual world with naturally acting inhabitants

- Purchase of the print or Kindle book includes a free PDF eBook

Book Description:

With two decades of programming experience across multiple languages and platforms, expert game developer and console porting programmer Michael Dunsky guides you through the intricacies of character animation programming. This book tackles the common challenges developers face in creating sophisticated, efficient, and visually appealing character animations.

You'll learn how to leverage the Open Asset Import Library for easy 3D model loading and optimize your 3D engine by offloading computations from the CPU to the GPU. The book covers visual selection, extended camera handling, and separating your application into edit and simulation modes. You'll also master configuration storage to progressively build your virtual world piece by piece.

As you develop your engine-like application, you'll implement collision detection, inverse kinematics, and expert techniques to bring your characters to life with realistic visuals and fluid movement. For more advanced animation and character behavior controls, you'll design truly immersive and responsive NPCs, load real game maps, and use navigation algorithms, enabling the instances to roam freely in complex environments.

By the end of this book, you'll be skilled at designing interactive virtual worlds inhabited by lifelike NPCs that exhibit natural, context-aware behaviors.

What You Will Learn:

- Master the basics of the Open Asset Import Library

- Animate thousands of game characters

- Extend ImGui with more advanced control types

- Implement simple configuration file handling

- Explore collision detection between 3D models and world objects

- Combine inverse kinematics and collision detection

- Work with state machines, behavior trees, and interactive NPC behaviors

- Implement navigation for NPC movement in unknown terrains

Who this book is for:

This book is for experienced C++ developers, game programmers, and character animators who already have basic knowledge of character animation but are curious to learn more. The book assumes advanced C++ knowledge and is ideal for those eager to delve into advanced animation techniques and create interactive virtual worlds.

Table of Contents

- Working with Open Asset Import Library

- Moving Animation Calculations from CPU to GPU

- Adding a Visual Selection

- Enhancing Application Handling

- Saving and Loading the Configuration

- Extending Camera Handling

- Enhancing Animation Controls

- An Introduction to Collision Detection

- Adding Behavior and Interaction

- Advanced Animation Blending

- Loading a Game Map

- Advanced Collision Detection

- Adding Simple Navigation

- Creating Immersive Interactive Worlds

Book Details

  • Publisher: Packt Publishing
  • Publish Date: Mar 28th, 2025
  • Pages: 544
  • Language: English
  • Edition: undefined - undefined
  • Dimensions: 9.25in - 7.50in - 1.10in - 2.04lb
  • EAN: 9781835881927
  • Categories: Languages - C++Software Development & Engineering - Computer GraphicsComputer Simulation

About the Author

Dunsky, Michael: - 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 FernUniversität in Hagen with a focus on computer graphics, parallel programming, and software systems.