No Man's Sky
0 of 0

File information

Last updated

Original upload

Created by

jerbear64

Uploaded by

jerbear64

Virus scan

Safe to use

Tags for this mod

About this mod

Disables the Depth of Field effect entirely, mainly created for people running the game through Proton on Linux

Permissions and credits
Changelogs
This mod removes the Depth of Field effect from menus and dialog. The approach is different than other Depth of Field mods, and is a bit more extreme as the goal is performance rather than aesthetics: it directly replaces most of the Depth of Field fragment shaders with stubs that don't do anything except return a transparent color. It's possible this may slightly corrupt some other visual elements that depend on the Depth of Field shaders, but I didn't notice anything out of the ordinary within several hours of playing with this mod.

This is mostly intended for people playing the game using Proton on Linux, as both AMD and NVIDIA users are reporting massive, and inconsistent, framerate drops when in menus or dialog. After stubbing the offending shaders, GPU utilization in menus is now approximately the same as in the rest of the game. Whereas other Depth of Field removal mods function, there are still some areas (such as menus) where the effect remains. Stubbing the shader entirely prevents this from happening in any scenario, with no configuration modification necessary. This also means that this method of removing Depth of Field is fully compatible with mods that replace GCGRAPHICSGLOBALS.GLOBAL.MBIN, as this mod doesn't touch it.

Due to the massive performance boost in these areas, this may also be useful for machines on the lower end of the spectrum on Windows as well, although I don't have any weak systems capable of running No Man's Sky to test this with, nor do I know if Windows drivers have a similar issue. This mod may also be desirable if you would like to remove the depth of field due to personal tastes.

Shader modification was made possible by using spirv-cross to convert the SPIR-V shaders to GLSL, as I don't know any SPIR-V assembly and did not wish to learn any for such a simple project. I then edited the shaders accordingly, then used glslangValidator to convert them back to SPIR-V and validate the GLSL was still valid.

Tested under Beyond Experimental 18/08.