OK. So another semester has passed, and I'm still stuck with the same dilemma about graphics in Pd.
Gem:
- Pro: Features (image analysis, tons of pix_es).
- Pro: Long history.
- Pro: Design fits well into the Pd paradigm.
- Con: Some students on Mac couldn't use it.
- Con: Some students in Windows couldn't use it.
- Con: How is it 2021 and it doesn't automatically enable antialiasing? (Part of me wants to apologize for being punchy about this, but... it is actually 2021. Anti-aliasing is standard. Because GEM has problems with it, it looks really REALLY out of date. Like, if Pd used eight-bit integer samples only. That kind of out of date. And no, [polygon_smooth] does exactly nothing on my system. I tried. No effect at all.)
- Con: Some more complex use cases were really difficult for me to figure out (e.g., unclear when [pix_buffer] is or isn't needed).
Ofelia:
- Pro: Examples look very slick and performant.
- Pro: Anti-aliasing (generally beautiful rendering).
- Pro: 60Hz's abstractions make it more approachable, for basic use cases.
- Con: Outside of the basic use cases, Lua will be very hard for the students in my class to approach.
- Con: No image analysis features. (Open Frameworks has ofxOpenCV as an add-on, but it isn't easy to use add-ons with Ofelia, especially if I have to provide binaries of my own Ofelia fork to students in both Mac and Windows.) So... "You know how in Gem or jitter, you can read the webcam and do stuff with the data? Yeah. You can't do that with Ofelia." (At which point, clever students would ask why I'm using it at all.) IMO this is a massive, huge, gaping hole in Ofelia's feature set.
- Con: 60Hz's abstractions have so far undergone limited testing.
- Con: I would have to redevelop/port various shaders, and still not approach the number of pixes in Gem.
Max/MSP/jitter:
- Pro: Well, it just works.
- Con: Make me boot into Windows several times a week to prepare course material. Grrrrrr.
- Con: Not FLOSS.
Rewrite the entire course using SC and Processing:
- Pro: Everything works.
- Con: Students here won't touch code.
Quit my job:
- Pro: Relax and make music.
- Con: Run out of money in a few years.
I don't know what to do, and I have about a week to make a decision. If I go with Ofelia, I will have to put off other projects because it's going to take a bunch of work to get a handful of shaders up and running. I don't really want to do that. But, last fall semester, there were a few student machines that just couldn't run Gem. One of them could hack [gemwin] but that kind of thing shakes confidence.
I would really like Ofelia to add ofxOpenCV. I would just about not hesitate to use it then.
hjh