Blog: [Blog Home] [Archives] [Search] [Contact]

Posts Tagged ‘openFrameworks’

Creative Coding Software Tools: Processing, openFrameworks, Cinder

Thursday, April 14th, 2016

Creative Coding Software Tools:
Creative Coding Software Tools: Processing, openFrameworks, Cinder

In my previous blog post, Fresh Brewed Coffee Digital Art, I made mention of the fact that I create my digital art using software of my own design and that for those digital artists interested in pursuing this aspect of digital art creation, there were some alternative tools available. In that post I mentioned Processing, openFrameworks, and Cinder. I would like to take this opportunity to say a little more about each of these three options.

Processing

Starting with Processing, this is a framework and programming language that is built on top of Java, an object-oriented programming language. Like Java, Processing is free and available on a variety of platforms. Personally I use Processing on both Windows 7 and Ubuntu Linux. Because the Processing programming language was created for artists and musicians with little or no programming background, beginners can quickly be up, running, and creating with this wonderfully flexible software tool. The flexibility of Processing as an environment for creative coding is expanded by the abundance of third party libraries that have been made available. It is also the most flexible tool in terms of the variety of platforms it works with. I have taken advantage of the ability to write Processing sketches for the web using the Javascript version of Processing (Processing.js) as well as for creating Android apps and for interacting with the Arduino (see The Arduino Starter Kit – Official Kit from Arduino with 170-page Arduino Projects Book). For those new to programming and creative coding, Processing is my number one recommendation.

Processing Resources

The main Processing web sites are:

Following are three books on Processing that I recommend and own. There are a number of other books on Processing that are also quite good. Please be aware that Processing is now on version 3 and version 2 is still widely used but do avoid any book that was written for version 1 of Processing.

openFrameworks

Like Processing, openFrameworks is also free and available on multiple platforms. In fact I even had the opportunity to write some openFrameworks programs on a Raspberry Pi (see CanaKit Raspberry Pi 3 Ultimate Starter Kit – 32 GB Edition) that was running the Raspbian operating system. The primary difference between Processing and openFrameworks is that whereas Processing is a framework that sits on top of the Java programming language, openFrameworks sits on top of the C++ programming language. Personally I find openFrameworks to be somewhat more challenging than Processing, particularly with respect to the use of off-frame buffers in conjunction with OpenGL. And by challenging, I am speaking in terms of the number of lines of code I must write in order to achieve some objective.

openFrameworks Resources

The main web sites for openFrameworks are:

There are not nearly as many books about openFrameworks as there are about Processing but the two that are most worthwhile are:

If you are searching on Amazon for books about Processing and/or openFrameworks, you may come across the book Programming Interactivity: A Designer’s Guide to Processing, Arduino, and openFrameworks by Joshua Noble. My advise is do not buy this book. It is quite out of date and the source code for the examples never was made available.

Cinder

Cinder is a third creative coding platform and, like openFrameworks, relies on the C++ programming language. I have no personal experience with Cinder but I will say that when I was investigating openFrameworks vs Cinder as a creative coding toolset for the C++ environment, openFrameworks won out.

Cinder Resources

The main Cinder web sites are:

There are even fewer books about Cinder than there are about openFrameworks. Two books you will find on Amazon are:

I hope you’ve found this information useful. I also hope that, even if you are not a digital artist or musician or programmer, you check one or more of these creative coding toolsets because you never know – you just might have a knack for creative coding.

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It


Mobile Processing Conference at UIC Innovation Center

Thursday, October 31st, 2013

Mobile Processing Conference, UIC Innovation Center
Mobile Processing Conference, UIC Innovation Center

Tuesday night I returned from a 9 day trip to Arizona and tomorrow morning I’ll be heading out to attend the Mobile Processing Conference being held at the University of Illinois – Chicago Innovation Center. The Mobile Processing Conference runs November 1 – 3 from 10:30am to 5:30pm. It’s rare for events like this to be held here in Chicago so I’m indeed fortunate to be in a position to attend. From the web site:

The 2013 conference features artists, digital humanities scholars, and software developers in a series of presentations, panels, and workshops… The event is free and open to the public.

Note that there is a single track of programming. With one program per time period, I’ll be able to attend every program offered. Following is the scheduled programming.

Title: Seeing Sound
Description: Workshop on how to build a sound visualization system and "discuss why it’s completely useless."
Presenter: Lucas Kuzma
Comment Having written my own sound visualization programs and as a presenter on the subject (see Live Art – Interactive Audio Visualizations) I am very anxious to hear Mr. Kuzma’s take on the subject.
Title: Do You Need A CS Degree To Build Apps?
Description: A presentation dealing with whether or not a college degree in computer science is really necessary to be a successful software designer and programmer.
Presenter: Brandon Passley
Comment I will say this: in terms of the knowledge of specific programming languages I obtained in college, I’ve used none of that knowledge since graduating. The skills I learned while in college that have served me well are those associated with how to go about writing a program and how, in general, programming languages work. Mindset and experience is really what I gained from my college computer science classes. FYI – I received my masters in computer science
and was just one class shy of also qualifying for a bachelors degree in computer science.
Title: Breaking Barriers With Sound
Description: A presentation by Stanford Professor and Smule Co-founder Ge Wang about computer music, mobile music, laptop orchestras, and apps.
Presenter: Ge Wang
Comment Another must see for me – especially since I am current enrolled in the Coursera class Introduction to Programming for Musicians and Digital Artists in which I am learning to use the ChucK programming language to create electronic music. In fact one of the instructors for the class is Ge Wang, the creator of the ChucK programming language.
Title: Off-The-Grid: Create Peer-To-Peer Collaborative Networks
Description: A discussion on collaboration using peer-to-peer wireless networks (WiFi, Bluetooth, and NFC technologies) with the Ketai library for Processing
Presenter: Daniel Sauter/Jesus Duran
Comment This is a new topic area for me.
Title: Drawing Machines
Description: A workshop on Processing coding techniques for creating customized "drawing machines".
Presenter: JD Pirtle
Comment Another one I must attend as I have used Processing extensively creating quite a few of my own drawing machines.
Title: The Technology Landscape For Women And Issues Of Gender
Description: A panel about women in computing and why there are a smaller proportion of women in the field today than there were in the 80s.
Presenter: Amanda Cox, Marie Hicks, Lisa Yun Lee
Comment I must say I’m curious as to where these ladies are coming from and what they’ll have to say on the subject. According to a Wikipedia article on women in computing, In the United States, the number of women represented in undergraduate computer science education and the white-collar information technology workforce peaked in the mid-1980s, and has declined ever since. In 1984, 37.1% of Computer Science degrees were awarded to women; the percentage dropped to 29.9% in 1989-1990, and 26.7% in 1997-1998. Of course percentages can be deceiving. Left unanswered is the
percentage of the female population so engaged in the 80s vs today. Also from the same article:
A study of over 7000 high school students in Vancouver, Canada showed that the degree of interest in the field of computer science for teenage girls is comparably lower than that of teenage boys. The same effect is seen in higher education; for instance, only 4% of female college freshmen expressed intention to major in computer science in the US. I am curious to here how this issue is addressed.
Title: Seeing Sound
Description: A workshop for developing sonic visualizations including various methods for converting audio into images using openFrameworks.
Presenter: Lucas Kuzma
Comment From the description: Participants are expected to have a working copy of Xcode, as well as well as working knowledge of C++. Oops, Xcode is the IDE (Integrated Development Environment) for the Apple OS. I’ve played with openFrameworks before but found it to be more code heavy than Processing due to OpenGL issues. Unfortunately I do not currently have an appropriate IDE installed for openFrameworks on my Windows laptop.
Title: Fast And Slow: Mobile Aesthetics And Civil Liberties
Description: Described as a discussion on how to empower a new generation of makers to participate in shaping the technological artifacts that shape us socially and culturally.
Presenter: Daniel Sauter
Comment This could go either way – we’ll see what happens.
Title: Sketching The News
Description: A look at some data visualization projects at the New York Times.
Presenter: Amanda Cox
Comment Another subject area in which I have interest and have done some work.
Title: Processing Shaders, The Sunday Sessions
Description: A workshop about GLSL shaders in Processing 2.0 with the main objectives being to present advanced applications of the shader API, specifically post-processing image filters and blending, procedural generation of 3D objects using fragment shaders, iterative effects with the pframe buffer, and shading of large-scale geometries.
Presenter: Andres Colubri
Comment Major changes were made between the Processing 1.xxx and 2.xxx versions. Most significant was the move towards OpenGL integration. This caused me some real headaches as Processing 2 just wouldn’t work properly on my computer. However upgrading my graphics card drivers did solve the problem (though it took some doing and hurdle jumping to accomplish). For more, see Shaders in Processing 2.0.
Title: Creative Coding on the Raspberry Pi with openFrameworks
Description: Like the title says, Creative Coding on the Raspberry Pi with openFrameworks. Raspberry Pi Hardware will be provided for use during the workshop. Participants are encouraged to bring a laptop.
Presenter: Christopher Baker
Comment If you have never of it, you can find out all about Raspberry Pi here and read the Raspberry Pi FAQ.

The Mobile Processing Conference is being held at the UIC Innovation Center located at 1240 W Harrison St in Chicago, IL. For information about the conference, visit the Mobile Processing Conference web site

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It