Au cours de ces dernières années, l’injecteur de post-traitement ReShade a transformé le jeu sur PC en permettant aux utilisateurs de personnaliser et d’améliorer de manière transparente les graphismes de presque tous les jeux.
Il y a quelques heures, une nouvelle version majeure de ReShade, la version 6.0, a été mise à disposition via le site officiel. Ces grosses versions sont rares (par exemple, la version 4.3 est arrivée en mai 2019, tandis que la version 5.0 a été lancée il y a près de deux ans), mais elles apportent des fonctionnalités entièrement nouvelles que les développeurs de shaders peuvent ensuite exploiter.
ReShade 6.0 ne fait pas exception. Entre autres choses, il introduit la prise en charge et une gestion spéciale pour RTX Remix (dont le lancement est prévu en version bêta ouverte dans une semaine à partir d’aujourd’hui) et, plus intéressant encore, il ajoute des API pour le traçage de rayons et l’ombrage de maillage.
À en juger par le journal des modifications, il semble que les développeurs de shaders pourraient être en mesure d’utiliser le support matériel de ces technologies de manière sans précédent. Par exemple, le lancer de rayons était disponible via le RTGI de MartyMcFly et d’autres techniques similaires, telles que Complete RT de NiceGuy, mais aucune d’entre elles ne pouvait exploiter l’accélération matérielle disponible dans les GPU comme GeForce RTX ou les Radeon RX 6000 et 7000 d’AMD. Si cette hypothèse est correcte, ReShade 6.0 pourrait véritablement changer la donne. J’essaierai de contacter le développeur principal Crosire dès que possible pour clarifier. En attendant, voici un aperçu complet de cette nouvelle version :
Caractéristiques de ReShade 6.0 :
- 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 lui permettre de charger et de 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)