Sie sind hier
E-Book

Computergrafik und OpenGL

AutorDieter Orlamünder, Wilfried Mascolus
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2004
Seitenanzahl319 Seiten
ISBN9783446400726
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis24,90 EUR
Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und Beleuchtung sowie Texturen vor.

Anschließend wird die Theorie jeweils mit der unter Windows verfügbaren Grafik-Bibliothek OpenGL in Beispielen, Übungen und zugeordneten Projekten praktisch umgesetzt.

Dafür bieten die Autoren unter der Software-Entwicklungsumgebung Delphi einen Prototyp an. Die Beispiele, Übungen und Projekte sind so allgemein angelegt, dass sie an spezielle Problemstellungen angepasst werden können.

Die zu diesem Buch entwickelten Beispielprojekte und Lösungen zu den Übungsaufgaben sind über eine Website verfügbar und bilden so die Basis für individuelle Grafikentwicklungen. Das Buch ist auch für Einsteiger geeignet und baut auf den Vorkenntnissen in Mathematik und Informatik der 10. Klasse auf.

Die Autoren

Prof. em. Dr. habil. Orlamünder lehrte Computergrafik und Informatik an der TU Dresden.

Dr. Mascolus ist wissenschaftlicher Mitarbeiter der TU Dresden, betreut Übungen und Praktika zur Computergrafik und hält eigene Vorlesungen. 

Kaufen Sie hier:

Horizontale Tabs

Kapitelübersicht
  1. Vorwort und Inhaltsverzeichnis
  2. 1 Einführung
  3. 2 Grafische Bibliothek OpenGL
  4. 3 Rastergrafik-Algorithmen
  5. 4 Modellierung
  6. 5 Transformationen und Projektionen
  7. 6 Sichtbarkeit
  8. 7 Beleuchtung und Schattierung
  9. 8 Texturen
  10. 9 Transparenz
  11. 10 Interaktion
  12. Literatur
  13. Sachwortverzeichnis
Leseprobe
2 Grafische Bibliothek OpenGL (S. 12-13)

2.1 Konzepte und Entwurfsziele

OpenGL (Open Graphics Library) ist eine Softwareschnittstelle (Interface) zu grafikfähiger Hardware. Die Entwicklung von OpenGL wird durch ein Architecture Review Board (ARB) gesteuert und berwacht. Diesem Gremium gehüren die bedeutenden Hard- und Softwarehersteller Silicon Graphics, IBM, Hewlett Packard, SUN und Microsoft sowie weitere an. Standardliteratur zu OpenGL sind [KemFra00] und [WoNeDa00]. Zweck von OpenGL ist die Unterstützung der Darstellung von zwei- und dreidimensionalen grafischen Objekten mittels eines oder mehrerer Bildspeicher und anwendungsspezifisch weiterer spezieller Speicher.

Die grafischen Objekte werden entweder durch Raumpunkte (Vertices) beschrieben oder sie bestehen aus digitalisierten Bildern (Images, Bitmaps, Pixelmaps) in Form rechteckiger Pixelfelder. Das Interface enthält zu diesem Zweck einen umfangreichen Satz Prozeduren, Funktionen und Statusinformationen. Neben der Standardbibliothek OpenGL mit den wgl-Routinen gibt es die den Funktionsumfang bzw. den Nutzungskomfort erweiternden Bibliotheken GLU (Graphics Library Utility) und GLUT (Graphics Library Utility Tools). OpenGL basiert auf den anschließend näher beschriebenen Konzepten

• Sprachunabhangigkeit,
• Hardwareorientierung,
• einbettendes Windows-System,
• Client-Server-Architektur und Netzwerkfähigkeit,
• Zustandsautomat.

Sprachunabhängigkeit heißt, OpenGL definiert seine grafische Funktionalität unabhängig von einer existierenden Programmiersprache. Das erfordert aber andererseits, dass für jede reale Sprache eine spezielle Einbindung erfolgen muss. So gibt es beispielsweise für Object Pascal oder Visual C++ zu diesem Zweck die speziellen Bibliotheken opengl32.dll und opengl32.lib. Hardwareorientierung ist im Wesentlichen einerseits dadurch charakterisiert, dass OpenGL hohe Anforderung bezüglich verschiedener Buffer (Speicherblöcke) stellt.

Im Grenzfall sind das bis zu vier Frame Buffer (Bildspeicher) für die Bilddarstellung, der Depth Buffer (Tiefenspeicher) für Sichtbarkeitsentscheidungen, der Stencil Buffer (Maskenspeicher) für die Maskierung von Speicherbereichen, der Accumulation Buffer (Akkumulationsspeicher)", 4> für den akkumulativen Bildaufbau und zusätzlicher Auxiliary Buffer (Hilfsspeicher) für Spezialaufgaben. Als Mindestanforderung mssen für jede OpenGL-Implementierung ein Bildspeicher sowie der Depth, Stencil und Accumulation Buffer im Echtfarbmodus vorhanden sein. Ein Großteil dieser Anforderungen wird heute durch Grafikkarten unterstützt bzw. übernommen. Zur Hardwareorientierung zählen andererseits auch die vielen so genannten Fragmentoperationen. Fragmente sind Pixeldaten, bestehend aus deren Adresse, Farbe, Tiefe und den zugeordneten Texturkoordinaten.

Diese durchlaufen im Modell des OpenGL-Automaten verschiedene Stationen, an denen statusgesteuert bestimmte einfache Operationen durchgeführt werden. Diese Abfolge von Tests und Berechnungen kann gut und effizient in Hardware umgesetzt werden. Einbettendes Windows-System ist das Synonym dafür, dass im Gegensatz zu anderen grafischen Schnittstellen für OpenGL der Ansatz verfolgt wird, unabhängig vom Betriebssystem bzw. einer umgebenden grafischen Benutzeroberfläche zu bleiben. Dies führt dazu, dass für jedes umgebende System zumindest eine Minimalanpassung in Form einer gesonderten Bibliothek notwendig ist. Beispielsweise wird für die Benutzung unter Windows die Bibliothek WGL (Windows Graphics Library) benötigt, die jedoch inzwischen integraler Bestandteil von OpenGL ist.

Durch diese Entscheidung gewinnt OpenGL an Portabilität. Allerdings muss ein solches umgebendes System existieren, um bestimmte Aufgaben, wie beispielsweise Eingaben mit der Maus oder Tastatur, zu bernehmen. Das Fenstersystem von Windows verbindet seinen Gerätekontext (Device Context, DC) mit dem für OpenGL erforderlichen so genannten Darstellungs- oder Renderkontext (Rendering Context, RC).

Das hat folgende Konsequenzen:

• Das Fenstersystem erzeugt die korrekte Verbindung seines Gerätekontexts DC mit dem Renderkontext RC von OpenGL (Server) und seiner Anwendung (Client).

• Das Fenstersystem stellt die benötigten Buffer, also mindestens einen Bildspeicher, den Depth Buffer, den Stencil Buffer und den Accumulation Buffer, bereit und organisiert die Darstellung des Inhaltes der Bildspeicher auf dem Bildschirm.

• Das Fenstersystem bernimmt die Verarbeitung von Eingaben, da OpenGL dafr keine Möglichkeit besitzt.

Client-Server-Architektur und Netzwerkfähigkeit charakterisiert ein Konzept, welches darauf basiert, dass die Anwendung, der Kunde (Client), seine Befehle an OpenGL, den Bediener (Server), sendet, der diese Befehle interpretiert und ausführt. Dabei müssen Client und Server nicht auf einem Rechner arbeiten, sondern können ber ein Netzwerk miteinander kommunizieren. Die Verbindung zwischen der Anwendung und OpenGL wird dabei durch das Fenstersystem organisiert.

Außerdem kann ein OpenGL-Server durchaus mehrere Kunden bedienen. Voraussetzung für die Funktionsfähigkeit dieses Konzeptes ist aber auch, dass Befehle exakt in der Reihenfolge ihres Aufrufes abgearbeitet werden, selbst wenn es Verzögerungen in deren Ausführung geben kann. Das bedeutet insbesondere, dass Statusabfragen konsistent den tatsächlichen Status von OpenGL nach Ausführung aller zeitlich vorher liegenden Befehle zurückgeben und dass grafische Primitive vollständig dargestellt werden, bevor weitere Aufrufe ausgeführt werden. Ein Zustandsautomat ist ein Modell der Informationsverarbeitung, das auf einem internen Zustand des Systems basiert.

Er interpretiert Eingaben, verändert dann den internen Zustand entsprechend und erzeugt Ausgaben. Auf OpenGL bezogen bedeutet das, Eingaben werden abhängig vom aktuellen Zustand in den Bildspeicher geschrieben und damit ausgegeben. Der interne Zustand des OpenGL-Automaten wird auch als Status bezeichnet und bestimmt den Modus der Darstellung.

Er kann durch weitere Befehle ohne direkte Auswirkung auf die Ausgabe verändert werden. Der OpenGL-Zustand besteht aus einer Vielzahl von Variablen in speziellen Funktionsgruppen. Er enthält unter anderem implementationsabhängige Größen, wie die Tiefe des Bildspeichers in Bit, aktuelle Attributwerte, wie die voreingestellte Farbe, sowie Angaben zum Darstellungsmodus, die beispielsweise Transformationen, Beleuchtung oder das Antialiasing steuern.
Inhaltsverzeichnis
Vorwort6
Inhaltsverzeichnis8
1 Einführung12
2 Grafische Bibliothek OpenGL14
2.1 Konzepte und Entwurfsziele14
2.2 Modell und Architektur16
2.3 Konventionen, Konstanten, Typen, Routinen19
2.4 OpenGL und Windows20
2.5 Spezielle Inhalte der Unit GLToolsDelphi32
2.6 Erfragefunktionen34
2.7 Übungen36
3 Rastergrafik-Algorithmen37
3.1 Rastern von Punkten, Linien, Kurven und Polygonen37
3.1.1 Rastern von Punkten38
3.1.2 Rastern von Linien und Kurven39
3.1.3 Rastern von Polygonen44
3.1.4 OpenGL-Routinen50
3.2 Clipping52
3.2.1 Clippen von Linien an Rechtecken nach Cohen-Sutherland53
3.2.2 Clippen von Linien an Polygonen nach Liang-Barsky55
3.2.3 Clippen von Polygonen nach Sutherland-Hodgman57
3.2.4 Clippen an beliebigen Clipping-Bereichen58
3.2.5 Clippen an einem Sichtvolumen62
3.2.6 OpenGL-Routinen62
3.3 Farbmodelle, Halbtonverfahren64
3.3.1 Grundlagen64
3.3.2 CIE-Standard68
3.3.3 Farbmodelle72
3.3.4 Farbdarstellung, Farboperationen74
3.3.5 Halbtonverfahren78
3.3.6 OpenGL-Routinen78
3.4 Antialiasing79
3.4.1 Vorbemerkungen79
3.4.2 Antialiasing mit modifiziertem Grundalgorithmus80
3.4.3 Filtermethode81
3.4.4 Supersampling-Methode82
3.4.5 OpenGL-Routinen84
3.5 Übungen86
4 Modellierung88
4.1 Vorbemerkung88
4.2 Kurven91
4.2.1 Bézier-Kurven97
4.2.2 B-Spline-Kurven102
4.2.3 NURBS-Kurven108
4.2.4 Kubische Splines und allgemeine Kurven112
4.2.5 OpenGL-Routinen118
4.3 Flächen122
4.3.1 Bézier-Flächen123
4.3.2 B-Spline-Flächen127
4.3.3 NURBS-Flächen128
4.3.4 Allgemeine Flächen129
4.3.5 OpenGL-Routinen142
4.4 Körper146
4.4.1 Drahtmodell147
4.4.2 Oberflächenmodell, Boundary Representation147
4.4.3 Volumenmodell158
4.4.4 OpenGL-Routinen162
4.5 Spezielle Modelle164
4.5.1 Partikelsysteme164
4.5.2 Fraktale Systeme168
4.5.3 Soft Objects, Blobby Models176
4.6 Display-Listen, Vertex-Arrays und Clip Planes177
4.6.1 Display-Listen177
4.6.2 Vertex-Arrays180
4.6.3 Clip Planes183
4.6.4 OpenGL-Routinen185
4.7 Übungen188
5 Transformationen und Projektionen189
5.1 Einführung189
5.2 Modelltransformation190
5.3 Ansichtstransformation199
5.4 Perspektivische Transformation203
5.5 Orthogonale Transformation207
5.6 Clippen am kanonischen Sichtvolumen209
5.6.1 Clippen von Punkten210
5.6.3 Clippen von konvexen Polygonen214
5.7 Perspektivische Division215
5.8 Projektionen215
5.8.1 Perspektivprojektion216
5.8.2 Parallelprojektion217
5.9 Viewporttransformation218
5.10 Hierarchische Transformationen219
5.11 Nicht lineare Transformation222
5.12 OpenGL-Routinen226
5.13 Übungen228
6 Sichtbarkeit230
6.1 Vorbemerkungen, Klassifizierung230
6.2 z-Buffer-Algorithmus232
6.3 Historische Sichtbarkeitsverfahren (Kurzüberblick)234
6.4 Culling236
6.5 EXACT-Algorithmus237
6.6 OpenGL-Routinen241
6.7 Übungen243
7 Beleuchtung und Schattierung244
7.1 Einführung244
7.2 Beleuchtungsmodelle244
7.2.1 Lichtquellenmodelle244
7.2.2 Materialeigenschaften245
7.2.3 Elementare Beleuchtungsmodelle246
7.2.4 Lokale Beleuchtungsmodelle250
7.2.5 Globale Beleuchtungsmodelle253
7.3 Schattierungsmodelle253
7.3.1 Vorbemerkungen253
7.3.2 Inkrementelle Berechnung254
7.3.3 Ray Tracing (Überblick)258
7.3.4 Radiosity (Überblick)260
7.4 OpenGL-Routinen264
7.5 Übungen267
8 Texturen268
8.1 Einführung268
8.2 Prozedurale und diskrete 2D-Texturen268
8.3 Mapping-Verfahren271
8.4 Antialiasing bei Texturen281
8.5 Texturen und Beleuchtungsrechnung283
8.6 Simulation mit Texturen284
8.7 OpenGL-Routinen285
8.8 Übungen290
9 Transparenz291
9.1 Transparenzmodelle291
9.2 OpenGL-Routinen296
9.3 Übungen297
10 Interaktion298
10.1 Einführung298
10.2 Selektion und Rückkopplung298
10.3 OpenGL-Routinen307
10.4 Übungen310
Literatur311
Sachwortverzeichnis314

Weitere E-Books zum Thema: Software - Betriebssysteme - Anwenderprogramme

WordPress

E-Book WordPress
Einführung in das Content Management System Format: PDF

Das Buch beinhaltet das nötige Wissen für einen sicheren Umgang mit dem beliebten CMS (Content Management System): von der WordPress-Installation samt den notwendigen Voraussetzungen und dem…

111 Thesen zur erfolgreichen Softwareentwicklung

E-Book 111 Thesen zur erfolgreichen Softwareentwicklung
Argumente und Entscheidungshilfen für Manager. Konzepte und Anleitungen für Praktiker Format: PDF

Ziel dieses Buches ist es, Managern Argumente und Entscheidungshilfen für die Einführung effizienter Techniken der Softwareentwi- lung zu geben, und Praktiker von der Notwendigkeit effizienter…

Erfolgsfaktor Unternehmenssteuerung

E-Book Erfolgsfaktor Unternehmenssteuerung
Kennzahlen, Instrumente, Praxistipps Format: PDF

Als sich in den Jahren 2000/2001 die Boomphase in der Druck- und Medienindustrie abschwächte, standen viele erfolgsverwöhnte - ternehmen der Branche dem daraus resultierenden wirtschaftlichen Druck…

Statistik für Ökonomen

E-Book Statistik für Ökonomen
Datenanalyse mit R und SPSS Format: PDF

Die Autoren erläutern in einer anschaulichen, anwendungsorientierten und kompakten Darstellung alle elementaren statistischen Verfahren, die in der Ökonomie angewendet werden - ergänzt durch…

Kennzahlen in der IT

E-Book Kennzahlen in der IT
Werkzeuge für Controlling und Management Format: PDF

Dieses Buch entwirft ein zeitgemäßes Kennzahlenverständnis für den IT-Bereich. Vor dem Hintergrund der Balanced Scorecard werden die Ansätze in verschiedenen Teilbereichen sowie unterschiedliche…

Industrie 4.0

E-Book Industrie 4.0
Beherrschung der industriellen Komplexität mit SysLM Format: PDF

Die nächste Stufe der industriellen Entwicklung, Industrie 4.0, erfordert die Beherrschung multidisziplinärer Entwicklung und Produktion komplexer, intelligenter Systeme. Unsere Industrie ist darauf…

Steuerung in Dienstleistungsnetzwerken

E-Book Steuerung in Dienstleistungsnetzwerken
Ein Ansatz für ein integriertes Qualitätsinformationssystem - Advances in Information Systems and Business Engineering  Format: PDF

?Die Sicherung und Verbesserung der Qualität stellt einen wesentlichen Erfolgsfaktor für Dienstleistungsnetzwerke dar. Dabei ist die Berücksichtigung der Zusammenhänge und Wechselwirkungen von…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

caritas

caritas

mitteilungen für die Erzdiözese FreiburgUm Kindern aus armen Familien gute Perspektiven für eine eigenständige Lebensführung zu ermöglichen, muss die Kinderarmut in Deutschland nachhaltig ...

Correo

Correo

 La Revista de Bayer CropScience para la Agricultura ModernaPflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und am Thema Interessierten mit umfassender ...

Die Versicherungspraxis

Die Versicherungspraxis

Behandlung versicherungsrelevanter Themen. Erfahren Sie mehr über den DVS. Der DVS Deutscher Versicherungs-Schutzverband e.V, Bonn, ist der Interessenvertreter der versicherungsnehmenden Wirtschaft. ...

IT-BUSINESS

IT-BUSINESS

IT-BUSINESS ist seit mehr als 25 Jahren die Fachzeitschrift für den IT-Markt Sie liefert 2-wöchentlich fundiert recherchierte Themen, praxisbezogene Fallstudien, aktuelle Hintergrundberichte aus ...

EineWelt

EineWelt

Weltweit und ökumenisch – Lesen Sie, was Mensch in Mission und Kirche bewegt. Man kann die Welt von heute nicht verstehen, wenn man die Rolle der Religionen außer Acht lässt. Viele Konflikte ...