Overhauls shaders for a more modern and customizable appearance without the need for ReShade. DX10+
This mod overhauls the lighting and post processing effects of the X-Ray engine for greater visual quality and easier customization. It implements modern graphics techniques and improves the overall handing of light and color within the engine.
It is separated into 2 parts, both of which can be installed individually however they must be installed in the numbered order to prevent conflicts.
Gamma correct lighting with PBR style specular and various fixes for more modern visuals. This also fixes problems within the shaders, enabling translucent lighting effects on foliage and improvements to tonemapping and bloom blending.
The specular roughness is customizable using the settings in pbr_settings.h
A non-PBR version is available if you do not like how the PBR specular looks. This features all of the gamma correction and fixes however it uses the original diffuse and specular effects to retain the original look of the game.
NOTE: There are currently problems with the DX9 version, DX11 is recommended.




Customizable color grading based on the ACES standard, controllable with both in-engine console commands and simple shader modifications.
Use r__color_grading to color grade your image as shown in these examples:

Adds new effects and allows color grading to be controlled using the shader_param_ console commands. This gives you complete control over the color grading.
The new effects are contrast control and a channel mixer, these allow for more interesting color modifications.
For compatibility with Beef's Shader Based NVGs there is also a simple version included. This does not feature the channel mixer as those shader_param settings are used for his nightvision effects
The controls work as RGB + Offset, with the first 3 values controlling the red, green and blue channels and the 4th adding to the whole.
These are the default values of each command and the setting that it controls:
NOTE: Saturation is done after power and before contrast.
There are config files included that can be loaded using the cfg_load console command as shown:
cfg_load grading_default
There are multiple preset config files for different styles.
NOTE: The vibrant and filmic presets are not included with the simple version as they use the channel mixer.
I recommend that you find a preset that you enjoy, copy it and tweak it to your taste, either in game or with a text editor (you can reload your config to see any changes made after saving)
The screenshots below use Corrected Cubemaps and the weather from Aggressor Reshade with these settings:
r2_sun_lumscale 3.0
r2_sun_lumscale_hemi 1.0
r2_sun_lumscale_amb 0.5
r2_tonemap_middlegray is often tweaked for each shot.







Cubemaps filtered for improved specular reflections and ambient lighting. This is compatible with both the PBR and non-PBR versions of Enhanced Shaders.
Anomaly's default cubemaps often do not match the color of the sky, this patch fixes this problem as well as providing higher quality reflections for PBR.
This might change the brightness of ambient lighting in some cases.
NOTE: This is will not work as intended with the default shaders.
Mod Organiser 2 is highly recommended to prevent problems with uninstalling this addon
NOTE: r2_gloss_min MUST be used to control the specular to prevent inconsistent specular highlights (r2_gloss_factor is affected light brightness).
NOTE: You may need to adjust your r2_sun_lumscale_ settings after installing this mod. The gamma correction causes lighting to blend differently and will cause the colors of the lighting to change.
pbr_settings.h contains settings for tweaking the PBR specular and diffuse.
#define USE_BURLEY_DIFFUSE
enables/disables Disney's Burley diffuse, enabled by default. Enabling this creates a more realistic appearance on rough surfaces.
#define USE_GGX_SPECULAR
enables/disables GGX specular, disabled by default. Enabling this will allow lights to use the prettier but more expensive GGX specular seen in most modern engines. This might make specular too prominent.
The settings below are used convert the glossmap and material ID into PBR specular and roughness values.
r2_gloss_min is used to tweak to the result in engine.
#define ALBEDO_BOOST 0.50
Controls the boost in brightness for the diffuse texture. This helps balance out the brightness of PBR specular.
#define ALBEDO_AMOUNT 1.00
Controls the brightness of the diffuse texture.
#define ROUGHNESS_LOW 0.5
Controls the lowest value of the roughness. Decreasing this will make highlights shinier.
#define ROUGHNESS_HIGH 1.0
Controls the highest value of the roughness. Decreasing this will make everything shinier.
#define ROUGHNESS_POW 1.0
Controls the power curve of the glossmap. Decreasing this will make make the highlights stronger more pronounced.
#define SPECULAR_BASE 0.04
Controls the zero incidence specular value. Increasing this will boost the overall specular.
#define SPECULAR_RANGE 1.0
Controls the amount of influence of the glossmap and material ID on specular. Increasing this will make highlights from the glossmap more pronounced.
#define SPECULAR_POW 1.0
Controls the power curve of the specular. Increasing this will make the specular more contrasted.
#define METAL_BOOST 0.25
Controls the boost in glossiness that metal will receive.
#define METALNESS_THRESHOLD 0.125
Controls the minimum amount of gloss needed for metal.
#define METALNESS_SOFTNESS 0.125
Controls the smoothness of the transition between non-metal and metal.
NOTE: In PBR 'specular' refers to the amount of reflection while facing a surface directly.
ACES_settings.h contains the variables for used color grading, by default they are set up to use the in-engine variables, however they can be set manually for greater control.
In log space colors can behave strangely, here's how the controls generally affect the color grading:
If you do not like the how color grading behaves in log space you can disable it to grade in linear, which most users will probably be more familiar with (it will behave the same as Lift Gamma Gain in ReShade).
ACES_LMT.h contains additional color effects that can be used together, by default a contrast reduction is enabled to match the original look of the game.
There are multiple #define directives used to control various features:
#define USE_ACES in ACES.h
enables/disables ACES, enabled by default. If disabled color grading will be done without any wide gamut color transforms. Disable this for performance.
#define USE_LOG_GRADING in ACES_settings.h
enables/disables ACEScc log space for color grading, enabled by default. If disabled color grading will be done in linear space.
Change log
1.10 - Metal improvements with Mipfog and Fixed Bloom
Improved tree and grass normals
DX9 support removed
Fixed Bloom addon added
Improved bloom blending
Improved metal specular
Improved roughness and specular calculations
Improved gamma correction
Shiny terrain fixed
Added ALBEDO_BOOST to brighten dark textures while retaining color
Added METAL_BOOST to increase the glossiness of metal mat_IDs
Added Disney/Burley diffuse BRDF as default
BLOPS 2 ambient BRDF used for non-GGX PBR
Cubemap mipmap blend fixed
Mip fog added
Sun fog added
Height fog added
Reoriented normal map blending added to improve detail mapping
ACES Blue-Fix LMT applied by default
Fresnel for non-pbr improved
1.09 - Detector Fix and Crash fix
Alpha channel of accum buffer now works as self illumination, fixing all artefact detectors
Missing files added
Simple shader_param control option added to prevent conflicts with Beef's Shader Based NVG
1.08 - Foliage fix and new color grading effects
Foliage SSS fixed
Grass material ID set to the foliage ID
Grass specular improved
Grass normals changed
Default pbr_settings values changed for greater reflectivity
Color grading moved to ACES_Color_Grading.h and treated as a LMT
Added contrast and channel mixer to shader_param controls
LMTs supported even with ACES disabled
LMT setup and usage changed
shader_param behaviour changed to RGB + Offset for easier adjustments
shader_param controls extended with new effects
New color grading preset cfg files to demonstrate color mixer and contrast effects
Old color grading presets adjusted for less extreme tinting
Updated ACES RRT with glow module and red modifier
Fixed the brightness of corrected cubemaps in shader (no longer need lumscale adjustment to match the original brightness)
Strict gamma correction option for sky blending removed, it caused problems with ambient lighting
USE_ACES_COLORSPACE removed since USE_ACES will serve the same purpose now
1.07 - Detector self illum fix
Artefact detector self illumination fixed
pbr_settings.h added for controllable specular
PBR cubemaps added for more accurate lighting
Fixed ambient cubemap projection
mirrored power added to tint negative ACEScc log values
Added example shader_param cfg files
1.06 - Now without PBR!
Non PBR version of Enhanced Shaders added
ACEScc black level fixed
Renamed Gamma to Power
Saturation changed to the official equation
shader_param_ support added
1.05 - Dark interiors and gamma correction fixed
1.04 - Exoskeleton fix 2
1.03 - Exoskeleton fix
1.02 - Gamma and Detector fix
Fixed Detector white screen
sRGB improved and optimized
Option for gamma correct sky blending added
1.01 - DX9 fix
1.0 - Release
Please tell me there is a way to uninstall this , since I didn't backup my gamedata folder like an idiot. I had no problems with 1.5, except the white textures on foliage. After applying 1.6 my game is crashing with the following error:
Expression : <no expression>
Function : CScriptEngine::lua_error
File : ..\xrServerEntities\script_engine.cpp
Line : 191
Description : fatal error
Arguments : LUA error: c:/games/anomaly\gamedata\scripts\xr_conditions.script:3110: attempt to index global 'dxr_achievements' (a nil value)
stack trace:
Tried removing xr_conditions and my game booted but looked like this: Imgur.com
Restored xr_conditions file then tried reseting my user.ltx file and I get a CTD with no error log on loading screen everytime. halp
This mod does not include or change any scripts, it can not be what is causing these crashes
What kind of answer is that? My game worked fine this morning and started crashing literally after applying your 1.6 update.I changed nothing else. Of course it's your mod that's causing them. Nobody said that it changes scripts. It creates some kind of conflict with afforementioned file, or could be completely unrelated (with that file, not the crashes), since I don't get that particular error anymore, after resetting my user.ltx .
To clarify: I've got like 15 mods (this mod's 1.5v included) in my gamedata at this point, all working fine before applying your 19/2 update. I'm not saying ''don't download this mod'', but in my case it's causing this issue.
Simply nope. Look at your log. The crash happens during an operation in this script: xr_conditions.script. Lua doesn't let you index global variables returning nil.
There can be several reasons for this. I suppose it's caused by a mod conflict. Best way to find out would be to look for the addon that overwrites this script. You probably have two mods (or more) that modify the same files, maybe even that exact script.
But it surely doesn't have anything to do with this shader mod! This mod doesn't even touch scripts or its functions. It's a coincidence that the crash happened right after installing this mod. YOu can verify that by removing the mod and then load your savegame and try to reproduce the crash.
I can understand that you are not satisfied by the author's answer. But he's right. Before blaming authors (who spend their spare time to provide you with free addons) first make sure that you did install your addons correctly. Of course it could be a faulty mod (but in most cases it's user related due to wrong installation order or installing conflicting mods. For example to mod this game I would not recommend to use mod managers. Even not if you want to use many mods together. There is so much potential for conflicts and managers can mess it up a lot. Manual installation keeps you in full control. And in Anomaly modding you really have to pay a lot of attention for what you're going to install. If you don't, crashes will happen for sure.).
You have something around 15 mods? It's substancial to understand how Anomaly handles mods, at least in a basic way. Before throwing many mods against the game, you have to make sure that they're compatible with each other. If they're not compatible you have to use compatiblity patche. Since not all addons provide patches for other ones, you would have to merge them manually. There's no way around this if you want to play this game with many mods - at least if you want it to be stable.
First of all, modding kept this series alive and I very much appreciate all the authors and their efforts to make it better. I didn't blame the man, but it seemed to me that he blew me off with his answer. Just wanted help and to shed some light to the issue.
I already said that I don't get the xr_conditions.script error anymore (or at least I didn't last time I checked) after resseting my user.ltx file. It just crashes to desktop with no error.
Now, I'm not new to modding stalker (not saying that I'm proficient or that I can't possibly make a mistake). I installed all my mods manually, no mm used, which didn't turn out very well for me, since a mm would help me detrmine the source of the conflict and uninstall whatever mod I wanted very easily.
I always check if my game runs fine before adding something new, as well as if it's compatible with the rest of my list, scanning comment sections for any issues etc. I have all the compatibility patches I need and my game was working before I installed the update for this. I already had his 1.5 version and I was playing for like a week with no issues and whithout installing any new addons whatsoever. I can't understand how this crash would just occur out of the blue because of some random conflict from a mod I already had. Then again, I'm not exactly a tech savy man, hence why I asked for his help.
Only other shader mod I had was ''beef's small shader changes'' which was the first thing I removed when I encountered the crashes. I was under the impression that kennshade's mod replaced some files in the shaders folder. I'll delete all his files and report back in a day or two.
Thank you for the suggestions and explanation though.
I removed my shader folder and was still crashing , so I guess I should delete my previous comments..
Brightness slider from the basic lighting settings does nothing after I finally managed to install this. Is it intended, or am I being stupid again?
what`s the difference between pbr and non pbr?
PBR uses a physically based specular for lights and cubemaps, similar to most modern game engines such as UE4. However it will change the look of the game significantly since specular reflections can physically never reach 0. It tends to make dark objects look washed out in bright sunlight (Duty's armor for example)
This blog has some good real world examples of the effect Filmicworlds.com
The non-PBR version uses the exact same specular as the original shaders, however it is gamma corrected and features all of the fixes that are in the PBR version.
It is meant as an ideal vanilla+ shader mod that doesn't change how materials and reflections look. It will also run better than the PBR version
Thank you so much! Best graphical mod so far. No need to use performance costly reshades :>
Hey there! I'm not sure what I'm doing wrong, but shader Param's doesn't seem to do anything, and my game tbh looks quite ugly in my opinion and nothing like the screenshots, aside from the usual darkness people are reporting, this is with steep paralax and tesselation off.
Imgur.com
Edit: Also, using DX11 and shadow maps 3072 and yada yada
what settings did u use for the preview? Im too stupid to do this myself
So...
I've followed the instructions and:
Deleted my shader cache
loaded the game and in console typed:
r__color_grading 0.5, 0.5, 0.5
r2_gloss_factor 0.001
r2_gloss_min 0.5
with and without spaces between the colour grading 0.5,0.5,0.5 and 0.5, 0.5, 0.5
I can bring up my inventory and it looks fine, and I can see my rifles laser dancing away and my HUD elements are there... I set my options in the settings to default and turned off sunray settings just incase...
Running DX11- AVX
I am at a loss now... any ideas?
shader_param_1 1,1,1,1 - Slope
shader_param_2 0,0,0,1 - Offset
shader_param_3 1,1,1,1 - Power
Ffs thank you, was so in the dark till this comment
почему на солнце весь ландшафт белым пластиком светится?
Is there a way to use it with Yet Another Winter Mod? I tried, but everything looked covered in ice, both people and items.
Also, can this be used with BEEF'S SHADER BASED NVGS V0.9 FOR 1.5.1? Moddb.com
Whenever i run any of the parts of this mod i get an error which tells me I have a video card which doesnt meet the requirements. I have an rtx 2060 so i highly doubt that, what could I be doing wrong.
Can you post the end of your log file? That usually implies a shader compilation error.
How to uninstall these shader? Or how to fix svarog display does not self-illuminate?
Detectors should be self-illuminated again now.
Uninstalling shader mods can be difficult, delete the files that you installed, including Beef's patches, and delete your shader cache and hope that it works.
I recommend using Mod Organizer 2, it makes uninstalling mods like these much easier
Wow, great work! Thx for info and yeah, i already use MO2 because of 100+ addons)
I'm a total brainlet when it comes to shaders. I really like the look of this and during the day it beats any reshade preset I come across.
However I feel like night-time is too bright, I'm looking to have the night's be as dark as possible without making the daytime suffer too much. What would be the files/commands I'd need to go about that?
Anomaly's cubemaps can be inconsistent, the latest version includes optional cubemaps that match the skyboxes properly. There's a gif in the description comparing them.
After installation, the whole picture is one gray spot, except for the HUD, Invalid_parameter writes to change the parameters in the console, what's the matter?
shader_param_1 1,1,1,1
shader_param_2 0,0,0,1
shader_param_3 1,1,1,1
Put those values in to, the instructions are a bit on the iffy side, i had the exact issue
Хмм, картинка r__color_grading 0.5, 0.5, 0.5 замерла на этих значениях и при вводе других значений не меняется
Are you using the shader_param controls? That will not use r__color_grading at all
When I use shader_param controls the screen is really bright. I don't know why it does that with everything else is fine but with the shader_param its weird
Imgur.com
Try loading the default preset that's included, open the console and type
cfg_load grading_default
This comment is currently awaiting admin approval, join now to view.
Hey man i got my game to look the way i want it to lowering r2_sun_lumscale to like 1.2 but it resets back to 3 when i change area or load a save, what did i miss?
edit: its only r2_sun_lumscale that resets, everything else stays ok after i change it and load a save or change areas
Are you using a weather addon that sets the lumscale with a script?
Check your gamedata/scripts folder for sun_luminance.script and delete it.
Thanks, it was michikos weather revamp.
Hi, I use the COLD preset, but I would like to reduce the blueness a little and add saturation, can you explain in more detail what each shader_param is responsible for? Thanks.
Each shader_param has 4 variables, the first 3 control the red, green and blue channels of each setting. At the moment the 4th does nothing but that might change.
shader_param_1
This controls the 'Slope' of the color channels, increasing this brightens the highlights and decreasing it dims them. You use this to tint the brightest part of the image.
shader_param_2
This controls the 'Offset' of the color channels, increasing this brightens the whole image similar to camera exposure. This can be used for overall tinting, such as white balance.
shader_param_3
This controls the 'Power' of the color channels, increasing this darkens the image, especially in the darker tones. This can be used to tint the darker parts of the image.
shader_param_1 1.20, 1.20, 1.30, 1
shader_param_2 -0.05, -0.05, -0.05, 1
shader_param_3 1.25, 1.24, 1.22, 1
r__saturation 0.90
The cold preset is meant to look 'icy' with bright pale highlights and dark blue shadows.
The highlights are boosted, especially the blue channel. This is to counteract the yellow sunlight so that sunny weather is pale.
The exposure is decreased, this along with the boosted highlights adds contrast.
The shadows are made darker to emphasize the highlights and are tinted blue by having less 'power' in the blue channel.
Try decreasing the blue channel of shader_param_1 to get back the warm colors in the highlights and increase the blue channel of shader_param_3 to reduce the blueness of the shadows. Then increase the saturation.
Saturation is done after color grading, so if you don't bring back the warm colors it's only going to look more blue.
I'm probably going to change how these controls work and add more features in the future, I'm not happy with how you have to use these values to get the desired results.
I'm definitely going to make contrast its own shader_param, that way the color tinting and contrast boosting can be more separated.
Very detailed answer, thank you!
I have a kind of bug with this mod, inside buildings everything looks bright, same when going to underground areas, I have to delete shaders cache in order to get correct lighting inside that areas, one example is the Agroprom Underground.
Probably a dumb question, but is it a bad idea to use your add-on alongside any ReShade?
Reshade will work just as before, it won't cause any problems.
Gotcha, thank you!
Wow, that has become even more amazing!
It's nice to save own presets in a textfile to copy to the console :)
ignore this post i wasnt logged in
I updated the mod in my list now my game wont launch. Here is the error at the end of the log
! e:/games/anomaly-1.5.1.2\appdata\shaders_cache\r3\ogse_sunshafts_mask.ps\20481111001100000000101100000110332113000000000
! error: ACES_LMT.h(14,16): error X3003: redefinition of 'shader_param_7'
ACES_LMT.h(18,46): error X1005: string continues past end of line
ACES_LMT.h(18,46): error X1500: syntax error : unexpected string constant
I got the same crash as well
What other addons do you have installed? There might be another mod using that shader_param.
Provaks anomaly weapon overhaul pack
If you get this crash then use the simple version of the shader_param controls. It's a conflict with Beef's NVGs
Well, that's strange, everything is just black whenever I enable the enhanced color grading for some reason.
Refer to description, the author notes the basic set-up steps required. It's not quite install-and-go. You need to run a number of commands to change settings - including loading in default color grading settings.