▪ P2D and P3D have been replaced with variants of the OpenGL renderer. We’ve removed the software-based (but speedy for some circumstances) versions of P2D and P3D. We feel that OpenGL rendering is probably the future for most Processing work, so we’re focusing our efforts there. The change will cause some sketches to actually run slower, but the bottom line is that we simply don’t have anyone to help maintain all of this extra code. We hope to sort out the performance problems over time—if you see something weird, please report a bug.
▪ OpenGL 2 – a new version of the OpenGL library has been implemented, and the old one has been removed. The new library is based on Andres Colubri’s Android work (and his experiences developing the GLGraphics library). All the great things from Android have now been back-ported to the desktop version of Processing, so we have a super fast OpenGL library.
▪ OpenGL is now part of core – the OpenGL library is now built into the core, no need to include it as a separate library. This simplifies things (enormously), and brings better parity with other platforms like Android. This makes exported applications larger, but the benefits are worth it.
▪ Video – we’ve removed the QuickTime for Java video library and are using a modified version of Andres Colubri’s GSVideo library instead. On Linux, you’ll need to install gstreamer to use the new library. On Windows and Mac OS X, you should not need to install it, however we’re working out a few kinks in the whole process.
▪ Movie Maker – the MovieMaker class has been removed, because it was specific to QuickTime for Java. In its place there is now a Movie Maker item under the Tools menu, that helps you convert a file of frames into a video file. There isn’t a good library-based method to make this work, so it’ll probably stay a Tool rather than be re-incorporated into the video library.
▪ A new class called XML replaces the old XMLElement. With the change, you can call loadXML(“blah.xml”) from inside PApplet to read XML data. The rest of the API is the same as it was for XMLElement, except that getXxxxAttribute() is now just getXxxx(), for instance getIntAttribute() is just getInt() (to be more like the rest of the Processing API). Also added XML.parse(String) which returns an XML object from a String of XML data. Whitespace is preserved more consistently with the new implementation, which might require some changes to your code.