Archive for the ‘Programming’ Category

blender2js - blender to javascript 3d model conversion

Wednesday, August 22nd, 2007

Via BlenderNation, a script for exporting blender 3d models to javascript. This reminds me of Samuel Johnson’s quip: “Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.” The conversion is approximate and the animation slow for non-trivial models, but it is impressive to see plain javascript doing this. Kudos to useless pickles for the core triangle-drawing trickery.

1. webcam 2. flash 3. … 4. profit!

Saturday, August 18th, 2007

Now that Flash lets you process webcam images, lots of strange and wonderful things become possible with a browser that until now were only possible with specialized computer vision software. It feels a little bit like the early days of the web, when people were creating lots of mostly useless web scripts, some of which were the seeds of the blogs and googles we use today. I’m trying to collect some highlights of Flash webcam experimentation. Here’s what I have so far:

  1. Grant Skinner’s Webcam Snowstorm, takes the webcam view and superimposes a light snow fall on it. The best part? The snow builds up into drifts on edges. Very pretty.
  2. As a contrast, Skinner also made Webcam Fire, where anything in motion ignites.
  3. Quasimondo’s Minority Cube - spin a cube through motion in front of the webcam (or by moving the webcam itself). Hard to describe, but fun. Tip: press the space bar. There’s also a webcam kaleidoscope.
  4. Our own Webcam Hat gadget that tracks an object around, putting a jolly hat on it.
  5. Our own Webcam Ambush, which will play a prerecorded sound when it detects someone entering the room.
  6. Cameroid.com, which takes pictures, applying the kinds of distortion or framing you might get in novelty photo booths, and lets you download or post the result.
  7. I’m not too clear on this one, because it is all in Japanese, but apparently the Laughing Man Camera tries to detect your face in the video stream and put a stamp over it. It didn’t work so well for me, and had an annoying feedback overlay I couldn’t get rid of.
  8. DustyPixels has an “ASCII-cam” and some basic filters. Also, a more advanced ASCII-cam version developed later.
  9. There’s a few more basic filters (mirroring, pixelating etc.) at a Sound and Software Art Workshop 2006 page (in Japanese).
  10. The Motion Bubbles game. Like Skinner’s Webcam Snowstorm, but with bubbles instead of snow, and in game format - you can use your body to pop the smooth bubbles and avoid the spiky bubbles.
  11. In Shockwave, there is PlaydoCAM, which has a few game demos. (Link via lessrain).
  12. Everybody seems to love bubbles. With BubbleMaker you can blow bubbles (by breathing into the microphone) and then pop them visually. How… odd! (Link via lessrain).
  13. Add a funky reflection effect at Pixelfumes.
  14. Flash webcam DVR at Zero Point Nine. Records video, but requires a lot of memory to do so.
  15. Using your webcam like a wii-mote (via Digg).
  16. An interactive piano.

In looking around for these, I see the web is littered with advice for Mac users that I might as well repeat here: if your webcam doesn’t seem to be working from Flash, right-click (or control-click) on the Flash animation, select “settings,” and try choosing a different video source. The default is not always the right one.

you have chance to survive CMake your time

Sunday, July 29th, 2007

Brownie and Bozo have slowly been coming around to using cmake rather than autoconf/automake. Autoconf/automake is the obvious choice for keeping C/C++ projects compilable on all sorts of UNIX systems using standard build toolchains, but as soon as you mix in different kinds of IDEs and non-UNIX operating systems, cmake becomes a lot more attractive. It is basically willing to generate whatever kind of strange makefile / project / solution / hurgle-nurgle file your favorite build tool expects. We’ve been pushed towards using cmake in order to be friendly to visual studio and xcode users. But now we’re wondering if a widespread move towards tools like cmake might enable a revolution in build tools, since if someone comes up with a great new build tool all they’ll have to do is add another generator to cmake (or its equivalent) rather than rewriting all existing projects. The sheer variety of build tools supported already by cmake makes this particularly easy to imagine.