Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
M
Monado
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 48
    • Issues 48
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 17
    • Merge Requests 17
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Monado
  • Monado
  • Merge Requests
  • !666

Merged
Created Jan 23, 2021 by Dan Weatherford@fraxulContributor

Vive distortion improvements

  • Overview 9
  • Commits 2
  • Pipelines 1
  • Changes 2

These patches bring the Vive (DPOLY3) distortion algorithm closer to the reference SteamVR implementation. It's still not perfect, but comparing Monado's generated distortion meshes with SteamVR's shows a significant error reduction.

I originally noticed the error while running the hello_xr sample application from the OpenXR SDK. With the uncorrected implementation, the faces of the RGB cubes that the sample draws will appear to tear apart as they shift from the center to the edges of the viewport.

Because the error and the change are subtle, I've attached some comparison graphs. The data was gathered by calling u_compute_distortion_vive (Monado) and IVRSystem::ComputeDistortion (SteamVR) on a 64x64 point grid while each system was driving an HTC Vive headset. I can provide raw data and the Mathematica notebook, if required.

monado

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: vive-fix