Если к кошке приставить голову тигра....

Каких-то жалких 4.5 года назад KDAB начали рекламировать использование современного OpenGL изнутри Qt.

Я их начитался еще тогда и возжелал. Однако требования к железу (OpenGL 3.3/DirectX 11) поднимать в FastRawViewer не хотелось и руки дошли вот только сейчас, для нового проекта, благо железо подросло и OpenGL 3.3 есть во всем вменяемом (включая Intel, кто до сих пор работает на SandyBridge с тамошним видео - пусть страдает).

Однако научные исследования показали, что реально OpenGL CoreProfile так чтобы все работало - это только Qt 5.9, 2017-й год, а не 2013-й. А так - нет, QPainter (а он много где вылезает) - OpenGL2.

А на маках, блин, если хочется OpenGL 3+, то только CoreProfile, вот процитирую из блога Криты:

However, the OpenGL QPainter engine has never been really maintained and got stuck in the OpenGL v2 days. Maybe sufficient for some mobile applications, but not for a desktop application like Krita, which needs several OpenGL 3.2 features to function correctly. That wasn’t a problem until we decided to make a serious effort of our port to OSX. The OpenGL QPainter engine, being OpenGL v2, can only work in an OpenGL 3.2 context if the compatibility profile is set: it needs all those deprecated things.

Apple decided that nobody would need that, and offers only the Core Profile. That sucks. That means the OpenGL QPainter engine is not available on OSX for applications that need V3.2 Core Profile. Worse, Intel’s Windows drivers regularly go through a phase where using V3.2 Compatibility Profile causes black screens.

Короче, в Крите сделали (СПАСИБО ИМ!), в Qt включили в версию 5.9, но мне не хочется 5.9 (потому что поддерживается только OS X 10.10+, а вот лично я работаю на 10.9 и не хотел бы переходить), а хочется 5.6

Так вот, если взять патч из QTBUG-33535 и приложить его к Qt 5.6.3 то:

  1. Он почти прикладывается, одно место надо дорихтовать вручную
  2. (на Windows) все работает, в частности QGraphicsView начинает жить с OpenGL core profile
  3. .... пойду пробовать на маке, но не вижу причин почему не.

P.S. Вот так и день прошел, блин.

 

Add new comment