{"action":"created","issue":{"url":"https://api.github.com/repos/Perspex/Perspex/issues/412","repository_url":"https://api.github.com/repos/Perspex/Perspex","labels_url":"https://api.github.com/repos/Perspex/Perspex/issues/412/labels{/name}","comments_url":"https://api.github.com/repos/Perspex/Perspex/issues/412/comments","events_url":"https://api.github.com/repos/Perspex/Perspex/issues/412/events","html_url":"https://github.com/Perspex/Perspex/issues/412","id":131950102,"number":412,"title":"OpenGL Rendering Support","user":{"login":"ilexp","id":14859411,"avatar_url":"https://avatars.githubusercontent.com/u/14859411?v=3","gravatar_id":"","url":"https://api.github.com/users/ilexp","html_url":"https://github.com/ilexp","followers_url":"https://api.github.com/users/ilexp/followers","following_url":"https://api.github.com/users/ilexp/following{/other_user}","gists_url":"https://api.github.com/users/ilexp/gists{/gist_id}","starred_url":"https://api.github.com/users/ilexp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilexp/subscriptions","organizations_url":"https://api.github.com/users/ilexp/orgs","repos_url":"https://api.github.com/users/ilexp/repos","events_url":"https://api.github.com/users/ilexp/events{/privacy}","received_events_url":"https://api.github.com/users/ilexp/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-02-07T08:50:27Z","updated_at":"2016-02-07T12:01:18Z","closed_at":null,"body":"This is half an issue and half an inquiry.\r\n\r\nI'm working on the [Duality](https://github.com/AdamsLair/duality) project and am evaluating different cross-platform UI frameworks to replace WinForms in the long-term future. So par, Perspex is one of my favorites. There are, however, some requirements for my project for which I will need to assure Perspex support:\r\n\r\n- A versatile **Docking Control**, including multi window pop-out and drop-in functionality. So far, I'm using [DockPanelSuite](https://github.com/dockpanelsuite/dockpanelsuite) for WinForms. Is there something comparable planned in Perspex?\r\n- **High-DPI Awareness** is something that I currently do not have with WinForms, but intend to support in the long term future. Issue #70 already deals with this, so let's skip that.\r\n- An **OpenGL Rendering Widget** would be by far the most important requirement, so a game scene can be rendered interactively inside a Perspex widget. Issue #6 deals with this, #61 and #18 seem to be somewhat related.\r\n- Also, **Embedding Perspex in OpenGL** would be a big bonus, so I could use Perspex as an ingame UI in addition to using it as the editor's UI system. Issue #216 is related to this.\r\n\r\nGiven the above list, how likely or doable are each of these points and what's your prediction on future Perspex development with regard to them?"},"comment":{"url":"https://api.github.com/repos/Perspex/Perspex/issues/comments/181000509","html_url":"https://github.com/Perspex/Perspex/issues/412#issuecomment-181000509","issue_url":"https://api.github.com/repos/Perspex/Perspex/issues/412","id":181000509,"user":{"login":"ilexp","id":14859411,"avatar_url":"https://avatars.githubusercontent.com/u/14859411?v=3","gravatar_id":"","url":"https://api.github.com/users/ilexp","html_url":"https://github.com/ilexp","followers_url":"https://api.github.com/users/ilexp/followers","following_url":"https://api.github.com/users/ilexp/following{/other_user}","gists_url":"https://api.github.com/users/ilexp/gists{/gist_id}","starred_url":"https://api.github.com/users/ilexp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilexp/subscriptions","organizations_url":"https://api.github.com/users/ilexp/orgs","repos_url":"https://api.github.com/users/ilexp/repos","events_url":"https://api.github.com/users/ilexp/events{/privacy}","received_events_url":"https://api.github.com/users/ilexp/received_events","type":"User","site_admin":false},"created_at":"2016-02-07T12:01:18Z","updated_at":"2016-02-07T12:01:18Z","body":"Thanks for your quick reply.\r\n\r\nAs far as OpenGL widget support goes, I would imagine that there are two ways to achieve this:\r\n\r\n- Asking the operating system for a window handle / equivalent and sync this window with the embedding Perspex widget. This might be enough for third-party libraries to initialize an OpenGL context and render to the native window / area. I'm not sure whether this will have any unwanted interactions with a Perspex Direct2D / DirectX backend though.\r\n- Implementing an OpenGL backend for Perspex, so an OpenGL widget would essentially just be a layouted viewport where user applications can render into.\r\n\r\nI am by no means an expert on this though and unfortunately, I don't have the resources to implement an OpenGL backend for Perspex myself at this point - so I'd just leave this open for discussion. Could imagine others being interested in this as well."}}