Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
owenwp's avatar
owenwp
Expert Protege
7 years ago

Request: Submit Depth Buffer at Different Resolution from Color

There are some great methods for upscaling images based on techniques like temporal antialiasing and deep learning, and UE4 has a good implementation that we shipped with in Marvel Powers United VR which gave us good image quality at pixel densities as low as 0.6 with huge performance gains. However, the Oculus API seems to be hardcoded to have the same size depth and color buffer, so we cannot work with Dash X-Ray or the upcoming Async Spacewarp 2.0 without adding an upscaling pass for the depth, which would cost perf unnecessarily. What we really need to make these techniques work is a separate texture size and viewport property in the layer description for the depth texture. This will be even more critical as display resolutions increase.

3 Replies

  • Hi owenwp,

    Good to see you considering submitting depth for your app. Although we don't have an ETA we can promise, the resolution limitation is one we have been looking at addressing sooner than later. Stay tuned.

    Cheers
  • owenwp's avatar
    owenwp
    Expert Protege
    Good to know. The use case I am particularly aiming for is r.TemporalAA.Upsampling with r.ScreenPercentage in UE4, as well as dynamic resolution. It works very well for both perf and quality, but currently it simply forces depth submission off.
  • joegomes's avatar
    joegomes
    Honored Guest

    So I would like to simulate a solar system. Not quite to real-life scale as in Elite Dangerous, but still very big. I also want planets to look and feel "very big". Naive approaches will either make planets look and feel small, or will result in z-buffer issues.

    I figure a few things need to happen:

    Level of detail - 2 or 3 different levels of detail on planets for their geometry and textures. That is pretty straightforward

    Multiple cameras, one for things far away, one for things close, so you can get very far from, and very close to, planets and stars without z-buffer problems. This too, seems pretty straight forward

    But I'm wondering if anything needs to happen with speed. I feel like if I have a ship fast enough to move from one planet to another in a few seconds, a planet just isn't going to feel big. Flying at it, one would very quickly be ramming into it. So maybe scaling speed down as you approach will give the illusion of more size?

    What tricks have people used to pull this off?