Erfolgreiche Spieleentwicklung: Moderne Licht- und Schattenspiele mit OpenGL
()
Über dieses E-Book
Mehr von Alexander Rudolph lesen
Das Vulkan-API: Teil 3: Umgang mit 3-D-Daten Bewertung: 0 von 5 Sternen0 BewertungenDas Vulkan-API: Teil 1: Grundlagen und erste Schritte Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Teil 2 Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL in Space Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: Water-, Terrain- und GUI-Rendering mit OpenGL Bewertung: 0 von 5 Sternen0 BewertungenDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnlich wie Erfolgreiche Spieleentwicklung
Titel in dieser Serie (100)
TFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenAmazon Web Services für .NET Entwickler Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Bewertung: 0 von 5 Sternen0 BewertungenADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5UX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenC++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenMobile Business: Was Entscheider morgen wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenEclipse meets Java FX Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Strategie und Planung Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Executive Briefing Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
PHOTOKOLLEGIUM 4: Theorie und Grundlagen der digitalen Fotografie Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL in Space Bewertung: 0 von 5 Sternen0 BewertungenPHOTOKOLLEGIUM 6: Farbdruck & Colormanagement in der digitalen Fotografie Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: Water-, Terrain- und GUI-Rendering mit OpenGL Bewertung: 0 von 5 Sternen0 BewertungenKreative Fototechnik ohne viel Worte: Der richtige Umgang mit Blende, Zeit und Brennweite Bewertung: 0 von 5 Sternen0 BewertungenBildbearbeitung für Anfänger: 30 Top Tipps für die Bildbearbeitung von digitalen Bildern Bewertung: 0 von 5 Sternen0 BewertungenEbenen in Adobe Photoshop CC und Photoshop Elements - Gewusst wie Bewertung: 0 von 5 Sternen0 BewertungenDatenvisualisierung mit Processing Bewertung: 0 von 5 Sternen0 BewertungenLust auf scharfe Fotos?: Ratgeber für digitale Fotografie Bewertung: 0 von 5 Sternen0 BewertungenJava üben mit dem Plotter: Ein Überblick für Studierende und Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Bewertung: 0 von 5 Sternen0 BewertungenRobotik: LEGO MINDSTORMS, NAO und Raspberry Pi Bewertung: 0 von 5 Sternen0 BewertungenTerraingenerierung mit Unity: Technische Realisierung von Landschaften Bewertung: 0 von 5 Sternen0 BewertungenDojos für Entwickler: 15 Aufgaben und Lösungen in .NET Bewertung: 0 von 5 Sternen0 BewertungenPHOTOKOLLEGIUM 5: Aufnahme & Bildbearbeitung in der digitalen Fotografie Bewertung: 0 von 5 Sternen0 BewertungenDie besten 10 HDTVs von 40 bis 42 Zoll (Band 2): 1hourbook Bewertung: 0 von 5 Sternen0 BewertungenZauberhafte Bildbearbeitung mit PIXLR EXPRESS: Ratgeber für digitale Fotografie Bewertung: 0 von 5 Sternen0 BewertungenDie besten 5 Beamer für das Heimkino (Band 5): 1hourbook Bewertung: 0 von 5 Sternen0 BewertungenDie perfekte Heimkino-Anlage für 16.000 Euro: 1hourbook Bewertung: 0 von 5 Sternen0 BewertungenNikon Z 9: Das Profi-Handbuch zur Kamera Bewertung: 0 von 5 Sternen0 BewertungenRaumdarstellung und Perspektive in der Spieleentwicklung Bewertung: 0 von 5 Sternen0 BewertungenDie besten 10 HDTVs von 46 bis 52 Zoll (Band 2): 1hourbook Bewertung: 0 von 5 Sternen0 BewertungenDie perfekte Heimkino-Anlage für 60 qm: 1hourbook Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren in C: Programmieren lernen von Anfang an - Mit vielen Programmierbeispielen - Geeignet zum Selbststudium Bewertung: 0 von 5 Sternen0 BewertungenEinführung in die Programmierung von 2-D-Spielen Bewertung: 0 von 5 Sternen0 BewertungenEinführung in die Heimautomatisierung: IoT mit Tinkerforge Bewertung: 0 von 5 Sternen0 BewertungenDie Eignung Neuronaler Netze für die Mining-Funktionen Clustern und Vorhersage Bewertung: 0 von 5 Sternen0 BewertungenDer Weg zum eigenen Roboter: Tipps, Tricks und kleine Projekte Bewertung: 0 von 5 Sternen0 BewertungenEinstieg ins Machine Learning: Grundlagen, Prinzipien, erste Schritte Bewertung: 0 von 5 Sternen0 BewertungenFotografie mit der Canon EOS 1300D: Für kreative, aussagekräftige Bilder Bewertung: 0 von 5 Sternen0 Bewertungen
Computer für Sie
Niklas Luhmann: "... stattdessen ...": Eine biografische Einführung Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi Kinderleicht: Pi 4 mit 8 GB Bewertung: 0 von 5 Sternen0 BewertungenLaws of UX: 10 praktische Grundprinzipien für intuitives, menschenzentriertes UX-Design Bewertung: 0 von 5 Sternen0 BewertungenLexikon der Symbole und Archetypen für die Traumdeutung Bewertung: 5 von 5 Sternen5/5Einstieg in ChatGPT: Künstliche Intelligenz verstehen und nutzen: Ein praktischer Ratgeber für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenDatenbanken: Grundlagen und Entwurf Bewertung: 0 von 5 Sternen0 BewertungenAufstieg der Roboter: Wie unsere Arbeitswelt gerade auf den Kopf gestellt wird - und wie wir darauf reagieren müssen Bewertung: 0 von 5 Sternen0 BewertungenMachine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Bewertung: 5 von 5 Sternen5/5Anglizismen und andere "Fremdwords" deutsch erklärt: Über 1000 aktuelle Begriffe Bewertung: 0 von 5 Sternen0 BewertungenTastenkombinationen für den Mac: Alle wichtigen Funktionen Bewertung: 0 von 5 Sternen0 BewertungenDas Minecraft-Server-Buch Bewertung: 0 von 5 Sternen0 BewertungenShopware 6 Handbuch Bewertung: 0 von 5 Sternen0 BewertungenWordPress - Elementor Bewertung: 0 von 5 Sternen0 BewertungenNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Die neue Intelligenz des Menschen (GEO eBook) Bewertung: 0 von 5 Sternen0 BewertungenKybernetik, Kommunikation und Konflikt: Gregory Bateson und (s)eine kybernetische Konflikttheorie Bewertung: 0 von 5 Sternen0 BewertungenNeuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Bewertung: 0 von 5 Sternen0 BewertungenRunning Lean: Das How-to für erfolgreiche Innovationen Bewertung: 4 von 5 Sternen4/5...Als die Noten laufen lernten...Band 2: Kabarett-Operette-Revue-Film-Exil. Unterhaltungsmusik bis 1945 Bewertung: 0 von 5 Sternen0 BewertungenBig Data - Apache Hadoop Bewertung: 0 von 5 Sternen0 BewertungenEinführung ins Darknet: Darknet ABC Bewertung: 0 von 5 Sternen0 BewertungenPocket Book - Das inoffizielle Handbuch. Anleitung, Tipps, Tricks Bewertung: 0 von 5 Sternen0 BewertungenNimm den Chor doch selber auf: Crashkurs für das Aufnehmen und Mischen von Chören Bewertung: 0 von 5 Sternen0 BewertungenSo findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Bewertung: 0 von 5 Sternen0 BewertungenIT-Sicherheit ist sexy!: Argumente für Investitionen in IT-Sicherheit Bewertung: 0 von 5 Sternen0 BewertungenDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Bewertung: 1 von 5 Sternen1/5Command Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Erfolgreiche Spieleentwicklung
0 Bewertungen0 Rezensionen
Buchvorschau
Erfolgreiche Spieleentwicklung - Alexander Rudolph
Alexander Rudolph
Erfolgreiche Spieleentwicklung
Moderne Licht- und Schattenspiele mit OpenGL
ISBN: 978-3-86802-513-2
© 2014 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Post Processing – Revolution in der Spielewelt
Alle in diesem Shortcut behandelten Programmbeispiele finden Sie hier zum Download:
http://www.graphics-and-physics-framework.spieleprogrammierung.net/
http://www.space-combat-and-strategy.spieleprogrammierung.net/
In den letzten Jahren hat sich im Bereich der Echtzeit-3-D-Grafik eine regelrechte Revolution vollzogen, denn die Art und Weise, wie eine 3-D-Szene aufgebaut und beleuchtet wird, hat sich grundlegend verändert. In der klassischen Szenendarstellung, dem so genannten „Forward Rendering", erfolgte die Beleuchtung der einzelnen 3-D-Objekte stets zeitgleich mit ihrer Positionierung in der Spielewelt (Transform and Lighting). Auch wenn sich diese Vorgehensweise bereits in unzähligen Spielen bewährt hat, sind die Grenzen dieser Technik längst erreicht. Zum einen ist die Implementierung von realistisch wirkenden Beleuchtungsmodellen (globale Beleuchtung; global Illumination) nicht möglich, und zum anderen werden viel zu viele unnötige Beleuchtungs- und Schattenberechnungen durchgeführt. Denn nicht wenige der zuvor beleuchteten Oberflächen sind am Ende der Szenendarstellung vollständig oder zumindest teilweise verdeckt. Diese Verschwendung von Rechenleistung führt ihrerseits dazu, dass nur eine sehr begrenzte Anzahl von Lichtquellen in einer 3-D-Szene platziert werden können.
In modernen 3-D-Anwendungen und -Spielen werden die Beleuchtungsberechnungen zunehmend getrennt von der Geometriedarstellung während der Post-Processing-Phase durchgeführt, wodurch sich die zuvor beschriebenen Probleme des Forward Renderings auf elegante Art und Weise beheben lassen. Mithilfe der Geometrie- und Farbinformationen einer 3-D-Szene, die man vor der eigentlichen Umsetzung der gewünschten Post-Processing-Effekte zunächst in diversen Render Targets (Render-Zielen, Texturen) zwischenspeichert, lassen sich Beleuchtungsberechnungen für nicht sichtbare Szenenpixel gezielt vermeiden. Die hierdurch frei werdenden Ressourcen können wir nutzen, um die für die globale Beleuchtung verantwortlichen Wechselwirkungen zwischen dem Licht und den Szenenpixeln unter Berücksichtigung der zuvor gespeicherten Geometrieinformationen zu simulieren, und um die Spielewelt mit einer deutlich größeren Anzahl von Lichtquellen auszuleuchten. Nachfolgend sind einige der Post-Processing-Effekte aufgelistet, die in modernen Computerspielen standardmäßig zum Einsatz kommen:
Screen Space Ambient Occlusion (SSAO: Simulation der indirekten Beleuchtung, ambientes Licht)
Schattenberechnungen
Deferred Lighting: Simulation der direkten Beleuchtung (direktionale Lichtquellen sowie Punktlichtquellen)
Nebelberechnungen
Depth-Of-Field-Effekt (Schärfentiefe)
Schritt für Schritt wird das zunächst noch unbeleuchtete Szenenbild mithilfe dieser Effekte nachbearbeitet. Zum Speichern des modifizierten Szenenbilds nutzen wir eine Textur (ein zusätzliches Render Target), die ihrerseits auf ein bildschirmfüllendes Vertex Quad (Screen Quad) gemappt wird. Bildlich gesprochen entspricht diese Textur einer bemalten Leinwand, die wir über einen Holzrahmen (unser Vertex Quad) spannen.
HDR-Rendering, Tone Mapping, Helligkeitsadaption und Blend-Effekte
Computerspielen wie Far Cry und Half Life 2 haben wir es zu verdanken, dass Begriffe wie HDR-Rendering (HDR: High Dynamic Range) und Post Processing mittlerweile zum festen Wortschatz in der Gamer-Community gehören. Um nun die Bedeutung dieser neuen Technologien verstehen zu können, müssen wir uns mit der folgenden Frage auseinandersetzen:
Wie viele Farben (Farbwerte) benötigt man, um eine 3-D-Szene möglichst wirklichkeitsgetreu auszuleuchten?
Vor der Einführung des HDR-Renderings kamen bei der Bildsynthese so genannte „True-Color-Farbwerte" zum Einsatz. Auf den ersten Blick würde man meinen, dass der True-Color-Farbraum mit seinen 16,78 Millionen Farben und seiner 24-Bit-Genauigkeit mehr als genug Farbwerte für eine realistische Beleuchtung beinhaltet, doch schlüsselt man die einzelnen Farben nach ihren Rot-, Grün- und Blau-Anteilen auf, so stehen für jeden Farbkanal lediglich 256 Farbabstufungen (8 Bit) zur Verfügung. Der größtmögliche Helligkeitswert, den ein Fragment-Shader-Programm in ein True Color Render Target (bzw. in eine RGBA8-Integer-Textur) schreiben kann, liegt bei 1.0, und der kleinstmögliche Helligkeitswert beträgt 0.0. Größere oder kleinere Farbwerte werden beim Schreibvorgang rigoros auf 1.0 bzw. 0.0 beschnitten (Clamping). Im Unterschied zum HDR-Rendering spricht man in diesem Zusammenhang vom LDR-Rendering (Low Dynamic Range), da hierbei lediglich ein Helligkeitsbereich von 0 bis 1 abgedeckt wird. Insbesondere, wenn sich die Sonne oder irgendeine andere intensive Lichtquelle im Blickfeld der Kamera befindet, erstrecken sich natürliche Helligkeitsschwankungen über ein Vielfaches des LDR-Wertebereichs. Abbildung 1.1 zeigt HDR-Rendering am Beispiel der Atmosphärendarstellung.
Abb. 1.1: HDR-Rendering am Beispiel