SpaceGroupUCL / depthmapX

depthmapX is a multi-platform Spatial Network Analysis Software
197 stars 52 forks source link

Allow the OpenGL window and related objects to use OpenGL ES #379

Closed pklampros closed 3 years ago

pklampros commented 3 years ago

This ultimately allows the use of ANGLE for displaying graphics on windows, an implementation of OpengGL ES on directX. In practical terms the changes allow for using the depthmapX glview through Windows desktops without an OpenGL >=2.0 implementation, such as those through Remote Desktop (RDP) while previously the only solution was to switch to the legacy Map view. No special build or configuration parameters should be required, as the current Qt versions (>=5.5, tested on 5.13) dynamically load whatever graphics library is available. This change only affects the glview and not the 3dview (agents), as OpenGL ES does not support the fixed-function pipline (glBegin, glVertex etc.). Thus, glview should be available in both desktop and remote desktop versions of depthmapX, but the 3D view will only be available on local desktops that have a GPU. Other operating systems should are not affected by these changes.

Incidentally, this also fixes VirtualBox glview when the client is a Windows machine. 🥳

More information:

https://wiki.qt.io/Qt_5_on_Windows_ANGLE_and_OpenGL

https://doc.qt.io/qt-5/windows-requirements.html#graphics-drivers

https://en.wikipedia.org/wiki/OpenGL_ES

https://doc.qt.io/qt-5/qopenglfunctions.html#details

Relevant Travis build