zoukankan      html  css  js  c++  java
  • OpenGL中使用glutDisplayFunc(myDisplay),myDisplay里面的代码不显示

    使用了OpenGL自带的glut库来做窗口,使用了

    glutMouseFunc(myMouse);
    glutDisplayFunc(myDisplay);
    glutReshapeFunc(myReshape);

    myMouse函数

    myMouse
     1 void myMouse(int button,int state,int x,int y)
     2 {
     3     if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
     4     {
     5         if(count<3)
     6         {
     7             drawDot(x,screenHeight-y);
     8             pt[count].x = x;
     9             pt[count].y = screenHeight - y;
    10             count++;
    11             glFlush();
    12         }
    13         else
    14         {
    15             count = 0;
    16             drawDot(x,screenHeight-y);
    17             pt[count].x = x;
    18             pt[count].y = screenHeight - y;
    19             count++;
    20             glFlush();
    21         }
    22     }
    23     else if (button ==GLUT_LEFT_BUTTON && state == GLUT_UP)
    24     {
    25         if (count==3)
    26         {
    27             
    28             glFlush();
    29         }
    30 
    31     }
    32 }

    其中的drawdot是画点函数。此时glut窗口上会绘制出点,但如果把这里的drawdot去掉,加在myDisplay函数中,却不绘制点,奇怪!必须刷新下,才绘制点。

    pt[3], count都是全局静态变量。

    myDisplay函数

    myDisplay
     1 void myDisplay(void)
     2 {
     3     glClear(GL_COLOR_BUFFER_BIT);
     4 
     5     if (count!=0)
     6     {
     7         for (int i=0;i<count;i++)
     8         {
     9             drawDot(pt[i].x,pt[i].y);
    10         }
    11     }
    12 
    13     glFlush();
    14 }
  • 相关阅读:
    python数据集处理,加载成list
    *和multiply
    RuntimeWarning: overflow encountered in exp
    机器学习 回归
    argsort()
    transpose()、T
    numpy、matplotlib第三方库安装
    feedparser安装
    机器学习实战错误校正
    机器学习 基于概率论的分类方法:朴素贝叶斯
  • 原文地址:https://www.cnblogs.com/infiniti/p/2825208.html
Copyright © 2011-2022 走看看