No Man's Sky

File information

Last updated

Original upload

Created by

Argh

Uploaded by

ArghRad

Virus scan

Safe to use

About this mod

A water shader mod for No Man's Sky.

Permissions and credits
Changelogs
Status
------
Mod version 4.45.  It is compatible with NMS Orbital patch 4.64.


Description
-----------
A water shader mod for No Man's Sky, featuring many new visual enhancements:

Wave Generation:
  * Improved height, detail, and motion
  * Created new custom texture volumes
  * Added depth-based geometry changes
Specular Highlights:
  * Made properly follow sun position, and better match sun size
  * Improved coloring, distance/angle diffusion, and atmospheric transition
  * Made reflected terrain diminish brightness
Reflections:
  * Made actually based on wave geometry
  * Improved fresnel settings, and underwater coloring
  * Added blur effect
  * Improved reflected terrain quality & lighting
Water Color:
  * Fixed waterline level rendering
  * Improved texture and shading detail
  * Added depth-based shading at higher altitudes
  * Added backlight scattering effect
Foam:
  * Improved texture appearance, blending, and visibility
  * Moved onto waves, made shift & ripple with wave motion
  * Made thickness & transparency change based on wave motion
  * Made lit by environment lighting
Other:
  * Fixed/reduced multiple view-based distortions and rendering issues


Installation
------------
Copy ArghWater_445.pak from zip into "No Man's Sky\GAMEDATA\PCBANKS\MODS\" (delete older versions of mod if present).
Rename or remove DISABLEMODS.TXT in "No Man's Sky\GAMEDATA\PCBANKS\" if present.


Files Modified
--------------
SHADERS\CODE\BIN\PC\LIGHT_FRAG_SUNLIGHT_0.SPV
SHADERS\CODE\BIN\PC\LIGHT_FRAG_SUNLIGHT_SCAN_0.SPV
SHADERS\CODE\BIN\PC\LIGHT_FRAG_SUNLIGHT_SPLIT_0.SPV
SHADERS\CODE\BIN\PC\LIGHT_FRAG_SUNLIGHT_SPLT_S_0.SPV
SHADERS\CODE\BIN\PC\LIGHT_FRAG_SUNLIGHT_TERRAIN_0.SPV
SHADERS\CODE\BIN\PC\SKY_FRAG_LIGHTING_LOWQ_0.SPV
SHADERS\CODE\BIN\PC\SKY_FRAG_REFLECT_0.SPV
SHADERS\CODE\BIN\PC\TERRAIN_FRAG_REFLECT_WATER_#.SPV
SHADERS\CODE\BIN\PC\TERRAIN_VERT_REFLECT_WATER_#.SPV
SHADERS\CODE\BIN\PC\WATER_FRAG_FULLSCREEN_#.SPV
SHADERS\CODE\BIN\PC\WATER_FRAG_FULLSCREEN_BELO_#.SPV
TEXTURES\SHADER\NOISEINVERT.DDS


History
-------
4.45:
  Compatibility update.
4.40:
  Compatibility update.
4.15:
  Reflections back, reverted temporary workaround to original behavior.
  Made Fractal's near-surface caustics smoothly fade out.
4.14:
  Fixed several scan-effect issues.
  Fixed an atmosphere transition issue.
  Tweaked coloring on Fractal reflection compensation.
4.12:
  Compatibility bugfix update.
  Added visuals to partially compensate for Fractal's missing water reflections.
3.94:
  Compatibility update.
3.82:
  Added directional environmental lighting to reflected terrain.
  Improved coloring for swamp/lava biomes & storms.
  Reduced reflected nebula brightness to better match Frontiers' sky changes.
3.53b:
  Fixed most VR rendering issues.  (Special thanks to Illogic1 for helping me beta test.)
  Fixed several FOV-related issues.
  Fixed a depth-based geometry issue.
  Added more setting overrides to workaround some mod conflicts.
3.53:
  Initial release.


Development Notes
-----------------
So who says NMS Vulkan shader mods are impossible? ;)

I originally started this as a GLSL shader mod way back in Next/Visions.  Initially inspired by Lo2k's True Water shader mod, it quickly expanded with improvements to specular highlights, reflections, & foam rendering.  Unfortunately, before I was able to release my mod, Hello Games made the switch from OpenGL to the Vulkan API for the upcoming Beyond update.  This move essentially killed all shader mods dead in their tracks.  I put this mod aside and moved onto other things.

Around the release of Origins I got the itch to work on it again, if only as a learning experience for myself.  Still working under the older NMS version 1.77, I started implementing more advanced features like proper wave-geometry-based reflections & motion-based foam dynamics.  I was very happy with the results, but disappointed being unable to share them.

At the same time, GaticusHax made important advancements with Vulkan shaders: successfully decompiling, changing, & recompiling them back into the game.  Many obstacles remained though, leaving most shader mods still out-of-reach.  The water shader turned out to be a fortunate case: it's fairly isolated, has few variants, and had few changes since 1.77.  This made it possible to decipher the required updates to the old GLSL source from the decompiled new Vulkan code, then rebuild it to run under current NMS versions!  The other related shaders were a bit trickier to reverse-engineer, but through careful comparison to the older source I successfully updated those as well.

I'm excited to be able to share my efforts with the NMS community.  Hope you enjoy!

- Argh!