Archive for the ‘shaders’ Tag

Shader API in Processing 2: an updated reference!   11 comments

Processing 2.0 was released almost a year ago, and introduced many exciting improvements in several areas. Among those, a new OpenGL renderer with GLSL shader support. Since that time, the shader API – defined not only by the new functions in the Processing language to load and run shaders in a sketch, but also by the set of uniform and attribute variables inside a shader that Processing automatically initializes with the geometry coming from the sketch – has gone some minor changes and tweaks. The reference section in the Processing website, the PShader tutorial, and the built-in examples are all up-to-date, but the last full listing of all the uniform and attribute variables was mentioned in an older post in this blog, and has gone a bit out of date since then. With the recent release of Processing 2.1.2, I could say (with very high certainty) that the shader API in Processing 2 reached a “stable status” and won’t go through any further changes.
Read the rest of this entry »

Posted May 8, 2014 by ac in Programming, Uncategorized

Tagged with , , , , ,

Shaders in Processing 2.0 beta   8 comments

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.

Read the rest of this entry »

Posted September 24, 2012 by ac in Programming, Software

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 , , , , ,

GLGraphics 0.99 released   26 comments

This new release of GLGraphics comes hand in hand with GSVideo 0.9, also available today. These new versions of the two libraries introduce a combined mode of operation that greatly improves video playback performance, which I will describe in the next post. Now I will focus on the new features of GLGraphics concerning exclusively with rendering and shading.

Read the rest of this entry »

GLGraphics 0.9.4   24 comments

The version 0.9.4 of the GLGraphics library is available for download. This release is very significant because it incorporates a number of improvements and fixes suggested over the last few months by users of the library (enhanced Cg and GLSL shader support is one of such improvements), and also because this is the last release before the integration with the ongoing work I’m doing in the 3D renderer for Processing Android. For a full list of changes, fixes and issues please take a look at the release notes.
Read the rest of this entry »

Posted August 22, 2010 by ac in Programming

Tagged with , , , , , , , , ,