Google O3D: Mind-Blowing Open-Source 3D API in the Browser with JavaScript + OpenGL, DirectX

Wish granted!

Think 3D in the browser will never catch on? Think again. The folks at Google Labs have built an incredible-looking 3D API called O3D. It does just about everything you want, and then some:

  • It’s multi-platform: Mac + Windows + Linux.
  • It can render to both OpenGL and DirectX render pipelines.
  • You can write your own vertex and pixel shaders. You have to use O3D’s own language for doing this, but that actually enhances compatibility, as frustrated shader coders may already know. (See the FAQ)
  • It’s a scene graph, so managing complex 3D scenes isn’t a chore.
  • It has powerful built-in functions like viewports and pickers (plus custom pickers), so you can actually get something up and running in a reasonable time.
  • It has an import workflow with COLLADA, an open standard for 3D assets (and which, incidentally, has support in Google’s own SketchUp).
  • You code in JavaScript, using the powerful V8 engine (developed for Chrome).
  • Gears lets you run offline.

read more

Tutorial: Ableton Live + Resolume with MIDI Over Ethernet, Free on PC (Linux, Mac Soon)

livemapping

You know the ideal audiovisualist setup: two PCs, one running sound, one running visuals. But connecting those two machines can be less than ideal. Enter EthernetMidi, a completely free implementation of MIDI over Ethernet. It’s Windows-only for now – the Mac has its own free MIDI-over-IP implementation built into the OS. But there’s reason to root for EthernetMidi even if you’re not a Windows user primarily: the project is open source, and work on a Mac and Linux version means this could be the first tool to allow MIDI-over Ethernet between different platforms. (Pay no attention to the “LinuxSampler” name – they need a new moniker.)

Showing off how powerful this can be, pure_angles has put together a detailed tutorial for combining to favorite tools, Ableton Live and Resolume.

read more

Animated Mascots Describe What Advertising Means to Them, in Animata


Product Placement from Matti Niinimäki on Vimeo.

It’s like Creature Comforts for the ad industry. But look out, traditional animators – still images can come to live almost magically through the interactive powers of Animata, an open source animation tool.

In a brilliant series of animated interviews, Product Placement populates its scenes with classic ad mascots, from Heinz’s Tom Tomato to anti-polluter PSA character Woodsy Owl. The audio comes from interviews with people connected to the ad industry being surprisingly frank and even cynical about the role of advertising in society. The audio for those interviews is an interesting project in itself – the Anti Advertising Agency had the novel idea of installing DIY motion-activated playback units to insert the conversations in public space, commenting on outdoor advertising.

But add motion, and the interviews take on a different meaning. Woodsy begs advertisers to tweak his mind with their ad techniques, as the Chicken of the Sea Tuna mermaid worries about greenwashing and her body image. (Fret not: you look just fine exactly the way you are, Chicken of the Sea mermaid.)

The work is the product of the gifted mind of Matti Niinimäki, whom we saw recently turning blenders and handheld mixers into DJ controllers. Matti, you’re amazing – can we just make these sites about you? (The Finnish “one-man collective” has his own site, alas, at original hamsters.)

read more

Process Textures with Jitter, Connect to Unity Game Engine

Jitter works brilliantly when it comes to processing signal - and that means for signal-like work with video and textures, it’s fantastic, as well as the usual Max-y tasks like processing input from physical sensors and input devices and the like. But try to do a whole lot of sophisticated 3D work, and Jitter may not be the best tool. For game-style 3D graphics and interaction, you want some standardized rendering and scene graph tools to take care of the hard work, plus physics and other capabilities that bring together your 3D scene.

That’s why [myu], the Max - Unity Interoperability Toolkit, looks so appealing. It not only allows for bi-directional data integration (via TCP) of Max and the Unity game engine, but can dynamically pass textures between the two. For those of you comfortable patching, say, chains of shader processors in Jitter, that means you can very quickly add some of the tasty 3D scene powers of Unity. Put together your textures in Jitter, and, say, dynamically process input from a Wii Fit balance board, then bring the input data and textures into Unity. (Unity is a friendly, elegant game engine built in C# and Novell’s open-source Mono implementation of Microsoft’s .net. Unity had previously been Mac-only but with a major new release now runs on Mac and Windows.)

The toolkit is the result of research at Virginia Tech Interactive Sound & Intermedia Studio director Dr. Ivica Ico Bukvic.

Needless to say, this could have powerful implications for all kinds of live and interactive installation applications. And yes, it is all released under the GPL.

[myu] Max-Unity Interoperability Toolkit v.1.0 Released [Cycling '74 Forum]

More Max+Unity Game Engine Goodness, with Powerful Toolkit for Max, Jitter, Pd

Teaching Adaptive Music with Games: Unity + Max/MSP, Meet Space Invaders!

For other examples of combining Max and Unity - in this case for Max’s musical powers and Unity’s gaming prowess - see another story from today:

Teaching Adaptive Music with Games: Unity + Max/MSP, Meet Space Invaders! [Create Digital Music]

Updated: About those textures…

Ico follows up to answer our questions about how you might use textures with Jitter and the Unity Game Engine, via his [myu] toolkit:

read more

Optical Flow for vvvv, HLSL (DirectX)

Closing out our (unexpected) Week of Optical Flow feature, Michel from the vvvv forums has ported Andrew Benson’s optical flow implementation to that DirectX-based, Windows-only, free for non-commercial-use patching environment. (Jitter and Quartz Composer, mentioned earlier, each use OpenGL, not DirectX.)

Since it is DirectX, the shader uses HLSL instead of GLSL. In technical terms, folks, that means it’s one letter more different. I can illustrate: Gary the gregarious gorilla would become Harry the hreharious horilla. You see? (Kidding. HLSL is actually closer to NVIDIA’s Cg, but all these things are built on the same basic principles - and they’re all just shader languages.)

This is just a first go at this patch, so vvvv users wanting to improve upon it, go for it!

Distortion From Optical Flow incl. Optical Flow Shader