Vorwort | 6 |
Inhaltsverzeichnis | 8 |
1 Einführung | 12 |
2 Grafische Bibliothek OpenGL | 14 |
2.1 Konzepte und Entwurfsziele | 14 |
2.2 Modell und Architektur | 16 |
2.3 Konventionen, Konstanten, Typen, Routinen | 19 |
2.4 OpenGL und Windows | 20 |
2.5 Spezielle Inhalte der Unit GLToolsDelphi | 32 |
2.6 Erfragefunktionen | 34 |
2.7 Übungen | 36 |
3 Rastergrafik-Algorithmen | 37 |
3.1 Rastern von Punkten, Linien, Kurven und Polygonen | 37 |
3.1.1 Rastern von Punkten | 38 |
3.1.2 Rastern von Linien und Kurven | 39 |
3.1.3 Rastern von Polygonen | 44 |
3.1.4 OpenGL-Routinen | 50 |
3.2 Clipping | 52 |
3.2.1 Clippen von Linien an Rechtecken nach Cohen-Sutherland | 53 |
3.2.2 Clippen von Linien an Polygonen nach Liang-Barsky | 55 |
3.2.3 Clippen von Polygonen nach Sutherland-Hodgman | 57 |
3.2.4 Clippen an beliebigen Clipping-Bereichen | 58 |
3.2.5 Clippen an einem Sichtvolumen | 62 |
3.2.6 OpenGL-Routinen | 62 |
3.3 Farbmodelle, Halbtonverfahren | 64 |
3.3.1 Grundlagen | 64 |
3.3.2 CIE-Standard | 68 |
3.3.3 Farbmodelle | 72 |
3.3.4 Farbdarstellung, Farboperationen | 74 |
3.3.5 Halbtonverfahren | 78 |
3.3.6 OpenGL-Routinen | 78 |
3.4 Antialiasing | 79 |
3.4.1 Vorbemerkungen | 79 |
3.4.2 Antialiasing mit modifiziertem Grundalgorithmus | 80 |
3.4.3 Filtermethode | 81 |
3.4.4 Supersampling-Methode | 82 |
3.4.5 OpenGL-Routinen | 84 |
3.5 Übungen | 86 |
4 Modellierung | 88 |
4.1 Vorbemerkung | 88 |
4.2 Kurven | 91 |
4.2.1 Bézier-Kurven | 97 |
4.2.2 B-Spline-Kurven | 102 |
4.2.3 NURBS-Kurven | 108 |
4.2.4 Kubische Splines und allgemeine Kurven | 112 |
4.2.5 OpenGL-Routinen | 118 |
4.3 Flächen | 122 |
4.3.1 Bézier-Flächen | 123 |
4.3.2 B-Spline-Flächen | 127 |
4.3.3 NURBS-Flächen | 128 |
4.3.4 Allgemeine Flächen | 129 |
4.3.5 OpenGL-Routinen | 142 |
4.4 Körper | 146 |
4.4.1 Drahtmodell | 147 |
4.4.2 Oberflächenmodell, Boundary Representation | 147 |
4.4.3 Volumenmodell | 158 |
4.4.4 OpenGL-Routinen | 162 |
4.5 Spezielle Modelle | 164 |
4.5.1 Partikelsysteme | 164 |
4.5.2 Fraktale Systeme | 168 |
4.5.3 Soft Objects, Blobby Models | 176 |
4.6 Display-Listen, Vertex-Arrays und Clip Planes | 177 |
4.6.1 Display-Listen | 177 |
4.6.2 Vertex-Arrays | 180 |
4.6.3 Clip Planes | 183 |
4.6.4 OpenGL-Routinen | 185 |
4.7 Übungen | 188 |
5 Transformationen und Projektionen | 189 |
5.1 Einführung | 189 |
5.2 Modelltransformation | 190 |
5.3 Ansichtstransformation | 199 |
5.4 Perspektivische Transformation | 203 |
5.5 Orthogonale Transformation | 207 |
5.6 Clippen am kanonischen Sichtvolumen | 209 |
5.6.1 Clippen von Punkten | 210 |
5.6.3 Clippen von konvexen Polygonen | 214 |
5.7 Perspektivische Division | 215 |
5.8 Projektionen | 215 |
5.8.1 Perspektivprojektion | 216 |
5.8.2 Parallelprojektion | 217 |
5.9 Viewporttransformation | 218 |
5.10 Hierarchische Transformationen | 219 |
5.11 Nicht lineare Transformation | 222 |
5.12 OpenGL-Routinen | 226 |
5.13 Übungen | 228 |
6 Sichtbarkeit | 230 |
6.1 Vorbemerkungen, Klassifizierung | 230 |
6.2 z-Buffer-Algorithmus | 232 |
6.3 Historische Sichtbarkeitsverfahren (Kurzüberblick) | 234 |
6.4 Culling | 236 |
6.5 EXACT-Algorithmus | 237 |
6.6 OpenGL-Routinen | 241 |
6.7 Übungen | 243 |
7 Beleuchtung und Schattierung | 244 |
7.1 Einführung | 244 |
7.2 Beleuchtungsmodelle | 244 |
7.2.1 Lichtquellenmodelle | 244 |
7.2.2 Materialeigenschaften | 245 |
7.2.3 Elementare Beleuchtungsmodelle | 246 |
7.2.4 Lokale Beleuchtungsmodelle | 250 |
7.2.5 Globale Beleuchtungsmodelle | 253 |
7.3 Schattierungsmodelle | 253 |
7.3.1 Vorbemerkungen | 253 |
7.3.2 Inkrementelle Berechnung | 254 |
7.3.3 Ray Tracing (Überblick) | 258 |
7.3.4 Radiosity (Überblick) | 260 |
7.4 OpenGL-Routinen | 264 |
7.5 Übungen | 267 |
8 Texturen | 268 |
8.1 Einführung | 268 |
8.2 Prozedurale und diskrete 2D-Texturen | 268 |
8.3 Mapping-Verfahren | 271 |
8.4 Antialiasing bei Texturen | 281 |
8.5 Texturen und Beleuchtungsrechnung | 283 |
8.6 Simulation mit Texturen | 284 |
8.7 OpenGL-Routinen | 285 |
8.8 Übungen | 290 |
9 Transparenz | 291 |
9.1 Transparenzmodelle | 291 |
9.2 OpenGL-Routinen | 296 |
9.3 Übungen | 297 |
10 Interaktion | 298 |
10.1 Einführung | 298 |
10.2 Selektion und Rückkopplung | 298 |
10.3 OpenGL-Routinen | 307 |
10.4 Übungen | 310 |
Literatur | 311 |
Sachwortverzeichnis | 314 |