Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Removing the "outline" from the edges of geometry rendered by OVROverlay

cloud_canvascloud_canvas Posts: 68
Hiro Protagonist
Hi all, this is something I pinged Carmack on Twitter about directly a few days ago. Linked to the thread for context; there's more illustrative screenshots that I've attached there as well. Trailed off after a few exchanges (can't believe he indulged me as long as he did!), so feedback with other Oculus staff via either @imperativity or @vrdaveb would be really valuable as well.

I'm trying to figure out if it's possible to remove the thin "pixel border" that appears around all continuous sections of coplanar UI that are rendered by OVROverlay. It doesn't matter if they are rendered via the "single Overlay instance w/a Camera and a Render Texture"-based approach, or just individual textured Quads with OVROverlay Components on them.

Just took a screenshot that I think demonstrates what I'm referring to pretty clearly:


Our whole UI was built using Canvas, so the Render Texture approach was mandatory since the UI had already achieved a complexity that was unscalable for a maximum 15 individual OVROverlay instances. As per many other discussions I've lurked like this one and this one, my skybox is an Equirectangular Underlay, my reticle is a World Space Quad Overlay, and the Render Texture/Camera for the whole UI is also an Underlay so that I could draw the motion controller and the ray over it. Basically, as much as I could copy from Oculus Home as possible.

Here, you see the left side of a panel that has another Plane with a Texture on it hanging off to the side. I went into GIMP and very sloppily erased the edges of the Texture that's on the Plane by hand with a mouse. This enhances the demonstration that this "outline" is drawn around the border of whatever is continuously rendered as one blob within the Overlay render. If I hadn't crappily erased the edges of the Poster, you'd just see a straight black line going down the leftmost edge. It seems that is drawn wherever there's a punch-transition back to the eye buffer, or something.

The white background of the skybox especially emphasizes this. Many times it really enhances Screen Door Effect and makes the edges of all of the UI elements shimmer quite unpleasantly.

I've been following the gospel of @vrdaveb 's every last shred of words about how Oculus is interally putting together the UIs for the OS-level stuff like Oculus Home, because the VR Compositor Layers documentation is frankly so lackluster and uninformative.

If Oculus Home is put together with Overlays in order not to double resample every developer's beautiful thumbnails for their apps, then how is this outline being avoided? In some respects, it looks like it's simply hidden by encapsulating thumbnails within dark-colored margins, such as the main tiles of the Home area.

But what about the Recents tab? What about the Library and the Store, and all the other places where there are high res thumbnails without borders? How are you achieving those radial gradient fades that contain all of the headers? How are you achieving transparent panels?

How are you achieving depth effects? Animations shifting the Z-depth of the Transforms of Canvas objects being captured by the Camera/Render Texture isn't showing up at all, only 2D movements. How are you doing tilted planes? Is the main nav bar in front of you not an Overlay? The text and icons look a little more rasterized than the rest of the UI.

Sorry, too many questions in one spot. The thing I really wanna know more than anything else is the main thing I'm asking about in this thread, with the outlining effect.
Samsung Galaxy S8 (Snapdragon 835), Gear VR (2017), Oculus Go (64GB), Unity 2018.3.14f1
Tagged:

Comments

  • MikeSwansonMikeSwanson Posts: 39
    Brain Burst
    I'm also seeing outlines around irregularly shaped textures (that start as PNGs) when rendering them on top of an OVROverlay in underlay mode. Any more insight on what's happening here? I thought it might have something to do with the color values in fully-transparent pixels (where Photoshop, for example, always stores white), but even after modifying those pixel values, I still see fringing.
  • KingslayerKingslayer Posts: 2
    NerveGear
    edited November 2019
    I'm baffled at the sheer lack of interest from Oculus regarding their own tools. A year later still no reply, just like many similar threads. I suppose not using the OVROverlay is the only way not avoid these outlines/borders around images?

    If I render transparent textures as underlay they render messed up without transparency so no go there either.
  • robertcoomberrobertcoomber Posts: 9
    NerveGear
    I'm rendering a 360 video using AVPro to the OVR Overlay layer and I am getting a black line rendering to the back side of the sphere. It starts from the top going all the way to the bottom. The black line is at exactly 180 degrees of the sphere. I know for a fact the video does not have this black line. This black line does not show up non-Overlay 360 video rendering. I can only assume that the black outline described above is the same black outline that is showing up in my video. It shows up on both the equirect, cubemap, and offcenter cubemap. This is a huge issue as the OVR Overlay renders my videos very efficiently and cleanly. I will report back with any updates. 
  • grun7grun7 Posts: 6
    NerveGear
    edited March 24
    Hi @robertcoomber , I'm having the same issue as you do for the exact same use case. Did you figure out a way to fix the black line ? Thanks a lot

    (Using Unity 2019.2 by the way)
Sign In or Register to comment.