Forum Discussion

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

VR Appropriate Effects

While I wait patiently for my DK2 I thought I would canvas for opinions on what post-processing effects people have tried and what works/doesn't with VR so I know where I should spend my time.

Eg:
  • Bloom
  • Depth of Field
  • Film Grain
  • Lens Flare
  • Motion Blur
  • HDR


Certain effects like Depth of Field really need eye-tracking to implement properly, but how does it look if you just set the focal depth based on the center of view?

6 Replies

  • DiCon's avatar
    DiCon
    Honored Guest
    Somebody will probably say, that none of these effects are really "realistic" as most of them are caused by cameras or at least created by your eyes anyway.

    But I think that the discussion should not be about what is realistic, because in most cases we do not use the rift to do something realistic - It should be about what looks good without being bad for your experience. It's about games, after all...

    So, here are my thoughts on your examples:
    • Bloom: Why not? Could even come from the atmosphere and hence might even be realistic.

    • Depth of Field: As you said: Don't do it. This is annoying and may really break the experience as it becomes obvious that your eye focus is off. (The focus is wrong anyway as you always focus on infinity in the Rift, but usually your brain does not mind that too much).

    • Film grain: Of course this is completely unrealistic, but it might still be interesting. You probably should make sure that you get the same grain on both eyes and that the stereoscopic distance of the grain is not problematic (i.e. too close or too far behind real objects).

    • Motion blur: Don't do it! Low-persistence is an important feature for a reason. Unless you want to make the user feel drunk, don't even consider motion blur.

    • HDR: Sure, why not... I assume, you mean that you have an internal HDR render pipeline and adjust brightness according to the scene doing some tone-mapping... In real life, of course, there is an enormous dynamic range and the adaption is done by your eye. But as long as the display only takes RGB with 8bit per channel and has a limited brightness, this cannot be done, so doing this in your game might feel about right. Haven't tried it though...
  • kaetemi's avatar
    kaetemi
    Honored Guest
    Bloom: Depends on the quality effect. Only do this if you're rendering HDR for really bright sources. Don't do a cheap glowing bloom, unless your rendering style calls for it, the lenses cause enough of this already.

    Lens Flare: Depends on which lens flare. I would not recommend the photoshop-style camera lens flare. Glowing star texture lens flares on bright sources are okay, as they have similar purpose as the HDR bloom.
  • swsmith's avatar
    swsmith
    Honored Guest
    Motion blur: Don't do it! Low-persistence is an important feature for a reason. Unless you want to make the user feel drunk, don't even consider motion blur.


    I agree it is a bad idea, but how much of a bad idea? I am curious if low-persistence motion blur just looks the same as full-persistence.

    Depth of Field: As you said: Don't do it. This is annoying and may really break the experience as it becomes obvious that your eye focus is off. (The focus is wrong anyway as you always focus on infinity in the Rift, but usually your brain does not mind that too much).


    Perhaps a more half-arsed depth of field that just blurs distant objects would work. More of a simulation of atmospheric distortion to give you a depth cue.
  • kaetemi's avatar
    kaetemi
    Honored Guest
    Motion Blur: Depends, again. You cannot blur the user's own motion, as this is not fast enough to be blurring things, unless looking from very close up. The motion blur's time window should basically be shorter than the frametime. (Eg, in car races, you could safely apply a motion blur that blurs the streets in the car's fast movement direction.) If you're rendering out directional motion in one of your render targets, and blurring by that value, this should work itself out as the car's movement is by itself considerably larger than the user's movement, and as such the user's movement won't have any noticable impact on your motion blur.
  • There are ways to increase fidelity using the right kind of "effects", spatial dithering and sub-pixel rendering.

    see:
    http://resources.mpi-inf.mpg.de/ResolutionEnhancement/Animations/
    https://cg.ivd.kit.edu/english/Subpixel.php

    Using both I'd guesstimate the improvement to be around the difference between DK2 and CV1. It gets better the higher the refresh rate and more sub-pixels per pixel there are. So with 90Hz, 1440p and super AMOLED the CV1 could look like a 2160p HMD (or better).

    Other then that HDR and bloom are used as a sort of dynamic contrast enhancement which isn't appropriate for VR imho.
    What you should do instead is taking advantage of the proper color gamut and contrast range of the oled display, if you do you should be starting to get the real thing in VR, eye responses, that what HDR and bloom effects are trying to emulate.
    In a HMD there are no other light sources to distract your eyes from responding from what you see. If that isn't enough, you could however use them for cases where the display can't keep up with reality. Gazing directly at a virtual sun for instance, but then what reality provides in that regard isn't exactly comfortable, so I'd think about that...

    Motion blur and depth of field might be helpful in conjunction with eye tracking and foveated rendering and if you can actually predict the eye movements of the user in your application. It can be used for additional depth cues and make the experience more realistic. But that has to be done according to researched responses of the vision system not a ad-hoc approach. Otherwise it will just make things worse.
  • Motion blur: Don't do it! Low-persistence is an important feature for a reason. Unless you want to make the user feel drunk, don't even consider motion blur.


    I think this depends highly on the blur technique. Sure, for full screen/camera velocity based blurs - terrible for VR (and pretty bad on monitors, too). For per-object blur, it might add something.

    But then, few games have per-object/object velocity based blurring.