void VMMutomo::initializeGL(){ qglClearColor(trolltechPurple.dark()); //цвет фона object = makeObject(); glShadeModel(GL_FLAT); glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); //glEnable(GL_CULL_FACE);// ------ ------ ------ освещение ------ ------ ------ GLfloat light_ambient[] = {0.0f, 0.0f, 0.0f, 1.0f}; //фоновый свет GLfloat light_diffuse[] = { 0.0f, 0.9f, 0.9f, 1.0f}; //значение диффузного света GLfloat light_position[] = {0.0f, 0.0f, 150.0f, 1.0f }; //позиция источника света glLightfv (GL_LIGHT1, GL_AMBIENT, light_ambient); //устанавливаем фоновый свет glLightfv (GL_LIGHT1, GL_DIFFUSE, light_diffuse); //устанавливаем диффузный свет glLightfv (GL_LIGHT1, GL_POSITION, light_position); //устанавливаем позицию источника света //glEnable(GL_COLOR_MATERIAL); glEnable(GL_LIGHTING); // Разрешить освещение glEnable (GL_LIGHT1);}void VMMutomo::paintGL(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glRotated(xRot / 16.0, 1.0, 0.0, 0.0); glRotated(yRot / 16.0, 0.0, 1.0, 0.0); glRotated(zRot / 16.0, 0.0, 0.0, 1.0); //glCallList(object); //******************* рисуем оси координат ****************** glLineWidth(3); glBegin(GL_LINES); glColor3f(1.0, 0.0, 0.0); //ось Х glVertex3d(0.0, 0.0, 0.0); glVertex3d(25, 0.0, 0.0); glColor3f(0.0, 1.0, 0.0); //ось Y glVertex3d(0.0, 0.0, 0.0); glVertex3d(0.0, 25, 0.0); glColor3f(0.0, 0.0, 1.0); //ось Z glVertex3d(0.0, 0.0, 0.0); glVertex3d(0.0, 0.0, 25); glEnd();//************************************************************ glLineWidth(1); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); const float center[3] = {0, 0, 0}; //центр//************************************* qglColor(Qt::cyan); glRotated(90, 1.0, 0.0, 0.0); glTranslated(0.0, 0.0, -80.0); crtDetect (96); //строим трубки координатной плоскости-Х glTranslated(0.0, 0.0, 40.0); crtDetect (96); //строим трубки координатной плоскости-Х glTranslated(0.0, 0.0, 80.0); crtDetect (96); //строим трубки координатной плоскости-Х glTranslated(0.0, 0.0, 40.0); crtDetect (96); //строим трубки координатной плоскости-Х//************************************************************}void VMMutomo::resizeGL(int width, int height){ minSideView = qMin(width, height); glViewport((width - minSideView) / 2, (height - minSideView) / 2, minSideView, minSideView ); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-150.0, +150.0, +150.0, -150.0, -150.0, 150.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity();}