void ThreeDWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); drawView(); drawFloor(); drawOriginal(); // drawSkeleton(); drawPointCloud(); if(_calibrated) drawCameras(); }
void GLScenePane::drawGLObjs() { glClearColor(1.0, 1.0, 1.0, 1.0); if (m_followCamId < 0) { glScaled(1. / m_scale, 1. / m_scale, 1. / m_scale); glTranslated(-m_center[0], -m_center[1], -m_center[2]); } else { if (m_pSLAM) { const CamPoseItem* cam = m_pSLAM->slam[m_followCamId].m_camPos.current(); if (cam) { double mat[16]; glGetDoublev(GL_MODELVIEW_MATRIX, mat); glMatrixMode(GL_MODELVIEW); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { mat[j * 4 + i] = cam->R[i * 3 + j]; mat[j * 4 + 3] = 0; } } mat[12] = cam->t[0]; mat[13] = cam->t[1]; mat[14] = cam->t[2]; mat[15] = 1.0; glMultMatrixd(mat); } } } glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_POINT_SMOOTH); glEnable(GL_LINE_SMOOTH); glEnable(GL_POLYGON_SMOOTH); glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); if (m_pSLAM && m_pSLAM->curMapPts.getNum() > 0 && m_pSLAM->curFrame > 1) { MyApp::bBusyDrawingModel = true; drawPoints(); drawCameras(); //drawInfo(); drawCameraGroups(); MyApp::bBusyDrawingModel = false; } }