Skip to content

Improve overlays, skybox, color conversion and canting#388

Open
TheIronWolfModding wants to merge 1 commit into
Supreeeme:mainfrom
TheIronWolfModding:w-pr
Open

Improve overlays, skybox, color conversion and canting#388
TheIronWolfModding wants to merge 1 commit into
Supreeeme:mainfrom
TheIronWolfModding:w-pr

Conversation

@TheIronWolfModding

Copy link
Copy Markdown

Improves overlay, skybox, color, and canting handling.

This is mostly LLM port of stuff I did in OC for racing games.

Improves overlay, skybox, color, and canting handling.

  • Overlays: OpenVR games can render overlays without calling Submit or PostPresentHandoff (e.g. menu/HUD-only frames), but xrizer's WaitGetPoses only ended a frame after a Submit. Auto-flush pending overlay-only frames when the state ended at Waited so overlay layers actually reach the compositor. Apply matrix diagonal as scale to quad/cylinder size. Cylinder radius = distance-to-user (wraps around head). Fix cylinder aspect_ratio. Treat SetOverlayCurvature(0) as flat quad. Overlay swapchain arraySize=1.
  • Skybox: render forward face as curved panel using pTextures[0], always visible.
  • Color: manual sRGB decode in overlay shader to avoid double-encoding through SRGB attachment.
  • Canting: opt-in XRIZER_PRESERVE_VIEW_CANTING=1 preserves per-eye canted orientations (needed for Pimax etc.).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@galister

Copy link
Copy Markdown
Contributor

what's the intention behind getting rid of the functional skybox and replacing it with a "curved image in front of the user"? it's called a skybox for a reason.

@TheIronWolfModding

TheIronWolfModding commented Jul 14, 2026

Copy link
Copy Markdown
Author

You are right - years ago OC did not have skybox, so what I did there I simply used front quad only (it is used by racing games (rF2 and Raceroom) to display track loading status). Now, curved simply looks better - allows optionally curved non square texture etc, this is not general, I should not have included it in PR - feel free to abandon.

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

Successfully merging this pull request may close these issues.

2 participants