Skip to content

DisplayXRWindowSpaceUI: pre-distortion is not undone by the compositor on every path — UI renders squashed #291

Description

@byungjul

DisplayXRWindowSpaceUI renders into a fixed-size RT (resolution) with the overlay camera's aspect set to the panel aspect ("pre-distortion"), relying on the compositor's stretch of the RT into the panel rect to cancel it. Where that stretch is not exactly the inverse — editor weave window / Game view pane, any path where pane aspect ≠ RT aspect — the cancellation does not happen and everything compresses: round slider handles render as ellipses, icons squashed horizontally.

Same root cause as the earlier fixed-aspect input-mapping breakage (pane/RT aspect mismatch): one surfaces in pointer mapping, the other in rendering.

Fix: create the RT at the live panel aspect (height = resolution.y, width derived), so the camera renders 1:1 and the stretch is the identity — which removes the need for pre-distortion altogether. Re-create on aspect change (settled), re-register the texture and re-acquire the bridge. PR follows.

Reported in the LeiaViewer-port write-up (item 4); filed so the fix has an issue number.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions