GShade guide: External Textures 101
External textures open up an amazing world of possibilities: think superimposed visual effects, or custom stickers (like logos or decoration)!
So grab a coffee and let’s learn how to use them for a simple but powerful purpose: custom backgrounds!
But first, what’s a texture? In short, a texture is simply an image, like a .jpg or .png file, that you can load and use within the 3D space for different purposes. In broader 3D terms, it means the 'skin' you wrap a 3D model's wireframe surface around.
(You can learn more about the broader meaning of texture mapping with this handy video.)
Now, back to GShade - we can’t replace in-game textures, but we can add new elements to the 3d space within the game and apply custom textures. So here's the step-by-step:
1 - Locate the Custom Textures folder
Tap the Windows key to open the Windows prompt, type the following line, and press Enter:
%SystemDrive%\Users\Public\GShade Custom Shaders\Textures
This will open an Explorer window listing all the custom textures available for GShade to use.
Now, the good stuff™: you can install new textures simply by copying new files into this folder!
2 - Load and Show a Custom Texture
Open GShade, locate a shader named Stagedepth, and enable it:
(Leave the number of StageDepths to 1, that's enough for now.)
Now look out for a little widget called Preprocessor Definitions, and expand it.
We need to inform 3 parameters:
StageTex (the name of the texture we want to use)
STAGE_SIZE_X (the width, in pixels, of the image we’re loading, or the BUFFER_WIDTH keyword for full-screen width), and
STAGE_SIZE_Y (same, but for height, or BUFFER_HEIGHT).
For now, let’s use one of the textures installed by default. Locate and enable StageDepth, and use this value (and make sure to use double-quotes around the texture name):
StageTex: "LensSprite.png"
And hopefully, you'll see something like this:
Now play with the shader’s sliders, especially the 'Depth' value since it allows you to determine how close or far the texture will be placed. (Remember, you can always right-click on a GShade control to open up a context menu with the ‘reset to Default’ option.)
If you got to this point - congratulations! You just loaded your first custom texture into GShade. I’m proud of you!
Time to put your safety goggles on - we’ll use Depth to project the texture away, and use in-game scene set-up to match the injected background composition. Here's the image I'll use, generated with MidJourney:
Since we can’t modify the texture itself, we need to make sure our scene setup matches aspects of the injected background like color and contrast. (It can be modified by GShade filters, though, so you can apply effect like Blur by placing StageDepth closer to the top of the filter list):
First, the scene setup...
Now, enable a preset - in this case, Neneko Jolt:
Enable StageDepth and specify the custom texture in StageTex, so it automatically loads...
...and place StageDepth before the ADOF filter, so its bokeh effect applies to the texture as well:
...and presto! Now you have a beautifully merged custom background.
This opens up a lot of composition possibilities; looking forward to seeing your attempts with external textures!