This a mod focusing improving the quality of SWBFII's visuals in subtle ways without interfering with any mod or map's art style. After all a lot of modders spend quite a while making their content look just right and I don't want to come along, ignore all their effort and end up butchering their content.
I want visual improvements that interfere minimally with existing content but are still meaningful. Now let's go on a tour of the features provided by this amazing mod.
First up we have the lovely global per-pixel. Per-pixel lighting is already in the game but modelers must opt into it, this is because back in the day GPUs just weren't up to the task of doing it. However GPUs have gotten
alot faster since the game came out and thus we're now able to enable per-pixel lighting across the board.
Notice how on the left the light fades out unevenly and it is hard to even identify where the light is coming from. Compare that to the right where the light interacts with the wall smoothly and correctly from it's centre point.
Next up we have my attempt at improving the look of the Droideka shield effect ingame. On right you can see how the shield has distortion that helps give the appearance of greater depth and complexity to the shield's surface. (The normal map is also seamless.)
Moving onto water! You ever notice ingame how the water animation always looks jittery and lowres? This always bugged me and was my reason for getting into editing the game's shaders. It does however
potentially interfere with the art of some maps, although I've done my best to avoid it.
Then we have normal mapping. The game normally uses it's normal maps to modify a light's attenuation to produce a bump mapping effect, this gives a reasonably good result, it's not 2005 anymore, we can do better by using real normal mapping. (The impact of this change is often more noticeable on custom maps that make use of normal maps as opposed to stock maps.)
Ever gotten bugged by that boxy looking bloom falloff that can sometimes show up? As of v0.6.0 Shader Patch comes with an optional (but on by default) replacement stock bloom effect designed to smooth out the falloff.
Another new one as of v0.6.0. The game comes with a scene blur effect that some maps use. The stock one has a nasty habit of adding aliasing to the corners of objects, to solve this Shader Patch can now (once again optionally) replace the blur effect with a gaussian blur that doesn't add as much aliasing to the scene and (keeping in line with Shader Patch's goal of respecting a map's artwork) looks similar when blended in. (Minus the aliasing obviously!)
For a while now SP has had a custom materials system and a fancy pants post-processing system to go along with it. However as I expected there hasn't been any use of it. But one thing I have noted is that people sure to seem to like their post-processing effects. So the effects system used by the materials system has been extended to be perfectly (and easily) usable on it's own. There should be a tutorial on the GitHub wiki either now or in the next couple days for how to use and integrate it with your map.
To use this amazing mod you'll need:
* To understand that it works by hooking into the game using a .dll, if that isn't something you're comfortable with then obviously don't install this
* If you want to use the included Installer/Uninstaller .NET Framework 4.6.2 which you can find
here if you don't already have it. (You probably do.)
* A Shader Model 3.0 capable GPU, if you don't have this the patch won't work, full stop.
* Windows 7 or higher, because adding XP support would be a serious pain.
Assuming I haven't frightened you off and you're eager to start installing the patch you can find it at the below link on GitHub. The name of the file you're after is
shaderpatch.zip.
GitHub Release
If you hit problems have a look at
Common Problems & Solutions page, it is possible some simple settings need changing for it to work.
And of course the source code to both the shaders and DirectInput hook can be found on GitHub.
GitHub Source
If you have any thoughts/bug reports or requests then I'm always happy to hear to them. You can reach me here, on GitHub or if you prefer on
Discord.