Hacker News new | past | comments | ask | show | jobs | submit login
Learn Computer Graphics with Processing (processing.org)
59 points by octopus on Feb 20, 2011 | hide | past | favorite | 11 comments



Processing is excellent and I have used it extensively. I have also used Nodebox, which is something similar but in Python: http://nodebox.net

Most recently however I have switched to using Field. I'm not a huge fan of Java syntax, so being able to write Processing apps in Python/Jython via Field is a big win for me.

http://openendedgroup.com/field

There are lots of features I haven't even touched in Field yet...


This is the kind of thing I read HNN for - stuff I never even knew I needed. Do I understand correctly that Field lets you build graphical representations of your code? Kind of like ... graphical literate programming?

This is where my wife would say "Jézus Mária és minden szentek". It's ... full of stars ...


You can attach code to visual elements and then "scrub" across them in real time, a bit like how a DJ would scratch a record.

You can also embed sliders and colour-pickers etc. directly in your code to give you even more ways to modify things.

Yes, this is as amazing as it sounds!


Those things are utterly amazing. If only they were available for windows...


I had to do a Processing group project course as part of my CS degree.

While it's a nice toolkit for doing very basic visualizations of data, it's a pain in the hole to do anything more advanced than that.

They made us use it to develop a GUI application with text input, buttons, tables, and graphs, in order to visualize some IMDB-style movie ratings data.

Unfortunately it's absolute crap for doing things like that. I basically ended up implementing GTK in it, with widgets rendering to buffers and having a hand-rolled DOM-style event system. I implemented scroll views on my own, and used them to create text input boxes and scrollbars. While I'm personally proud of making it actually work, it was a horrifying experience to do using the really basic tools provided.

The IDE that's included with Processing is also really awful. It can't do indentation correctly, doesn't work at all in tiling window managers, and seems to make people write horrible code. Walking around the labs trying to help people, I found that the vast majority of people's bugs were missing curly braces and things indented wrong simply because of the awfulness of the text editor.

If you want to do anything useful in it, you need to import core.jar into Eclipse (or do it on the command line) and do it in Java. It seems that the processing compiler is really just a small preprocessor over Java that wraps the whole thing in 'public class Main implements PApplet {' and '}' and replaces #FFFFFF with 0xFFFFFF.

I also used processing to make a tetris game (https://github.com/sipefree/setris), which was much easier than doing a GUI application, but I really didn't get any decent drawing performance on non state-of-the-art hardware.

TL;DR it's nice but a pain in the hole.


I found processing powerful and really easy to pick up. It is also very easy to port from processing to javascript (processingjs.org)!


Processing is pretty cool, I messed around with it a while back. Problem is, once you start making complex enough sketches, you hit a point where it would be really useful to have a debugger, and last I checked processing didn't provide that.

I expect you could probably debug it with java tools somehow, but given that I only learned java via processing on a lark, I didn't explore that path.


You can do processing in Eclipse to get this.

http://www.processing.org/learning/eclipse/


Processing is amazing. It’s the only “open” substitute for Flash as a cross-platform dynamic graphics generation tool.

Learning Processing gave me the confidence to pursue C and Objective-C.


I highly encourage playing with Processing.js: http://processingjs.org/ It's art on a web browser!


processing is indeed my choice for graphics. I tend to use ruby & clojure processing libraries. https://github.com/rosado/clj-processing https://github.com/jashkenas/ruby-processing




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: