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 Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Teil 2 Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL in Space 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: 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)
Java EE Security Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5OAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsVaadin Schnelleinstieg Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsWebentwicklung mit dem Play Framework Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design 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
Programmieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung 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/5SQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Python | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsPython kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Arduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Rating: 5 out of 5 stars5/5C++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsWeniger schlecht programmieren Rating: 4 out of 5 stars4/5Git kurz & gut Rating: 0 out of 5 stars0 ratingsMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Mega 2560: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratingsMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben 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 große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Programmieren für Einsteiger: Teil 2 Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache 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 ratingsHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5PowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Einstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsDie ultimative QNAP NAS Bibel - Das Praxisbuch - mit vielen Insider Tipps und Tricks - komplett in Farbe 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 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratings
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