Abandoned Dust Buster: the space dust removal mod

UPDATE 2: uliando figured out the correct shaders. Their shader fixes are at http://cpy.zapto.org/ed/Shaders/ShaderFixes.zip
UPDATE: ED Beyond Chapter 4 (3.3) has broken this mod. Still working on a solution....

-----

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.

See you in the black (not the plankton!)
Cmdr Led Pup
 
Last edited:
Congrats on finding this mate and thanks for sharing!

Please, to the devs at FD, could you confirm that this is OK?
 
Congrats on finding this mate and thanks for sharing!

Please, to the devs at FD, could you confirm that this is OK?
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."
 
Last edited:
Is this compatible with EDFX? It sounds just amazing, space dust in supercruise is really annoying
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.

And yeah, it's just amazing. Single best mod eva! (Voted by me)
 
When I copy paste the files onto E:D steam directory, as specified in instructions, the game doesn't start. In the launcher menu I select 64 bit horizons, then I hit play but nothing happens.


EDIT: It only works on nvidia cards
 
Last edited:
ledpup
Is it possible for you to create a mod that disables the screen dirt filter? It's an ok effect to have in the cockpit but why on earth have it in debug cam mode??
Cheers mate!
 
Purely to feed my technical curiosity, what's the reason it doesn't work with AMD cards?
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.
 
Fantastic MOD, thank you so much, I hope that FD will add the option to remove space dust from menu at some point. Once more thanks!
 
Fantastic MOD, thank you so much, I hope that FD will add the option to remove space dust from menu at some point. Once more thanks!
It rightly should go in the functions tab alongside orbit lines, as it is basically a HUD aid for directional travel.
 
People who fly with flight assist off will probably not like this mod.
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.

Looking at the code from the shader in 5f5a888d3052e017:
Code:
  r0.xyzw = t0.Sample(s0_s, v1.xy).xyzw;
  r0.xyz = cb0[0].xxx * r0.xyz;
  r0.xyz = v1.zzz * r0.xyz;
  r0.xyz = cb0[0].www * r0.xyz;
  o0.xyzw = v0.xyzw * r0.xyzw;
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.
 
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.
I'd very much appreciate it if someone could elaborate on this. I'd love to be able to run this with edfx.
 
Does this work with the non-steam version? I may be doing something wrong but can't get it to work I need this in my life. Great work though!

Just thinking, maybe it's just that it isn't compatible with v2.1.04?
 
Last edited:
Does this work with the non-steam version? I may be doing something wrong but can't get it to work I need this in my life. Great work though!

Just thinking, maybe it's just that it isn't compatible with v2.1.04?
It is compatible with 2.1.04 - at least it works in my install. It is however not compatible with other graphic cards than NVidia.
 
It is compatible with 2.1.04 - at least it works in my install. It is however not compatible with other graphic cards than NVidia.
Thank you for letting me know - no luck for me though, I have an nVidia 670, Win 10 and the 64 bit non-steam version.
My directory structure looks as follows: C:\Program Files (x86)\Frontier\EDLaunch

Extracted all the files under EDLaunch except the 2 shader files which are inside C:\Program Files (x86)\Frontier\EDLaunch\ShaderFixes

No joy though, maybe I am missing something simple?
 
Top Bottom