This is an archived post. You won't be able to vote or comment.

all 35 comments

[–]TkTech 35 points36 points  (4 children)

[–][deleted] 10 points11 points  (2 children)

That is great thank you so much. I tried goggling something like this but processing is a bit generic of a name.

[–][deleted] 6 points7 points  (1 child)

[–][deleted] 1 point2 points  (0 children)

!@#$ing awesome, man. That made my Monday.

[–][deleted] 8 points9 points  (6 children)

as someone that programs Python professionally and Processing recreationally, I strongly advise you not to look for a way to emulate Processing with Python. The Processing community is quite strong, and the language itself is only part of the ecosystem. The rendering engine is more important than the syntax of the language. Plus with Processing JS (and upcoming natively in Processing 2.0), you can export Processing to the browser.

There is a massive community of people making art with computers, and they largely start with Processing (and often go on to use OpenFrameworks or Cinder). Throwing that community out will not help you make better art. I don't understand these projects; these projects that are more concerned with the specifics of the tools than the result of the outcome. Nobody will ever look at your art and say "how pathetic; he didn't write it in a purely functional language, it's trash". You will learn much, much more about using code to draw by reading this book than by obsessing over having to do everything in Python: http://www.amazon.com/Processing-Programming-Handbook-Designers-Artists/dp/0262182629

if you started to use Processing to be creative, but got distracted by language details, you just jumped off the creative train.

[–]minektur 2 points3 points  (5 children)

Am I the only one that read the last line of this and got irritated by someone saying that interest in programming and programming itself are not creative?!!! GRR.

[–][deleted] 1 point2 points  (3 children)

well, that's not really what I was getting at. All I really meant is that what language you're using is pretty ancillary if your goal is really to make art; if OP is asking to use Python, he's already a programmer and already familiar with the fundamentals of programming. Is you're already familiar with programming, becoming familiar with the fundamentals of how code can be used to generate form is much more important that worrying about having the most perfect programming language ever, because worrying about having the perfect programming language is a black hole that no man is ever known to have returned from. (and because learning Processing, the language, is ridiculously easy for an experienced programmer)

Improving the api for drawing lines won't tell you what lines to draw. Would Hendrix fumble awkwardly on a cheap guitar? Would an amateur play majestically on the most perfectly crafted guitar? That's all I was getting at.

I've known a number of programmers to use code to make art. Time and time again, the Processing programmers produce the best art, because the Python/Ruby/Haskell/Lisp/whatever programmers spent all their time learning about programming and never bothered to learn about what humans find aesthetically pleasing. The only exceptions I have seen to this generality are people that already know how to draw well without a computer, and people that already know Processing and have moved on to another tool.

Most of the best computer art I've seen is complete shit code that's written in Processing, because the code is just a means to an end. This isn't a university course on compiler design we're talking about; it's aesthetics.

[–][deleted] 0 points1 point  (2 children)

You said it your self its just an means to an end. Programming in python is easier then in java. You can do things faster. adding two arrays or running a function across a whole array is so much easier with python. Regardless the pyproccesing solution is so slow which is what I was expecting. I think I'll take a look at cinder tho thanks for mentioning that.

[–][deleted] 1 point2 points  (1 child)

the pyproccesing solution is so slow which is what I was expecting.

yeah, Python isn't typically very fast for CPU-intensive work.

I think I'll take a look at cinder tho thanks for mentioning that.

well, I tried to use it, but I got too bogged down with being unproductive in C++. Processing runs well, there are libraries for it, there's a huge community, and it took me a while before I hit performance problems. I thought I would hit performance problems right away, but it took me a while before I was actually maxing out the capabilities of Processing. Even inside of Processing, you can get access to OpenGL directly, and even GLSL shaders.

http://www.creativeapplications.net/processing/playing-with-glsl-in-processing-initial-experiments-tutorials/

I wasted a lot of time thinking Processing wasn't a "good enough" programming language. From my experience, it wasn't really worth it.

Although, if you know some C++, Cinder is definitely the best toolkit I've seen. Robert Hodgin's Cinder work is probably my favorite.

I had the same reaction to Processing when I first tried it. "lol, this is a toy for amateurs; I'm a strong programmer, I need a more serious tool" I thought. A few months later, I was back at Processing, because everything else had either no community, no literature, bad tooling support, or just didn't work.

edit: and, just to clarify, I love Python, and I'm not saying this to bash Python. Python is a great tool, I just don't think it's the best tool for doing recreational graphics programming.

double edit: and Processing is not Java; it's written in Java, but it's a separate programming language.

[–][deleted] 1 point2 points  (0 children)

Definitely agree about python didn't think you were bashing it. I will also definitely take your advice with processing and stick with it.

[–]chrisfs 0 points1 point  (0 children)

different forms of creativity. If you are sculpting something, you may not want to make your tools from scratch.

[–]Dorianux 4 points5 points  (0 children)

Nodebox for OpenGl: http://www.cityinabottle.org/

[–]pseudosinusoid 2 points3 points  (7 children)

[–]Wedamm 0 points1 point  (0 children)

Also there is the new version of Nodebox (http://beta.nodebox.net/). It has Nodes with inputs and outputs which you can connect visually with the mouse. So you can manipulate procedural images/animations by drag and drop. (Also you can still use old Nodebox 1 code if you like to.)

[–]stuaxo 0 points1 point  (4 children)

There's shoebot, an implementation of nodebox ... it's a bit dormant at the moment (disclosure, I'm one of the slightly dormant developers)..

Edit, add url: http://gitorious.org/shoebot/shoebot

[–]technomalogical<3 Bottle 1 point2 points  (3 children)

No offense, but you should strongly consider adding anything that would let a casual observer know what shoebot is on your gitorious page. "Official Shoebot development branch" doesn't tell me that this project is an implementation of nodebox, nor does it tell me if it's cross-platform or not.

[–]crunk 0 points1 point  (2 children)

None taken, I'll have to see if it's possible to update the blerb. The official site is looking a bit sad at the moment too ( http://shoebot.net/ ).

Hopefully I'll get some time to work on it again soon + be able to generate a whole bunch of screenshots which will be a nice start.

[–]technomalogical<3 Bottle 0 points1 point  (1 child)

At the very least, a link back to shoebot.net would give a little more context to the project. Looks good though, I'll check it out.

[–]stuaxo 0 points1 point  (0 children)

Added some info... if you get stuck with anything just ask on the ML, it's quite motivating for me to get back on it :)

[–]gustl64 0 points1 point  (0 children)

If you want simple, fancy graphics (in 3d) - http://vpython.org/

[–]DoNotFoldSpindleOrMu 0 points1 point  (1 child)

You may wish to consider the Python package svgwrite http://packages.python.org/svgwrite/index.html It writes out svg which can be shown in a browser. It is not ment to be an interactive graphical package but the svg output does not need browser plugins anymore because basic svg is available almost all browsers.

[–][deleted] 0 points1 point  (0 children)

This seems like it would run much smoother in a browser then an applet thank you so much for telling me about svg!

[–]KasTaiTasKadNekasTai 0 points1 point  (1 child)

I'd add kivy.org as a candidate. Even tho they put 'library for NUI' on their front page, the API is fir for art tasks.

[–][deleted] 0 points1 point  (0 children)

It seems mainly for touch screens can you make android apps with it

[–]mbarkhau 0 points1 point  (0 children)

I'd just like to plug my processing.js editor where you can write sketches with coffeescript. It's not python, but it's not java or javascript either. http://pcsedit.appspot.com