------------------ WORK IN PROGRESS ------------------
3d rendering in applications such as xflr5 and flow5 is done using OpenGL which has the advantage of being platform-independent and supported by the three OS Windows, Mac, and Linux as of 2021. flow5 does not make use of DirectX or Metal.
The OpenGL specification has changed over time, with forward compatibility being broken between versions 1.0 and 2.1, and between 2.1 and 3.3 – a developer’s nightmare.
OpenGL 2.1 is now deprecated which means that GPU vendors may or may not still provide support for the specification. Applications such as flow5 should therefore implement support for v3.3+ with the core profile, i.e. without use of deprecated functions.
For information, xflr5 has dropped support for OpenGL 2.1 since v6.49. It supports OpenGL 3.1 with the compatibility profile, i.e. it still uses some deprecated 2.1 functions.
Since support for deprecated contexts is not guaranteed by GPU vendors, flow5 only supports OpenGL 3.3+ and requests by default a 3.3 context.
Note that the application only requests a context version and that the OS will commonly respond with another later version which supports the requested configuration.
Some laptop computers have dual graphic processors, in which case the OS will most likely select by default the motherboard’s GPU to run flow5. This is usually good enough because the application only makes a minimal use of a GPU’s power and functionalities. In case of issues however, it is worth trying to force the application to run on the other graphic chipset, which provides a different support for OpenGL. The selection of the GPU is made in the OS and not in flow5.
The module can be accessed with the "Options/OpenGL settings" menu item.
flow5 uses the 3.3 specification for all common 3d displays. The newer functions implemented in 4.0+ are only used in special cases such the as the display of animated flow lines.
However the recommendation is to always request the highest version, i.e. 4.6 which was released in 2017.
This will force the OS to respond with the highest version it supports.
Older configurations may support for instance only 4.5 released in 2014, or 4.3 released in 2013. This response will be displayed in the text output in the bottom left.
Activate the core profile and disable the deprecated functions. This guarantees that the application does not make use of the legacy 2.1 features.
In the present case, the response of the OS is exactly the requested 4.6 context.