Sie sind hier
E-Book

Shader mit GLSL: Eine Einführung in die OpenGL Shading Language

AutorHeiko Ihde
VerlagDiplomica Verlag GmbH
Erscheinungsjahr2009
Seitenanzahl160 Seiten
ISBN9783836629270
FormatPDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis34,99 EUR
Seit es Computergrafik gibt, wird kontinuierlich versucht die Qualität der Darstellung bis hin zum absoluten Realismus zu steigern. Die Shader sind dabei ein wichtiges Hilfsmittel um realistischer scheinende Materialien in der Computergrafik zu erzeugen. Shader bieten dem Grafik-Programmierer eine vorher unerreichte Flexibilität. Die vorher starren Vorgaben der Grafikprozessoren können nun individuell an die eigenen Bedürfnisse angepasst werden.

Dieses Buch bietet einen schnellen Einstieg in die Highlevel Shading Sprachen. Anhand von Beispiel-Shadern in der OpenGL Shading Language (GLSL) werden die Grundsätze erklärt. Verschiedene Ansätze werden erläutert und mögliche Fehlerquellen werden aufgedeckt. Die Einbindung der entwickelten Shader in eigene OpenGL-Anwendungen wird geklärt.Zusätzlich wird eine Einführung in Textur-Erstellung und 3D-Modeling gegeben.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
Kapitel 4.3.6, Die Shader in GLSLDemo einbinden: Wer ohne den aufwändigen Weg über ein eigenes OpenGL Programm Shader schreiben und ausprobieren möchte, der kann diese auch in ein bestehendes Programm wie z.B. GLSLDemo von der Seite www.3dshaders.com einbinden. Nach der Installation von GLSLDemo sollten im Ordner des Programms die Ordner bin, shaders und textures vorhanden sein. Starten wir das Programm mit glsldemo.exe im Ordner bin müsste das Programm wie in der Abbildung aussehen. In der Seitenleiste sind bereits einige Shaderbeispiele vorhanden. Im Menü View/Uniform adjuster (oder über Tastatureingabe Alt+U) können wir ein Bedienfeld öffnen. Darin werden Schieberegler für die im Shader definierten uniform Variablen angezeigt. Mit diesen Reglern können wir die Werte der Variablen ändern. Hat die Änderung des Wertes ein visuelles Feedback zur Folge, können wir es im 3Dbereich der Anwendung sofort sehen.
Blick ins Buch
Inhaltsverzeichnis
1 Einleitung7
1.1 Begriffliche Voraussetzungen7
1.1.1 Shader8
1.1.2 Shader Objekt9
1.1.3 Shader Programm9
1.1.4 Fixed Functionality9
1.1.5 Vertex10
1.1.6 Edge11
1.1.7 Face11
1.1.8 Fragment11
1.1.9 Vertex Shader12
1.1.10 Geometry Shader12
1.1.11 Fragment Shader12
1.1.12 Object-Space13
1.1.13 Eye-Space14
1.1.14 Diffusemap / Colormap15
1.1.15 Alphamap / Transparencymap15
1.1.16 Bumpmap15
1.1.17 Heightmap / Displacementmap15
1.1.18 Normalmap16
1.1.19 Specularitymap / Reflectivitymap16
1.1.20 Luminositymap17
1.1.21 Environmentmap / Reflectionmap17
2 Gründe für Shader mit GLSL18
2.1 Über Shader18
2.2 Die Shadertypen18
2.3 Die High Level Shading Languages19
2.3.1 HLSL20
2.3.2 Cg21
2.3.3 GLSL22
3 Shader in OpenGL24
3.1 Die OpenGL Shading Language24
3.1.1 Unterschiede zwischen Vertex und Fragment Shader25
3.1.2 Unterschiede zu C/++25
3.1.3 Typecasting und Konstruktoren26
3.1.4 Neue Datentypen26
3.1.5 Zugriff auf Vektor-Komponenten27
3.1.6 Die attribute, uniform und varying Qualifiers27
3.2 Die OpenGL Shading Language API28
4 Vier Schritte zum eigenen Shader31
4.1 Die Objekte vorbereiten31
4.1.1 Vorbereiten in Blender31
4.1.2 Vorbereiten in OpenGL36
4.2 Die Texturen vorbereiten39
4.2.1 Diffusemap41
4.2.2 Alphamap47
4.2.3 Bumpmap50
4.2.4 Normalmap52
4.2.5 Huemap54
4.2.6 Lightnessmap / Brightnessmap59
4.2.7 Environmentmap60
4.2.8 Kanten entfernen66
4.2.9 CrazyBump67
4.3 Die Shader einbinden69
4.3.1 Shader erstellen und kompilieren70
4.3.2 Shader verwenden73
4.3.3 Werte übergeben74
4.3.4 Texturen übergeben75
4.3.5 Das Resultat77
4.3.6 Die Shader in GLSLDemo einbinden78
4.4 Die Shader programmieren81
4.4.1 Farbe82
4.4.2 Fragmente verwerfen84
4.4.3 Direktionales Licht85
4.4.4 Punktlicht90
4.4.5 Drei Punktlichter92
4.4.6 Drei Punktlichter (optimiert)94
4.4.7 Glanz97
4.4.8 Prozedurale Textur 2D100
4.4.9 Prozedurale Textur 3D104
4.4.10 Selektiv Fragmente verwerfen106
4.4.11 Prozedurale Textur 3D (optimiert)109
4.4.12 Einbinden von Textur-Maps114
4.4.13 Nebel116
4.4.14 Simulation der Fixed Functionality mit ShaderGen119
4.4.15 Mehrfarb-Lack120
4.4.16 Hue-Shifter122
4.4.17 Displacement127
4.4.18 Displacement Wasser130
5 Fazit und Aussicht134
6 Anhang 1: Literaturverzeichnis135
7 Anhang 2: Verwendete Software137
7.1 Programmierung137
7.2 Grafik137
7.3 Sonstiges138
8 Anhang 4: GLSL Kurz-Referenz139
8.1 Data types139
8.2 Data type qualifiers140
8.2.1 Global variable declarations140
8.2.2 Function parameters141
8.3 Vector components141
8.4 Preprocessor142
8.5 Vertex shader variables142
8.5.1 Special Output Variables142
8.5.2 Special input variables143
8.5.3 Varying outputs143
8.5.4 Attribute inputs143
8.6 Fragment shader variables143
8.6.1 Special Output Variables143
8.6.2 Special input variables144
8.6.3 Varying inputs144
8.7 Built-in constants144
8.8 Built-in uniforms144
8.9 Built-in functions147
8.9.1 Angle and Trigonometry Functions147
8.9.2 Exponential Functions148
8.9.3 Common Functions148
8.9.4 Geometric Functions149
8.9.5 Matrix Functions150
8.9.6 Vector Relational Functions150
8.9.7 Texture Lookup Functions151
8.9.8 Texture Lookup Functions with LOD156
8.9.9 Fragment Processing Functions158
8.9.10 Noise Functions158
9 Stichwortverzeichnis159

Weitere E-Books zum Thema: Web-Programmierung - Web-Applikationen

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

JAXB 2.0

E-Book JAXB 2.0
Ein Programmiertutorial für die Java Architecture for XML Binding Format: PDF

XML hat sich als universelles Format zur Speicherung und Verarbeitung von Daten etabliert. Zusammen mit Java ergibt sich eine Paarung mit einem großen Vorteil für die Datenverarbeitung -…

JAXB 2.0

E-Book JAXB 2.0
Ein Programmiertutorial für die Java Architecture for XML Binding Format: PDF

XML hat sich als universelles Format zur Speicherung und Verarbeitung von Daten etabliert. Zusammen mit Java ergibt sich eine Paarung mit einem großen Vorteil für die Datenverarbeitung -…

JAXB 2.0

E-Book JAXB 2.0
Ein Programmiertutorial für die Java Architecture for XML Binding Format: PDF

XML hat sich als universelles Format zur Speicherung und Verarbeitung von Daten etabliert. Zusammen mit Java ergibt sich eine Paarung mit einem großen Vorteil für die Datenverarbeitung -…

JAXB 2.0

E-Book JAXB 2.0
Ein Programmiertutorial für die Java Architecture for XML Binding Format: PDF

XML hat sich als universelles Format zur Speicherung und Verarbeitung von Daten etabliert. Zusammen mit Java ergibt sich eine Paarung mit einem großen Vorteil für die Datenverarbeitung -…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

aufstieg

aufstieg

Zeitschrift der NaturFreunde in Württemberg Die Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur ...

Berufsstart Gehalt

Berufsstart Gehalt

»Berufsstart Gehalt« erscheint jährlich zum Sommersemester im Mai mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...