Это универсальный инжектор постобработки для игр и видеопрограмм. Он предоставляет автоматизированный способ доступа к информации о цвете и глубине кадра, а также собственный язык шейдеров под названием ReShade FX для написания таких эффектов, как окружающая окклюзия, глубина резкости, коррекция цвета и многое другое, которые работают везде.
ReShade может дополнительно загружать надстройки , DLL, которые используют ReShade API для расширения функциональности как ReShade, так и/или приложения, к которому применяется ReShade. Чтобы начать писать собственное дополнение, ознакомьтесь со справочником по API.
Компилятор шейдеров ReShade FX, содержащийся в этом репозитории, является автономным, поэтому его также можно интегрировать в другие проекты. Просто добавьте все файлы source/effect_*.*
в свой проект и используйте его аналогично примеру fxc.
Вам понадобится Visual Studio 2017 или более поздней версии для сборки ReShade и Python для зависимости gl3w
.
git clone --recurse-submodules https://github.com/crosire/reshade
32-bit
или 64-bit
целевую платформу и создайте решение.Release
как для 32-bit
, так и для 64-bit
целевых систем, и только после этого создайте конфигурацию Release Setup
(не имеет значения, какая цель выбрана тогда).Краткий обзор того, что содержат некоторые файлы исходного кода:
Файл | Описание |
---|---|
dll_log.cpp | Простая реализация файлового регистратора |
dll_main.cpp | Основная точка входа (и дополнительное тестовое приложение) |
dll_resources.cpp | Доступ к данным ресурсов DLL (например, встроенным шейдерам) |
effect_lexer.cpp | Лексический анализатор C-подобных языков |
effect_parser_stmt.cpp | Парсер языка шейдеров ReShade FX. |
effect_preprocessor.cpp | C-подобная реализация препроцессора |
крюк.cpp | Обертка MinHook, которая отслеживает указатели на связанные функции. |
ook_manager.cpp | Автоматическая установка перехватчика на основе экспорта DLL. |
input.cpp | Управление вводом с клавиатуры и мыши и перехватчики очереди оконных сообщений |
runtime.cpp | Базовая среда выполнения ReShade, включая управление эффектами и пресетами. |
runtime_gui.cpp | Оверлейный рендеринг и все, что связано с пользовательским интерфейсом |
Любой вклад в проект приветствуется, рекомендуется использовать запросы на извлечение GitHub.
Посетите форум ReShade и сервер Discord для получения отзывов и поддержки.
ReShade лицензируется в соответствии с условиями лицензии BSD, состоящей из 3 пунктов.
Некоторые файлы исходного кода имеют двойную лицензию и также доступны в соответствии с условиями лицензии MIT, если это указано в верхней части этих файлов.