bool update()
    {
        if (!depthFrameReader_) {
            return false;
        }

        CComPtr<IDepthFrame> depthFrame;
        HRESULT hr = depthFrameReader_->AcquireLatestFrame(&depthFrame);
        if (FAILED(hr)) {
            return false;
        }

        hr = depthFrame->AccessUnderlyingBuffer(&bufferSize_, &buffer_);            
        if (FAILED(hr)) {
            return false;
        }
        
        depthBuffer_.resize( bufferSize_ );
        std::copy( &buffer_[0], &buffer_[bufferSize_], depthBuffer_.begin() );

        return true;
    }