Computer graphics programming in OpenGL with Java /
With numerous examples that the reader can run just as presented, this book is appropriate for both the computer science undergraduate course in 3D graphics programming using OpenGL and for professionals who are interested in mastering 3D graphics skills. --
Clasificación: | Libro Electrónico |
---|---|
Autores principales: | , |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Dulles, Virginia :
Mercury Learning and Information,
[2017]
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover Page; Halftitle; Title Page; Copyright; Contents; Preface; Intended Audience; How to Use This Book; Acknowledgments; About the Authors; Chapter 1. Getting Started; 1.1 Languages and Libraries; 1.1.1 Java; 1.1.2 OpenGL/GLSL; 1.1.3 JOGL; 1.1.4 graphicslib3D; 1.2 Installation and Configuration; 1.2.1 Installing Java; 1.2.2 Installing OpenGL/GLSL; 1.2.3 Installing JOGL; 1.2.4 Installing graphicslib3D; Chapter 2. JOGL and the OpenGL Graphics Pipeline; 2.1 The OpenGL Pipeline; 2.1.1 Java/JOGL Application; 2.1.2 Vertex and Fragment Shaders; 2.1.3 Tessellation; 2.1.4 Geometry Shader
- 2.1.5 Rasterization. 2.1.6 Fragment Shader; 2.1.7 Pixel Operations; 2.2 Detecting OpenGL and GLSL Errors; 2.3 Reading GLSL Source Code from Files; 2.4 Building Objects from Vertices; 2.5 Animating a Scene; Chapter 3. Mathematical Foundations; 3.1 3D Coordinate Systems; 3.2 Points; 3.3 Matrices; 3.4 Transformation Matrices; 3.4.1 Translation; 3.4.2 Scaling; 3.4.3 Rotation; 3.5 Vectors; 3.5.1 Uses for Dot Product; 3.5.2 Uses for Cross Product; 3.6 Local and World Space; 3.7 Eye Space and the Synthetic Camera; 3.8 Projection Matrices; 3.8.1 The Perspective Projection Matrix
- 3.8.2 The Orthographic Projection Matrix. 3.9 Look-At Matrix; 3.10 GLSL Functions for Building Matrix Transforms; Chapter 4. Managing 3D Graphics Data; 4.1 Buffers & Vertex Attributes; 4.2 Uniform Variables; 4.3 Interpolation of Vertex Attributes; 4.4 Model-View and Perspective Matrices; 4.5 Our First 3D Program
- a 3D Cube; 4.6 Rendering Multiple Copies of an Object; 4.6.1 Instancing; 4.7 Rendering Multiple Different Models in a Scene; 4.8 Matrix Stacks; 4.9 Combating "Z-Fighting" Artifacts; 4.10 Other Options for Primitives; 4.11 Back-Face Culling; Chapter 5. Texture Mapping
- 5.1 Loading Texture Image Files; 5.2 Texture Coordinates; 5.3 Creating a Texture Object; 5.4 Constructing Texture Coordinates; 5.5 Loading Texture Coordinates into Buffers; 5.6 Using the Texture in a Shader: Sampler Variables and Texture Units; 5.7 Texture Mapping: Example Program; 5.8 Mipmapping; 5.9 Anisotropic Filtering; 5.10 Wrapping and Tiling; 5.11 Perspective Distortion; 5.12 Loading Texture Image Files Using Java AWT Classes; Chapter 6. 3D Models; 6.1 Procedural Models
- Building a Sphere; 6.2 OpenGL Indexing
- Building a Torus; 6.2.1 The Torus; 6.2.2 Indexing in OpenGL
- 6.3 Loading Externally Produced Models; Chapter 7. Lighting; 7.1 Lighting Models; 7.2 Lights; 7.3 Materials; 7.4 ADS Lighting Computations; 7.5 Implementing ADS Lighting; 7.5.1 Gouraud Shading; 7.5.2 Phong Shading; 7.6 Combining Lighting and Textures; Chapter 8. Shadows; 8.1 The Importance of Shadows; 8.2 Projective Shadows; 8.3 Shadow Volumes; 8.4 Shadow Mapping; 8.4.1 Shadow Mapping (PASS ONE)
- "Draw" Objects from Light Position; 8.4.2 Shadow Mapping (Intermediate Step)
- Copying the Z-Buffer to a Texture; 8.4.3 Shadow Mapping (PASS TWO)
- Rendering the Scene with Shadows