Post on 06-Feb-2018
transcript
Außerdem zum Themabei mitp:
Apet
riO
penG
LMarius Apetri
3D-Grafi k mit
OpenGLDas umfassende Praxis-Handbuch
Aus dem Inhalt:
Grundlagen der OpenGL-• ProgrammierungEinführung in die 3D-• Grafi kprogrammierungDas Zusammenwirken • von Programmsoftware und Grafi khardwareUmgang mit Matrizen• Beleuchtung von • GegenständenPolygon- und Textur-• schattierung mit GLSLEinschränkung des Sicht-• bereichesAuswahl von • GegenständenHardwarebeschleunigte • BildbearbeitungTexturprojektion• Ein- und Ausgabe • von TextenGenerierung einer • ProgrammkonsoleSemitransparenz• Globale und örtlich • begrenzte NebelfelderTexturprojektion• Multitextureffekte•
Auf der CD:Vollständige Quelltexte:
199 Programme in C++, • basierend auf GLUT199 Programme in C++ • für Windows4 Programme in Java • (JOGL v1.1.1a), die alle wichtigen Themen abdecken
Der OpenGL-Standard ist eine sprachenunabhängigeProgrammierschnittstelle zur Entwicklung von 2D- und 3D-Computergrafik und eignet sich zur Dar-stellung komplexer Szenen in Echtzeit. OpenGL ist die Grundlage zur Erstellung zahlreicher Software-projekte wie Computerspiele, Animationen für Film- und Videoprojekte, wissenschaftliche Dar-stellungen oder „virtuelle Realität“.Dieses Buch vermittelt die Kenntnisse, die für die Erstellung einfacher bis komplexer OpenGL-Anwendungen benötigt werden. Alle Themen werden anhand anschaulicher Beispiele erläutert. Der OpenGL-Standard wird aus der Perspektive des Entwicklers vorgestellt, der komplexe virtuel-le Welten generieren möchte, in denen man sich frei bewegen kann.Nach der Vorstellung grundlegender Konzepte von OpenGL wird die Visualisierung von Punkten, Linien,Polygonen und Polyedern erläutert. Daraufhin behandelt der Autor das von OpenGL eingesetzte System zur Verarbeitung von Matrizen einschließ-lich der Vorteile dieses Systems gegenüber der in der Mathematik üblichen Reihenfolge der Multipli-kation von Matrizen.Weitere Schwerpunkte sind die Geometry Pipeline, Picking, eine ausführliche Einführung in die Pro-grammierung des Vertex- und Fragmentprozessors mit GLSL, die hardwarebeschleunigte Bearbeitung von Bildern, Semitransparenz sowie Texturpro-jektion und -schattierung. Die Darstellung einer virtuellen Welt aus der Sicht mehrerer, beliebig positionierter und ausgerichteter Kameras wird ebenfalls behandelt.Dies ist ein Lehrbuch mit zahlreichen Übungsaufga-ben, das sich besonders gut für das Alleinstudium eignet. Zusammenhänge werden einem breiten Publikum nachvollziehbar erklärt, und es werden lediglich gute Kenntnisse einer leistungsfähigen Programmiersprache sowie das mathematische Grundwissen der gymnasialen Mittelstufe voraus-gesetzt. Dabei richtet sich der Autor an Leser, die weder über OpenGL-Kenntnisse noch über Vor-kenntnisse in der Computergrafik verfügen. Die Beispiele im Buch sind in C++ erstellt.
ISBN 978-3-8266-5548-7
ISBN 978-3-8266-1767-6
ISBN 978-3-8266-5953-9
(D) €
49
,95
Mathematische Grundlagen und Einführung in die 3D-Grafi k-programmierung
Modellierung dreidimensionaler Umgebungen
Zahlreiche anschauliche Beispielprogramme und Übungsaufgaben
ISBN 978-3-8266-5512-8ISBN 978-3-8266-5512-8
Das
um
fass
ende
Pr
axis
-Han
dbuc
h3D
-Gra
fi k
mit
inklusive CD-ROM
5512_P_OpenGL_U4_RS_Korr2.indd 1 12.07.2010 20:14:31
831
Stichwortverzeichnis
AAbgeschlossener Linienzug 83Abgewandtes Polygon 252Abstandsberechnung 762, 791Additionstheoreme 777Additivität 150, 153, 755Ähnlichkeit von Gegenständen 159Aliasing Artefact
Linien 86Alphatest 712Alphawert 614
Glättung von Linien 87Glättung von Polygonen 218Glättung von Punkten 58
Ambient Illumination Siehe UmgebungslichtAnimation 179Anpassung an das Sichtfeld
Definition 278mit homogenen Koordinaten 280
Anweisungsblockinnerer 250
ARB Siehe Architecture Review BoardArchitecture Review Board 35Arcus Kosinus 783Arrayform von Funktionen 52Artefakt
Spiegelung 685Vergrößerung 678Verkleinerung 678Verzerrung 673
Assoziativitätder Vektoraddition 760
Attributgruppe 73Attributstapel 73Auflösung
Definition 35horizontale 38vertikale 38
AusgabeText 570
Ausrichtunglokale Siehe Lokale Ausrichtung
Ausrichtungsabhängige Koordinate 333Ausrichtungsmatrix 331Auswahl von Gegenständen 417
Einzelauswahl 432Grundidee 417Mehrfachauswahl 417praktische Durchführung 418
AuswahlarrayAuswertung 424Definition 419
AuswahlkennungKennung eines Gegenstandes 418
Auswahlmodus 420Auswahlstapel 421
BBackface Culling Siehe Erkennung abgewandter Vor-
derseitenBasisgleichung
Aufbau von Matrizen 151Interpolation, lineare 260Kreuzprodukt 224Normalenvektor, Polygon 475Parallelprojektion 284Polygonschattierung, allgemein 471Polygonschattierung, Standardmodell 541Zentralprojektion 134
Befehl 577Befehlsinterpreter 574Begriff
Spiegelähnlichkeit 708Texturkoordinaten 671
Beliebig ausgerichtete Sinusfläche 445Beliebige Bewegung Siehe BewegungBernstein-Polynom 113Betrag eines Vektors 747, 756Bewegung
Definition 147praktischer Aufbau 161
BézierkurveAbfrage globaler Zustände 121Definition 112, 114Eigenschaften 111optimierte Darstellung 122praktische Darstellung 115
BildDefinition 553Farbbild 553Graustufenbild 553, 555Helligkeit 604Kontrast 604Koordinatensystem 565, 670Rasterposition 555, 560Schwarzweißbild 553Spektrum 611Überbelichtung 606Verwaltung 554
Bildbearbeitung 591Farbmatrix Siehe FarbmatrixFarbpaletten 593Filterung 599
00___OpenGL.book Seite 831 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
832
Histogramm Siehe HistogrammSkalierung 591
BildschirmLöschvorgang 51Standard-Koordinatensystem 36Verhältnis zwischen Breite und Höhe 93verzerrte Darstellung 93virtuelle Repräsentation im
Dreidimensionalen 133Bildschirmkoordinate
zweidimensionale 280Billboard Siehe SpiegelähnlichkeitBindungsvorgang
GLSL 510binomische Formel, erweiterte 783Bitmap Siehe SchwarzweißbildBlending Siehe FarbmischungBlinn-Optimierung 541Bogenmaß 779Buch-CD 795
CCD-Inhalt 795Chaosspiel
im Dreidimensionalen 192, 203im Zweidimensionalen 46
charset 567Clip Coordinates Siehe Vierdimensionale homogene
WürfelkoordinatenClipping Siehe Anpassung an das Sichtfeldcolor
ohne Alphawert 52Color Map Siehe Farbbildcolumns() 331Compiler
Microsoft Visual C++ 6.0 798Microsoft Visual Studio 799
Computerbildschirm Siehe BildschirmConstant Color Siehe Konstante FarbeCPU Siehe Hauptprozessorcross() 474
DDarstellungsart 489Darstellungsfenster
Definition 383Form des Sichtbereiches 391Hintergrundfarbe 387praktischer Einsatz 385
Darstellungskamera 335, 361, 364Darstellungsliste 435
Einschränkungen 440interner Aufbau 437Konstruktion 438praktischer Einsatz 439
Darstellungsmodus 420Darstellungsvorschrift
Definition 230Initialisierung 231praktischer Einsatz 237
Datentyp 31, 33Definition
abgewandtes Polygon 252Anpassung an das Sichtfeld 278beliebige Bewegungen 161Bézierkurven 112, 114Bild 553Bildpunkt 36Darstellungsfenster 383Doppelspeicher-Algorithmus 179dreidimensionales Sichtfeld,
Parallelprojektion 283dreidimensionales Sichtfeld,
Zentralprojektion 142Ebene 753, 758, 762Eindeutigkeitsbedingung von Funktionen 767Einheitenlänge im Dreidimensionalen 144Einheitenlänge im Zweidimensionalen 90elementare Bewegungen 154Erkennung abgewandter Vorderseiten 252exponentieller Nebeleffekt 643Farbe 36Farbpalette 476Fensterskalierung 384Filterkern 599Fragment 501Funktionsbegriff, anschaulich 95Funktionsbegriff, mathematisch
korrekt 764, 766Gerade 751Grundfarbe 630Hintereinanderausführung von
Funktionen 162, 765Histogramm 604Interpolation 260kartesisches Produkt 764Kavalierperspektive 293Komplementärfarbe 640konstante Farbe 635Kosinusfunktion 771, 774Kreuzprodukt 224Länge eines Vektors 747, 757linearer Nebeleffekt 641Linearität, abstrakt 150Linearität, anschaulich 148Linie 81lokale Ausrichtung 308Matrix 151Menge 741Mengendifferenz 743Mengenelement 741Mengenschnitt 742Mengenvereinugung 742Militärperspektive 289Mischvorschrift 632Orthogonalität 757Parallelprojektion 284Pixel 501Polyeder 245Punkt 744Quellfarbe 630Relation 765
00___OpenGL.book Seite 832 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
833
Scherung 291Sinusfläche 444Sinusfunktion 771, 774Skalarmultiplikation 749Skalarprodukt 755Spiegelähnlichkeit 708Tangensfunktion 773Teilmenge 743Texturkoordinaten 671Texturparkettierung 685Vektor 747Vektoraddition 750Verhältnisgleichung 94von Animationen 179Zeichensatz 566Zentralprojektion 134Z-Speicher-Algorithmus 257zweidimensionales Sichtfeld 90
Destination Color Siehe GrundfarbeDichte des Nebels 643Diffuse Reflexion 539Dimetrische Perspektive 287Division
perspektivische 276Doppelspeicher-Algorithmus
Besonderheiten 183Definition 179praktischer Einsatz 182
dot() 475GLSL 504
Double Buffering Siehe Doppelspeicher-Algorith-mus
DreidimensionaleStandardkoordinaten 333Weltkoordinaten 280, 333
EEbene
anschauliches Modell 753Definition 753, 758, 762Fußpunkt 753, 758Normalenform 758Parameterform 762Punktrichtungsgleichung 753
Eigene AchseDefinition, einfach 188erweiterte Definition 329
Eigenlichtabgabe 539Einheit
quadratische Siehe Quadratische EinheitEinheitenlänge
im Dreidimensionalen 144im Zweidimensionalen 91
Einheitsmatrix 166Einschränkung des Sichtfeldes
algebraischer Ansatz 393geometrischer Ansatz 399
Einzelauswahl 432Elementare Bewegung 154
Rotation, Herleitung 776Rotation, x-Achse 157
Rotation, y-Achse 157Rotation, z-Achse 158Skalierung, beliebige 160Skalierung, gleichmäßige 158Verschiebung 154
Elementarmatriz Siehe Elementare BewegungEmissive Color Siehe EigenlichtabgabeErkennung abgewandter Vorderseiten 252erweiterte binomische Formel 783Euklidisches Skalarprodukt Siehe Standard-Skalar-
produktEvaluator Siehe Hardwareinterner Auswertungsme-
chanismusexp1() 643exp2() 643Exponentieller Nebeleffekt 643Extension 34Eye Coordinates Siehe Ausrichtungsabhängige Koor-
dinaten
FFarbbild 553Farbe des Nebels 642Farbhistogramm 606Farbkanal 615, 618Farbkomplement 640Farbmatrix
Generierung von Farbkanälen 619Grundidee 613Intervallabbildungen 620Umwandlung von rgb-Farben in
Graustufen 615Veränderung der Helligkeit 614Vertauschung von Farbkanälen 618
Farbmischung 629Grundfarbe 630Grundgleichung, einfache 630Grundgleichung, erweiterte 638Grundidee 629konstante Farbe 635Mischfarbe Siehe MischfarbeMischverhältnis 630Mischvorschrift 632praktische Durchführung 630Quellfarbe 630Transparenzbild 636Transparenzgrad 633
FarbpaletteAnwendung auf Bilder 593, 597benutzerdefinierte 533Definition 476
Farbspektrum 611Farbtiefe 35Farbverlauf 629Fehlerfassung
uniform-Variable 527Fehlermeldung
GLSL 511Fehlersignatur
Definition 75der Utility Library 79Zusatzinformationen 79
00___OpenGL.book Seite 833 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
834
Fenstermatrix 384Fensterskalierung 282, 383
Definition 384Matrix 384
FilterkernDefinition 599praktischer Einsatz 601
Filterungvon Bildern 599
Flache Objektkopie 562Flache Polygonschattierung 471, 475Flat Shading Siehe Flache PolygonschattierungFluchtpunktperspektive 289Fragment
Definition 501Fragmentprozessor 501Fragmentschattierung 528Fragment-Unterprogramm, einfaches 505ftransform()
GLSL 505Function Evaluator Siehe Hardwareinterner Auswer-
tungsmechanismusFunktion
Begriff 764, 766Definition 764, 766Definitionsbereich 766Eindeutigkeitsbedingung 95, 103, 767Graph 96Hintereinanderausführung 162, 765lineare 148, 150, 153parallel_project() 284shift_project() 275shift() 274von R nach R 94von R nach R2 100von R3 nach R 148von Rn nach Rm 150
Funktionen, trigonometrische 771Fußpunkt
einer Ebene 753, 758einer Gerade 751
GGegenstand
Ähnlichkeit 159Ausrichtung Siehe Lokale Ausrichtungausrichtungsabhängige Koordinaten 333dreidimensionale Standardkoordinaten 333dreidimensionale Weltkoordinaten 280, 333dreidimensionale Würfelkoordinaten 280eigene Achsen, einfache Definition 188eigene Achsen, erweiterte Definition 329hardwarebeschleunigte Auswahl 417hierarchisch angeordnete Komponenten 351,
371, 426komplexer 195, 351, 371lokale Ausrichtung 329Mittelpunkt 184Punktwolken 203räumliche Position 184rekursiv definierter 371
vierdimensionale homogene Würfelkoor-dinaten 280
zweidimensionale Bildschirmkoordinaten 280Geometrischer Verarbeitungsprozess 271, 280Gepufferte Ausgabe 46Gerade
Definition 751, 769Fußpunkt 751Normalenform 769Parameterform 769Punktrichtungsgleichung 751, 769
Geradengleichungdreidimensionale 751praktische Anwendung 134zweidimensionale 768, 770
get_color() 503get_position() 478GL_MODULATE 700gl_MultiTexCoord* 734gl_MultiTexCoord0 725gl_Normal
GLSL 504gl_Position
GLSL 505glActiveTexture() 729glAlphaFunc() 713Glanzfaktor 540glAttachShader() 509Glättung
von Linien 87von Polygonen 218von Punkten 58
glBegin() 40glBindTexture() 676GLbitfield 33glBlendColor() 635glBlendFunc() 632GLboolean 33GLbyte 32glCallList() 438GLchar 33GLclampd 33GLclampf 33glClear 51glClearDepth() 266glColor3*() 30glColor4*() 631glColorTable() 594glCompileShader() 508glConvolutionFilter2D() 600glConvolutionParameteri() 601glCreateProgram() 508glCreateShader() 506glCullFace() 252glDepthFunc() 267glDepthRange() 265glDisable() 58GLdouble 32glDrawPixels() 556glEdgeFlag*() 228glEnable() 58
00___OpenGL.book Seite 834 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
835
glEnd() 40glEndList() 438GLenum 33glEvalCoord1*() 118glEvalMesh1() 125glEvalPoint1() 124glFinish() 50GLfloat 32glFlush() 48glFog*() 641glFragColor
GLSL 505glFrontFace() 222glFrustum()
Deklaration 143praktischer Einsatz 401
glGenLists() 438glGenTextures() 675glGet*v() 71glGetError() 76glGetHistogram() 607glGetMap*() 122glGetProgramInfoLog() 516glGetProgramiv() 515glGetShaderInfoLog() 513glGetShaderiv() 512glGetString() 34glGetUniformLocation() 524GLHandleARB Siehe GLuintglHint() 60glHistogram() 606glInitNames() 421GLint 32glIsEnabled() 71glLightfv() 548glLightModelfv() 549glLineWidth() 85glLinkProgram() 510glLoadIdentity() 348glLoadMatrix() 337glLoadName() 421glLoadTransponseMatrix*() 616glMapGrid1*() 122glMaterialfv() 546glMatrixMode() 339
Konvention 339glMultiTexCoord2*() 732glMultMatrix() 346glMultTransponseMatrix*() 616glNewList() 438glNormal*() 521Globale Eigenschaften
Standard-Beleuchtungsmodell 549Globaler Zustand
Abfrage 71Begriff 71Sicherung 73
glOrtho() 285glPixelZoom() 592glPointSize() 57glPolygonMode() 219
glPopAttrib() 74glPopMatrix() 352glPopName() 421glPushAttrib() 74glPushMatrix() 352glPushName() 421glRasterPos*() 555glReadPixels() 603glRect*() 389glRenderMode() 420glRotate*() 348glScale*() 348glSelectBuffer() 419glShadeModel() 490glShaderSource() 507GLshort 32GLsizei 33GLSL-Komponente
Beschreibung 499Bindungsvorgang 510Datentypen 501dot() 504Fehlermeldungen 511Fragment, Definition 501Fragmentprozessor 501ftransform() 505gl_FragColor 505gl_Normal 504gl_Position 505Hauptprogramm, C++ 518Kompiliervorgang 508length() 504main() 504Pixel, Definition 501praktischer Einsatz 518Programmiersprache 501Statusbericht 517uniform 522, 527Unterprogramm 498Unterprogramm, einfaches Fragment- 505Unterprogramm, einfaches Vertex 530Unterprogramm, Erstellung 505Unterprogramm, Installation 519Unterprogramm, Kennung 510, 518Unterprogramm, Wertübermittlung 522varying 505vec*-Datentypen 502Vertexprozessor 498
glTexCoord2*() 679glTexEnv*() 675glTexImage2D() 676glTexParameter*() 679glTranslate*() 348GLU Siehe OpenGL Utility LibraryGLubyte 32gluErrorString() 79GLuint 32gluLookAt() 365gluNewTess() 230glUniform*() 525gluOrtho2D() 91
00___OpenGL.book Seite 835 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
836
gluPerspective() 141gluPickMatrix() 396gluProject() 494glUseProgram() 519GLushort 32GLUT 821gluTessBegin*() 236gluTessCallback() 231, 236GLUtesselator 230gluTessEnd*() 236gluUnProject() 400glValidateProgram() 517glVertex2*() 31glVertex2*v() 54glVertex3*() 139glVertex4*() 277glViewport() 385glWindowPos*() 560goldener Schnitt 770, 790GPU Siehe GrafikprozessorGrafikhardware Siehe GrafikkarteGrafikkarte
Doppelspeicher 181Fragmentprozessor 501Hintergrundspeicher 181Position eines Pixels 36schematischer Aufbau 45Vertexprozessor 498Videospeicher 35Zusammenarbeit mit der CPU 28
Grafikprozessor 28nicht programmierbarer 28, 45programmierbarer Vertexprozessor 498
Graph einer Funktion 96Graustufenbild 553, 555Grundbewegung Siehe Elementare BewegungGrundfarbe 630Grundgleichung Siehe BasisgleichungGruppe von Funktionen 30Gültigkeitsbereich einer Ebene 278
HHalfway Vector Siehe Winkelhalbierender VektorHandle 806hardware_interface 803Hardwareinterner Auswertungsmechanismus 115,
121Hauptmatrix 168Hauptprogramm
C++ 518Hauptprozessor 27Helligkeit 604Helligkeitshistogramm 606Helligkeitsintervall 611Hierarchie
von Gegenständen 351, 371, 427Histogramm
Auswertung 604benutzerdefinierte Anpassung 612Definition 604Farbhistogramm 606
Helligkeitshistogramm 606praktische Darstellung 608
Höhenfeld 647Homogene Koordinaten
Definition, einfach 156Definition, erweitert 277
Homogenität 150, 153, 755Horizontale Auflösung 38
IIkosaeder 770, 786Imaging Subset Siehe BildbearbeitungInhalt der Buch-CD 795Innerer Anweisungsblock 250input_interface 300InputControler 817Installation
GLSL-Unterprogramm 519interpolate()
C++ 477GLSL 503
Interpolation 260perspektivisch korrekte 674
Isometrische Perspektive 288
Kkartesisches Produkt 764Kavalierperspektive 293Kennung eines Gegenstandes
Datenstruktur 425, 428einteilige 425Grundidee 418Informationen 424mehrteilige 427, 429praktische Festlegung 421z-Komponenten 432
Kommutativitätder Vektoraddition 760
Kompilierung der Quelltexte Siehe Übersetzung der Quelltexte
KompiliervorgangGLSL 508
Komplementärfarbe 640Konsole Siehe ProgrammkonsoleKonstante Farbe 635Kontrast 604Kontrollpunkt von Bézierkurven 111Konvention
glMatrixMode() 339Koordinate
ausrichtungsabhängige 333homogene 156, 277
KoordinatenfunktionDefinition 101einer Funktion von R nach R2 101einer Funktion von R3 nach R3 151einer Funktion von Rn nach Rm 150
Koordinatensystembeliebiges benutzerdefiniertes 441benutzerdefiniert zweidimensional 90
00___OpenGL.book Seite 836 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
837
des Bildschirms 36einer Textur 671eines Bildes 565, 670
Koordinetensystemlinksshändig 745rechtshändig 744
Kopierkonstruktor 564Alternative 583
Körperplatonischer 255, 269
KosinusfunktionDefinition 771, 774
Kreuzprodukt 224
LLandschaft
Definition 303Höhenfeld 647quadratische Einheit 305
Landschaftseinheit Siehe Landschaft, quadratische Einheit
Länge eines Vektors 747, 756Längenfunktion 757length()
GLSL 504Lesezugriff 73Licht
paralleles 472Lichtquelle 547Linearer Nebeleffekt 640Linearitätsbegriff
Additivitätsbedingung 150, 153Definition, abstrakt 150, 153Definition, anschaulich 148Homogenitätsbedingung 150, 153
Linieabgeschlossene Linienzüge 83benutzerdefinierte Breite 85Bresenham-Algorithmus 81Definition 81Glättung 87offene Linienzüge 83praktische Darstellung 83
Linienzugabgeschlossener 83offener 83
Linking Process Siehe Bindungsvorgang, GLSLLinks verlaufende Polygonseite 215Literaturempfehlungen 829load_file() 505load_hardware() 338load_program() 510local_system 317Lokale Ausrichtung
benutzerdefinierte Steuerung 317Definition 308des Betrachters 308einer Darstellungskamera 335, 364eines Gegenstandes 329eines Polyeders 330implizite Verwaltung 357
Sichtmatrix 334Spaltenmatrix 323Veränderung mit einer Matrix 310Verwaltung 317Zeilenmatrix 323
MMagnification Artefact Siehe Vergrößerungsartefaktmain()
GLSL 504Materialeigenschaft
Eigenlichtabgabe 539Glanzfaktor 540Grundidee 539praktische Festlegung 546Reflexion, diffuse 539Reflexion, spiegelnde 539Umgebungslicht 539
Matrix 169Anwendung auf eine lokale Ausrichtung 310Anwendung auf einen Polyeder 247Anwendung auf einen Punkt 152Anwendung, anschaulich 167Anwendungsregel 167Aufbau 151Beschreibung 147einer linearen Funktion 151Einheitsmatrix 166Einschränkung des Sichtbereiches 396Farbmatrix Siehe FarbmatrixFensterskalierung 384Herleitung 151Hintereinanderausführung 164Multiplikationsregel Zeile * Spalte 152, 164nicht-kommutative Multiplikation 165Parallelprojektion 285Rotation, beliebige Achse 313Rotation, x-Achse 157Rotation, y-Achse 158Rotation, z-Achse 158Scherung 291Skalierung, beliebige 160Skalierung, gleichmäßige 178spaltenweise Anordnung der Komponenten 169Stapelverarbeitung 352Verschiebung 156Verwaltung 169Zeitersparnis 165Zentralprojektion 276
matrix::columns() 331matrix::load_hardware() 338matrix::multiply_hardware() 347matrix::rows() 324Matrixstapel 352Mehrfachauswahl 417Mehrfachfilterung 603Mehrstufige Visualisierung 386Menge
Definition 741Differenz 743Element 741
00___OpenGL.book Seite 837 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
838
kartesisches Produkt 764Schnitt 742Teilmenge 743Vereinigung 742
Microsoft Visual C++ 6.0 798Microsoft Visual Studio 799Militärperspektive 289Minification Artefact Siehe VerkleinerungsartefaktMischfarbe 630
Definition 630Mischregel Siehe MischvorschriftMischverhältnis 630Mischvorschrift 632Mittelpunkt eines Gegenstandes 184Modelsicht-Matrix Siehe Sicht- und Ausrichtungs-
matrixModelview Matrix Siehe Sicht- und Ausrichtungsma-
trixmove() 317Multipass Rendering Siehe Mehrstufige Visualisie-
rungMultiplikation
Matrix * lokale Ausrichtung 310Matrix * Matrix 164Matrix * Polyeder 247Matrix * Punkt 152paarweise 699
Multiplikationsoperatorüberladener 162
multiply_hardware() 347Multitextureffekt 729
NNamenstapel 421Navigation
simulierte Bewegung des Betrachters 303tatsächlich erfolgende Bewegung des Betrach-
ters 323Nebel
Anfang und Ende 641Dichte 643exponentieller 643Farbe 642globaler 640, 644linearer 640quaderförmig begrenzter 660sphärenförmig begrenzter 650
Nebelfunktionexponentielle, exp1() 643exponentielle, exp2() 643lineare 641
Normalenformeiner Ebene 758einer Gerade 769
Normalenvektoreines Polygons 470, 472eines Punktes 481
Normalized Device Coordinates Siehe Dreidimensio-nale Würfelkoordinaten
Nullvektor 749, 751, 760, 787
OObject Coordinates Siehe Dreidimensionale Stan-
dardkoordinatenObjektkopie
flache 562tiefe 563
Offener Linienzug 83Öffnungswinkel Siehe Sichtwinkelopen_window() 804OpenGL Utility Library 79OpenGL-Standard
Abfrage globaler Zustände 71Alphatest 712Architecture Review Board 35Arrayform von Funktionen 52Attributgruppen 73Attributstapel 73Auswahl von Gegenständen Siehe Auswahl von
GegenständenAuswahlmodus 420Benennung von Funktionen 30Beschreibung 30Bildausgabe 556Bildbearbeitung Siehe BildbearbeitungDarstellung von Bézierkurven 115, 122Darstellung von Linien 83Darstellung von Polygonen 217Darstellung von Rechtecken 389Darstellungslisten 435Darstellungsmodus 420Datentypen 31, 33direkte Definition von Matrizen 337elementare Bewegungen 348Farbmatrix Siehe FarbmatrixFehlersignaturen 75, 79Funktionengruppen 30geometrischer Verarbeitungsprozess 271, 280gepufferte Ausgabe 46globale Zustände, Begriff 71GLSL Siehe GLSL-Komponentehardwareinterner Auswertungs-
mechanismus 115, 121Imaging Subset Siehe BildbearbeitungMatrixstapel 352Matrizenverarbeitungssystem 345Merkmale 30Namenstapel 421Projektionsmatrix 276, 285, 339, 398, 401Reihenfolge der Matrizenmultiplikation 345Rotation 348schrittweise Definition von Matrizen 345, 346Shading Language Siehe GLSL-KomponenteSicherung globaler Zustände 73Sicherung von Matrizen 352Sicht- und Ausrichtungsmatrix 329Skalierung 348Stapelverarbeitungssystem 353Texturmatrix 690unterschiedliche Implementierungen 30Utility Library 79
00___OpenGL.book Seite 838 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
839
Verschiebung 348Weiterentwicklung 33Wiederherstellung von Matrizen 352
Orthogonalität 757, 769Ortsvektor eines Punktes 759
PPaarweise Multiplikation 699parallel_project() 284Parallele Verarbeitung 28Paralleles Licht 472Parallelprojektion
dimetrische Perspektive 287Grundgleichungen 284Grundidee 283isometrische Perspektive 288Kavalierperspektive 293Militärperspektive 289praktischer Einsatz 286trimetrische Perspektive 287
Parameterformeiner Ebene 762einer Gerade 769
Partikel 717Partikelsystem 709, 720Perspektive
dimetrische 287isometrische 288Kavalier 293mehrere Fluchtpunkte 289Militär 289trimetrische 287
Perspektivische Division 276Phong-Beleuchtungsmodell 540Pick Matrix 396picture 554Pixel
Definition 501Platonischer Körper 255, 269point 682Polyeder
Ausrichtungsmatrix 331Begriff 245Dateiformat .TG1 248lokale Ausrichtung 330perspektivisch korrekte Darstellung 257platonische Körper 255, 269Verwaltung 247
Polygonabgewandtes 252Anordnung der Punkte 213Darstellung mit GLU 230Drahtgitter 220, 225gefülltes 215, 217, 220Glättung 218konkav 214konvex 214Normalenvektor 470, 473, 475Polygonzüge 305praktische Darstellung 217Punktwolke 220
Rückseite 222spiegelähnliches 708Umriss 225Umrisskennzeichner 228Verwaltung 250Vorderseite 222
polygon 250Polygon Clipping Siehe Anpassung an das SichtfeldPolygonschattierung
Basisgleichung 471Blinn-Optimierung 541Eigenlichtabgabe 539flache 471, 475Fragmentschattierung 528Glanzfaktor 540Grundidee 471Phong-Beleuchtungsmodell 540Reflexion, diffuse 539Reflexion, spiegelnde 539Sichtanpassung 488Standardmodell, globale Eigenschaften 549Standardmodell, Lichtquelle 547Standardmodell, praktischer Einsatz 542theoretische Grundlage 469Umgebungslicht 539Vertexschattierung, GLSL 498Vertexschattierung, Software 481
Polygonseiterechts bzw. links verlaufende 215
Polygonzug 305polyhedron 247Pop Siehe LesezugriffPositivität 755Präfix
gl 30glu 79
Produkt, kartesisches 764ProgramControler 811Programmfenster 805Programmierbarer Fragmentprozessor 501Programmkonsole
Befehlsinterpreter 574beliebige Befehle 577Grundidee 571
Projektion 131, 283Projektionsmatrix 339, 398, 401Projektionsmatrix, Parallelprojektion
Definition 285Funktion parallel_project() 284
Projektionsmatrix, ZentralprojektionDefinition 276Funktion project() 273Funktion shift_project() 275Funktion shift() 274Herleitung 272
Punktbenutzerdefinierte Form und Größe 57Definition 744dreidimensionaler 744Glättung 58Ortsvektor 759
00___OpenGL.book Seite 839 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
840
Subtraktion 747Verschiebung 747zweidimensionaler 744
Punktrichtungsgleichungeiner Ebene 753einer Gerade 751, 769
Punktwolke 203Push Siehe Schreibzugriff
QQuadratische Einheit 305Quellfarbe 630
Rrand() 39Rasterposition 555, 560Rasterung von Polygonen 215Rasterzeile 216Räumliche Position eines Gegenstandes 184Rechteck, Nummerierung 389Rechts verlaufende Polygonseite 215Reflexion
diffuse 539spiegelnde 539
Rekursiv definierter Gegenstand 371Relation
Definition 765Definitionsbereich 766Hintereinanderausführung 765
rgb-Farbmodell 629Richtungsvektor 751Rotation
beliebige Achse, Herleitung 310erweiterte 188Herleitung 776x-Achse 157y-Achse 157z-Achse 158zusammengesetzte 156
Rotationsmatrixbeliebige Achse 313x-Achse 157y-Achse 158z-Achse 158
rows() 324Rückseite von Polygonen 222
Ssampler2D 726Satz des Pythagoras
für beliebige Dreiecke 782für rechtwinklige Dreiecke 748
Schaltung 28Schattenprojektion 705Scherung
Definition 291Implementierung 291
Schnitt, goldener 770, 790Schreibzugriff 73Schwarzweißbild 553
screen_interface 803screen_interface.open_window() 804Seamless Siehe VerträglichkeitShear Siehe Scherungshell 574shift_project() 275shift() 274Sicht- und Ausrichtungsmatrix 329Sichtbereich Siehe SichtfeldSichtfeld
dreidimensionales, beliebiges 142dreidimensionales, Parallelprojektion 283dreidimensionales, Sichtwinkel 135dreidimensionales, symmetrisches 142dreidimensionales, Zentralprojektion 132Einschränkung, algebraischer Ansatz 393Einschränkung, geometrischer Ansatz 399zweidimensionales 90
Sichtmatrix 334Sichtwinkel 135Signatur von Fehlermeldungen 75Sinusfläche
beliebig ausgerichtete 445Definition 444verallgemeinerte 451
SinusfunktionDefinition 771, 774
SkalarmultiplikationDefinition 748Eigenschaften 761
SkalarproduktAdditivität 755Definition 755Eigenschaften 755Euklidisches Siehe Standard-SkalarproduktHomogenität 755Positivität 755Standardformel 756, 782Symmetrie 755
Skalierungautomatisch auftretende Verschiebung 198beliebige 160Eigenschaften 159gleichmäßige 158, 178von Bildern 591
Skalierungsbedingte Verschiebung 198Sonnensystem 353Source Color Siehe QuellfarbeSpaltenmatrix 323Spaltenweise Anordnung von
Matrizenkomponenten 169Specular Exponent Siehe GlanzfaktorSpecular Reflection Siehe Spiegelnde ReflexionSpektrum 611Spiegelähnlichkeit 708Spiegelnde Reflexion 539Spiegelungsartefakt 685Sprite Siehe Spiegelähnlichkeitsrand() 56Stack Siehe StapelStandardkoordinate
dreidimensionale 333
00___OpenGL.book Seite 840 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
841
Standard-SkalarproduktDefinition 782Eigenschaften 756Herleitung 780
StapelAttributstapel 73Begriff 73Einsatzvorschrift 73Lesezugriff 73Matrixstapel 352Namenstapel 421Schreibzugriff 73Speicherkapazität 353
StatusberichtGLSL 517
SuffixARB 35b 32d 32EXT 34f 32i 32s 32ub 32ui 32us 32v 52
Summenzeichen 785Symmetrie 755
TTangensfunktion
Definition 773Tastaturabfrage
direkte 299ereignisbasierende 299praktische Durchführung 300, 301
Teilmenge 743Tesselator Siehe DarstellungsvorschriftTextausgabe 570Textur
Bewegung 690Einschränkungen 690globale Eigenschaften 674Grenzbereich 688Grenzfarbe 688Initialisierung 680Kennzahl 675Koordinatensystem 671lokale Eigenschaften 675, 725Parkettierung 685Rotation 693Texturkoordinaten 671Unschärfefilter 678Verschiebung 691Verträglichkeit 685Zweierpotenzen 690
Texture Unit Siehe Textureinheittexture2D() 726Textureinheit 730
TexturfärbungGrundidee 699paarweise Multiplikation 699praktischer Einsatz 701
TexturkoordinateDefinition 671direkte Interpolation 673perspektivische Interpolation 671Polygoneigenschaft 682Spezifikation 679Umwandlungsvorschriften 685Vertexeigenschaft 703
Texturmatrix 690, 732Texturname 675Texturparkettierung
Definition 685einfache 685GL_CLAMP 687GL_MIRRORED_REPEAT 686GL_REPEAT 685polygonübergreifende 703
TexturprojektionAktivierung 680Dateiformat .TG3 683Demonstration 680GLSL 725Initialisierung 674lineare 673Multitextureffekte 729Parkettierung 685perspektivische 671
Texturschattierung 701, 715Tiefe Objektkopie 563time() 56Transparenzbild 636Transparenzgrad 633Treppenstufeneffekt 86Triangulation 492trigonometrische Funktionen
Additionstheoreme 777Grundidee 771inverse 783
Trimetrische Perspektive 287
UÜberbelichtung 606Überlagerung von Sinusflächen 451Übersetzung der Quelltexte 795
allgemein 795C++ 798, 799Java 800JCreator LE 800Microsoft Visual C++ 6.0 798Microsoft Visual Studio 799
Umgebungslicht 539uniform
GLSL 522, 527Unschärfefilter 601Unterprogramm
GLSL 498Utility Library 79
00___OpenGL.book Seite 841 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512
Stichwortverzeichnis
842
Vvarying
GLSL 505vec*, GLSL-Datentypen 502vector 315Vektor
Addition 750, 760Betrag 747, 756Definition 747Länge 747, 756Nullvektor 749, 751, 760, 787Orthogonalität 757, 769Ortsvektor 759Richtungsvektor 751Schreibweise 747Skalarmultiplikation 748, 760Skalarprodukt 755
Vektor, winkelhalbierender 541Vektoraddition
Assoziativität 760Definition 750Eigenschaften 760inverses Element 760Kommutativität 760neutrales Element 760
Verallgemeinerte Sinusfläche 451Verarbeitungsprozess
geometrischer 271, 280Vergrößerungsartefakt 678Verhältnis
Begriff 93Verhältnisgleichung 94Verkleinerungsartefakt 678Verschiebung
Definition 154skalierungsbedingte 198
Verschiebungsmatrix 156vertex
im Dreidimensionalen 140im Zweidimensionalen 52
Vertex Shading Siehe VertexschattierungVertexprozessor 498Vertexschattierung
GLSL 498Software 481
Vertex-Unterprogramm, einfaches 530Vertikale Auflösung 38Verträglichkeit von Texturen 685Verzerrungsartefakt 673Videospeicher 35Vierdimensionale homogene Würfelkoordinaten 280Viewport Matrix Siehe FenstermatrixViewport Siehe DarstellungsfensterViewport Transformation Siehe FensterskalierungVorderseite von Polygonen 222
WWarping Effect Siehe VerzerrungsartefaktWasseroberfläche
Drahtgittermodell 444Weiterführende Literatur 829Weltkoordinate
dreidimensionale 280, 333Wertübermittlung
GLSL-Unterprogramm 522Wiederholungsanweisung 47Window Coordinates Siehe Zweidimensionale Bild-
schirmkoordinatenWindow Handle Siehe HandleWinkel
Bogenmaß 779Grad 779
Winkelhalbierender Vektor 541Würfelkoordinaten
dreidimensionale 280vierdimensionale homogene 280
Xx_res 803x_res Siehe Horizontale Auflösung
Yy_res 803y_res Siehe Vertikale Auflösung
ZZ-Buffer Algorithm Siehe Z-Speicher-AlgorithmusZeichensatz 566Zeilenmatrix 323Zentralprojektion
Fluchtpunktperspektive 289Grundgleichungen 134Grundidee 131Herleitung 133praktischer Einsatz 140
Z-Speicher-Algorithmusbenutzerdefinierte Einstellungen 265Beschreibung 257Darstellung von Linien 261Erkennung abgewandter Polygone 263Interpolation von Kehrwerten 260mathematische Grundlagen 259praktischer Einsatz 261
Zufallszahlbeliebige 39Initialisierung 56innerhalb benutzerdefinierter Grenzen 44, 63
Zugvon Linien 83
Zustandglobaler 71, 73
Zweidimensionale Bildschirmkoordinaten 280Zweierpotenz 690
00___OpenGL.book Seite 842 Montag, 12. Juli 2010 8:45 20
© des Titels »3D-Grafik mit OpenGL« (ISBN 978-3-8266-5512-8) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5512