{"action":"created","issue":{"url":"https://api.github.com/repos/c42f/displaz/issues/79","labels_url":"https://api.github.com/repos/c42f/displaz/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/c42f/displaz/issues/79/comments","events_url":"https://api.github.com/repos/c42f/displaz/issues/79/events","html_url":"https://github.com/c42f/displaz/pull/79","id":111936446,"number":79,"title":"Support Mac OS X CoreProfile OpenGL 3.2 (incl. Qt5 upgrade)","user":{"login":"chrisidefix","id":382555,"avatar_url":"https://avatars.githubusercontent.com/u/382555?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisidefix","html_url":"https://github.com/chrisidefix","followers_url":"https://api.github.com/users/chrisidefix/followers","following_url":"https://api.github.com/users/chrisidefix/following{/other_user}","gists_url":"https://api.github.com/users/chrisidefix/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisidefix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisidefix/subscriptions","organizations_url":"https://api.github.com/users/chrisidefix/orgs","repos_url":"https://api.github.com/users/chrisidefix/repos","events_url":"https://api.github.com/users/chrisidefix/events{/privacy}","received_events_url":"https://api.github.com/users/chrisidefix/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":23,"created_at":"2015-10-17T01:23:12Z","updated_at":"2015-10-28T03:58:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/c42f/displaz/pulls/79","html_url":"https://github.com/c42f/displaz/pull/79","diff_url":"https://github.com/c42f/displaz/pull/79.diff","patch_url":"https://github.com/c42f/displaz/pull/79.patch"},"body":"If you find the time, please review and any feedback or request is welcome, of course.\r\n\r\n**What changed?**\r\n 1. By default `displaz` is now looking for **`Qt5`**.\r\n 1.1. *Non* of the *recent* `QOpenGL*` classes have been used intentionally, to allow support of earlier `Qt5` versions on systems, where it would be more difficult to obtain the latest release.\r\n 1.2. The option `DISPLAZ_USE_QT4` was added to `CMake` (`FALSE` by default) and has to be selected for systems, where you want to build against `Qt4`.\r\n\r\n 2. The **OpenGL** code was *mostly* restructured where necessary to run on a *Core Profile context 3.2*, which is the only one available for Mac OS X (OpenGL 3.0 or 3.1 can not be used and there is no support for a *Compatibility Profile*).\r\n\r\n 2.1. **GLSL Shaders** have been added for any render step, including the \"cursor\" and \"axes\" overlays. \r\n 2.2. Most of the vertex/index data is now setup in **`VAO`/`VBO`** fashion through the `initializeGL()` method and then rendered with `glDrawArrays`/`glDrawElements` from `paintGL()`.\r\n\r\n 3. I wouldn't recommend running `displaz` with `Qt4` on Mac OS X and there really is no need to do this. However, I did add some `Objective-C` code that is supposed to create a proper window with the right `CoreContext 3.2` for `QGLWidget`, in case you are wondering why this is there. For this to work `displaz` also needs to link against Apple specific frameworks (`Cocoa` and `Foundation`).\r\n\r\n**What remains?**\r\n 1. There is likely work left to be done for `HCloudView`. I deactivated the (unused) code in `drawBounds` for example. The `draw()` method likely needs to be adjusted, but I didn't have any dataset that I could have tested.\r\n 2. `CoreProfile 3.2` is now set as the default `QGLFormat` inside `guimain.cpp` and it should be decided, if - for non-Mac systems - this should be something else.\r\n 3. Some more clean-up in the code from my side.\r\n\r\nPS: Feel free to squash the commits and ask me anything!"},"comment":{"url":"https://api.github.com/repos/c42f/displaz/issues/comments/151715462","html_url":"https://github.com/c42f/displaz/pull/79#issuecomment-151715462","issue_url":"https://api.github.com/repos/c42f/displaz/issues/79","id":151715462,"user":{"login":"c42f","id":601473,"avatar_url":"https://avatars.githubusercontent.com/u/601473?v=3","gravatar_id":"","url":"https://api.github.com/users/c42f","html_url":"https://github.com/c42f","followers_url":"https://api.github.com/users/c42f/followers","following_url":"https://api.github.com/users/c42f/following{/other_user}","gists_url":"https://api.github.com/users/c42f/gists{/gist_id}","starred_url":"https://api.github.com/users/c42f/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/c42f/subscriptions","organizations_url":"https://api.github.com/users/c42f/orgs","repos_url":"https://api.github.com/users/c42f/repos","events_url":"https://api.github.com/users/c42f/events{/privacy}","received_events_url":"https://api.github.com/users/c42f/received_events","type":"User","site_admin":false},"created_at":"2015-10-28T03:58:17Z","updated_at":"2015-10-28T03:58:17Z","body":"Quick test on linux for the new framebuffer changes - Qt5 version works fine. Qt4 goes into an infinite loop and tries to allocate all the memory on the machine!  Don't have time to dig into why right now, but for reference version 8802383 worked ok."}}