On 3 Oct 2016, at 4:29 am, John Ladasky <john_lada...@sbcglobal.net> wrote:
> 
> On Sunday, October 2, 2016 at 7:21:15 PM UTC-7, blue wrote:
>> You have here a PyQt5 Reference Guide 
>> http://pyqt.sourceforge.net/Docs/PyQt5/index.html
>> Some example can be found here 4 and 5 
>> http://codeprogress.com/python/libraries/pyqt/
> 
> That's a nice page of examples, but there are no OpenGL examples.
> 
>> Support for OpenGL http://pyqt.sourceforge.net/Docs/PyQt5/opengl.html told 
>> us:
>> 
>> When compiled against Qt v5.1 or later, PyQt5 implements a set of either 
>> desktop QOpenGL bindings or OpenGL ES v2 bindings depending on how Qt was 
>> configured. This removes the dependency on any third-party OpenGL bindings 
>> such as PyOpenGL.
>> 
>> At the moment the desktop bindings are for OpenGL v2.0 and are mostly 
>> complete. Other versions will be added in later releases. If there are calls 
>> which you need, but are currently unsupported, then please ask for the 
>> support to be added.
> 
> I found that page many days ago.  I am not sure whether OpenGL 4.5, which is 
> what Ubuntu installed for me, is an extension of OpenGL ES v2, or something 
> completely different.
> 
> PyQt5 seems to be at least nominally aware of recent versions of OpenGL, and 
> it knows that I have version 4.5 -- since my program went looking for a 
> module called "QOpenGLFunctions_4_5_Compatibility".  On this page...
> 
> http://doc.qt.io/qt-5/qtgui-module.html
> 
> ...the Qt5 QTGui documentation lists a plethora of functions to retrieve 
> OpenGL "specifications" and "compatibility profiles", ranging from OpenGL 1.0 
> through 4.5.
> 
> Note, these are not PyQt docs, they are for Qt.  I have been sometimes 
> frustrated by the fact that the PyQt modules do not appear to have a 
> one-to-one mapping with the hierarchy of Qt itself.
> 
>> Obtaining an object that implements the bindings for a particular OpenGL 
>> version and profile is done in the same way as it is done from C++, i.e. by 
>> calling versionFunctions(). In addition, the bindings object also contains 
>> attributes corresponding to all of the OpenGL constants.
> 
> And as you can see: trying to call versionFunctions() is exactly where my 
> program failed.

Try passing a QOpenGLVersionProfile object to versionFunctions() that has a 
version set to one supported by PyQt.

Phil
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to