Archive for the ‘processing 2.0’ Tag

Processing 2.0 is out! Processing 2.0 is in!   14 comments

Yesterday was a very important day for the Processing project, as a new stable version, “the 2.0”, has been released. This release is the result of the hard work of a small team of volunteers over the course of the past two years, plus the fundamental support and contributions from the entire Processing community. For me, this release is particularly significant since it includes a major rewrite of the OpenGL and video libraries, which represents my main contribution to the project since I become involved in it almost 5 years ago. After a long period of development, it is very satisfactory to reach a point where the code is good enough to abandon the nebulous territory the of alphas and betas. Of course, a stable release like this is also a compromise between imagination and time. Despite of the standing issues that result from that compromise, Processing 2.0 retains all the functionality that turned it into a widely used tool in computational arts, as well as adding new features and improvements that extends its capabilities and also serve as the starting point for future developments. In what follows, I’d like to describe in more detail some of the technical challenges we faced while working on the new OpenGL library, and the solutions attempted in order to deal with those challenges.
Read the rest of this entry »

Posted June 4, 2013 by ac in Programming

Tagged with , , , ,

Shaders in Processing 2.0 – Part 3   Leave a comment

This is the last part of a series of posts about the new shader architecture in Processing 2.0. This post focuses on how to integrate low-level OpenGL calls with the standard Processing API. This integration has been possible since very early releases of the 1.0 branch, and allowed users through the use of OpenGL functions to implement advanced rendering functionality not available in Processing. The main drawback of the GL integration in Processing 1.x is that it makes the sketches incompatible with regular Processing code (other 3D renderers for example), and harder to understand by many users. Although the latter will continue to be problem as long as OpenGL calls are explicitly included in Processing sketches, the compatibility issue is addressed by Processing 2.0 now that OpenGL is much more deeply integrated with the P2D and P3D renderers.
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.

Read the rest of this entry »

Posted August 3, 2012 by ac in Programming

Tagged with , , , ,

Shaders in Processing 2.0 – Part 2   9 comments

The new capability of loading user-provided GLSL shaders into Processing’s P2D and P3D renderers opens up the possibility of customizing all the rendering operations in Processing, as well as of creating interactive graphics that would be very hard or impossible to generate otherwise. For OpenGL web applications, WebGL supports (only) programmable pipelines through GLSL shaders, and this has motivated the creation of online repositories of shader effects that can be run directly from inside the web browsers, as long as they support WebGL. Sites like the GLSL sandbox or Shader Toy hold large collections of shader effects that can be edited and controlled interactively through the browser. This new post will explain how to integrate GLSL shaders from the GLSL sandbox and Shader Toy websites into a Processing sketch.
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.

Read the rest of this entry »

Posted August 3, 2012 by ac in Programming

Tagged with , , , , , ,

Shaders in Processing 2.0 – Part 1   3 comments

The new OpenGL renderers in Processing 2.0 (P2D/P3D) rely extensively on GLSL shaders. Although in most common situations the use of shaders is invisible to the user, Processing includes a new PShader class that allows to apply custom shaders to the drawing of the sketch. This post describes the shader architecture in Processing 2.0, and the common interfaces that custom GLSL shader code needs to include in order to be accepted by the OpenGL renderers in Processing.
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.

Read the rest of this entry »

Posted August 2, 2012 by ac in Programming

Tagged with , , , , ,