/////////////////////////////////////////////////////////////////////////////// // draw 2D/3D scene /////////////////////////////////////////////////////////////////////////////// void ModelGL::draw() { drawSub1(); drawSub2(); if(windowSizeChanged) { setViewport(0, 0, windowWidth, windowHeight); windowSizeChanged = false; } if(drawModeChanged) { if(drawMode == 0) // fill mode { glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); } else if(drawMode == 1) // wireframe mode { glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); } else if(drawMode == 2) // point mode { glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); } drawModeChanged = false; } }
void OpenGLTransformation::display() { drawSub1(); drawSub2(); glFinish(); glutSwapBuffers(); }