Archive for the ‘real-time’ Tag

Syphon Client working in Processing   16 comments

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).

Read the rest of this entry »

Advertisements

Posted February 21, 2012 by ac in Programming

Tagged with , , , , ,

Real-time experiments with OpenCL, OpenGL, and Syphon   3 comments

This is an exciting time to work with real-time graphics, as the capabilities of GPUs keep increasing in raw performance and functionality, and also because the “GL family” of programming API’s (OpenGL, GLSL, OpenGL ES, JOGL) has been evolving rapidly during the past years in order to give access to new hardware features and devices. One area I have been interested in for some time is General Processing on GPUs (GPGPU). GPUs can allow for major speed-ups in computational problems that are suitable for data parallelization. Originally, it was possible to carry out GPGPU calculations (such as the simulation of a particle system) with the graphics API and writing the computation “kernels” using Cg or GLSL shaders. The major disadvantage of this approach was the need to cast a general computation algorithm in graphics terminology, i.e.: an array of particle positions becoming a texture, the output of a calculation being stored in a color variable, and so on. Despite these complications, many initial GPGPU projects were carried out in this way. I also implemented some simple particle systems for non-photorealistic rendering using OpenGL and GLSL shaders. Today, there are several API’s specifically designed to program the GPUs as general parallel processors, and among the most mature and widely used ones I would mention CUDA and OpenCL. I recently chose to learn OpenCL as it is a hardware-agnostic API aimed to support GPUs from different vendors as well as CPUs and other compute devices. Also, there are already several Java-bindings for OpenCL which are in an advanced stage of development (Jogamp’s JOCL, JavaCL, and JOCL.org). This opened-up the possibility of combining OpenCL and OpenGL in Processing in order to simulate and render large particle systems with full GPU-acceleration. Continue reading for the details (and also for some video renderings made possible by Syphon).

Read the rest of this entry »

Posted April 26, 2011 by ac in Programming

Tagged with , , , ,

Lineplay demo   Leave a comment

This Processing applet called Lineplay implements a little bit better the ideas discussed in the previous post on real-time animation of freehand strokes.
Read the rest of this entry »

Posted February 24, 2009 by ac in Programming

Tagged with , , , , , , ,

ANDIAMO: real-time video tool   14 comments

I couple of weeks ago I started coding up in Processing a tool for live visual performance using real-time video effects, drawing, animation and computer vision techniques. The name of this tool is ANDIAMO, which is an Spanish acronym for ANimador DIgital Analógico MOdular (Digital-Analog Modular Animator).
Read the rest of this entry »