{"action":"created","issue":{"url":"https://api.github.com/repos/OSVR/OSVR-Core/issues/148","labels_url":"https://api.github.com/repos/OSVR/OSVR-Core/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/OSVR/OSVR-Core/issues/148/comments","events_url":"https://api.github.com/repos/OSVR/OSVR-Core/issues/148/events","html_url":"https://github.com/OSVR/OSVR-Core/issues/148","id":87791032,"number":148,"title":"Display Overhaul","user":{"login":"rpavlik","id":61129,"avatar_url":"https://avatars.githubusercontent.com/u/61129?v=3","gravatar_id":"","url":"https://api.github.com/users/rpavlik","html_url":"https://github.com/rpavlik","followers_url":"https://api.github.com/users/rpavlik/followers","following_url":"https://api.github.com/users/rpavlik/following{/other_user}","gists_url":"https://api.github.com/users/rpavlik/gists{/gist_id}","starred_url":"https://api.github.com/users/rpavlik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpavlik/subscriptions","organizations_url":"https://api.github.com/users/rpavlik/orgs","repos_url":"https://api.github.com/users/rpavlik/repos","events_url":"https://api.github.com/users/rpavlik/events{/privacy}","received_events_url":"https://api.github.com/users/rpavlik/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-06-12T17:09:01Z","updated_at":"2015-07-03T18:07:38Z","closed_at":null,"body":"Two parts to this:\r\n\r\n- An API method to iterate through viewports (eyes, walls, etc) and get the parameters for a projection matrix: left, right, top, bottom, etc. in a generic (non-engine/renderer specific) but universal way. This would bring the parsing and interpretation of the display descriptor inside the library - slightly decreased flexibility, but reduced maintenance burden on integrations and apps, and we can ensure we're doing it correctly for a uniformly correct experience.\r\n- Computational models of HMD displays and optics: the current display descriptor (I believe) lacks sufficient information to precisely describe correct rendering for a range of devices. See the paper and blog posts linked from https://github.com/OSVR/OSVR-General/wiki/Display-Knowledge-Nuggets - don't let the 1992 date fool you, the first paper in particular really hits the nail on the head of the issue we're (and others, see the doc ok posts) still having today. As far as I can tell, lots of people are rendering to HMDs, and lots of them are approximately optically correct, but few are exactly optically correct because of assumptions made about the optical system/model that are inaccurate. We're just not noticing because our brains are good at \"papering over\" the flaws, sometimes instead converting them to cybersickness (\"VRISE\"), and it takes careful, close inspection by a trained user to objectively note these issues on their own."},"comment":{"url":"https://api.github.com/repos/OSVR/OSVR-Core/issues/comments/118403305","html_url":"https://github.com/OSVR/OSVR-Core/issues/148#issuecomment-118403305","issue_url":"https://api.github.com/repos/OSVR/OSVR-Core/issues/148","id":118403305,"user":{"login":"godbyk","id":195036,"avatar_url":"https://avatars.githubusercontent.com/u/195036?v=3","gravatar_id":"","url":"https://api.github.com/users/godbyk","html_url":"https://github.com/godbyk","followers_url":"https://api.github.com/users/godbyk/followers","following_url":"https://api.github.com/users/godbyk/following{/other_user}","gists_url":"https://api.github.com/users/godbyk/gists{/gist_id}","starred_url":"https://api.github.com/users/godbyk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/godbyk/subscriptions","organizations_url":"https://api.github.com/users/godbyk/orgs","repos_url":"https://api.github.com/users/godbyk/repos","events_url":"https://api.github.com/users/godbyk/events{/privacy}","received_events_url":"https://api.github.com/users/godbyk/received_events","type":"User","site_admin":false},"created_at":"2015-07-03T18:07:38Z","updated_at":"2015-07-03T18:07:38Z","body":"Here are some display properties that are queried by OpenVR:\r\n\r\n* eye output viewports (per eye: x, y, width, height)\r\n* raw projection matrix values (per eye: left, right, top, bottom)\r\n* head-from-eye-pose transform (per eye: 3×4 matrix)\r\n* is display real display (bool)\r\n* is on desktop (bool)\r\n* reports time since v-sync (bool)\r\n* seconds from v-sync to photons (float)\r\n* display frequency (float)\r\n* user IPD in meters (float)\r\n* model number (string)\r\n* serial number (string)\r\n* manufacturer name (string)\r\n* hardware revision (string)\r\n* display firmware version (string)\r\n\r\nSome of these are more generic than display-specific, but I've also omitted a number of tracker-specific properties. Is there an existing bug I should include those in?\r\n"}}