// this function is called each frame void glutDisplay (void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; g_DepthGenerator.GetMetaData(depthMD); glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); glDisable(GL_TEXTURE_2D); if (!g_bPause) { // Read next available data g_Context.WaitAndUpdateAll(); } // Process the data g_DepthGenerator.GetMetaData(depthMD); g_UserGenerator.GetUserPixels(0, sceneMD); DrawDepthMap(depthMD, sceneMD); glutSwapBuffers(); Sleep(5); // todo: adjust }
// Handle a new Message void XnVPointDrawer::Update(XnVMessage* pMessage) { // PointControl's Update calls all callbacks for each hand XnVPointControl::Update(pMessage); if (m_bDrawDM) { // Draw depth map xn::DepthMetaData depthMD; m_DepthGenerator.GetMetaData(depthMD); DrawDepthMap(depthMD); } #ifdef USE_GLUT if (m_bFrameID) { // Print out frame ID xn::DepthMetaData depthMD; m_DepthGenerator.GetMetaData(depthMD); DrawFrameID(depthMD.FrameID()); } #endif // Draw hands Draw(); m_TouchingFOVEdge.clear(); }
void SimKinect::GetNextFrame(unsigned char* _color_frame, unsigned char* _depth_frame, int* _depth_map, vector<SKUser>& _users) { if (!bPause) { // Read next available data context.WaitAnyUpdateAll(); if ( color_generator.IsValid() ) { color_generator.GetMetaData(rgbMD); DrawRGBMap(rgbMD); memcpy(_color_frame,color_frame,video_size_height*video_size_width*3*sizeof(unsigned char)); } if ( depth_generator.IsValid() ) { depth_generator.GetMetaData(depthMD); if ( user_generator.IsValid() ) { user_generator.GetUserPixels(0, sceneMD); DrawDepthMapWithUsers(depthMD,sceneMD); } else { DrawDepthMap(depthMD); } memcpy(_depth_frame,depth_frame,video_size_height*video_size_width*3*sizeof(unsigned char)); memcpy(_depth_map,depth_map,video_size_height*video_size_width*sizeof(int)); } if ( record_file ) { //read data from record file GetUsers(_users,frame_counter); } else if ( user_generator.IsValid() ) { GetUsers(_users); if ( skeleton_data_file ) { WriteUsersByFrame(skeleton_data_file,frame_counter,_users); } } frame_counter++; } }
// this function is called each frame void glutDisplay (void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; g_DepthGenerator.GetMetaData(depthMD); #ifdef USE_GLUT glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #elif defined(USE_GLES) glOrthof(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #endif glDisable(GL_TEXTURE_2D); if (!g_bPause) { // Read next available data g_Context.WaitOneUpdateAll(g_DepthGenerator); } if (g_bStep) { g_bStep = false; g_bPause = true; } // Process the data //DRAW g_DepthGenerator.GetMetaData(depthMD); g_SceneAnalyzer.GetMetaData(sceneMD); DrawDepthMap(depthMD, sceneMD); #ifdef USE_GLUT if (g_bPrintFrameID) { DrawFrameID(depthMD.FrameID()); } #endif #ifdef USE_GLUT glutSwapBuffers(); #endif }
void Processor::glutDisplay (void) { XnUInt32 nFrame, nFrameTot; instance->gen->player.GetNumFrames(instance->strNodeName,nFrameTot); instance->gen->player.TellFrame(instance->strNodeName,nFrame); //finish at end of movie if(nFrame == nFrameTot -1){ CleanupExit(); return; } glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; instance->gen->depth.GetMetaData(depthMD); glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); glDisable(GL_TEXTURE_2D); bool display = false; if (!g_bPause) { if (g_bStep) { g_bStep = false; g_bPause = true; } display = true; // Read next available data instance->context.WaitAndUpdateAll(); } // Process the data instance->gen->depth.GetMetaData(depthMD); instance->gen->user.GetUserPixels(0, sceneMD); DrawDepthMap(depthMD, sceneMD, 0); if(display) { if (instance->hasUserInSight) instance->sequence->update(); } glutSwapBuffers(); }
void SimKinect::GetNextDepthFrame(unsigned char* frame, int* d_map) { if ( !bPause && depth_generator.IsValid() ) { // Read next available data context.WaitOneUpdateAll(depth_generator); depth_generator.GetMetaData(depthMD); if (user_generator.IsValid() ) { user_generator.GetUserPixels(0, sceneMD); DrawDepthMapWithUsers(depthMD, sceneMD); } DrawDepthMap(depthMD); // Process the data memcpy(frame,depth_frame,video_size_height*video_size_width*3*sizeof(unsigned char)); memcpy(d_map,depth_map,video_size_height*video_size_width*sizeof(int)); } }
// this function is called each frame void glutDisplay (void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; g_DepthGenerator.GetMetaData(depthMD); #ifdef USE_GLUT glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #else glOrthof(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #endif glDisable(GL_TEXTURE_2D); if (!g_bPause) { // Read next available data g_Context.WaitOneUpdateAll(g_DepthGenerator); } // Process the data //DRAW g_DepthGenerator.GetMetaData(depthMD); g_UserGenerator.GetUserPixels(0, sceneMD); DrawDepthMap(depthMD, sceneMD, g_nPlayer); if (g_nPlayer != 0) { XnPoint3D com; g_UserGenerator.GetCoM(g_nPlayer, com); if (com.Z == 0) { g_nPlayer = 0; FindPlayer(); } } #ifdef USE_GLUT glutSwapBuffers(); #endif }
// this function is called each frame void glutDisplay (void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; g_DepthGenerator.GetMetaData(depthMD); glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); glDisable(GL_TEXTURE_2D); if (!g_bPause) { // Read next available data g_Context.WaitAndUpdateAll(); } ros::Time tstamp=ros::Time::now(); // Process the data g_DepthGenerator.GetMetaData(depthMD); g_UserGenerator.GetUserPixels(0, sceneMD); DrawDepthMap(depthMD, sceneMD); std::vector<mapping_msgs::PolygonalMap> pmaps; body_msgs::Skeletons skels; getSkels(pmaps,skels); ROS_DEBUG("skels size %d \n",pmaps.size()); if(pmaps.size()){ skels.header.stamp=tstamp; skels.header.seq = depthMD.FrameID(); skels.header.frame_id="/openni_depth_optical_frame"; skel_pub.publish(skels); pmaps.front().header.stamp=tstamp; pmaps.front().header.seq = depthMD.FrameID(); pmaps.front().header.frame_id="/openni_depth_optical_frame"; pmap_pub.publish(pmaps[0]); } glutSwapBuffers(); }
// this function is called each frame void glutDisplay () { clock_t t1 = clock(); glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; xn::ImageMetaData imageMD; g_DepthGenerator.GetMetaData(depthMD); g_ImageGenerator.GetMetaData(imageMD); #ifndef USE_GLES glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #else glOrthof(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #endif glDisable(GL_TEXTURE_2D); if (!g_bPause) { // Read next available data g_Context.WaitOneUpdateAll(g_UserGenerator); } // Process the data g_DepthGenerator.GetMetaData(depthMD); g_ImageGenerator.GetMetaData(imageMD); g_UserGenerator.GetUserPixels(0, sceneMD); if(Show_Image == FALSE) DrawDepthMap(depthMD, sceneMD,COM_tracker,Bounding_Box); else { DrawImageMap(imageMD, depthMD, sceneMD,COM_tracker,Bounding_Box); } #ifndef USE_GLES glutSwapBuffers(); #endif clock_t t2 = clock(); std::cout << t2 - t1 << std::endl; }
// Handle a new Message void XnVPointDrawer::Update(XnVMessage* pMessage) { // PointControl's Update calls all callbacks for each hand XnVPointControl::Update(pMessage); if (m_bDrawDM) { // Draw depth map xn::DepthMetaData depthMD; m_DepthGenerator.GetMetaData(depthMD); DrawDepthMap(depthMD); } if (m_bFrameID) { // Print out frame ID xn::DepthMetaData depthMD; m_DepthGenerator.GetMetaData(depthMD); DrawFrameID(depthMD.FrameID()); } // Draw hands Draw(); }
void glutDisplay (void){ glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); SceneMetaData sceneMD; DepthMetaData depthMD; ImageMetaData imageMD; g_DepthGenerator.GetMetaData(depthMD); glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); glDisable(GL_TEXTURE_2D); //XnStatus rc = g_Context.WaitOneUpdateAll(g_DepthGenerator); XnStatus rc = g_Context.WaitAnyUpdateAll(); CHECK_RC("Wait Data",rc); g_DepthGenerator.GetMetaData(depthMD); if(g_UserGenerator.IsValid()) g_UserGenerator.GetUserPixels(0, sceneMD); g_ImageGenerator.GetMetaData(imageMD); DrawDepthMap(depthMD, sceneMD); DrawImage(imageMD); glutSwapBuffers(); }//glutdisplay
// this function is called each frame void glutDisplay (void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Setup the OpenGL viewpoint glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); // Check if Registration is done for Depth and RGB Images - Brandyn, Sravanthi g_DepthGenerator.GetAlternativeViewPointCap().SetViewPoint(g_ImageGenerator); // g_DepthGenerator.GetAlternativeViewPointCap().ResetViewPoint(); xn::SceneMetaData sceneMD; xn::DepthMetaData depthMD; xn::ImageMetaData imageMD; g_DepthGenerator.GetMetaData(depthMD); g_ImageGenerator.GetMetaData(imageMD); #ifdef USE_GLUT glOrtho(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #else glOrthof(0, depthMD.XRes(), depthMD.YRes(), 0, -1.0, 1.0); #endif glDisable(GL_TEXTURE_2D); if (!g_bPause) { // Read next available data g_Context.WaitAndUpdateAll(); } // Process the data //DRAW // Check if Registration is done for Depth and RGB Images - Brandyn, Sravanthi g_DepthGenerator.GetAlternativeViewPointCap().SetViewPoint(g_ImageGenerator); // g_DepthGenerator.GetAlternativeViewPointCap().ResetViewPoint(); g_DepthGenerator.GetMetaData(depthMD); g_ImageGenerator.GetMetaData(imageMD); g_UserGenerator.GetUserPixels(0, sceneMD); DrawDepthMap(depthMD, imageMD, sceneMD, g_nPlayer); if (g_nPlayer != 0) { XnPoint3D com; g_UserGenerator.GetCoM(g_nPlayer, com); if (com.Z == 0) { g_nPlayer = 0; FindPlayer(); } } #ifdef USE_GLUT glutSwapBuffers(); #endif }