I have long wanted an option to remove the space dust in normal flight and supercruise. The Dust Buster mod allows space dust removal from normal, supercruise or both flight modes (the default set-up). This has been achieved by discarding the calculations done on the pixel shaders used to create these effects. Hopefully, Frontier Developments are okay with this minor graphical mod. It doesn't convey any advantage to the player (not even a slight performance improvement), but may make people's experience of ED more enjoyable.

I fully understand arguments for and against the space dust. I thought I'd make this mod available because so many people (especially in gamma) were keen to have control over the amount of space dust. I never wanted more or less space dust. I've never wanted any space dust. (I remember, when I was very young, playing the original Elite and not understanding how I could be flying past stars when I was on the way to a star so close by. I didn't realise it was a graphical embellishment to assist in the feeling of motion). The main reasons I don't want space dust is to reduce the graphical noise, to be able to see and admire the stars in the distance and the beauty of the game and to add a little bit more "realism" to the experience. I think that people making videos of ED or using the debug camera will find this mod useful. People who fly with flight assist off will probably not like this mod.

The two pixel shaders that have been modded are:

5f5a888d3052e017 - the file with this name in the ShaderFixes folder removes space dust from normal flight

df74efeafa5dc752 - the file with this name in the ShaderFixes folder removes space dust from supercruise

If you want to see what a dust free experience is like, have a look at this video from youtube. A bug in alpha temporarily removed the dust from the game.

I still hope for an option from FDev to alter the space dust from within the game. However, so long as they're okay with this mod and it continues to work, I'll be just as happy flying around. Thanks goes to Bo3b for his excellent suggestions over at ED page on Helix Mod. See ShaderHackers for info about changing pixel shaders (can be used on any DirectX game).

You can download the Dust Buster mod here. It has been tested with ED Horizons 2.1. It only works with NVIDIA cards. I don't think it'll work with the 32-bit version of ED. Please comment on this thread if you have any issues and I'll try to resolve them for you.

Thanks. I wouldn't be surprised if FD don't comment. There isn't really anything overly interesting about this mod from the EULA perspective. This mod doesn't comply with the EULA but then neither do any of the other graphic mods in the game that have been around for a while (ReShade, SweetFX, Helix Mod, etc). If anyone from FD has an opinion, it would probably just be "Huh, okay. Oh well, saves us from having to implement something for the minority that wanted it."

Yeah after I downloaded the mod I saw that it is indeed injector based which is OK. If you'd used a cheat table (which I thought you were going to use from the get go) then it would be a different thing I believe.

I don't know if it's compatible. This mod is using a 3Dmigoto wrapper whereas I think EDFX is using ReShade. Not sure if you can use them together. Maybe we should ask the dev of EDFX to see if Dust Buster can be included in EDFX. In fact, I will.

I'm hoping it's just because the actual code location for AMD cards just is in a different spot, and hasn't been traced down yet. I'd like to do this for supercruise, for sightseeing reasons. If it's much more than that, not going to kill me, but certainly such a basic patch would be the same once found where to put it.

No, we won't. However it wasn't too hard to figure out what you did and come up with an inverse mod - to make the dust more visible.

Turns out there are lots of these little dust particles rendered on screen. By default they're so subtle that, as they only become prominent at high speed, you wouldn't notice that they're drawn all the time including when you're sat on the pad at an outpost or planetary base. For some reason they are not rendered at all within a short radius of starports.

From what I can tell o0, ie the output variable, is an RGBA value specifying the colour of the dust. The w component seems to specify the intensity of the dust rather than its opacity. Inserting a single line to set o0.w = 32; makes the dust more visible without being overpowering. With w at, say, 255 the stuff covers the screen and is very disconcerting.

I assume that v0 and v1 are UVs into the dust texture and I'm almost certain that v2 is the RGBA colour of the HUD itself. Drawing the dust in the same colour as the HUD can be achieved with something like

Code:

o0.xyz = v2.xyz * r0.xyz;
o0.w = v0.w * r0.w

and arbitrary colours can be set by explicitly writing RGB values to xyw. So purple would be

Code:

o0.x = 255;
o0.y = 0;
o0.z = 255;
o0.w = 1;

I notice in the d3dx.ini that there's a feature to chain load a different DirectX DLL. Potentially you could use that to hook in ReShade. I didn't try it.