{"action":"created","issue":{"url":"https://api.github.com/repos/LWJGL/lwjgl3/issues/101","labels_url":"https://api.github.com/repos/LWJGL/lwjgl3/issues/101/labels{/name}","comments_url":"https://api.github.com/repos/LWJGL/lwjgl3/issues/101/comments","events_url":"https://api.github.com/repos/LWJGL/lwjgl3/issues/101/events","html_url":"https://github.com/LWJGL/lwjgl3/issues/101","id":110469540,"number":101,"title":"Add a GUI solution to LWJGL","user":{"login":"Spasi","id":1545420,"avatar_url":"https://avatars.githubusercontent.com/u/1545420?v=3","gravatar_id":"","url":"https://api.github.com/users/Spasi","html_url":"https://github.com/Spasi","followers_url":"https://api.github.com/users/Spasi/followers","following_url":"https://api.github.com/users/Spasi/following{/other_user}","gists_url":"https://api.github.com/users/Spasi/gists{/gist_id}","starred_url":"https://api.github.com/users/Spasi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spasi/subscriptions","organizations_url":"https://api.github.com/users/Spasi/orgs","repos_url":"https://api.github.com/users/Spasi/repos","events_url":"https://api.github.com/users/Spasi/events{/privacy}","received_events_url":"https://api.github.com/users/Spasi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/LWJGL/lwjgl3/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-10-08T14:54:57Z","updated_at":"2015-10-18T22:10:06Z","closed_at":null,"body":"This is meant to be a meta-issue in which discussion can take place about potential solutions to GUI layout & rendering. Currently LWJGL only supports text rendering (via [stb](https://github.com/nothings/stb)) and may soon support antialiased 2D graphics (via [nanovg](https://github.com/memononen/nanovg)).\r\n\r\nTopics to discuss:\r\n\r\n- Rendering GUI components on top of 3D content (e.g. game menus, HUDs, etc).\r\n- Rendering GUI components inside 3D content (e.g. monitor/panel in 3D space displaying 2D content).\r\n- Embedding 3D content in a standard application/tool. The 3D content should be lightweight, i.e. standard menus should be renderable on top of it.\r\n\r\nThe ideal solution should be hardware-accelerated, i.e. there shouldn't be any framebuffer copies from the CPU to the GPU or vice versa.\r\n\r\nApproaches that have been explored already:\r\n\r\n- JavaFX integration via `PixelWriter` & `PixelReader`. See the [LWJGL-FX](https://github.com/Spasi/LWJGL-FX) project (uses LWJGL 2 but the same issues apply to LWJGL 3). Not hardware-accelerated.\r\n- Adding bindings to [CEF](https://bitbucket.org/chromiumembedded/cef) and using the offscreen rendering API. Not hardware-accelerated."},"comment":{"url":"https://api.github.com/repos/LWJGL/lwjgl3/issues/comments/149054769","html_url":"https://github.com/LWJGL/lwjgl3/issues/101#issuecomment-149054769","issue_url":"https://api.github.com/repos/LWJGL/lwjgl3/issues/101","id":149054769,"user":{"login":"dustContributor","id":8086687,"avatar_url":"https://avatars.githubusercontent.com/u/8086687?v=3","gravatar_id":"","url":"https://api.github.com/users/dustContributor","html_url":"https://github.com/dustContributor","followers_url":"https://api.github.com/users/dustContributor/followers","following_url":"https://api.github.com/users/dustContributor/following{/other_user}","gists_url":"https://api.github.com/users/dustContributor/gists{/gist_id}","starred_url":"https://api.github.com/users/dustContributor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dustContributor/subscriptions","organizations_url":"https://api.github.com/users/dustContributor/orgs","repos_url":"https://api.github.com/users/dustContributor/repos","events_url":"https://api.github.com/users/dustContributor/events{/privacy}","received_events_url":"https://api.github.com/users/dustContributor/received_events","type":"User","site_admin":false},"created_at":"2015-10-18T22:10:06Z","updated_at":"2015-10-18T22:10:06Z","body":"I recall digging through the sources and finding no clear way to hijack the SWT's component so I could use it with my context (although my experience with window management APIs is limited).\r\n\r\nBoth JavaFX and SWT (since 4.2 I believe) are theme-able with CSS, which is a pretty cool thing to have.\r\n\r\nI wonder if we could nag SWT developers about this..."}}