# PPFX Shaderpack für ReShade | Neu: 1.04.02 - Bessere Grafik in jedem Spiel!



## Euda (30. März 2015)

*PPFX Shaderpack für ReShade | Neu: 1.04.02 - Bessere Grafik in jedem Spiel!*

*EUDAS PPFX SHADERSUITE FÜR RESHADE

*​* Howdy, PCGHX-Community!

*Nach so einigen schlaflosen Coding-Nächten möchte ich euch mit diesem Post mein Shaderpack 'PPFX' für das flexible, kompatible Post-Processing-Framework ReShade vorstellen. 

*Kann man ReShade auch essen?

*ReShade liegt in digitaler Form vor und enthält somit weder Nährstoffe, noch lässt es sich unbeschwert verzehren. Dafür hat es jedoch ganz andere Qualitäten, die euch in einem vergangenen Post, auf den ich hier mal verweise, erläutert werden:



			
				Euda schrieb:
			
		

> ReShade ist ein generisches Grafikplugin für jedes Spiel. Es bietet die Möglichkeit, Spiele (DirectX 9, 10 & 11 + OpenGL) mit zahlreichen Post-Processing-Shadern --ob aus der Community oder selbst programmiert- auszustatten. Ähnlich wie SweetFX "injiziert" sich die Mod in sämtliche DX-/OGL-Anwendungen und schiebt dort installierte Shader in die Pipeline, die sich, je nach Mod, optisch nach belieben Konfigurieren lassen. Es gewährt in vielen Titeln dabei ein Zugriff auf den Tiefenpuffer der Engine, das heißt, dass die "Z-Achse" des Spiels von ReShade ausgelesen werden kann und somit Shader wie Depth of Field, Umgebungsverdeckung (bspw. SSAO), Godrays und weitere hübsche Grafikerweiterungen möglich werden.
> Obwohl sich ReShade noch in der Beta-Phase befindet, ist es für User wie auch Entwickler momentan dem 'InjectSMAA'-Injector, auf welchem ältere SweetFX-Versionen basierten, weit überlegen. Das Ziel des Entwicklers Crosire ist es, das Plugin so kompatibel und generisch wie möglich zu entwickeln, sodass es auch mit zukünftigen Titeln einwandfrei funktioniert und nicht für einzelne Spieletitel angepasst werden muss. Genau hier liegt übrigens auch der Unterschied zu ENBSeries: Die beiden Mods sind nicht vergleichbar, da Boris Vorontsov' "ENBSeries" für jedes Spiel einzeln entwickelt plus optimiert wird und hierbei viel weiter in die Spielengine eingreift. Dennoch bietet ReShade ein mächtiges und potenziell jeden Titel aufhübschendes Featureset, welches keinem Grafikfetischisten oder SweetFX-Fan entgehen sollte.



*PPFX ist ...

*Was ursprünglich auf ENBSeries-Basis als Aufhübschung meiner ENB-Releases für Grand Theft Auto IV & SA sowie TESV Skyrim enstand, habe ich seit einiger Zeit an das Shadersystem ReShades angepasst und seitdem auf selbiger Basis weiterentwickelt. PPFX ist eine Effektsammlung für ReShade, welches verschiedene Beleuchtungs-, Farb- und Linseneffekte in allen ReShade-kompatiblen Spielen ermöglicht. Ich versuche dabei, bei den einzelnen Shadereffekten in puncto Anpassbarkeit keine Wünsche offen zu lassen und ein möglichst flexibles, frei abstimmbares Grafikpaket zu bieten. Die Mod wird regelmäßig weiterentwickelt, neue Effekte werden hinzugefügt und eventuelle Bugs schnellstmöglich behoben.

*Welche Effekte bietet PPFX?

*Hier eine Auflistung plus Erläuterungen aller grafischen Effekte, die sich in PPFX zuschalten und frei konfigurieren lassen.

_Umgebungsverdeckung & Global Illumination_
SSDO + Indirect Bounces: Die SSDO-Technik (Screen Space Directional Occlusion, Tobias Ritschel 2008) wird unter anderem in der CryEngine seit Crysis 2 genutzt. Kurzum ist es eine Technik zur http://de.wikipedia.org/wiki/Umgebungsverdeckung]Umgebungsverdeckung (diffuse Schattierungen auf verdeckten Objekten, welche das virtuelle Licht nicht erreichen kann sowie Aufhellung von Objekten, die der Lichtposition zugewandt sind) und indirekter Ausleuchtung (reflektiertes Licht, beleuchtete/schattierte Objekte interagieren unter Einbezug ihrer Farbe miteinander (eine Annäherung an Global Illumination). 

_Lichteffekte
_Gaussian-Bloom: In der Realität kann es bei nicht perfekten Linsen passieren, dass das Licht sehr heller Objekte auf die benachbarten Pixel "strahlt". Dies erhöht die wahrgenommene Helligkeit der strahlenden Objekte. Der Effekt ist optimiert und ermöglicht sehr hohe Radius-Parameter bei hoher Qualität. Ebenso lassen sich farbliche Anpassungen und ein Schwellwert festlegen. Zwei Mixmodi sind verfügbar. Mit der Tonemap lässt sich die Wirkung des Effekts ebenfalls anpassen.

Godrays oder "Volumetric Light Scattering": Dieser Effekt lässt sich wohl am einfachsten mit einem Bild erklären:



			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


Anpassen lassen sich Sampleanzahl (maßgeblich für Performance & Qualität), Lichtposition, Intensität, Distanz->Verfall sowie die Länge der Strahlen.

_Farbeffekte
_Tonemap:
Da Bloom und Godrays die Farbwerte über die maximal anzeigbare Helligkeitsabstufung von 255 bringt, müssen die Farben, um ein detailvolles Bild zu erhalten, wieder in den anzeigbaren Bereich "gemappt" werden. Hierzu existieren etliche Methoden, de facto ist es fast ein wissenschaftliches Feld und in modernen Spielen kombiniert mit HDR-Rendering unverzichtbar. PPFX bietet drei verschiedene Tonemapper, wobei für zukünftige Versionen auch lokale Varianten mit Zeitadaption (siehe Wikipedia) geplant sind. Weißwerte passt die Mod automatisch an. Mit Tonemaps lassen sich auch Kontrast und Helligkeit des Bildes anpassen.

Unscharf Maskieren:
Wer regelmäßig mit Photoshop arbeitet, sollte diesen Effekt kennen. Unscharfmaskierung ist eine verbreitete Technik zur Schärfung digitaler Bilder. Zwei Varianten sind verfügbar: Kantenschärfung und Erhöhung des lokalen Kontrasts. Beide Methoden kombiniert ermöglichen einen Effekt, der vergleichbar zu SweetFX' bekannten "Lumasharpen" ist. Der Wikipedia-Artikel bietet ein paar hilfreiche Erklärungen zur Unscharfmaskierung. Für eine kommende Version ist nochmal eine deutliche Verbesserung des Effekts geplant.

Filmgrain:
Ein bewegliches Bildrauschen. Die einen lieben es, andere hassen es. Zu einigen Spielen passt es –kombiniert mit Technicolor lässt sich beispielsweise der Look alter Filme imitieren. Korn, Rauschfrequenz, Power und Intensität lassen sich einstellen.

Vibrance:
Eine "intelligentere" Sättigungsfunktion, die Farben basierend auf ihrer originalen Farbigkeit aufsättigt. Der Effekt wird folglich weniger stark auf höher gesättigte Farben angewandt, andernfalls würde Übersättigung und Detailverlust folgen. Parameter: Kurve (je höher, desto weniger stark wirkt der Effekt auf Farben mit hoher Sättigung und umgekehrt), Intensität

LiftGammaGain:
Mit LiftGammaGain lässt sich für drei verschiedene "Helligkeitsbereiche" ein eigener Farbfilter festlegen. Der 'Lift'-Filter wirkt dabei auf Schatten, also dunkle Farben. 'Gamma' filtert Mitteltöne, während 'Gain' auf helle Farben/Lichter wirkt. Somit lassen sich effektiv unerwünschte Filter in einigen Spielen entfernen und/oder durch neue ersetzen. Blau/Weiß/Orange (Lift/Gamma/Gain) oder Violett/Weiß/Gelbgrün kann Spielen etwa einen schönen Farbstil verleihen. 

Technicolor:
Armt den berüchtigten "Technicolor No. 4"- oder "3-Strip"-Prozess nach, welcher für die Produktion erster Farbfilme für die breite Masse ab den 20er-Jahren Verwendung fand und verleiht Farben dabei einen kräftigen, unverkennbaren Look. 

Lensdirt:
Zunächst eingeführt in Battlefield 3 anno 2011 und später von etlichen Spieleschmieden übernommen, simuliert dieser Effekt Unreinheiten auf der virtuellen Kameralinse. Der Effekt ist nur beim Blick auf helle Flächen sichtbar, also wenn der virtuelle Schmutz stark beleuchtet und somit sichtbarer wird. Parameter: Intensität, Verfallskurve Originalhelleigkeit->Sichtbarkeit des Effekts (Potenz).

Letterbox:
Mit diesem Effekt lassen sich schwarze sogenannte Moviebars oben und unten auf dem Bild erzeugen. Herkömmliche Filme werden in der Regel im 21:9-Format produziert, während PC-Monitore in der Regel im 16:9- oder 16:10-Format vorliegen. Der Effekt erzeugt also eventuell eine "filmischeren" Darstellung. Da ihr somit leider Pixel und Rechenleistung aus dem Fenster werft und bei zu starker Anwendung eure virtuellen Gegner/Partner wohl nur noch durch einen Schlitz begutachten könnt, solltet ihr mit dem "letterboxSize"-Parameter dezent umgehen.

Log-Gamma:
Eine logarithmische Gamma-Enkodierung findet überall dort Verwendung, wo Farben nur in einer niedrigen Präzision berechnet/verarbeitet werden können und eine herkömmliche Gamma-Funktion (Farbe^(1/Gammawert)) zu viel Quantisierung->Informationsverlust->sichtbares Banding in dunklen Bereichen erzeugen würde. Die Funktionskurve hat dabei im Vergleich eine gleichmäßige Steigung und bietet somit gleichmäßige Abstufungsschritte, sodass jeder Helligkeitsbereich gleichmäßig fein abgestuft ist. Da wir mit ReShade in HDR-Texturformaten bei hoher Präzision arbeiten ist dies nicht notwendig. Der Effekt kann allerdings dazu mißbraucht werden, einen gesättigten Look mit hohem Kontrast zu erzeugen und wirkt dabei wie eine S-Kurve auf das Bild. Schaltet ihr den Effekt hinzu, wird die standardmäßige Gammakorrektur durch das Log-Gamma ersetzt.

_________________________________________________


*Welche Effekte werden in Zukunft erscheinen?

*Da die Mod regelmäßig durch neue Effekte erweitert wird, erwarten euch auch in Zukunft einige weitere Post-Processing-Effekte. Hier eine kleine Auswahl:


Bokeh Depth of Field: Eine eigene Technik für simulierte Tiefenschärfe. Objekte, die sich näher am Fokuspunkt befinden, sind scharf, Objekte außerhalb unschärfer. Falls es sich bei Letzteren um sehr helle Objekte handelt, wie etwa Lichter in einer entfernten Stadt, erzeugen diese den Bokeh-DOF charakterisierenden "Zerstreuungskreis". Wer den Effekt sehen möchte, einfach "Bokeh" oder besser "Bokeh dof" bei Google eintippen. Da ich den Effekt "ordentlich" und performant programmieren möchte, muss ich mir noch einige Gedanken um den Algorithmus machen. Begonnen hat die Entwicklung noch nicht.
Jeder kennt den Effekt: Schaut man an einem wunderschönen Sommertag in die Ferne (auf Asphalt etwa) lassen sich dort Wellen wie "aufsteigende Hitze" sichten. Da verschiedene Wellenlängen leicht verschieden reflektieren, erzeugt der Effekt auch verzerrte Farbkanäle. Der Effekt ist fertig, muss jedoch noch in das Shaderpack implementiert werden (aktuell "Standalone" in einer separaten *.fx-Datei).
Lokale Tonemaps mit Eye-Adaption: Tonemaps, die das Bild in verschiedene "Zonen" einteilen und das Mapping der Farben adaptiv an die lokale Helligkeit durchführen. Dies geschieht mit einigen (~20-200 -> Parameter) Millisekunden Verzögerung, um die Helligkeitsadaption des menschlichen Auge zu simulieren und den Effekt zeitlich zu glätten. Lokale Tonemaps finden in Videospielen sehr selten Verwendung, können die Bildqualität jedoch deutlich erhöhen. Hier ein Video: Welches den Effekt sehr gut verdeutlicht: https://www.youtube.com/watch?v=CUgSLrx8R9I
(Anamorphic-) Lens Flares (Google-Bilder spricht Bände)
HBAO
Motion Blur

... und viele mehr.  Neue Releases werde ich, falls sich Interesse eurerseits zeigt, in der Regel hier im Thread inkl. Links bekanntmachen und Support leisten. Ich wär sehr erfreut, wenn ihr eventuelle Bugs hier meldet, damit ich diese so schnell wie möglich beseitigen kann. Möchtet ihr einen bestimmten Effekt in PPFX sehen? Meldet euch hier und ich sehe, was machbar ist. 

_________________________________________________


*Die Installation

*Aktuelle ReShade-Version ist die 0.17.0 Beta. Diese könnt ihr hier herunterladen: 
ReShade-Download:
*https://bit.ly/ReShadeBeta-0-17-0*
Nachdem ihr das Archiv heruntergeladen habt, wechselt in das Hauptverzeichnis des aufzuhübschenden Spiels (zum Beispiel "C:/Programme/Steam/SteamApps/common/Grand Theft Auto IV"), dort wo sich die *.exe-Anwendungen des Spiels befinden (oft auch im Unterverzeichnis "Bin"/"Bin32"/"Bin64"). Falls euer Spiel im 64-Bit-Modus läuft, entpackt nun die "ReShade64.dll" in den Spielordner. Falls es im 32-Bit-Modus läuft, entpackt die "ReShade32.dll". Nun benennt ihr diese je nach DirectX-Version des Spiels um: Falls es DirectX 9 nutzt, benennt die zuvor entpackte DLL-Datei in "d3d9.dll". Falls das Spiel auf DirectX 10- oder 11-Basis rennt, benennt sie in "dxgi.dll". Falls ihr euch nicht sicher seid, testet alle vier Varianten einmal aus: Startet das Spiel jeweils und schaut, ob in der linken oberen Ecke eine kurze Info zu ReShade eingeblendet wird. Falls ja, habt ihr nun die richtige DLL-Datei und könnt euch jetzt der Installation der PPFX-Mod widmen. Diese erhaltet ihr in der aktuellen Version 1.04.02 hier:

PPFX-Download:
*PPFX for ReShade - 1.04.02*

Entpackt aus dem PPFX-Archiv nun den Ordner 'ppfx' und die 'ReShade.fx' in den Spieleordner, wo ihr zuvor auch die ReShade32/ReShade64 entpackt habt. 
Das war's. Das Standardpreset hat einige Effekte bereits zugeschaltet, sodass ihr Ingame direkt einen Unterschied sehen solltet. 
*Wichtig:* Um Tiefenpuffer-basierte Effekte, etwa das oben erläuterte SSDO+GI (Umgebungsverdeckung) nutzen möchtet, *muss** sämtliches Ingame-Antialiasing deaktiviert sein. Ausgenommen sind SMAA, FXAA und weitere Post-Processing-Kantenglätter. Downsampling ist weiterhin möglich. Falls Ingame-AA aktiviert ist und ihr dennoch einen Tiefenpuffer-Effekt zuschaltet, seht ihr keinen Unterschied und verschwendet dennoch die zur Berechnung benötigte Leistung, die im Fall von SSDO zum Beispiel recht hoch ist.*

Da alle Effekte frei nach Wünschen aktivierbar und konfigurierbar sind, empfehle ich, euer eigenes Preset zu erstellen. Hierzu öffnet ihr die "ReShade.fx". Dort solltet ihr euch durch Erklärungen zu allen Effekten und Parametern zurechtfinden. Die Shader werden "on the fly" aktualisiert, sodass ihr Änderungen an den Shaderparametern nach der Speicherung sofort im Spiel ohne Neustart sehen solltet. Passt es einfach euren Optik-Ansprüchen an.

________________________________________________________

*Bildvergleiche*

Zum Vergleich zwischen der Originalgrafik und PPFX für ReShade bei einigen Spielen habe ich unten einige Screenshots angehängt.

_*Weitere hier (GTA IV, GTA SA, Borderlands 2, Mafia II, Watch_Dogs):*_
http://www.imagebam.com/image/59450b400521252
http://www.imagebam.com/image/c35529400521256
http://www.imagebam.com/image/f521d8400521262
http://www.imagebam.com/image/1b03e1400521268
http://www.imagebam.com/image/c02222400521273
http://www.imagebam.com/image/2459bc400521280
http://www.imagebam.com/image/77556f400521285
http://www.imagebam.com/image/984103400521292
http://www.imagebam.com/image/b88948400521296
http://www.imagebam.com/image/fd983c400521304
http://www.imagebam.com/image/fea95a400521312
http://www.imagebam.com/image/d7ea41400521320
http://www.imagebam.com/image/842383400521327
http://www.imagebam.com/image/c8ffe9400521335
http://www.imagebam.com/image/fc4615400521341
http://www.imagebam.com/image/9aa38e400521348
http://www.imagebam.com/image/047460400521353
http://www.imagebam.com/image/a5ccdb400521358
http://www.imagebam.com/image/bc32e8400521361
http://www.imagebam.com/image/8af27f400521371
http://www.imagebam.com/image/d2924c400521376
http://www.imagebam.com/image/c2694a400521380
http://www.imagebam.com/image/1b7398400521384
http://www.imagebam.com/image/000d7f400521388
http://www.imagebam.com/image/e2671b400521395
http://www.imagebam.com/image/500b04400521400
http://www.imagebam.com/image/e76a5b400521404
http://www.imagebam.com/image/ca3d26400521409
http://www.imagebam.com/image/64c31a400521416
http://www.imagebam.com/image/1f338b400521425
http://www.imagebam.com/image/e3b628400521442
http://www.imagebam.com/image/cd3250400521448
http://www.imagebam.com/image/d2d25b400521462
http://www.imagebam.com/image/27a1ec400521479
http://www.imagebam.com/image/2a5e83400521486
http://www.imagebam.com/image/00af7f400521492
http://www.imagebam.com/image/caa4bb400521499
http://www.imagebam.com/image/587a1b400521504
http://www.imagebam.com/image/10adce400521507
http://www.imagebam.com/image/2b27d2400521512
http://www.imagebam.com/image/f73eeb400521515
http://www.imagebam.com/image/b7d54d400521520
http://www.imagebam.com/image/f8a8c8400521528
http://www.imagebam.com/image/9fa1fb400521536
http://www.imagebam.com/image/26cb37400521542
http://www.imagebam.com/image/1abb55400521552
http://www.imagebam.com/image/12556e400521559
http://www.imagebam.com/image/53700c400521572
http://www.imagebam.com/image/7537fe400521581


___________________________________________________

_*Grüße und viel Spaß mit der Mod,*_
*EUDA*


----------



## PCGH_Phil (1. April 2015)

*AW: PPFX Shaderpack für ReShade | 1.03.29 - Bessere Grafik in jedem Spiel!*

Coole Sache. Schau ich mir bei Gelegenheit mal genauer an 

Gruß,
Phil


----------



## Euda (6. April 2015)

*AW: PPFX Shaderpack für ReShade | 1.03.29 - Bessere Grafik in jedem Spiel!*



PCGH_Phil schrieb:


> Coole Sache. Schau ich mir bei Gelegenheit mal genauer an
> 
> Gruß,
> Phil




Dankesehr, Phil. Rückmeldung oder etwaige Bugmeldungen würden mich sehr freuen. 

__

Version 1.04.02 erschienen!

*Download:* PPFX for ReShade - 1.04.02

HBAO+ hinzugefügt.
Alle Ambient Occlusion-Techniken bieten nun die Möglichkeit zur Zuschaltung von Temporal Supersampling (in der CryEngine bspw. als "Timeslicing" bezeichnet). Bei aktiviertem Parameter lassen sich die AO-Samples (aoSampleAmount), welche maßgeblich für die Performance des Effekts sind, bei identischer Qualität plus weitaus besserer Qualität in bewegten Szenen, halbieren. 
Umstrukturierungen im Code und bei den Parametern.
Farbige Lichtbrechungen (bzw. Indirect Bounces, "Color Bleeding", GI) beim SSDO-Effekt werden nun "korrekter" mit dem berechneten Ausdrucks-/Verdeckungsfaktor der Geometrie gemixt. Sollte deutlich besser aussehen. 

Sehr bald finden sich in PPFX auch:
Ein lokaler Tonemapper (70% finished, Time-Adaption war kein Problem, Übergänge müssen noch parametrisiert werden und ein anständiges Default-Preset muss her. Kurven muss ich ebenso noch vergleichen. Hatte eigentlich eine Vorliebe für "Histogram Equalization" in welche ich direkt einen Tonemapper implementieren könnte. Das zerstört durch zig Passes jedoch die Codestruktur, somit basiert der Tonemapper nun auf der lokalen Durchschnittshelligkeit.
Schärferen, "crisperen" Bloom (Mix aus Blur-Texturen verschiedenen Radius'). 
Afterimages: https://www.youtube.com/watch?v=tz8NA412BpQ (sehr einfach zu implementieren und effektiv).

Viel Spaß! 
MfG,
Euda


----------



## Ion (20. Januar 2016)

*AW: PPFX Shaderpack für ReShade | Neu: 1.04.02 - Bessere Grafik in jedem Spiel!*

Ich grabe das mal aus.
Euda, arbeitest du denn noch daran?

Mich würden deine aktuellen Ergebnisse sehr interessieren.


----------



## Euda (17. Februar 2016)

*AW: PPFX Shaderpack für ReShade | Neu: 1.04.02 - Bessere Grafik in jedem Spiel!*

Hallo Ion,

Die letzte Änderung an PPFX fand am 23. Januar statt, wobei ich einen lokalen Tonemapper mit vielen verschiedenen Parametern, bilateraler Filterung und änderbarem Radius implementiert habe. Befasse mich aktuell viel mit 360°-Videoaufzeichnung – einen Teil meiner Überbrückungszeit bis zum Studienbeginn im April behalte ich für ein nächstes Release auf dem Schirm.


----------



## xNeo92x (10. Februar 2017)

*AW: PPFX Shaderpack für ReShade | Neu: 1.04.02 - Bessere Grafik in jedem Spiel!*



Euda schrieb:


> Hallo Ion,
> 
> Die letzte Änderung an PPFX fand am 23. Januar statt, wobei ich einen lokalen Tonemapper mit vielen verschiedenen Parametern, bilateraler Filterung und änderbarem Radius implementiert habe. Befasse mich aktuell viel mit 360°-Videoaufzeichnung – einen Teil meiner Überbrückungszeit bis zum Studienbeginn im April behalte ich für ein nächstes Release auf dem Schirm.


Ist das dann mit dem aktuellen ReShade kompatibel? 

Gesendet von meinem Elephone P7000 mit Tapatalk


----------

