Smart Vibrance shader (shader version of RTX Dynamic Vibrance)

  • Baudelaire
  • Topic Author
More
2 months 1 week ago - 2 months 1 week ago #1 by Baudelaire Smart Vibrance shader (shader version of RTX Dynamic Vibrance) was created by Baudelaire
Good morning everyone, I want to offer you this shader that I initially created to use in a video player, "but why ?" you might be wondering !
Have you ever tried to understand the difference between a PC monitor and a TV? I'll explain it simply: they always have very vivid and bright colors but without being annoying, simply pleasant to look at, almost all TV manufacturers in fact literally compete to see who can capture the buyer's attention by offering increasingly brighter colours. .

This competition for brilliance has gradually led video content distributors to decrease the saturation which is automatically compensated by the aforementioned televisions, furthermore even smartphones by default to date have enabled a function to increase this factor in the exact same way as TVs.

PC monitors, unlike TVs, do not have these algorithms for color improvement, they follow precise standards for professional reasons and have always favored speed of response to input, some monitors also suffer from this defect precisely because of the type of panel itself, we therefore find ourselves with "naturally washed out" colors but it is not a problem due to the conversion of the color range from 16-235 to 0-255.

Using the "digital brilliance" slider in the nvidia control panel contributes indiscriminately to burning out most of the colors, losing detail in the lighter areas.
Fiddling with contrast and brightness instead makes you lose details in darker areas.

Enough is enough!

I decided to remedy this by creating a shader that dynamically modifies the saturation of the colors while maintaining a proportion derived from a study relating to the perception of primary colors and the impact relating to the quantity (red, blue and green are perceived quantitatively differently by the retina and compensated differently by the brain).

Applies a certain amount (boost) of saturation (vibrance) on all colors except those that are above a (configurable) threshold beyond which the effect gradually decreases until reaching zero in order to preserve luminance and shades of colors in the light areas.
Applies a gradual color correction based on the amount of boost applied.
In addition to this, in order to avoid saturating and transforming gray scales into almost totally blacks, it has a filter that identifies when a color approaches (or is) a gray scale and applies a more aggressive boost reduction in order to preserve the details and intelligibility of very dark areas.

Adapted and rewritten for use with reshade.
Extensively commented code.
Boost, threshold (upper, lower & curve) configurable as desired. The default is "big ass tv wannabe".
The final effect is damn similar if not identical to "RTX Dynamic Vibrance" but without the need to have a GPU with AI cores.

At this link you can find the file to use with reshade and also the original shader created for the video player if you want:

github.com/aston89/Smart-vibrance-for-reshade

 
Last edit: 2 months 1 week ago by Baudelaire.

Please Log in or Create an account to join the conversation.

  • Baudelaire
  • Topic Author
More
2 months 1 week ago - 2 months 1 week ago #2 by Baudelaire Replied by Baudelaire on topic Smart Vibrance shader (shader version of RTX Dynamic Vibrance)
Preview :

https://imgur.com/a/QyE6hac

 
Last edit: 2 months 1 week ago by Baudelaire.

Please Log in or Create an account to join the conversation.

  • Tojkar
More
2 months 1 week ago #3 by Tojkar Replied by Tojkar on topic Smart Vibrance shader (shader version of RTX Dynamic Vibrance)
This causes a lot of issues on darker areas such as banding and dark lines following along the gradients. And it does not have configurable values exposed to the Reshade UI.

Please Log in or Create an account to join the conversation.

  • Baudelaire
  • Topic Author
More
2 months 1 week ago - 2 months 1 week ago #4 by Baudelaire Replied by Baudelaire on topic Smart Vibrance shader (shader version of RTX Dynamic Vibrance)
solved those issue and released V2 !

Changed the method of grayscale detection, now the transition is smooth instead of simply an on/off switch.
Added the options to be configurable through the reshade gui.

(have patience, it's my first shader)
Last edit: 2 months 1 week ago by Baudelaire.

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.