FFXIV ReShade

Since Q4 of 2023, I have worked on the development of a performance-friendly graphics shader for the 2010 massively multiplayer online role-playing game, Final Fantasy XIV - in which I have resumed the project and finalized for a university course. The project initially started to make some "aesthetic alterations" to the original game. I began by identifying elements of the base game that I looked to enhance:

• Desaturated
• Not vibrant
• “Consistently grey”
• Outdated light/shadows



After outlining these elements, I drafted a "goal" plan to seek a resolution to each issue:

• Colorize
• Revamp lights/shadows
• Smooth out object edges
• Add “atmosphere”
• Performance for gameplay

I utilized ReShade, a third-party, open-source injector that enhances the graphics and applies post-processing effects to games and applications. Given that most of the post-processing effects within ReShade are "film effects", I used my knowledge of film (one of my studies focuses) to create a cinematic-like tonality to the game while still retaining the look and feel of the original game.



I chose ReShade for the following reasons:

• Filmic effects // It contains film-based effects that I easily apply to the game with my knowledge in VFX
• Controllable levels // Every effect is adjustable and controllable in every aspect.
• “Lightroom for Games” // The injector is essentially a "Lightroom for Games", making it the easiest alternative to injecting modernized graphics into an old game.
• Uses 3D space instead of overlay // This injector uses DirectX to analyze the 3D space of the game environment to apply the effects appropriately instead of acting as an overlay mask. This allows for a significant amount of customizations.



The ReShade effects I used are as follows:

• Filmic Pass // Applies some common color adjustments to mimic a more cinema-like look
• Tint // Added a “sepia” effect for warmth
• Deband // Reduced color banding from other effects
• MagicHDR // Applies Bloom and Tonemapping with fake HDR effect
• Blooming HDR // Applies fake HDR with bloom
• Radiant GI // Applies Global Illumination with Subsurface Scattering
• Volumetric Fog // Simulates physical aspects of fog and adaptively changes its color to match the tone of the scene
• LumaSharpen // Blurs the original pixel with the surrounding pixels and then subtracts blur to sharpen the image
• ADOF // Applies an Advanced Depth of Field
• Reversed Depth Input // Flips/reverses the Depth Buffer/z-buffer to represent depth information of objects in 3D space (used for the new 7.0 version of FFXIV)


REFLECTION:

I've been modding games for quite some years, and adding new graphic shaders into FFXIV revitalized my passion for customizing aesthetics to my own liking. Compared to the original coloration and graphics of the game, my shaders made such a significant change that I can't find myself playing the game without it. The goals I set out to achieve were successful in revamping an old game into what looks like a modern product, and the feedback I've received from my peers and fellow players have been fantastic. I learned more than I expected about color theory and especially light physics, and I'm enthusiastic to keep building upon this.

2024

Photorealistic, Cinematic, Game, Photography

/**
 * FilmicPass.fx
 *
 * Applies some common color adjustments to mimic a more cinema-like look.
 */


/**
 * Sepia.fx
 *
 * https://github.com/CeeJayDK/SweetFX/blob/master/Shaders/Sepia.fx
 *
 */

/**
  Vibrance.fx
  by Christian Cann Schuldt Jensen ~ CeeJay.dk
 
  Vibrance intelligently boosts the saturation of pixels so pixels that had little color get a larger boost than pixels that had a lot.
  This avoids oversaturation of pixels that were already very saturated.
 */

/**
 * MultiLUT.fx
 *
 * Multi-LUT shader, using a texture atlas with multiple LUTs 
   by Otis / Infuse Project.
   Based on Marty's LUT shader 1.0 for ReShade 3.0
   Copyright © 2008-2016 Marty McFly
 */


/**
 * Deband.fx
 *
 * Deband shader by haasn
 * https://github.com/haasn/gentoo-conf/blob/xor/home/nand/.mpv/shaders/deband-pre.glsl
 *
 * Copyright (c) 2015 Niklas Haas
 */

/**
 * MagicHDR.fx
 *
   #include "FXShaders/API.fxh"
   #include "FXShaders/Canvas.fxh"
   #include "FXShaders/Common.fxh"
   #include "FXShaders/Convolution.fxh"
   #include "FXShaders/Math.fxh"
   #include "FXShaders/Tonemap.fxh"
 */

/**
 * BloomingHDR.fx
 *
 * https://github.com/BlueSkyDefender/AstrayFX/blob/master/Shaders/BloomingHDR.fx
 *
 */

/**
 * RadiantGI.fx
 *
 * Radiant Global Illumination  +  Subsurface Scattering
 *
 * https://github.com/BlueSkyDefender/AstrayFX/blob/master/Shaders/RadiantGI.fx
 *
 */

/**
 * VolumetricFog.fx
 *
 * https://github.com/mj-ehsan/NiceGuy-Shaders/blob/main/Shaders/Volumetric%20Fog%20V2.0.fx
 *
 */

/**
 * LumaSharpen.fx
 * by Christian Cann Schuldt Jensen ~ CeeJay.dk
 *
 * It blurs the original pixel with the surrounding pixels and then subtracts this blur to sharpen the image.
 * It does this in luma to avoid color artifacts and allows limiting the maximum sharpning to avoid or lessen halo artifacts.
 * This is similar to using Unsharp Mask in Photoshop.
 */

/**
 * qUINT_dof.fx
 * by Marty McFly / P.Gilcher
 *
 * Advanced Depth of Field "ADoF"
 */

/**
 *
   Credits go to all the wonderful people who worked on ReShade, SweetFX, qUINT, and more!
 *
 */

FAQ

Will you release this ReShade project?

How performance heavy is it?

Did you add raytracing?