Julian Oliver wrote:
So there has been much talk over the years about doing this, I think there needs to be more action. Any volunteers?
Well sure, I can work on this. I think probably the existing pd-tcl/tk interface needs to be documented first. I've started a bit on this. I guess it needs a wiki page someplace.
this is a good idea. perhaps it could begin as a general central site for consolidating ideas and existing attempts to 're-skin' PD.
Then there is the question: do we take the existing socket connection and hook it to a tcl/tk-openGL translator (the easy but slow way) or redo the whole thing to get rid of the special characters and unreadable command strings that cause so much grief (harder but in the long term more robust)?
probably best to rewire it altogether.
one thing that really needs to be considered is that OpenGL forces a single window interface context. this would mean all the PD canvases wouldn't be inside real windows themselves, but all fake windows nested within a single larger window for rendering. this has it's obvious advantages and disadvantages.
recently several igh level API's have emerged that aim to make developing rich 2D OpenGL interfaces easier. here's one i found the other day, though it's intended use is very different from that of PD:
[snip]
also don't forget:
* Cairo [1] (see also glitz [2]) Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, win32, and image buffers. Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension). License: LGPL
* flowcanvas FlowCanvas is a canvas widget for dataflow systems. It consists of a Gtkmm widget containing movable modules and ports which can be connected in various ways. See the screenshots, you'll get it :). Yes, this means FlowCanvas is C++ only. Sorry, C people. FlowCanvas is Free Software licensed under the GNU GPL
[1] http://cairographics.org/ [2] http://www.freedesktop.org/wiki/Software/glitz [3] http://www.nongnu.org/om-synth/flowcanvas.html