Так как все вежливо отмолчались на мой предыдущий вопрос, упрощаю поставленный вопрос, как нарисовать прямоугольник я это делаю так (ниже приведённый код) , но так как прямоугольник ниресуется , пологаю что делаю что то не так,так в чём же трабла кто подскажет. Повторюсь , всё компилться без ошибок , но выводиться просто окно.
Код | #include <GL/glui.h> #include <windows.h> #include <stdio.h>
int WinHeight=480; int WinWidth=600;
int p1x=50; int p2x=50; int p1y=150; int p2y=150;
void Display(){ glClear(GL_COLOR_BUFFER_BIT);//очищает экран glRectf(p1x,p1y,p2x,p2y);//ДОЛЖНО ПОИДЕЕ РИСОВАТЬ ПРЯМОУГОЛЬНИК АН, НЕТ /* glBegin(GL_POLYGON); glVertex2(p1x, p1y); glVertex2(p2x, p1y); ПРОБОВАЛ И ТАК НО НИЧЕГО НЕТ glVertex2(p2x, p2y); glVertex2(p1x, p2y); glEnd(); */ glutSwapBuffers();//выводит полученное изображение }
void Keybord(unsigned char key,int x,int y)//реагирует на esc { switch(key){ case 27: { exit(VK_ESCAPE); break; } } }
void Reshape(int width,int height)//вызывается при изминении размера окна { //запоминаем размеры окна WinWidth=width; WinHeight=height; //задаем размер окна glViewport(0,0,WinWidth,WinHeight);
//задаём матрицу проекции glLoadIdentity();//заменяет текущюю матрицу на единичную gluOrtho2D(0,WinWidth-1,0,WinHeight-1);// }
int main(int argc,char* argv[]) { glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE); glutInitWindowSize(WinWidth,WinHeight);//размер окна glutInitWindowPosition(100,100);//позиция окна glutCreateWindow("My first OpenGL Application");//заголовок окна glClearColor(1,1,0.5,2);// перерисовывает экран glutDisplayFunc(Display); glutKeyboardFunc(Keybord); glutReshapeFunc(Reshape); glutWarpPointer(WinWidth/2,WinHeight/2); glutMainLoop();//организовывает цикл return 0; }
|
|