Das Vulkan-API: Teil 1: Grundlagen und erste Schritte
()
About this ebook
In diesem ersten shortcut zum Vulkan-API erläutert Alexander Rudolph die Grundlagen des neuen Standards, stellt dessen Features vor und zeigt die wichtigsten Unterschiede zu OpenGL. Er erklärt, wann und warum sich der Umstieg lohnt und legt einen ersten Grundstein für die Erstellung eines Frameworks, das die Grafikprogrammierung für Vulkan deutlich erleichtern kann.
Read more from Alexander Rudolph
Das Vulkan-API: Teil 3: Umgang mit 3-D-Daten Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Moderne Licht- und Schattenspiele mit OpenGL Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Teil 2 Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL in Space Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Water-, Terrain- und GUI-Rendering mit OpenGL Rating: 0 out of 5 stars0 ratings
Related to Das Vulkan-API
Titles in the series (100)
Erfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Einstieg in Google Go Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsEclipse meets Java FX Rating: 0 out of 5 stars0 ratingsBPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsTFS 2012 TFS 2012 Team Build - Architektur und Installation: Architektur und Installation Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsVaadin Schnelleinstieg Rating: 0 out of 5 stars0 ratingsOAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratings
Related ebooks
Das Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsEinblicke in C# 6.0 Rating: 0 out of 5 stars0 ratingsJava FX - Status Quo: Status Quo Rating: 0 out of 5 stars0 ratingsSoftware Development Trends: Wegweisende Beiträge für eine neue IT: Wegweisende Beiträge für eine neue IT Rating: 0 out of 5 stars0 ratingsDie Serverwelt von Node.js Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsNext Level JavaScript: Schlagworte Rating: 0 out of 5 stars0 ratingsDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Rating: 1 out of 5 stars1/5Aufsetzen, Testen und Betrieb einer Android-App Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsJavaScript für Java-Entwickler Rating: 0 out of 5 stars0 ratingsSprachenkompendium: Vala, Go und Rust Rating: 0 out of 5 stars0 ratingsEinstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsCross-Plattform-Entwicklung mit HTML und JavaScript Rating: 0 out of 5 stars0 ratingsWebentwicklung mit dem Play Framework Rating: 0 out of 5 stars0 ratingsMit Scratch 3 programmieren lernen Rating: 0 out of 5 stars0 ratingsEclipse SmartHome und Smart Office: Intelligente Lösungen in der Heimautomation Rating: 0 out of 5 stars0 ratingsGeräteübergreifende Entwicklung mit RAD Studio Rating: 0 out of 5 stars0 ratingsDNX: Grundlagen, Design und Compile Time Rating: 0 out of 5 stars0 ratingsReact: Grundlagen, fortgeschrittene Techniken und Praxistipps – mit TypeScript und Redux Rating: 0 out of 5 stars0 ratingsEclipse 4: Rich Clients mit dem Eclipse 4.2 SDK Rating: 0 out of 5 stars0 ratingsAndroid Schnelleinstieg Rating: 0 out of 5 stars0 ratingsSpiele entwickeln für iOS und Android mit Cocos2D: Programmieren für die großen Smartphone-Plattformen Rating: 0 out of 5 stars0 ratingsGraphQL: Eine Einführung in APIs mit GraphQL Rating: 0 out of 5 stars0 ratingsBlackBerry-10-Entwicklung mit der Momentics IDE Rating: 0 out of 5 stars0 ratingsJavaScript Performance Rating: 0 out of 5 stars0 ratingsJavaScript und TypeScript für C#-Entwickler Rating: 0 out of 5 stars0 ratingsJavaFX Rendering & 3D Rating: 0 out of 5 stars0 ratings
Programming For You
Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsJavaScript kurz & gut Rating: 3 out of 5 stars3/5Programmieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 2 Rating: 0 out of 5 stars0 ratingsArduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Rating: 5 out of 5 stars5/5Das große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Weniger schlecht programmieren Rating: 4 out of 5 stars4/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Einstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Mega 2560: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratingsJava 8 - Die Neuerungen: Lambdas, Streams, Date and Time API und JavaFX 8 im Überblick Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5
Reviews for Das Vulkan-API
0 ratings0 reviews
Book preview
Das Vulkan-API - Alexander Rudolph
GmbH
1 Eine erste Erkundungstour
Im vergangenen Jahr gab es für Grafikprogrammierer ein großes Jubiläum zu feiern: 25 Jahre OpenGL. Für ein Grafik-API ist das ein ganz schön stolzes Alter. So verwundert es denn auch nicht, dass die Rufe nach einem plattformübergreifenden Nachfolger in den letzten Jahren immer lauter wurden – Rufe nach einem schicken, schlanken API, ohne überflüssigen Ballast, mit dessen Hilfe sich moderne Multi-Core-CPUs und leistungsfähige Grafikkarten bis an ihre Grenzen ausreizen lassen. Mit dem Ziel, die Funktionsweise des neuen Vulkan-API besser nachvollziehen zu können, werden wir uns im ersten Kapitel dieses shortcuts zunächst einmal auf eine kleine Erkundungstour begeben.
Mit einer „Hallo-Welt-Anwendung fängt normalerweise alles an. Um niemanden zu überfordern, versucht man auf möglichst einfache Weise zu demonstrieren, welche Anweisungen und Bestandteile für ein voll funktionsfähiges Programm erforderlich sind. Auch beim Kennenlernen eines neuen Grafik-API wie OpenGL drehte sich in der Vergangenheit zunächst alles um die Ausgabe einer kurzen Begrüßungsbotschaft, um das grafische Äquivalent der berühmten zwei Wörter „Hello World!
, um die Darstellung einer schlichten ein- oder mehrfarbigen Dreiecksfläche. Verzichtet man beispielsweise auf Animationen und Texturen, so besteht ein mithilfe der GLUT-Library (OpenGL Utility Toolkit) erstelltes OpenGL-Programm in der Tat nur aus wenigen Zeilen Sourcecode.
Nun ja, so einfach wie früher ist die Welt inzwischen nicht mehr. Selbst das denkbar einfachste Programm, das auf die modernen OpenGL-Spezifikationen 3.3 bzw. 4.x setzt oder gar das neue Vulkan- oder Direct3D-12-API verwendet, kann aufgrund seiner Komplexität nicht mehr guten Gewissens als Hallo-Welt-Anwendung bezeichnet werden.
Was die Wahl des zu verwendenden Grafik-API betraf, war die Entscheidung der Spieleentwickler vor dem Einsetzen des Smartphone- und Tabletbooms mehr als nur eindeutig: Keine Frage, man entschied sich für DirectX und schenkte OpenGL keinerlei Beachtung. Erst als es immer wichtiger wurde, Spiele und anderweitige Grafikanwendungen für so viele Endgeräte wie möglich zu entwickeln, rückte OpenGL (ES) immer stärker in den Fokus der Entwickler. Wie aber sieht jetzt die Zukunft aus? Sollte man OpenGL den Rücken kehren, nun, da das neue Vulkan-API endlich verfügbar ist? Wenn man mit der Performance seiner OpenGL-Anwendungen zufrieden ist, gibt es eigentlich keinen Grund dazu. Aber selbst wenn im Rahmen eines laufenden Projekts aktuell noch kein Einsatz von Vulkan erforderlich ist, sollte man bereits jetzt an die Zukunft denken, seinen inneren Schweinehund überwinden (Programmierer gelten ja bekanntlich von Natur aus als faul-schlau) und sich in das neue API einarbeiten – wohl wissend, dass die Entwicklung eines auf Vulkan basierenden Frameworks eine richtig zeitintensive Angelegenheit werden wird.
Die Tatsache, dass man mithilfe von OpenGL beeindruckende dreidimensionale Welten in Echtzeit darstellen kann, ändert nichts daran, dass es sich im Kern um ein völlig veraltetes API handelt. Seinerzeit wurde OpenGL als globaler Zustandsautomat (Global State Machine) entworfen. Anfang der 1990er-Jahre (im Januar 1992 wurde die OpenGL-Spezifikation