OpenGL程序不会停止输入并且不显示输出

时间:2014-11-08 14:01:13

标签: c opengl output infinite-loop

        //Program to implement Basic Incremental Algorithm
        //Working on ubuntu
      #include <GL/glut.h>
      #include<stdlib.h>
      #include <stdio.h>

       GLfloat x0,x1,y0,y1; //Input variables taken as global 
       int flag=1;   //variable for display1()
       void init(void)
        {
             glClearColor(0.0,0.0,0.0,0.0);
             glMatrixMode(GL_PROJECTION);
             glLoadIdentity();
             gluOrtho2D(0.0,500.0,0.0,500.0);
        }
        void PutPixel(GLfloat x,GLfloat y)
        {
             glBegin(GL_POINTS);
             glVertex2f(x,y);      //To display pixels on-screen
             glEnd();
             glFlush();
        }
        void display1(void)
        {
             if (flag==1)   
             {
                   glClear(GL_COLOR_BUFFER_BIT);
                    glColor3f(0.7,1.0,1.0);
                    GLfloat m,c,y;
                    GLfloat i;                   //BIA algorithm
                    m=(y1-y0)/((float)(x1-x0));
                    c=y1-m*x1;
                    for (i=x0; i<=x1; i+=0.01)
                     {
                          y=c+m*i;
                          PutPixel(i,y);
                      }
                    flag++;
              }
         }
         void Input()
         {
            printf("Enter the co-ods\n");
            scanf("%f %f",&x0,&y0);
            scanf("%f %f",&x1,&y1);
         }
         int main(int argc, char **argv)
           {
             Input();
             glutInit(&argc,argv);
             glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA);
             glutInitWindowSize(500,500);
             glutInitWindowPosition(100,100);
             glutCreateWindow("BIA");
             init();
             glutDisplayFunc(display1);
             glutMainLoop();
             return 0;
            }

我在开始时将initailaized标志作为全局变量并将其设置为1.在display1()中使用标志以确保它只执行一次。这只是我尝试确保输出显示的一种方式。 请任何人,请帮助!

为什么程序没有停止输入?

1 个答案:

答案 0 :(得分:0)

它正在运作。我仍然不确定哪个编辑或更改有关它。但它正在工作!!它正在显示一些输出