Skip to content

gposingway/shadingway

Repository files navigation

Shadingway

Shadingway is a ReShade toolkit addon for Final Fantasy XIV. It makes your effects look the way they're supposed to in-game, keeps the HUD sharp through every effect, and survives every game patch on its own. No more depth of field blurring your chat log. No more presets breaking on update day. Just drop it in next to ReShade and play.


Currently supported: ReShade 6.3+ with add-on support, FFXIV (DX11)

Download latest release

Version   Downloads   Last commit   Forks   Stars


What you get

  • Effects that look right. Modern effects — ambient occlusion, depth of field, motion blur, volumetric fog — work much better when they know what the game is actually rendering. Shadingway gives them that information, so they stop guessing and start producing the look they're meant to.
  • A sharp HUD, always. Effects render underneath the FFXIV interface. No more blurred chat logs, no more smeared hotbars, no more yellow tint on menu text.
  • Survives every game patch. FFXIV updates often, and updates usually break presets until someone in the community publishes a fix. Shadingway recognizes the game's shaders by what they do, not by their fingerprint, so it keeps working through patches that would normally take your effects offline.

Installation

  1. Install ReShade 6.3+ with Add-on Support (the unsigned variant).
  2. Drop Shadingway.addon next to ffxiv_dx11.exe from the latest release.
  3. Start the game. The Shadingway pane appears in ReShade's addon settings — no configuration required for typical use.

If you also have REST

  • REST-FFXIV installed, Shadingway detects them and cooperates automatically — no conflicts.

Already have REST installed? That's fine.

If you're already using REST (the addon many FFXIV ReShade users have), Shadingway notices and gets out of its way — they cooperate automatically. No conflicts, no extra setup, nothing to choose.

If you don't have REST, you don't need it. Shadingway can stand alone and covers the same ground; the shaders that ask for REST's data will get Shadingway's instead, with no changes needed.

Either way, you don't have to pick.

For shader authors

The surface matches REST's exactly — community shaders work unmodified under either addon:

texture texNormals       : NORMALS;
texture texMotionVectors : MOTIONVECTORS;
uniform float4x4 matProj < source = "mat_Proj"; >;
uniform float4x4 matView < source = "mat_View"; >;
// + ProjInv, ViewInv, ViewProj, ViewProjInv

#ifdef ADDON_SHADINGWAY_ACTIVE
    // enhanced code path when Shadingway is active
#endif

Reference implementations in REST-FFXIV/Shaders/.

For tool developers

The HTTP API on 127.0.0.1:48756 is the integration surface (loopback-only by default):

curl http://127.0.0.1:48756/api/v1/status
curl http://127.0.0.1:48756/api/v1/extraction/status
curl http://127.0.0.1:48756/api/v1/constants/discovered

Full endpoint reference is in docs/API.md — every endpoint, parameter, and response shape. Threat model in STATE.md.

Documentation

  • TUTORIAL — frame-by-frame walk-through, no graphics background required.
  • DISCOVERY — how Shadingway recognizes shaders and survives patches.
  • STATE — architecture reference.
  • PHILOSOPHY — the signature vs. shape design principle the codebase is organized around.
  • API — HTTP API reference for tool developers (every endpoint, parameter, response shape).
  • ADR 0001 — roadmap for v0.22+ (unified training lifecycle, automated signature derivation).

Build

build.bat Release x64

Requires VS2022 Build Tools, vcpkg (cpp-httplib, nlohmann-json, stb), and the vendored ReShade SDK headers in includes/. Produces dist/shadingway.addon.

Contributing

Open an issue describing the use case before opening a PR — many things in the codebase are intentional consequences of the philosophy doc and the training-lifecycle ADR, and a quick conversation can save a redesign.

Credits

Standing on the shoulders of giants: 4lex4nder for REST and the FFXIV configuration · Frans Bouma for the original ShaderToggler · crosire for ReShade and the addon API · Marty McFly / Pascal Gilcher for iMMERSE and the community-defining work on what's possible when ReShade gets real engine data.

License

MIT. Same as the REST upstream this project seeds from.

About

A ReShade addon that exposes its configuration and runtime data for external tools and advanced users.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages