Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
wevr_julian's avatar
wevr_julian
Honored Guest
9 years ago

Color balancing for dark scenes (experiencing extreme banding + red tint)

Hi everyone,

We are in the process of porting a Vive title to the Rift and are experiencing difficulty with one of our scenes which is very dark and high contrast (mostly black). There is a lot of extreme banding and a reddish brown tint in the lower color ranges that strongly clashes with the color palette of the scene. The dark color ranges seem unnaturally bright both in comparison to black and the brighter areas of the scene. Finally, there is quite a bit of color "popping" as lights and emissive objects slowly fade from black to non-black.

In researching this, I've seen a lot of discussion among consumers about this issue, which seems to be a side effect of low persistence mode. However it's unclear what is the proper approach to take as a developer -- is this an issue that affects every Rift (all of our internal Rifts have the same issue) or is it less widespread? Should we leave the color as is (what looks correct on our PC monitors and the Vive headset), or should we try to rebalance the color towards what we are seeing on the Rift, assuming everyone's looks the same as ours?

Honestly I am not really sure how successful a rebalancing effort could be, given the inherent darkness of the scene. The color balance and popping seems to be mitigated if I raise the black point, but the predominant color then becomes gray, which really degrades the look and feel of the scene. Even at a pretty bright-feeling gray, this solve still doesn't totally address the banding issues.

Has anyone else experienced these issues? Is there any recommended approach for displaying dark scenes in the Rift?

Thanks!
Julian

3 Replies

  • One thing we had to do was completely avoid true black/whites. I think we rebalanced where we treated 30,30,30 as "black" and 230,230,230 as white. Not really sure that fits into gamma color space though. We just replaced blacks/whites in our scene as appropriate. But this was done more to deal with ghosting than banding.
  • lamour42's avatar
    lamour42
    Expert Protege
    It is somewhat disappointing that this old error still is there. To prevent it I added the following line as last expression in my pixel shaders:

    return clamp(alphaColor, 0.0021973, 1.0);  // prevent strange smearing effect for total black pixels

    I did test a lot and the value you see above seems to be the smallest/darkest possible value to prevent a total black pixel.