Reshade

Reshade
  • Views Views: 136
  • Last updated Last updated:

Navigation

  • What is Reshade?

    Reshade is a post processing injector that allows you to add effects to your favorite games like ambient occlusion, global illumination, screen space reflections, and more. This page will detail a guide to installing and configuring Reshade to be used with Star Wars Galaxies and explain any limitations with the game engine.

    Shaders are made by developers for use with Reshade and then those shaders are used to create presets by Reshade users. The shaders, once loaded into Reshade, have many sliders and values that can be adjusted via Reshade's GUI. This guide will detail how to acquire Reshade and Reshade shaders, as well as how to configure them inside of Reshade's GUI.

    There are two types of Reshade installations. Reshade's default executable installs a multiplayer limited form of Reshade, designed for competitive online shooters at the request of the Reshade community. Any online traffic when this version is installed will result in the depth buffer access being blocked, limiting which Reshade features can be used heavily, to prevent Reshade users from obtaining an advantage through better lighting or rendering tricks. Most MMOs have opted to not require the use of this version of Reshade and it is primarily reserved for games like Call of Duty, Apex Legends, Fortnite and other competitive titles. The anti-cheat for some of these games have even coded in checks to ensure this version of Reshade is the only one that is useable. This is NOT the version of Reshade we want to use in SWG. Ensure that you install the version of Reshade "with full add-on support."

    Installing Reshade:
    1. Go to this website.

    2. Click the "Download" button in the center of the screen and select the "Download ReShade with full add-on support".

    3. Launch the executable and ignore the warning message, Reshade is allowed in the SWGR community.

    4. You will be taken to a menu with a list of games installed on your PC. It is best to use the browse button on this screen to make sure we target the right folder. Click the "browse" button and select the SWG Restoration executable, if you use the 32-Bit client, this is located by default in "C:\Program Files\SWG Restoration", and if you use the 64-Bit client, this is located by default in "C:\Program Files\SWG Restoration\x64". The file you are looking for is named "SwgClient_r.exe". Select this file and click open and then click next.

    5. Next we need to select the rendering API the game uses. In most cases the answer here will be DirectX 9, but for anyone who has experienced the "broken faces" bug and applied the fix from the SWG Restoration discord, or who is using DXVK of their own volition, the option you will want instead is "Vulkan", as your game now renders with the Vulkan API. After selecting your desired method, click next.

    6. Here we are presented with a list of effects that we can choose to install. These will not automatically enable in your game, but instead are held in a folder and function as a list of effects that you can tinker with within Reshade, or that may be required by a particular preset. In most cases, checking all of these is ideal, as you can make a preset with only a couple that you like, and selecting them all provides you with the widest range of compatibility with other presets in the future. Some effects need to be acquire outside of this menu, off github or other websites, but this list has been preapproved by the Reshade team and contains many of the best shaders that are out there. On this list, select what you want, I recommend them all. It will download these effects when you click next.

    7. Now we are on to the addons. These are the most advanced tools that Reshade offers. Many powerful tools reside here, but the most important one for SWG users is Reshade Effect Shader Toggler(REST). This addon allows you to target the layer in the rendering pipeline that you want your effects to appear on, but not only that, it is necessary to fix some long standing issues with the depth buffer if you desire. I will not be outlining how to use REST in this part of the guide, but if you desire this functionality, you can choose to select this addon. After your choices, click next and then finish.
    You are done, but you will need to configure some things, so continue reading below. You should see a splash at the top of the screen when you start your game. In game you can hit the "home" button on your keyboard and access the GUI. Follow the small tutorial and you can then move on to either creating, or importing your favorite presets.


    Using Reshade:
    Reshade's GUI takes some time to learn. You can resize it, configure hotkeys and more. There are many effects you can select for the game here by checking the marks to the left of each effect name, and there are many settings to change within Reshade itself.

    Some of these settings changes are necessary for SWG to properly access the games depth buffer. The first thing you will want to do is remember this specific change. 64-bit client users need the depth buffer reversed and 32-bit do not. To adjust this to your specific need do the following:
    1. Click the edit global preprocessor definitions button in the Reshade GUI, it is on the top half of the lower portion of the menu, just beyond the dividing line.

    2. Find RESHADE_DEPTH_INPUT_IS_REVERSED in the list and set it to 1 for 64-bit and 0 for 32-bit.
    Now we come to the weird part. SWG has an issue with it's UI and 3D objects messing with depth buffer access. There are multiple ways to handle this problem.

    One solution to this issue is to go to the Addons tab and enable "copy depth buffer before clear operations" and ALWAYS have a 3D object visible on your toolbar. Doing it this way will allow you to have depth buffer access at all times on the ground, even when opening the inventory or datapad.

    Unfortunately, when you go to space, this falls apart. When you target something in space, a 3D object appears on the screen, and the toolbar auto hides in space with no way to disable this. Until this changes, if it ever does, space depth buffer access can not be guaranteed, and every time you target something, it will change whether or not you have or do not have access to the depth buffer. If you do not choose to learn to use REST, then I recommend making separate presets for space that do not rely on depth buffer effects. Common effects that need the depth buffer are things like Ambient Occlusion, Global Illumination, Screen space Reflections, Comic and Motion Blur.

    Another solution, and one that allows depth buffer access in space, involves using DXVK, which you can download here. Be warned, this method means that you cannot use Reshade Effect Shader Toggler(REST), which is by far the superior way to solve our current dilemma, but requires a more significant effort to use. You will need the 2.5.3 version, as for some reason unknown to myself, the newer versions do not work. Expand the "assets" section below the 2.5.3 bug fixes and improvements and download the "dxvk-2.5.3.tar.gz" zip file.

    Then you will need to install Reshade over again, but this time do it as "Vulkan" when it comes time to select the API type. Select "Update reshade only" during the installation. This process is quick.

    Inside the "dxvk-2.5.3.tar.gz" zip file you will find 2 folders, x32 and x64. Choose the one that corresponds to your client, either 32-bit or 64-bit. Within these folders there are different .dll files to choose from and for SWG we need the d3d9.dll file. Put that file into your "C:\Program Files\SWG Restoration" folder for 32-bit, or "C:\Program Files\SWG Restoration\x64" for 64-bit. This will make your game render using the Vulkan API instead of DirectX.

    In the game, open the reshade interface with the "home" key and navigate to the Addons tab at the top. Select "copy depth buffer before clear operations". Selecting this alone will fix the ground. You will not need any items on your toolbar and you will not lose access to the depth buffer when you open your inventory.

    In space however(so far only tested on 64-bit, will test further later), an extra step is required. You must target something in space, go to the "Addons" tab again, while the ship or station remains targeted, ensure "copy depth buffer before clear operations" is still checked, and enable "CLEAR 3" In the checkable options below the two "copy depth buffer" options. You can now close the Reshade menu with the "home" key. This will allow full depth buffer access for the duration of your time in space, but must be done every time you launch and is certainly annoying, but the only reliable way(using this method) to get depth access in space. It also produces some occasional flickering of the depth buffer when an npc communication comes through or at other times, but it is not too intrusive.

    Finally, the most powerful method, and one that takes a bit more effort(but no coding knowledge necessary or anything like that), is the REST addon. REST can make an entire Reshade preset appear behind the UI, not effecting the UI at all. You will have no distortion of the UI from effects, no issues accessing the depth buffer, and you can even target specific layers of the pipeline to render things behind grass or water, or make anti aliasing only effect certain portions of the game. A tutorial to use REST would take quite a bit of time to write up, but you can find many videos on how REST works on youtube. I highly recommend them if you want to take Reshade further.

    Performance mode in the bottom right of the Reshade GUI is very helpful. To put it simply, it makes it so you can no longer edit a shaders values, but also makes the shader execute faster, reducing the performance hit. Some shaders will not compile with this on, which will result in them being shaded red in your list or simply turning off, but otherwise, this is a good option to have on once you are done designing a Reshade.

    Starting a new preset or copying a preset can be done with the plus button in the top right. If you press this button and check "inherit current preset," the new preset will have all the shaders that the previous one had, and retain the values set on each. Handy for making indoor and outdoor variants of the same preset, or for testing things on one preset, while you keep a backup of your work on another.

    Installing your favorite presets or making your own:

    You can find presets all over the internet or even just from friends. Currently, the most I know of in one place are on nexusmods.com.

    You install a preset by dragging the .ini files it comes with into your root directory for 32-bit at "C:\Program Files\SWG Restoration" or your x64 folder for 64-bit at "C:\Program Files\SWG Restoration\x64". In game, at the top of the Reshade GUI(home key to open), to the right of the two arrows, you will see the file name of the current preset you are viewing. By default I believe it says "ReshadePreset.ini". You want to click that box as it is a drop down of all the files in your Reshade install directory. In here you will find the preset files that you just dragged into your root or x64 folder, select them, and your Reshade preset will load.

    Configuring your own Reshade has a somewhat steep learning curve past a certain point, though basic shaders are quite simple. I recommend starting with something like "lightroom," which is an effect you can find in your list(you just select the check box to enable it). It allows you to adjust contrast, color hues, add vignette to the scene and a few more things. It is relatively simple and will give you a feel for Reshade. You can layer as many of these shaders as you would like, though be aware, shaders CAN effect fps. You can see how much time shaders take to execute(their performance) on the "Statistics" tab at the top. Have fun!