About the Author |
|
ix | |
Chapter 1 Introduction to Computer Graphics |
|
1 | (18) |
|
1.1 Core Concepts And Vocabulary |
|
|
2 | (5) |
|
1.2 The Graphics Pipeline |
|
|
7 | (7) |
|
|
7 | (1) |
|
1.2.2 Geometry Processing |
|
|
8 | (2) |
|
|
10 | (2) |
|
|
12 | (2) |
|
1.3 Setting Up A Development Environment |
|
|
14 | (3) |
|
1.4 Summary And Next Steps |
|
|
17 | (2) |
Chapter 2 Introduction to LWJGL and OpenGL |
|
19 | (50) |
|
2.1 Creating Windows With LWJGL |
|
|
19 | (6) |
|
|
25 | (11) |
|
2.2.1 OpenGL Shading Language |
|
|
25 | (3) |
|
2.2.2 Compiling GPU Programs |
|
|
28 | (5) |
|
2.2.3 Rendering In The Application |
|
|
33 | (3) |
|
|
36 | (15) |
|
2.3.1 Using Vertex Buffers |
|
|
36 | (2) |
|
|
38 | (2) |
|
2.3.3 Hexagons, Triangles, And Squares |
|
|
40 | (7) |
|
2.3.4 Passing Data Between Shaders |
|
|
47 | (4) |
|
2.4 Working With Uniform Data |
|
|
51 | (12) |
|
2.4.1 Introduction To Uniforms |
|
|
51 | (1) |
|
|
52 | (3) |
|
2.4.3 Applications And Animations |
|
|
55 | (8) |
|
|
63 | (5) |
|
2.5.1 Keyboard Input With LWJGL |
|
|
64 | (3) |
|
2.5.2 Incorporating With Graphics Programs |
|
|
67 | (1) |
|
2.6 Summary And Next Steps |
|
|
68 | (1) |
Chapter 3 Matrix Algebra and Transformations |
|
69 | (48) |
|
3.1 Introduction To Vectors And Matrices |
|
|
69 | (16) |
|
3.1.1 Vector Definitions And Operations |
|
|
70 | (3) |
|
3.1.2 Linear Transformations And Matrices |
|
|
73 | (9) |
|
3.1.3 Vectors And Matrices In Higher Dimensions |
|
|
82 | (3) |
|
3.2 Geometric Transformations |
|
|
85 | (16) |
|
|
85 | (1) |
|
|
86 | (4) |
|
|
90 | (3) |
|
|
93 | (5) |
|
3.2.5 Local Transformations |
|
|
98 | (3) |
|
|
101 | (9) |
|
3.4 Incorporating With Graphics Programs |
|
|
110 | (6) |
|
3.5 Summary And Next Steps |
|
|
116 | (1) |
Chapter 4 A Scene Graph Framework |
|
117 | (60) |
|
4.1 Overview Of Class Structure |
|
|
119 | (2) |
|
|
121 | (7) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (2) |
|
|
128 | (20) |
|
|
129 | (2) |
|
|
131 | (3) |
|
|
134 | (2) |
|
4.3.4 Parametric Surfaces And Planes |
|
|
136 | (4) |
|
4.3.5 Spheres And Related Surfaces |
|
|
140 | (2) |
|
4.3.6 Cylinders And Related Surfaces |
|
|
142 | (6) |
|
|
148 | (8) |
|
|
149 | (3) |
|
|
152 | (4) |
|
4.5 Rendering Scenes With The Framework |
|
|
156 | (5) |
|
4.6 Custom Geometry And Material Objects |
|
|
161 | (5) |
|
|
166 | (8) |
|
|
167 | (4) |
|
|
171 | (3) |
|
4.8 Summary And Next Steps |
|
|
174 | (3) |
Chapter 5 Textures |
|
177 | (60) |
|
|
177 | (7) |
|
|
184 | (5) |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
186 | (1) |
|
5.2.4 Parametric Surfaces |
|
|
187 | (2) |
|
5.3 Using Textures In Shaders |
|
|
189 | (4) |
|
5.4 Rendering Scenes With Textures |
|
|
193 | (3) |
|
5.5 Animated Effects With Custom Shaders |
|
|
196 | (5) |
|
5.6 Procedurally Generated Textures |
|
|
201 | (5) |
|
|
206 | (14) |
|
|
206 | (9) |
|
5.7.2 Heads-Up Displays And Orthogonal Cameras |
|
|
215 | (5) |
|
5.8 Rendering Scenes To Textures |
|
|
220 | (6) |
|
|
226 | (10) |
|
5.10 Summary And Next Steps |
|
|
236 | (1) |
Chapter 6 Light and Shadow |
|
237 | (58) |
|
6.1 Introduction To Lighting |
|
|
237 | (4) |
|
|
241 | (3) |
|
|
244 | (5) |
|
|
244 | (1) |
|
|
244 | (1) |
|
|
245 | (1) |
|
6.3.4 Parametric Surfaces |
|
|
246 | (3) |
|
6.4 Using Lights In Shaders |
|
|
249 | (10) |
|
6.4.1 Structs And Uniforms |
|
|
250 | (2) |
|
6.4.2 Light-Based Materials |
|
|
252 | (7) |
|
6.5 Rendering Scenes With Lights |
|
|
259 | (3) |
|
|
262 | (3) |
|
|
265 | (4) |
|
6.8 Bloom And Glow Effects |
|
|
269 | (8) |
|
|
277 | (16) |
|
6.9.1 Theoretical Background |
|
|
277 | (4) |
|
6.9.2 Adding Shadows To The Framework |
|
|
281 | (12) |
|
6.10 Summary And Next Steps |
|
|
293 | (2) |
Index |
|
295 | |