Mit Bedacht eingesetzte Unschärfeberechnungen tragen dazu
bei, das Spielerlebnis zu verbessern und können helfen, Einbrüche der
Framerate (Ruckler) abzumildern oder die zunehmende Detailarmut im Hintergrund
zu verschleiern.
Im heutigen Tutorial demonstrieren wir Ihnen, wie man mithilfe
des Depth-of-Field-Effekts die abstandsabhängige Schärfenwahrnehmung des
menschlichen Auges simulieren kann und wie sich dank Motion Blur ein Gefühl von
Geschwindigkeit erzeugen lässt:
Bei der Berechnung der Bewegungsunschärfe (Motion Blur) kombinieren
wir das aktuelle Szenenbild mit dem Low-Resolution-Szenenbild des
vorangegangenen Frames. Da wir keine unnötige Rechenleistung verschwenden
wollen, nutzen wir das Low-Resolution-Szenenbild gleichsam für die Simulation
des Depth-of-Field-Effekts.
Im Zuge der Depth-of-Field-Berechnungen teilen wir den
sichtbaren Bereich in Abhängigkeit von der Kameradistanz in drei Zonen auf –
den Nahbereich (maximale Unschärfe), den
Fokusbereich (mit zunehmendem Abstand
von der Fokusebene nimmt die Schärfentiefe kontinuierlich ab) sowie den
Fernbereich (maximale Unschärfe).
Nahsicht-Depth-of-Field-Effekt: Alle Szenenobjekte, für die
keine Tiefeninformationen vorliegen (z. B. Sky Boxen, Hintergrund-Billboards,
usw.), werden generell unscharf dargestellt.
Fernsicht-Depth-of-Field-Effekt: Alle Szenenobjekte, für die
keine Tiefeninformationen vorliegen (z. B. Sky Boxen, Hintergrund-Billboards,
usw.), werden generell scharf dargestellt.
Hinweise zum Erstellen eines neuen Projekts:
- Kopieren Sie den Ordner GraphicsAndPhysicsFrameworkImports ins Projektverzeichnis
- Kopieren sie alle dll-Dateien sowie die Konfigurationsdatei ResolutionAndRendering.txt aus besagtem Ordner ins gleiche Verzeichnis, in dem sich auch die exe-Datei befindet (in unseren Programmbeispielen ist dies das Bin-Verzeichnis)
- Binden Sie die folgenden Dateien in Ihr Projekt ein: GraphicsAndPhysics_Framework_Imports.h, GraphicsAndPhysics_Framework_Imports.lib, glew32.lib, glew32s.lib, glut32.lib. Die Glew- und Glut-Bibliotheken ermöglichen die Nutzung der aktuellen OpenGL-Spezifikationen unabhängig vom Framework.
GraphicsAndPhysicsFrameworkDemo33.zip