I have been interested in projection on spherical domes for a while, but never had the chance to experiment on an actual dome. This situation changed after I met Dave Pentecost a couple of years ago. Dave is an advocate and practitioner of the use of digital domes in education and art, and has been documenting his advances in the development of a low-cost dome authoring and projection system in this website. A dome system following those specifications is being installed at an amazing place in New York, the Lower Eastside Girls Club, a Center for Community for girls and young women on the Lower East Side. The Girls Club has been running since 1996, but recently moved to a brand new building that includes the 30 feet hemispherical planetarium, among many other facilities. A recent visit to the Girls Club’s planetarium allowed me to test the code I wrote earlier for dome projection (and realize that it was wrong), and discuss with Dave how we could use Processing and other software tools to allow people to easily create visual content for domes and to carry out artistic projects specifically tailored to the context of the planetarium. These tests and discussions lead to some recent technical developments that I will describe in more detail below.
Archive for the ‘Processing’ Tag
Processing 2.0 beta was finally released a couple of weeks ago, with the 2.0b3 version being the latest release in the beta series at this time. The new shader API described in the previous posts (1, 2, and 3) received some tweaking and cleaning-up, so the examples mentioned earlier might not work properly. Check below for a more detailed description of the shader API updates in the beta.
Update: With the release of Processing 2.0 final, some of the contents in this post are outdated, please check this tutorial for a detailed description of the finalized shader API.
The march towards the 2.0 version of Processing reached an important milestone with the alpha 5 release, available for download since last Friday. The detailed list of changes is here, while the wiki offers a more in-depth discussion of the new features and ongoing changes. A major update in alpha 5 is the inclusion of the new OpenGL renderer for the desktop and Android modes, called P3D, which has been rewritten from the ground up in order to offer improved performance. I will describe some important elements of P3D in this post.
Update: With the release of Processing 2.0 final, some of the contents in this post are outdated, please check the new reference, and tutorials – specially those about P3D, PShape and shaders – for a detailed description of the finalized API.
GSVideo is a Processing library I have been working on for almost four years now (!). It improves video support in Processing by using GStreamer as the underlying multimedia toolkit. The latest release is 1.0.0 and it should be used exclusively with Processing 1.x (the alpha releases of Processing 2.0 already include a simplified version of GSVideo as the built-in video library). Two problems users typically face with GSVideo and about which I receive emails from time to time, are (1) using GSVideo in Eclipse, and (2) exporting GSVideo applications from the Processing environment. So I put together in this post a couple of tips that might be useful in these situations.
Syphon is an OSX framework to share frames between applications. The authors of Syphon, Tom Butterworth and Anton Marini, made it very easy to create Syphon plugins for other languages, frameworks, VJ’ing and mapping tools, etc. So a while ago I wrote a simple Processing library that allowed to send frames out. This was quite useful, but still missing half of the Syphon functionality. With some additional coding, we were able to add the client part, and I just put the new version (0.4) of the Syphon-Processing library up for download (it requires Processing 2.0a4 or newer).
Xavier Hinault recently released a new computer vision library for Processing, based on JavaCV and OpenCV 2: JavacvPro. This is a great contribution to the community, since it appears that the development of the original OpenCV library for Processing has stalled, without moving beyond OpenCV 1.0 support. JavacvPro is based on the very solid JavaCV wrappers by Samuel Audet, which provide access to the latest version of OpenCV (2.3.1 at the time of writing this), and in fact also allows to use other computer vision frameworks like OpenKinect, and ARToolKit. I did some testing of JavacvPro (version 0.3) on Windows, Mac and Linux, and the results are very promising as I was able to use the library on the three platforms. Xavier has also included many examples in the library package that show how to use it various features.
A few weeks ago, the Processing project started the transition to the 2.0 branch with the release of the first alpha package. Today, the second alpha is out (2.0a2), and available from the downloads section in the Google code page of the project, for the Linux, Mac and Windows platforms. The most important changes for this alpha release consist in several improvements in the new video library, and better support for 64 bits within the Processing environment and in exported applications. Follow this link for more detailed release notes, and keep reading below for some additional information about the video library included in Processing 2.0.