{"action":"created","issue":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4789","repository_url":"https://api.github.com/repos/openframeworks/openFrameworks","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4789/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4789/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4789/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/4789","id":131734195,"number":4789,"title":"Feature discussion - full retina / high res support for openFrameworks","user":{"login":"ofTheo","id":144000,"avatar_url":"https://avatars.githubusercontent.com/u/144000?v=3","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","locked":false,"assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://avatars.githubusercontent.com/u/144000?v=3","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/12","html_url":"https://github.com/openframeworks/openFrameworks/milestones/0.10.0","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/12/labels","id":264335,"number":12,"title":"0.10.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://avatars.githubusercontent.com/u/327442?v=3","gravatar_id":"","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User","site_admin":false},"open_issues":107,"closed_issues":37,"state":"open","created_at":"2013-02-11T12:18:09Z","updated_at":"2016-02-09T16:51:47Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2016-02-05T19:35:51Z","updated_at":"2016-02-09T18:16:41Z","closed_at":null,"body":"For 0.10.0 I would love to get real retina / HiDPI support working in the OF core. \r\n\r\nCurrently the state of things is that if you set High Resolution Capable via a plist setting you get a window which has a frame buffer with twice as many pixels as the window size.  This means that in HiRes mode a 1024x768 window is half the size on your screen as in regular mode.  \r\n\r\nCurrently we're converting all OF window size / position and screen size coordinates by this scale, but that starts to get very confusing when you start doing multi window stuff with a mixture of retina and non retina screens.  \r\n\r\nThe current approach makes it really hard to make an app support both retina and non retina screens as all the scaling and adjustment is left up to the user.  \r\n\r\nA different approach would be to keep the window size the same for both retina and non retina but  setup the viewports and matrixes to make the retina window look the same as the non retina window, with 2x the width and height when it comes to the frame buffer.  \r\n\r\nIf we could make this work, an app that was loaded as retina vs a non retina app would have exactly the same user code, but the retina one would be rendering at a higher pixel density. \r\n\r\nI have most of this working in a separate branch - but fonts get quite tricky as you would need to load them in with 2x the DPI and then still display them at the scale and spacing of the non retina dpi. \r\n\r\nAnyway, before I get too heavy into this would love any thoughts from people on the matter :) \r\n\r\npinging @braitsch @Xrave @danzeeeman  @openframeworks/core "},"comment":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/comments/181989215","html_url":"https://github.com/openframeworks/openFrameworks/issues/4789#issuecomment-181989215","issue_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4789","id":181989215,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://avatars.githubusercontent.com/u/144000?v=3","gravatar_id":"","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User","site_admin":false},"created_at":"2016-02-09T18:16:41Z","updated_at":"2016-02-09T18:16:41Z","body":"I should note currently on iOS if you work in points you get layouts that look different between devices.  Thats because the screen resolutions are different and iOS aims to have UI elements be physically the same size on different screens ( for usability of buttons sliders etc ).  This means though that an app can have quite a different look / layout depending on the number of screen pixels and the dpi. \r\nThis type of approach could be useful in some situations in OF ( and I can imagine on mobile this is more more important ), but I don't think this should be the default behavior on Desktop apps. \r\n\r\nI think whichever approach we go with the default should be that an app laid out on a non Retina screen looks the same on a Retina one ( unless a user actively wants the two to look different ).  "}}