3D Mesh Processing and Character Animation: With Examples Using OpenGL, OpenMesh and Assimp

Author(s): Ramakrishnan Mukundan

Publisher: Springer, Year: 2022

ISBN: 3030813533,9783030813536

Table of contents :
Preface
Contents
1 Introduction
1.1 Contents Overview
1.2 Prerequisite Knowledge
1.3 Software Libraries
1.4 Supplementary Material
References and Further Reading
2 Mesh Processing Basics
2.1 Mesh Representation
2.2 Mesh File Formats
2.3 Polygonal Manifolds
2.4 OpenMesh
2.5 Mesh Data Structures
2.5.1 Face-Based Data Structure
2.5.2 Winged-Edge Data Structure
2.5.3 Half-Edge Data Structure
2.6 Mesh Traversal
2.6.1 Iterators
2.6.2 Adjacency Queries
2.6.3 Circulators
2.7 Surface Normal Computation
2.8 Bounding Box Computation
2.9 Triangle Adjacency Primitive
2.10 Chapter Resources
References and Further Reading
3 Mesh Processing Algorithms
3.1 Mesh Simplification
3.1.1 Error Metrics
3.1.2 Vertex Decimation
3.1.3 Edge Collapse Operation
3.1.4 Mesh Simplification Using OpenMesh
3.2 Mesh Subdivision
3.2.1 Subdivision Curves: Interpolation Versus Approximation
3.2.2 Subdivision of Polygonal Elements
3.2.3 Butterfly Algorithm
3.2.4 Charles-Loop Subdivision Algorithm
3.2.5 Root-3 Subdivision
3.2.6 Catmull–Clark Subdivision
3.3 Mesh Parameterization
3.3.1 Barycentric Coordinates
3.3.2 Barycentric Embedding
3.3.3 Spherical Embedding
3.4 3D Morphing
3.4.1 Shortest Distance and Projection
3.4.2 Point Correspondence
3.4.3 Projective Mapping
3.4.4 Barycentric Mapping
3.5 Chapter Resources
References and Further Reading
4 The Geometry Shader
4.1 General Properties
4.2 Backface Culling
4.3 Surface of Revolution
4.4 Billboards
4.5 Modelling Trees
4.5.1 Leaves
4.5.2 Stem
4.6 Non-photorealistic Rendering
4.7 Chapter Resources
References and Further Reading
5 Mesh Tessellation
5.1 OpenGL-4 Tessellation Stages
5.1.1 Patches
5.1.2 Tessellation Control Shader
5.1.3 Dynamic Level of Detail
5.1.4 Tessellation Evaluation Shader
5.1.5 Blending Functions
5.1.6 Lighting Calculations
5.2 Terrain Rendering
5.2.1 A Patch-Based Terrain Model
5.2.2 Micro-level Cracking
5.2.3 Vertex Normal Computation
5.3 Procedural Heightmap Generation
5.3.1 Sum of Sinusoids
5.3.2 Perlin Noise
5.3.3 Diamond-Square Algorithm
5.4 Bezier Surface Patches
5.4.1 The Teapot
5.4.2 The Gumbo
5.4.3 Mesh Explosion
5.5 Chapter Resources
References and Further Reading
6 Quaternions
6.1 Generalized Rotations
6.1.1 Euler Angle Rotation
6.1.2 Angle-Axis Rotation
6.2 Overview of Quaternions
6.2.1 Quaternion Algebra
6.2.2 Quaternion Transformation
6.2.3 Quaternion Rotation
6.3 Rotation Interpolatio
6.3.1 Linear Interpolation of Rotations
6.3.2 Quaternion Spherical Linear Interpolation (SLERP)
6.4 Quaternion Derivative
6.5 GLM Quaternion Class
6.6 Assimp Quaternion Class
6.7 Chapter Resources
References and Further Reading
7 Character Animation
7.1 Scene Graphs
7.1.1 Model Transformations
7.1.2 A 2D Skeletal Structure
7.2 Assimp
7.3 Motion Capture Data
7.4 Skeleton Animation
7.4.1 Updating Node Matrices
7.4.2 Updating the Display
7.4.3 Quaternion—Euler Angle Conversion
7.5 Bones
7.5.1 Offset Matrix
7.5.2 Vertex Transformation
7.5.3 Keyframe Interpolation
7.6 Vertex Blending
7.7 Animation Retargeting
7.8 Chapter Resources
References and Further Reading
8 Kinematics
8.1 Forward Kinematics
8.2 Inverse Kinematics
8.2.1 Cyclic Coordinate Descent
8.2.2 Skeleton IK
8.2.3 FABRIK Algorithm
8.3 Chapter Resources
References and Further Reading

close

Stay Connected

We don’t spam! Read our privacy policy for more info.

Leave a Comment

Your email address will not be published. Required fields are marked *

Shopping Cart