Grundlagen der 3D-Programmierung
Open Source Press (Verlag)
9783941841758 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Dieses Buch vermittelt Einsteigern und fortgeschrittenen Anfängern ausführlich das notwendige Basiswissen: Neben den mathematischen Grundlagen lernen Sie die Praxis anhand der plattformunabhängigen OpenGL-Spezifikation kennen. Die Beispiele, hier in Java implementiert, sind leicht auf andere Sprachen wie C++, aber auch Runtime-Umgebungen wie Android übertragbar. Nach der Lektüre sind Sie in der Lage, eigene Projekte mit OpenGL zu realisieren, basierend auf VBOs für die Datenübergabe und der Shader-Programmierung.
Eine umfassend kommentierte Referenz der im Buch verwendeten OpenGL-Funktionen rundet die Darstellung ab und empfiehlt das Buch für die Praxis wie auch für das Studium.
Gerhard Virag ist ein erfahrener Softwareingenieur, der in diesem Buch seiner Passion für die Computergrafik Gestalt gegeben hat. Er lebt und arbeitet als freiberuflicher IT-Consultant in München.
Über dieses Buch
1 Einführung
1.1 Programmbeispiele
1.2 Warum Java und OpenGL?
1.3 Warum nicht Java 3D?
1.4 Was macht OpenGL eigentlich?
1.4.1 Die Rendering Pipeline
1.4.2 Die Geometrie-Pipeline
1.4.3 Rasterung
1.4.4 Fragmentverarbeitung und Framebuffer
1.4.5 Shader
1.4.6 Was ist OpenGL nicht?
2 Der dreidimensionale Raum
2.1 Einführung
2.2 Transformationen
2.2.1 Translationen
2.2.2 Skalierungen
2.2.3 Kompositionen
2.2.4 Scherungen
2.2.5 Perspektivische Projektion
2.2.6 Rotationen
2.2.7 Drehungen an Ort und Stelle
2.2.8 Objekteigene Koordinatensysteme
2.2.9 Rotation um eine beliebige Achse
2.3 Projektionen
2.3.1 Projektionsarten
2.3.2 Darstellungsbereiche
2.3.3 Tiefenpuffer
2.3.4 Parallele Projektionen
2.3.5 Perspektivische Projektionen
2.4 Koordinatensysteme der Rendering-Pipeline
2.5 Projektionsklassen
2.5.1 Viewport-Transformation
2.5.2 Projektionsmatrizen
2.5.3 Multiviewport – Orthogonal
2.5.4 Multiviewport – Perspektive
2.6 Beobachter
2.6.1 Das Auge
2.6.2 Standort
2.6.3 Die Blickrichtung
2.6.4 Die Orientierung
2.6.5 Die Frustum-Flächen
2.6.6 Interaktive Projektion
2.7 Zusammenfassung
3 Der vernetzte Raum
3.1 Graphen
3.1.1 Einführung
3.1.2 Graphen und Relationen
3.2 Meshes
3.2.1 Einführung
3.2.2 Repräsentation und Navigation
3.2.3 Halfedges
3.2.4 Zusammenfassung
4 Objekte
4.1 Objekte an OpenGL übergeben
4.1.1 Vertex-Datenpuffer
4.1.2 Mapping und Meshdaten
4.1.3 Shader und generische Attribute
4.1.4 Framework mit generischen Attributen
4.1.5 Zusammenfassung
4.2 Objekte erzeugen
4.3 Externe Objekte
4.3.1 Dateiformate
4.3.2 Objekte einlesen
4.4 Kollisionen
4.4.1 Grenzflächen
4.4.2 Grenzvolumen
4.4.3 Von allen Seiten attackiert
4.5 Gitter und Raumteiler
4.6 Picking
4.6.1 Picking mit OpenGL
4.6.2 Picking Pipeline
4.6.3 Picking: Beispiel
4.7 Zusammenfassung
5 Licht und Farbe
5.1 Farbe
5.1.1 Farbmodelle
5.1.2 Farbpuffer
5.1.3 Nebel
5.2 Licht
5.3 Lichtquellen, Materialien
5.3.1 Umgebungslicht
5.3.2 Diffuses Licht
5.3.3 Spotlicht
5.3.4 Ausgedehnte Lichtquellen
5.3.5 Dunkelquellen
5.3.6 Lichtmodelle
5.4 Programmbeispiel
5.4.1 Quellcode
5.5 Zusammenfassung
6 Images, Texturen und Text
6.1 Images
6.1.1 Grundbegriffe
6.1.2 Vom Sample zum Image
6.1.3 Images und Image-Dateien
6.1.4 Images manipulieren und analysieren
6.1.5 Images laden und speichern
6.1.6 BufferedImage
6.2 Texturen
6.2.1 Texturarten
6.2.2 Texture Images
6.2.3 Texture Mapping
6.2.4 Mipmapping
6.2.5 Texturen als Datenquelle bei Shadern
6.2.6 Beispielprogramm 2D-Texturen
6.2.7 Beispielprogramm 1D-Texturen
6.3 Text und Fonts
6.4 Zusammenfassung
7 Mathematische Grundlagen
7.1 Mengen und Gruppen
7.1.1 Algebraische Struktur
7.1.2 Funktion A nach B
7.1.3 Mengen
7.1.4 Kombinationen, Permutationen, Tupel
7.1.5 Gruppen
7.2 Zahlen
7.2.1 Binäre Darstellung einer Zahl
7.2.2 Gleitkommazahlen
7.2.3 IEEE 754
7.2.4 Hinweise
7.3 Matrizen
7.3.1 Darstellung
7.3.2 Rechnen mit Matrizen
7.3.3 Inverse Matrix
7.3.4 Verfahren zur Matrixinvertierung
7.4 Vektoren
7.4.1 Einheitsvektor, Betrag eines Vektors
7.4.2 Vorstoß in die vierte Dimension
7.4.3 Vektoren und Matrizen
7.4.4 Normale und Matrizen
7.4.5 Skalares Produkt zweier Vektoren
7.4.6 Längen- und Winkelmessung
7.4.7 Gram-Schmidt-Verfahren
7.4.8 Gerade im Raum
7.4.9 Vektorprodukt in 3D
7.4.10 Mehrfachprodukte
7.4.11 Flächenberechnung
7.4.12 Ebenen im Raum
7.5 Baryzentrische Koordinaten
7.6 Basiswechsel
7.7 Drehungen und Winkel
7.7.1 Richtungskosinus
7.7.2 Kugelkoordinaten
7.7.3 Rotationsmatrizen
7.7.4 Ausrichtung eines Koordinatensystems
7.7.5 Bezugssystem und objekteigenes System
7.7.6 Cardan-Winkelsystem
7.7.7 Andere Winkelsysteme
7.7.8 Euler-Winkelsystem
7.7.9 Gimbal Lock
7.8 Quaternionen
7.8.1 Alternative schnelle Berechnung
7.8.2 Rechenregeln für Quaternionen 529
7.8.3 Drehungen und Interpolation mit Quaternionen
7.8.4 Von der Matrix zum Quaternion
7.9 Zusammenfassung
8 Programmierung
8.1 Shader
8.2 Mathematikbibliothek
8.2.1 Grundklassen
8.2.2 Datenhaltung
8.2.3 Point
8.2.4 Vector
8.2.5 Line
8.2.6 Plane
8.2.7 Matrix und Transformationsklasse
8.2.8 Klassenübersicht
8.3 Java 581
8.3.1 Puffer in Java
8.3.2 Die Object-Klasse und 3D-Grafiksoftware
8.3.3 Zufallszahlen mit Java
8.3.4 Programme beschleunigen
8.3.5 Bindung an OpenGL
8.3.6 Programmierumgebung einrichten
8.3.7 Verzeichnisstrukur
8.3.8 Programmliste
8.3.9 Nützliche Hilfsklassen
9 OpenGL-Funktionen
9.1 Versionsübersicht
9.2 Typ- und Formatangaben
9.3 Funktionsliste
9.4 Shaderprogrammierung
9.4.1 Vordefinierte Variablen
9.4.2 Qualifizierer
9.4.3 Shaderfunktionen
9.4.4 Ableitungen berechnen im Fragmentshader
Anhang
A Notationshinweise und Formeln
A.1 Notationen
A.2 Formeln trigonometrischer Funktionen
A.2.1 Summen und Differenzen
A.2.2 Produkte
A.2.3 Doppelte und halbe Winkel
A.3 Griechische Buchstaben
| Erscheint lt. Verlag | 30.8.2012 |
|---|---|
| Reihe/Serie | professional reference |
| Sprache | deutsch |
| Maße | 176 x 240 mm |
| Gewicht | 1265 g |
| Einbandart | Paperback |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Schlagworte | 3D • 3D-Grafik • 3D-Programmierung • Android • C++ • Computergrafik • Java • OpenGL • Shader-Programmierung |
| ISBN-13 | 9783941841758 / 9783941841758 |
| Zustand | Neuware |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
aus dem Bereich