
On 11/31/06, Fernando Perez <fperez.net@gmail.com> wrote:
Fernando Perez wrote: ps - one more thing. This guy:
has been rewriting the OpenGL bindings using ctypes, and I've seen posts from him about numpy (in his blog). He might be able to contribute something...
I've been working on the OSX port and extensions for OpenGL-ctypes. (now released as PyOpenGL-3.00a, please test!). What Mike has done is define setuptools plugins to interface to different kinds of array data. The default type is ctypes arrays, or numpy arrays if numpy is installed. The data types handled are ctypes sized arrays, ctypes pointers, strings (read-only), and Python lists. (and old Numeric/ numarray via a non-default build.) Summaries of development and usage, resp, are found: http://pyopengl.sourceforge.net/ctypes/development.html http://pyopengl.sourceforge.net/ctypes/using.html Notes on array handling from the above:
Perhaps the most complex mechanisms in OpenGL-ctypes are those which implement the array-based operations which allow for using low-level blocks of formatted data to communicate with the OpenGL implementation. OpenGL-ctypes preferred basic array implementation is the (new) numpy reimplementation of the original Numeric Python.
The array handling functionality provided within OpenGL-ctypes is localised to the OpenGL.arrays sub-package. Within the package, there are two major classes, one (the FormatHandler) which implements an interface to a way of storing data in Python, and another (the ArrayDatatype) which models an OpenGL array format. The ArrayDatatype classes use FormatHandlers to manipulate array- compatible objects for use in the system. and on FormatHandlers, for each of the datatypes I mentioned earlier:
Each format handler is responsible for implementing an API that ArrayDatatypes can use to work with the Python data-format. Data- formats can support a subset of the API, they only need to support those aspects of the data-format which make sense. Now, I haven't spent much time looking at these parts of OpenGL- ctypes, as they have just worked for me. I would think that it would be trivial to write a FormatHandler which uses the ndarray interface and data type description to use any object implenting it as an input for OpenGL. This would include things such as PIL images.
Mike, can you give us your opinion on how a standardised data type descriptor would be helpful for PyOpenGL? The PEP and some information about it can be found here: http://www.scipy.org/ArrayInterfacePEP Cheers, Josh ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642