Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] more overlay adjustements #50

Open
YPetremann opened this issue Apr 5, 2023 · 2 comments
Open

[feature] more overlay adjustements #50

YPetremann opened this issue Apr 5, 2023 · 2 comments

Comments

@YPetremann
Copy link

YPetremann commented Apr 5, 2023

Context: i'm using a web app to make a vr smartwatch with some tool like clock, countdown timer, notification, chat, live achievement tracking, streaming status and music controls for now I use four curved overlays placed in circle just bellow the left controller which give me an inside out cylinder watch

I think these thing would be in some advanced mode to better control overlay rendering:

  • backface visibility, opacity and brightness
  • allow screen curvature to max (so it would form a inside out cylinder)
  • allow negative curvature (and to max it would form a classic cylinder)
@elvissteinjr
Copy link
Owner

Hi, unless I'm misunderstanding, most of these are already possible?

backface visibility, opacity and brightness

Opacity and Brightness sliders exist. Am I missing something?

Backface visibility is at the mercy of SteamVR's overlay system. Short of rendering the entire view ourselves (which is not in scope and would bring other issues), it's not easily possible. Putting another overlay facing the other direction to act as a backface works... until you try to do it for a curved overlay where SteamVR does odd things with the rendering (such as the overlay flickering out and into existence depending on the view angle).

allow screen curvature to max (so it would form a inside out cylinder)

While the slider is limited to typically sane values, the allowed range of values on the Curvature setting is 0% to 100%. You can keep holding [+] to go past it or do manual input by right-clicking the slider.

One issue with high curvature values is that there's no proper z-ordering for the front and back appearing parts of the overlay, so the part that is behind is actually rendered on top of the portion that should be in front.

allow negative curvature (and to max it would form a classic cylinder)

SteamVR accepts negative values for curvature (or even more than 100%) and does something with it. It messes up the laser pointer input pretty bad though. Seems to be inverted at first glance, but then also appears to block input on other overlays when it shouldn't.

With this behavior it's not something I want to expose in the UI. If you absolutely don't need input, then you are still able to set this kind of curvature by hand in the config file and it will be used and stick as long as you don't change the curvature setting in the UI.

If you're not using the NewUI-Preview builds, note that -100 is treated as a placeholder for auto-curvature, so that particular value would not work there. I generally recommend using the NewUI branch nowadays, though, even if it's not feature complete yet.

Given the z-ordering and disappearing (probably eager culling not accounting for curvature) issues, I fear even with said features you probably already have the better working setup with the 4 quarter-circle overlays.
But the options are mostly there if you want to try it yourself. On a related note, the current SteamVR Beta has some fresh overlay z-sorting issues on its own, so that should be avoided right if you stick overlays close together.

@YPetremann
Copy link
Author

YPetremann commented Apr 15, 2023

I'm using NewUI which I found confusing at first glance but does it's job

backface visibility, opacity and brightness

Opacity and Brightness sliders exist. Am I missing something?

I was asking about backface opacity and backface brightness

For the other things since I'm making a vr smartwatch I need interactivity
Also I didn't know that out of bound value were accepted

One thing is that either I have a browser I bound to 4 Region overlays or I put a single Browser overlay to that page, I will look at the SteamVR Beta branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants