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