Dies ist ein generischer Nachbearbeitungsinjektor für Spiele und Videosoftware. Es bietet eine automatisierte Möglichkeit, sowohl auf Rahmenfarb- als auch auf Tiefeninformationen zuzugreifen, sowie eine benutzerdefinierte Shader-Sprache namens ReShade FX, um Effekte wie Umgebungsokklusion, Tiefenschärfe, Farbkorrektur und mehr zu schreiben, die überall funktionieren.
ReShade kann optional Add-ons laden, DLLs, die die ReShade-API nutzen, um die Funktionalität von ReShade und/oder der Anwendung, auf die ReShade angewendet wird, zu erweitern. Um zu erfahren, wie Sie Ihr eigenes Add-on schreiben, lesen Sie die API-Referenz.
Der in diesem Repository enthaltene ReShade FX-Shader-Compiler ist eigenständig und kann daher auch in andere Projekte integriert werden. Fügen Sie einfach alle source/effect_*.*
Dateien zu Ihrem Projekt hinzu und verwenden Sie es ähnlich wie im fxc-Beispiel.
Sie benötigen Visual Studio 2017 oder höher, um ReShade und Python für die gl3w
Abhängigkeit zu erstellen.
git clone --recurse-submodules https://github.com/crosire/reshade
32-bit
oder 64-bit
-Zielplattform und erstellen Sie die Lösung.Release
-Konfiguration für 32-bit
und 64-bit
-Ziele und erst anschließend die Release Setup
Konfiguration (unabhängig davon, welches Ziel dann ausgewählt wird).Ein kurzer Überblick über den Inhalt einiger Quellcodedateien:
Datei | Beschreibung |
---|---|
dll_log.cpp | Einfache Dateilogger-Implementierung |
dll_main.cpp | Haupteinstiegspunkt (und optionale Testanwendung) |
dll_resources.cpp | Zugriff auf DLL-Ressourcendaten (z. B. integrierte Shader) |
effect_lexer.cpp | Lexikalischer Analysator für C-ähnliche Sprachen |
effect_parser_stmt.cpp | Parser für die Shader-Sprache ReShade FX |
effect_preprocessor.cpp | C-ähnliche Präprozessorimplementierung |
Hook.cpp | Wrapper um MinHook, der zugehörige Funktionszeiger verfolgt |
Hook_manager.cpp | Automatische Hook-Installation basierend auf DLL-Exporten |
input.cpp | Verwaltung von Tastatur- und Mauseingaben und Hooks für Fensternachrichtenwarteschlangen |
runtime.cpp | Core ReShade-Laufzeit inklusive Effekt- und Preset-Verwaltung |
runtime_gui.cpp | Overlay-Rendering und alles, was mit der Benutzeroberfläche zu tun hat |
Alle Beiträge zum Projekt sind willkommen. Es wird empfohlen, GitHub-Pull-Requests zu verwenden.
Feedback und Support finden Sie im ReShade-Forum und auf dem Discord-Server.
ReShade ist unter den Bedingungen der BSD-3-Klausel-Lizenz lizenziert.
Einige Quellcodedateien unterliegen einer Doppellizenz und sind auch unter den Bedingungen der MIT-Lizenz verfügbar, wenn dies oben in diesen Dateien angegeben ist.