0 of 0

File information

Last updated

Original upload

Created by

SammiLucia

Uploaded by

sammilucia

Virus scan

Safe to use

Tags for this mod

About this mod

Vanilla vignette and gradients have visible banding. This mod fixes that.

Requirements
Permissions and credits
Changelogs
About

I personally like vignette, but do you look at the sky sometimes and see colour banding at the screen's edge? And have you noticed the banding in some of the game menus? 🤔

This mod changes the default vignette so it's much smoother by using additive noise (see How it works), and fixes the gradient textures for menus. It's (possibly) not perfect yet but way better than vanilla.


How to install

  • Choose a version
  • Install manually or with a mod manager
  • You must enable film grain in-game for this to work, however you should never actually see film grain. If you do find any exceptions please let me know in Posts
  • Benefit

How it works

The texture gradients in game are easy. They appear to be drawn with a texture overlay which had pretty bad banding, so I fixed it.

The vignette gradients, however, are a little more tricky. They appear to be drawn by a post-processing shader on the CPU. So how do we modify that?

Well, there are two techniques:

  • Reverse engineer the game and modify the shaders. Some great work has happened on parts of Cyberpunk 2077's engine in the HDR Den Discord to reverse engineer the LUT and colour grading shaders. However, this is complex, and has some problems (like how to inject/replace the shader)
  • There is a method used in photography, graphic design, and printing/prepress where, to reduce colour banding, a small amount of noise is added to a gradient. There's a few ways to do this, however briefly, done properly you should never notice the noise. If you've ever seen smooth gradients in a magazine, or on food packaging, this is how it's done

Repurposing Film Grain

In the case of CP, we already have a "noise" shader... the film grain shader, which is used to give a "filmic" look to the game. This look polarising though, and a lot of people don't like (I personally don't). The question was, can it be repurposed to remove colour banding instead?

The answer is: Yes! By making the particles both smaller, and "less strong", we can use it to reduce or possibly completely remove banding from the vignette.

Balancing performance

As with all things in game engines, there is a balance. It appears this "noise" is computed on the CPU, so making it too small could increase frame time. I think I've found a good balance. There is no noticable performance impact for me.

There is one challenge, though

I have a little bit of a challenge with this mod, because I have visual snow (mine is not as bad as in these pictures). I've shown a few friends and it looks good, but as usual, I will need your feedback to get the settings perfect 😊. Also grain size can appear different due to weather and screen sizes, so as usual, please lmk how you go in posts.


Conflicts

This mod needs to modify cp2077_master_env_ep1_v006.env, which weather and env mods need to modify, too. 

  • sosuine has kindly given permission to make a version for Alternative Weather Visuals (currently offline)
  • If there are other weather mods you'd like me to integrate with please let me know or ask the author, I'm happy to work with them
  • If you use an env which disables vignette like Preem LUT, this mod won't conflict (but also won't do anything)

Contributors

A big thank you to the community for your feedback, without which there could be no ongoing improvement to my mods.

  • Rem NL for feedback and hacking film grain, too
  • sosuine for Alternative Weather Visuals

What's the difference?

Left half is the vanilla menu gradient, right half is mine.



Imgur's compression is a little better than nexus, but there is still more banding in this image than in-game:





My other mods

Hogwarts Legacy
Robocop: Rogue City
Cyberpunk 2077
Star Wars: Jedi Survivor