Magazine High tech

ReShade

Publié le 16 janvier 2024 par Zaebos @MetatroneFR

Imaginez votre jeu préféré avec une occlusion ambiante, de véritables effets de profondeur de champ, une correction des couleurs et bien plus encore. ReShade expose un moyen automatisé et générique d'accéder à la fois aux informations de couleur et de profondeur du cadre (cette dernière est automatiquement désactivée pendant le multijoueur pour empêcher toute exploitation) et à tous les outils pour y parvenir.

Les possibilités sont infinies! Ajoutez un anticrénelage SMAA avancé basé sur la détection des bords de profondeur, une occlusion ambiante de l'espace d'écran, des effets de profondeur de champ, une aberration chromatique, un grain de film dynamique, une saturation et une correction automatiques des couleurs, un traitement croisé, un flou multi-passes... vous l'appelez.

Note: ReShade prend en charge tous les Direct3D 9, Direct3D 10, Direct3D 11, Direct3D 12, OpenGL et Vulkan. Un ordinateur avec Windows 7 SP1, 8.1, 10 ou 11 et .NET Framework 4.6.2 ou supérieur installé est requis.

ReShade propose son propre langage d'ombrage et son transcompilateur, appelé ReShade FX. La syntaxe est basée sur HLSL, ajoutant des fonctionnalités utiles conçues pour développer des effets de post-traitement : définir et utiliser des textures directement à partir du code du shader, les rendre, modifier les états de rendu, récupérer les données de couleur et de profondeur, demander des valeurs personnalisées telles que des minuteries ou des états clés. ,...

Et ce n'est pas ça. Écrivez vos shaders une seule fois, ils fonctionneront partout, quelle que soit votre cible Direct3D ou OpenGL : ReShade se charge de les compiler selon le bon modèle de shader et le bon langage.

Open source

Depuis le 1er janvier 2017, ReShade est open source selon les termes et conditions de la licence BSD à 3 clauses ! Vous pouvez aider au développement avec vos propres contributions via le référentiel officiel GitHub.

Utilisez des fichiers prédéfinis (*.ini) qui peuvent être créés à partir de l'interface utilisateur du jeu de ReShade pour partager vos configurations.
ReShade charge automatiquement tous les préréglages placés dans le répertoire du jeu (*.ini et *.txt).
Ne partagez PAS les binaires ou les fichiers shader. Reliez plutôt les utilisateurs à ce site Web.

Démarrage rapide : Exécutez l'outil de configuration > Suivez les instructions > Fermez l'outil de configuration > Démarrer le jeu > ... > Profit | Dépannage

Quoi de neuf

Caractéristiques:

  • Localisation ajoutée (actuellement avec des traductions en bulgare, anglais, français, allemand, japonais et chinois simplifié)
  • Ajout du support OpenXR
  • Ajout de la prise en charge de la résolution des tampons de profondeur MSAA dans D3D9 (en utilisant RESZ), D3D12, OpenGL et Vulkan (lorsque pris en charge par le pilote)
  • Ajout de la prise en charge des fichiers CUBE LUT comme source de texture
  • Ajout d'une API pour gérer manuellement les instances d'exécution de l'effet ReShade lorsque les hooks graphiques sont désactivés (exports DLL " ReShadeCreateEffectRuntime ", " ReShadeDestroyEffectRuntime " et " ReShadeUpdateAndPresentEffectRuntime ").
  • SpecialK, par exemple, l'utilise pour pouvoir injecter SpecialK tardivement dans une application et le charger et gérer ReShade, au lieu d'exiger que ReShade se connecte au lancement de l'application.
  • Ajout de l'API complémentaire de synchronisation de clôture (" device::create_fence ", " command_queue::signal ", " comand_queue::wait ", ...)
  • Ajout de l'API complémentaire d'espace colorimétrique (" swapchain::check_color_space_support ", " swapchain::get_color_space ", " effect_runtime::set_color_space ", ...)
  • Ajout de l'API et des événements du module complémentaire de traçage de rayons (" command_list::build_acceleration_structure ", " command_list::dispatch_rays ", ...)
  • Ajout de l'API et des événements du module complémentaire Mesh Shader (" command_list::dispatch_mesh ", ...)
  • Ajout de l'API complémentaire " device::get_property " pour interroger les informations sur l'appareil, " command_queue::get_timestamp_ Frequency " et plus encore
  • Ajout de diverses fonctions pour effectuer l'API complémentaire d'exécution (" effect_runtime::open_overlay ", " effect_runtime::reset_uniform_value ", ...)
  • Ajout des événements " addon_event::reshade_overlay_uniform_variable " et " addon_event::reshade_overlay_technique " permettant la personnalisation des widgets utilisés pour afficher des variables ou des techniques uniformes dans la superposition
  • Ajout des macros de préprocesseur " __FILE_NAME_HASH__ " et " __FILE_STEM_HASH__ " intégrées
  • Ajout des éléments intrinsèques " f16tof32 " et " f32tof16 " à ReShade FX
  • Ajout des éléments intrinsèques " tex1Dgrad ", " tex2Dgrad " et " tex3Dgrad " à ReShade FX
  • Ajout des annotations de variables " noedit ", " noreset " et " nosave " et chargement forcé des fichiers d'effets " *.addonfx ".
  • Ajout de l'annotation de variable " ui_category_toggle " pour basculer la visibilité d'une catégorie de variable en fonction de la valeur uniforme
  • Ajout des noms de modules complémentaires chargés aux définitions du préprocesseur (par exemple " ADDON_GENERIC_DEPTH= " pour le module complémentaire Generic Depth)

Corrections de bugs :

  • Correction d'un crash dans Resident Evil 3 et d'autres jeux D3D11 multithread
  • Correction de la création de ressources multi-échantillonnées dans OpenGL
  • Correction de la gestion du contexte OpenGL pour gérer correctement plusieurs fenêtres (corrige le rechargement infini avec la disposition " Fenêtres séparées " de Citra)
  • Correction de quelques erreurs OpenGL avec les textures rectangle et multi-échantillons
  • Correction de problèmes de lecture vidéo dans les jeux du moteur Unity
  • Correction de la détection du tampon de profondeur dans Immortals of Aveum
  • Correction de " command_list::bind_descriptor_tables " ne définissant pas tous les tas de descripteurs utilisés par les applications dans D3D12
  • Correction de l'événement " addon_event::bind_descriptor_tables " qui n'était pas appelé lorsque la signature racine D3D12 est modifiée
  • Correction de la création implicite de ressources de tampon arrière lorsque " effect_runtime::render_effects/render_technique " est appelé avec une ressource sans type
  • Correction d'un crash lorsque les hooks graphiques sont désactivés
  • Correction d'un crash lors du téléchargement de données de texture 3D dans D3D9
  • Correction d'un crash dans le module complémentaire Generic Depth intégré dans les applications OpenGL multithread
  • Événements de ressources fixes pour les tampons " GL_TEXTURE_BUFFER "
  • Correction d'une erreur de validation Vulkan lors de la création de la chaîne d'échange avec le format d'image sRGB
  • Correction de la chaîne d'échange VR créant des ressources incompatibles lorsque le format est sans type et n'a pas de variante sRGB
  • Correction des catégories de l'éditeur de variables s'étendant lors du redimensionnement de la fenêtre de superposition
  • Correction du bouton de sauvegarde de l'éditeur de code apparaissant par erreur pour les instances affichant le code généré
  • Regroupement d'éléments fixes des widgets de liste
  • Correction d'une nouvelle fenêtre contextuelle prédéfinie qui se ferme lorsque le bouton de retour arrière est enfoncé
  • Correction du défilement dans la fenêtre des modules complémentaires
  • Correction des chemins relatifs avec " .\.\ " ou plusieurs points écrits dans la configuration lorsque le fichier cible n'existe pas

Divers:

  • Imgui mis à jour vers 1.90 (les modules complémentaires peuvent désormais utiliser 1.90, 1.89.7 ou 1.86)
  • Ajout d'une heuristique de filtre tampon de profondeur supplémentaire qui ne prend en compte que ceux correspondant exactement à la résolution.
  • Ajout d'une coloration à la liste des tampons de profondeur indiquant quels tampons sont candidats à la sélection en fonction de l'heuristique configurée.
  • Ajout de la prise en charge du téléchargement de texture pour les formats de texture 32 bits (par exemple, utilisé pour les fichiers CUBE ou HDR)
  • Ajout d'une implémentation appropriée pour " command_queue::wait_idle " dans D3D9/10/11
  • Ajout de la prise en charge des éléments intrinsèques " countbits ", " reversebits ", " firstbitlow " et " firstbithigh " sous D3D9 et 10 en utilisant une implémentation émulée
  • Ajout d'une erreur de compilation d'effet lors de la tentative d'utilisation d'une texture avec sémantique comme cible de rendu (celles-ci sont toujours en lecture seule)
  • Ajout du support UTF-8 à l'éditeur de code
  • Bouton ajouté pour ouvrir le dossier de préréglages dans l'explorateur à côté du sélecteur de préréglages
  • Bouton ajouté pour ouvrir le dossier de journal dans l'explorateur pour accéder à la page de journal
  • Bouton ajouté pour ouvrir le dossier de base dans l'explorateur vers la page des paramètres
  • Ajout d'une note sur ce qu'il faut faire lorsque les modules complémentaires ont été désactivés en raison de l'activité du réseau
  • Message de journal clarifié en cas d'échec de chargement du module complémentaire
  • Synchronisation des files d'attente améliorée dans Vulkan
  • Modification de la création du runtime d'effet pour éviter d'allouer des ressources en cas de désactivation via " (GENERAL) Disable=1 " dans la configuration et les rendre indépendants des instances de chaîne d'échange
  • Modification du comportement du format 16 bits sans type dans OpenGL pour passer par défaut au format à virgule flottante
  • Modification de l'implémentation des barrières D3D10 et D3D11 pour dissocier uniquement les ressources transmises à la commande de barrière, plutôt que toutes.
  • Modification de la sélection du nom du fichier de configuration pour mieux distinguer les instances d'exécution d'effet VR et non VR (ReShadeX.ini et ReShadeVRX.ini)
  • Changement du nom du fichier journal alternatif en " ReShade.logX ", plutôt que " ReShadeX.log "
  • Modification de l'emplacement des paramètres de progression du didacticiel vers le fichier de configuration global (afin que la progression du didacticiel soit partagée pour toutes les instances d'exécution des effets)
  • Modification de la mise à l'échelle des polices pour qu'elle ne soit pas désactivée une fois le didacticiel terminé (ajout d'une fenêtre de superposition de messages lorsque Ctrl + molette de la souris est enfoncée pour informer les utilisateurs de ce qui se passe)
  • Modification de la fenêtre contextuelle du navigateur prédéfini pour avoir une largeur minimale
  • Modification de la vue des onglets de l'éditeur de variables pour faire défiler les onglets au lieu de les réduire
  • Suppression des annotations de touche bascule pour les techniques
  • Suppression de l'option de configuration " (APP) EnableTransparency "
  • Option de configuration " (INSTALL) EnableLogging " renommée en " (INSTALL) Logging "
  • Option de configuration renommée " (SCREENSHOT) PostSaveCommandNoWindow " en " (SCREENSHOT) PostSaveCommandHideWindow "
  • Suppression de la journalisation de la ligne de commande complète de l'application (car elle peut contenir des informations sensibles)

Outil de configuration :

  • Ajout de l'enregistrement de la couche OpenXR
  • Ajout d'une vérification des fichiers d'effets existants (affichera désormais une erreur au lieu de créer des doublons)
  • Page de sélection des modules complémentaires ajoutée
  • Ajout de la détection et de la gestion spéciale pour les jeux modifiés avec NVIDIA RTX Remix
  • Fusion des packages de préréglages et d'effets et de la sélection de fichiers d'effets sur une seule page
  • Correction de la bascule du package d'effets et des boutons radio renommés sur la page de désinstallation
  • Correction d'un crash lors de la rencontre d'exécutables sans nom de fichier avant l'extension
  • Correction du chemin prédéfini relatif existant n'étant pas résolu correctement
  • Titre de l'application fixe lorsqu'aucune description de fichier n'existe
  • Correction de l'échec de la désinstallation lorsqu'elle est invoquée via la ligne de commande
  • Modification de la gestion des exceptions non gérées pour afficher l'erreur au lieu de planter
  • Désinstallation modifiée pour supprimer tous les fichiers d'effets trouvés dans les chemins de recherche locaux

Retour à La Une de Logo Paperblog

A propos de l’auteur


Zaebos 7622 partages Voir son profil
Voir son blog