OpenKinect for Windows (libusb) driver development

Update 23-11-2010:

V16 Binary with source:

http://www.blokmodular.com/dev/Kinect-v16-withsource.zip

 - ati checks for the new (advanced) gl demo (sorry! you need a decent videoboard for this! If it refuses to run, use the v14 demo!)
- freenect wrapper
- general cleanups

-------------------------------------------------------------------------------------

Update 19-11-2010:

V14 Binary with source:

This is a small video of the v14 demo included with the kinect-driver-package by Zephod. It shows false-color depth, matched-rgb depth, automatic background removal and particle-overlay.

-------------------------------------------------------------------------------------

http://www.blokmodular.com/dev/Kinect-v14-withsource.zip

 

-------------------------------------------------------------------------------------

Update 18-11-2010:

V11 Binary with source:

http://www.blokmodular.com/dev/Kinect-v11-withsource.zip

- Most stable kinect for windows driver tested sofar

- RGB to Z projection working!

- Many stability fixes

(download)

-------------------------------------------------------------------------------------

Update 15-11-2010:

 

V7 Binary with source:

http://www.blokmodular.com/dev/Kinect-v7-withsource.zip

- changes in v7:

- framedropping support.

- incomplete frames are no longer sent to the callbacks to prevent glitches

- halved packet size for rgb-transfer

- added smarter packet-type detection for rgb transfer

- added led and motor control

- known issues in v7:

- for some reason the debug build currently drops less packets the the releasebuild.. working on this

- vista64 seems to have trouble with the libusb driver.

-------------------------------------------------------------------------------------

I just hacked together a first working driver prototype for the Kinect Z camera on windows! 

Kinect3
Kinekt2
First stabilize a bit and then lets see what we can make this do from Javascript :)

Kinect_1

Server side HTML5 Canvas API for NodeJS

Server side HTML5 Canvas API for NodeJS

Hi Everyone,
We just released our new Canvas API module for NodeJS, check the video below of it running in Cloud9:

Server side HTML5 Canvas API for NodeJS from Cloud9 IDE on Vimeo.

 

The module is an HTML5 Canvas implementation for NodeJS based on LibAGG and Freetype. It is implemented using the Ajax.org O3 component system, and should be easy to extend and fix. The goal is not to only create a Canvas-spec type API, but also extend this to have easy image resizing and other image processing API's as well for all your server side image processing needs.

At Ajax.org we have been using this component as a way to render Canvas charts server-side to allow emailing or save-as-picture.

To use this library clone http://github.com/ajaxorg/node-o3-canvas and add the node-o3-canvas/lib directory to your require path, and use the following line:

var createContext = require('o3-canvas');

Or alternatively:

var createContext = require('/full/path/node-o3-canvas/lib/o3-canvas');

Simple example of how to use:

var ctx = createContext(300,300, "argb");
ctx.clearRect(0,0,300,300);
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (10, 10, 55, 50);

var buf = ctx.pngBuffer();
console.log(buf.toBase64());

Status

This release of canvas is currently limited to the vector shape rendering with fill and stroke. As you can see in the source, we are adding the full spec of text-rendering right now based on freetype. Gradient fills and image fills/blits are up next. Clipping functionality is already in there but currently disabled pending some fixes.

Platforms

Binaries supported for Node 0.2.4 stable:

  • win32 (through cygwin)
  • osx64
  • lin32
  • lin64

Other platforms and bit-ness (32/64) will be added to the automated build VM incrementally.

If you need to build this node-o3-canvas module yourself or want to contribute to the source, please look at the main ajaxorg/o3 repository.

The build structure of this component is rather unique compared to most libraries you will be accustomed to. Pretty much all dependencies are built using a single 'header' include. This means we have turned all external libs like freetype and libpng into a include called lib_freetype.h and lib_png.h This makes dealing with external libs and linking a non issue, but it will take approximately 18 seconds on a modern CPU (Core2 2.6ghz) to compile the module. This is actually really fast as its burning through approximately 5 megabytes of source. If you want to use this lib on a non-PC platform (like ARM) it will take you some time to get all the flags right for it to build. Please stay in contact with us if you are trying to accomplish this as we have not compiled this module outside of the usual Win/Lin/OSX platforms. For continued development we will probably split up the module into 2 cpp files, one for all the static libs and one for your code. This way the single-header optimization is maintained whilst also allowing a recompile to only take a few seconds.

The O3 component definition is not dependent on any particular dynamic language engine (like V8) and so this module can easily run as a browser plugin in IE or if people are interested, auto-glue can be written for Ruby or Python to run all O3 components there too. Feel free to help us with this if you want this.

If you are looking for the accompanying binary builds of NodeJS check out the ajaxorg/node-builds repository