public DepthCallback(KinectDepthStream stream, boolean registeredDepthMode) { this.stream = stream; final Pointer<freenect_device> device = stream.controller.device; if (registeredDepthMode) libfreenectLibrary.freenect_set_depth_mode_proxy(device, freenect_resolution.FREENECT_RESOLUTION_MEDIUM, freenect_depth_format.FREENECT_DEPTH_REGISTERED); else libfreenectLibrary.freenect_set_depth_mode_proxy(device, freenect_resolution.FREENECT_RESOLUTION_MEDIUM, freenect_depth_format.FREENECT_DEPTH_11BIT); buffer = ByteBuffer.allocateDirect(libfreenectLibrary.freenect_get_video_buffer_size(device)); libfreenectLibrary.freenect_set_depth_buffer(device, Pointer.pointerToBuffer(buffer)); nextFrame = new FImage(stream.width, stream.height); libfreenectLibrary.freenect_set_depth_callback(device, toPointer()); libfreenectLibrary.freenect_start_depth(device); }
public DepthCallback(KinectDepthStream stream, boolean registeredDepthMode) { this.stream = stream; final Pointer<freenect_device> device = stream.controller.device; if (registeredDepthMode) libfreenectLibrary.freenect_set_depth_mode_proxy(device, freenect_resolution.FREENECT_RESOLUTION_MEDIUM, freenect_depth_format.FREENECT_DEPTH_REGISTERED); else libfreenectLibrary.freenect_set_depth_mode_proxy(device, freenect_resolution.FREENECT_RESOLUTION_MEDIUM, freenect_depth_format.FREENECT_DEPTH_11BIT); buffer = ByteBuffer.allocateDirect(libfreenectLibrary.freenect_get_video_buffer_size(device)); libfreenectLibrary.freenect_set_depth_buffer(device, Pointer.pointerToBuffer(buffer)); nextFrame = new FImage(stream.width, stream.height); libfreenectLibrary.freenect_set_depth_callback(device, toPointer()); libfreenectLibrary.freenect_start_depth(device); }