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

FESTIVAL Christmas

FESTIVAL Christmas

Fachzeitschriften für Weihnachtsartikel, Geschenke, Floristik, Papeterie und vieles mehr! FESTIVAL Christmas: Die erste und einzige internationale Weihnachts-Fachzeitschrift seit 1994 auf dem ...

AUTOCAD & Inventor Magazin

AUTOCAD & Inventor Magazin

FÜHREND - Das AUTOCAD & Inventor Magazin berichtet seinen Lesern seit 30 Jahren ausführlich über die Lösungsvielfalt der SoftwareLösungen des Herstellers Autodesk. Die Produkte gehören zu ...

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 ...

DER PRAKTIKER

DER PRAKTIKER

Technische Fachzeitschrift aus der Praxis für die Praxis in allen Bereichen des Handwerks und der Industrie. “der praktiker“ ist die Fachzeitschrift für alle Bereiche der fügetechnischen ...

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. ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...