Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
C++ C Java C# Shell Python Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Data
Documentation
Include
Platform
Samples
Source
Wrappers/OpenNI.net
GPL.txt
LGPL.txt
README

README

OpenNI (Unstable branch)
------------------------
Website: www.openni.org
Forum: http://groups.google.com/group/openni-dev
Wiki: Coming soon!

Unstable branch new features:
* Added support for multiple sensors.
* Added a brand new .NET wrapper and .NET samples (with full support for Mono as well).
  OpenNI.net is now also installed to the GAC.
* Added a new "PlaybackSpeed" functionality to the Player.
* ONI files seek optimization: added a data index for each node in ONI files. Seeking can be now done a lot faster!
* Added MacOSX platform support.
* Improved README! (much more detailed instructions...)

Unstable branch fixes:
* Linux: xnOSCreateProcess() would cause zombie processes.
* When using WaitXUpdateAll, the MetaData of a non-updated node would not change its IsDataNew flag.
* C++ wrappers: RegisterToGestureChange would register to pixel format change.
* Shared memory: creating shared memory failed if the name contained slashes.
* Xml query for max version checked the min version by mistake.

Binaries are available at:
http://www.openni.org/downloadfiles/openni-binaries/20-latest-unstable

Please use this with the sensor unstable branch located at:
Source:
https://github.com/PrimeSense/Sensor/tree/unstable
Binaries:
http://www.openni.org/downloadfiles/openni-compliant-hardware/31-latest-unstable


Release Notes:
--------------
* At the moment, the default is to compile the code with SSE3 support (this is also true for the supplied binaries). 
  If you have a CPU without such support, please remove the sse compiler flags from the make files.
  (A good hint for this error is that you encounter an "illegal instructions" messages)
* MacOSX: Only OSX 10.6 (Snow Leopard) with an Intel based CPU is currently supported.

  
Build Notes:
------------
Windows:
	Requirements:
		1) Microsoft Visual Studio 2008/2010
		   From: http://msdn.microsoft.com/en-us/vstudio/bb984878.aspx
		2) Python 2.6+/3.x
		   From: http://www.python.org/download/
		3) PyWin32
		   From: http://sourceforge.net/projects/pywin32/files/pywin32/
		   Please make sure you download the version that matches your exact python version.
		4) NSIS 2.46
		   From: http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/
		5) NSIS-2.46-strlen_8192.zip patch
		   From: http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/
		   This is a required patch to fix a critical bug in NSIS with long environment variables.
		   Simply unpack it into the directory where NSIS is installed and overwrite all files.

	Optional requirements (To build the USB device driver):
		1) Microsoft WDK
		   From: http://www.microsoft.com/whdc/devtools/wdk/wdkpkg.mspx	   
		   
		The package already includes a precompiled and digitally signed 32/64 bit driver.
	
	Optional Requirements (To build the documentation):
		1) Doxygen
		   From: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
		2) GraphViz
		   From: http://www.graphviz.org/Download_windows.php
	
	Building OpenNI:
		1) Go to the directory: "Platform\Win32\CreateRedist".
		   Run the script: "RedistMaker.bat".
		   This will compile and prepare the redist exe files that includes everything.
		2) Install the exe you've just made which is located in Platform\Win32\CreateRedist\Final\OPENNI-Win32-1.x.x.x.exe 
		   The installer will also create the necessary environment variables (OPEN_NI_xxx), add the DLLs to the system path and register the internal modules with NiReg.
		   
		The visual studio solution is located in: Platform\Win32\Build\OpenNI.sln.
		
		When doing development it is recommended that you change the environment variables to point to your development directory instead of the default C:\Program Files\OpenNI.
		(This can save you lots back and forth file copying...)

		Important: Please note that even though the directory is called Win32, you can also use it to compile it for 64-bit targets (AMD64/x64).
	
	Building the USB driver (Optional):
		Simply go into the directory "OpenNI\Platform\Win32\Driver\Build" and run the "BuildAll.bat" script.
		For your development convenience, you can also use the solution: "Platform\Win32\Driver\Build\psdrv3.sln" but official driver builds should only be made with the batch file above, that uses the proper DDK environment.
		Note: The driver build tool requires a system environment variable called "DDKPATH" that points to the WDK installation dir (for example: "c:\WinDDK\7100.0.0"). To add an environment variable please follow these steps: Control Panel -> System -> Advanced -> Environment Variables -> New (at the "System Variables" tab).	
	   
Linux:
	Requirements:
		1) GCC 4.x
		   From: http://gcc.gnu.org/releases.html
		   Or via apt:
		   sudo apt-get install g++
		2) Python 2.6+/3.x
		   From: http://www.python.org/download/
		   Or via apt:
		   sudo apt-get install python
		3) LibUSB 1.0.8 
		   From: http://sourceforge.net/projects/libusb/
		   Or via apt:
		   sudo apt-get install libusb-1.0-0-dev
		4) FreeGLUT3
		   From: http://freeglut.sourceforge.net/index.php#download
		   Or via apt:
		   sudo apt-get install freeglut3-dev
		   
	Optional Requirements (To build the documentation):
		1) Doxygen
		   From: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
		   Or via apt:
		   sudo apt-get install doxygen
		2) GraphViz
		   From: http://www.graphviz.org/Download_linux_ubuntu.php
		   Or via apt:
		   sudo apt-get install graphviz

	Optional Requirements (To build the Mono wrapper):
		1) Mono
		   From: http://www.go-mono.com/mono-downloads/download.html
		   Or via apt:
		   sudo apt-get install mono-complete
		   
	Building OpenNI:
		1) Go into the directory: "Platform/Linux-x86/CreateRedist".
		   Run the script: "./RedistMaker".
		   This will compile everything and create a redist package in the "Platform/Linux-x86/Redist" directory.
		   It will also create a distribution in the "Platform/Linux-x86/CreateRedist/Final" directory.
		2) Go into the directory: "Platform/Linux-x86/Redist".
		   Run the script: "sudo ./install.sh" (needs to run as root)

  		   The install script copies key files to the following location:
		       Libs into: /usr/lib
		       Bins into: /usr/bin
		       Includes into: /usr/include/ni
		       Config files into: /var/lib/ni
			
		To build the package manually, you can run "make" in the "Platform\Linux-x86\Build" directory.
		If you wish to build the Mono wrappers, also run "make mono_wrapper" and "make mono_samples".
		
		Important: Please note that even though the directory is called Linux-x86, you can also use it to compile it for 64-bit targets and pretty much any other linux based environment.
	
MacOSX:
	Requirements:
		1) Xcode 3.2.5
		   From: http://developer.apple.com/devcenter/mac/index.action
		   https://developer.apple.com/ios/download.action?path=/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg
		   Please note that you need to register as a mac developer (It's free!).
		2) MacPorts
		   From: http://www.macports.org/install.php
		   http://distfiles.macports.org/MacPorts/MacPorts-1.9.2-10.6-SnowLeopard.dmg
		3) LibTool
		   Installed vis MacPorts: 
		   sudo port install libtool
		4) LibUSB 1.0.8 (The patched development tree)
		   Installed vis MacPorts:
		   sudo port install libusb-devel +universal
		   Note: Do not forget the +universal, it's very important!!
		         If you're previously already installed libusb-devel then use "sudo port uninstall libusb-devel" and reinstall it again with the +universal flag.

	Optional Requirements (To build the documentation):
		1) Doxygen
		   Installed vis MacPorts:
		   sudo port install doxygen
		2) GraphViz
		   Installed vis MacPorts:
		   sudo port install graphviz

	Optional Requirements (To build the Mono wrapper):
		1) Mono
		   From: http://www.go-mono.com/mono-downloads/download.html
		   http://ftp.novell.com/pub/mono/archive/2.8.1/macos-10-x86/4/MonoFramework-2.8.1_4.macos10.novell.x86.dmg
		   Installed vis MacPorts:
		   sudo port install mono
		   
	Building OpenNI:
		1) Go into the directory: "Platform/Linux-x86/CreateRedist".
		   Run the script: "./RedistMaker".
		   This will compile everything and create a redist package in the "Platform/Linux-x86/Redist" directory.
		   It will also create a distribution in the "Platform/Linux-x86/CreateRedist/Final" directory.
		2) Go into the directory: "Platform/Linux-x86/Redist".
		   Run the script: "sudo ./install.sh" (needs to run as root)

  		   The install script copies key files to the following location:
		       Libs into: /usr/lib
		       Bins into: /usr/bin
		       Includes into: /usr/include/ni
		       Config files into: /var/lib/ni
			
		To build the package manually, you can run "make" in the "Platform\Linux-x86\Build" directory.
		If you wish to build the Mono wrappers, also run "make mono_wrapper" and "make mono_samples".
Something went wrong with that request. Please try again.