Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



27 Commits

Repository files navigation

Kinectron for Three.js

A plugin for working with the Kinectron RGBD stream in Three.js

  1. Usage
  2. Contribute Kinectron


You can create geomtery from the Kinect's RGBD feed by simply:

const kinectGeo = THREE.KinectGeometry("mesh");

You can choose the rendering type by changing the first argument to "mesh" / "wire" / "points"

And then simply add it your Three.js scene:


You would need to also bind the incoming Kinect image to the '''kinectGeo''' instance

function onNewKinectFrame(ktronImg) {

For further reference use the simple example

Class methods:

All class methods are available on the kinectron property of the THREE.KinectGeometry instance

const kinectGeo = THREE.KinectGeometry("mesh");
  • .setDisplacement(amount) - Increase or decrease the amount of displacement on the Z axis (Default value is 1.0).
  • .setBrightness(amount) - Increase or decrease the brightness of the texture (Default value is 0.0).
  • .setContrast(amount) - Increase or decrease the contrast of the texture (Default value is 1.0).
  • .setOpacity(opacity) - Increase or decrease the opacity of the texture (Default value is 1.0).
  • .setPointSize(opacity) - Increase or decrease the point size (Only when rendering points, "points").
  • .setLineWidth(width) - Increase or decrease the line width (Only when rendering wireframe, "wire").
  • .pause() - Pause the rendering of the Kinectron stream, keeps the last frame.
  • .play() - Resume the rendering of the Kinectron stream.
  • .bind(imageStream) - Bind a Kinectron image stream to the material, needs to be called everytime a new frame arrives.
  • .update() - Calling the update method in the render loop will update the time uniform in the shader.


Fork/Clone the repository, make sure to use the --recursive flag when you clone to clone submodules too, and npm install all dependencies

Build system commands:

  • npm run start uses concurrently to run both an http-server and a watchify build opreation on every save to dist/kinectron.three.js.
  • npm run build builds a minified version of the plugin once and saves it to dist/kinectron.three.min.js

Written by juniorxsound based on DepthKit.js as a part XStory grant in ITP, NYU


No releases published


No packages published