The OpenGL Programming Guide

Das mittlerweile in der neunten Ausgabe vorliegende „Red Book“ gilt als offizielle Einführung in diese API.

Literatur  –  0 Kommentare
The OpenGL Programming Guide

John Kessenich, Graham Sellers, Dave Shreiner

The OpenGL Programming Guide
The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V

Hallbergmoos 2016
Addison Wesley (Pearson)
976 Seiten
72,75 €
ISBN 978-0-1344-9549-1

OpenGL: Die bloße Erwähnung der Entwicklungsumgebung reicht aus, um Freunden von XNA, Unity und Co. Schweißperlen auf die Stirn zu treiben. Das mittlerweile in der neunten Ausgabe vorliegende „Red Book“ gilt als offizielle Einführung in diese API.

Schon im ersten Kapitel zeigt sich der eigenwillige didaktische Aufbau des Buches. Nach der Vorstellung eines „Dreieck-Renderers“ besprechen die Autoren seinen Code Stück für Stück. Die Methoden erscheinen dabei in kleinen grauen Kästen, die die Rolle der Parameter im Detail erklären. Diese Vorgehensweise ist insofern sinnvoll, als man die – oft sehr vielseitigen – Methoden aus mehreren Blickwinkeln betrachten kann. Kapitel zwei beschreibt den Umgang mit Shader-Objekten.

Normale Lehrbücher zur Programmierung dreidimensionaler Inhalte wenden sich an dieser Stelle dem Rendern von Objekten mit Transformationsmatrizen zu. Der OpenGL Programming Guide wählt einen anderen Weg: Kapitel drei stellt diverse Methoden vor, die Vertex-Buffer verarbeiten. Kapitel vier widmet sich dem Thema Farben, während Kapitel fünf die Arbeit mit Transformationsmatrizen beschreibt. Das Werk kann auf diese Weise komplexe Themen wie das Recyceln von Vertex-Buffern behandeln, ohne den Leser komplett zu erschlagen.

In Sachen Realismus dreidimensionaler Szenen gehören Texturen und Lichteffekte zum guten Ton, detailliert dargelegt in den Kapiteln sechs und sieben. Neben den APIs zeigen die Autoren viele fortgeschrittene Effekte, die man in anderen Lehrbüchern vergeblich sucht.

Kapitel acht nimmt sich prozedurale Texturen vor, während Kapitel neun auf das in diversen Frameworks oft nur teilweise implementierte Verfahren von Tesselation-Shadern eingeht. Kapitel zehn betrachtet Geometrie-Shader. Zu guter Letzt folgen zwei Abschnitte zur Speicherverwaltung.

Während die meisten Abhandlungen zum Thema fünf bis maximal zehn Prozent des Materials auf Anhänge verteilen, kommt dieses Buch auf mehr als 15 Prozent. Dies ist keine Kritik, diese Appendizes würden woanders als eigenständige Kapitel durchgehen.

Etwas dürftig fällt die Beschreibung von WebGL und OpenGL Ed aus. Dafür bietet Appendix C eine umfangreiche Besprechung der verschiedenen APIs. Dieser Teil eignet sich hervorragend als Referenz zum Nachschlagen. Das gilt ebenso für Appendix D, der Zustandsvariablen näher untersucht.

Kurze Kapitel zu Datenformaten, Performancesteigerung und Matrixmathematik runden das Buch ab. Ob der immensen Komplexität von OpenGL ist es unmöglich, darüber eine Abhandlung der Bauart „Learn OpenGL in 24 Hours“ zu schreiben. Das Autorenkollektiv wendet sich an Personen, die sich grundlegend mit OpenGL befassen wollen. (jd)

Tam Hanna
befasst sich seit der Zeit des Palm IIIc mit Programmierung und Anwendung von Handheldcomputern. Er entwickelt Programme für diverse Plattformen, betreibt Onlinenews-Dienste zum Thema und steht für Fragen, Trainings und Vorträge gern zur Verfügung.