Introduction to computer graphics : using OpenGL and Java / Karsten Lehn, Merijam Gotzes, Frank Klawonn.

A basic understanding of the key techniques in computer graphics can open the door to this exciting field and its many applications, including for video games and for augmented and virtual reality. This easy-to-follow textbook and reference introduces the fundamental concepts of computer graphics, i...

Full description

Saved in:
Bibliographic Details
Main Authors: Lehn, Karsten (Author), Gotzes, Merijam (Author), Klawonn, F. (Author)
Format: eBook
Language:English
German
Published: Cham : Springer, [2023]
Edition:Third edition.
Series:Undergraduate topics in computer science.
Subjects:
Online Access:Click for online access
Uniform Title:Grundkurs Computergrafik mit Java.
Table of Contents:
  • Intro
  • Preface to the Third Edition
  • Acknowledgement
  • Contents
  • 1 Introduction
  • 1.1 Application Fields
  • 1.2 From the Real Scene to the Computer Generated Image
  • 1.3 Rendering and Rendering Pipeline
  • 1.4 Objectives of This Book and Recommended Reading Order for the Sections
  • 1.5 Structure of This Book
  • 1.6 Exercises
  • References
  • 2 The Open Graphics Library (OpenGL)
  • 2.1 Graphics Programming Interfaces
  • 2.2 General About the OpenGL
  • 2.3 The OpenGL and Java
  • 2.4 Profiles
  • 2.5 OpenGL Graphics Pipelines
  • 2.5.1 Vertex Processing
  • 2.5.2 Vertex Post-Processing
  • 2.5.3 Primitive Assembly
  • 2.5.4 Rasterisation
  • 2.5.5 Fragment Processing
  • 2.5.6 Per-Fragment Operations
  • 2.5.7 Framebuffer
  • 2.6 Shaders
  • 2.7 OpenGL Programming with JOGL
  • 2.8 Example of a JOGL Program Without Shaders
  • 2.9 Programming Shaders
  • 2.9.1 Data Flow in the Programmable Pipeline
  • 2.9.2 OpenGL and GLSL Versions
  • 2.9.3 OpenGL Extensions
  • 2.9.4 Functions of the GLSL
  • 2.9.5 Building a GLSL Shader Program
  • 2.10 Example of a JOGL Program Using GLSL Shaders
  • 2.11 Efficiency of Different Drawing Methods
  • 2.12 Exercises
  • Exercises
  • References
  • 3 Basic Geometric Objects
  • 3.1 Surface Modelling
  • 3.2 Basic Geometric Objects in the OpenGL
  • 3.2.1 Points
  • 3.2.2 Lines
  • 3.2.3 Triangles
  • 3.2.4 Polygon Orientation and Filling
  • 3.2.5 Polygons
  • 3.2.6 Quadrilaterals
  • 3.3 OpenGL Drawing Commands
  • 3.3.1 Indexed Draw
  • 3.3.2 Triangle Strips
  • 3.3.3 Primitive Restart
  • 3.3.4 Base Vertex and Instanced Rendering
  • 3.3.5 Indirect Draw
  • 3.3.6 More Drawing Commands and Example Project
  • 3.4 Exercises
  • References
  • 4 Modelling Three-Dimensional Objects
  • 4.1 From the Real World to the Model
  • 4.2 Three-Dimensional Objects and Their Surfaces
  • 4.3 Modelling Techniques
  • 4.4 Modelling the Surface of a Cube in the OpenGL
  • 4.5 Surfaces as Functions in Two Variables
  • 4.5.1 Representation of Landscapes
  • 4.6 Parametric Curves and Freeform Surfaces
  • 4.6.1 Parametric Curves
  • 4.6.2 Efficient Computation of Polynomials
  • 4.6.3 Freeform Surfaces
  • 4.7 Normal Vectors for Surfaces
  • 4.8 Exercises
  • References
  • 5 Geometry Processing
  • 5.1 Geometric Transformations in 2D
  • 5.1.1 Homogeneous Coordinates
  • 5.1.2 Applications of Transformations
  • 5.1.3 Animation and Movements Using Transformations
  • 5.1.4 Interpolators for Continuous Changes
  • 5.2 Geometrical Transformations in 3D
  • 5.2.1 Translations
  • 5.2.2 Scalings
  • 5.2.3 Rotations Around x-, y- and z-Axis
  • 5.2.4 Calculation of a Transformation Matrix with a Linear System of Equations
  • 5.3 Switch Between Two Coordinate Systems
  • 5.4 Scene Graphs
  • 5.4.1 Modelling
  • 5.4.2 Animation and Movement
  • 5.4.3 Matrix Stacks and Their Application in the OpenGL
  • 5.5 Arbitrary Rotations in 3D: Euler Angles, Gimbal Lock, and Quaternions
  • 5.5.1 Rotation Around Any Axis