使用了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 }

转载于:https://www.cnblogs.com/infiniti/archive/2012/12/19/2825208.html

OpenGL中使用glutDisplayFunc(myDisplay),myDisplay里面的代码不显示相关推荐

  1. Boost:在OpenCL并将图像渲染为OpenGL中的纹理

    Boost:在OpenCL并将图像渲染为OpenGL中的纹理 实现功能 C++实现代码 实现功能 Boost的compute模块,在OpenCL并将图像渲染为OpenGL中的纹理 C++实现代码 #i ...

  2. OpenGL中不可以有两个以上myDisplay函数,在主函数中生效的是最后调用的那个

    OpenGL中不可以有两个myDisplay函数,在主函数中生效的是最后调用的那个 例如,自己写了两个display函数,1和2,想要在主函数中一次调用它们,来实现同时显示两个display绘制的图形 ...

  3. OpenGL中的混色问题(Alpha通道)

    混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象. 混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某 ...

  4. OpenGL中投影函数glOrtho()、glFrustum()以及gluPerspective()以及函数的用法

    OpenGL中,如果想对模型进行操作,就要对这个模型的状态(当前的矩阵)乘上这个操作对应的一个矩阵. 如果乘以变换矩阵(平移, 缩放, 旋转), 那相乘之后, 模型的位置被变换; 如果乘以投影矩阵(将 ...

  5. (转)OpenGL中位图的操作(glReadPixels,glDrawPixels和glCopyPixels应用举例)

    (一)BMP文件格式简单介绍 BMP文件是一种像素文件,它保存了一幅图象中所有的像素.这种文件格式可以保存单色位图.16色或256色索引模式像素图.24位真彩色图象,每种模式种单一像素的大小分别为1/ ...

  6. 【GPU编程】The Cg Runtime:OpenGL中调用Cg程序

    原文:<The Cg Tutorial>(Cg手册):Appendix B:The Cg Runtime,Page195 很多地方可能翻译得不好,还请大家见谅.指教! 注意:我省略了其中的 ...

  7. OpenGL中的投影使用

    OpenGL中的投影使用 在OpenGL中,投影矩阵指定了可视区域的大小和形状.对于正投影与透视投影这两种不同的投影类型,它们分别有各自的用途. 正投影 它适用于2D图形,如文本.建筑画图等.在它的应 ...

  8. Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例

    OpenGL着色语言(OpenGL Shading Language,GLSL)是用来在OpenGL中着色编程的语言,是一种具有C/C++风格的高级过程语言,同样也以main函数开始,只不过执行过程是 ...

  9. OpenGL中的gl,glu,glut的区别

    OpenGL中gl,glu,glut的区别 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库, gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包 ...

最新文章

  1. LOJ 2721 「NOI2018」屠龙勇士——扩展中国剩余定理
  2. 使用VSCode调试C#控制台程序
  3. libSVM 参数选择
  4. (转)jquery插件Validate的使用
  5. 一个月时间整理《深入浅出Node.js》
  6. 提高sql性能的方法
  7. ADO学习(十)DataGrid控件的使用
  8. 安装网站+服务器连接失败,为什么我都安装完成后是服务器连接失败啊
  9. echarts-for-react的使用详解
  10. Vue 混合、自定义指令、插件
  11. oracle练习之查询1(where等)
  12. 免费pdf转换成jpg图片方法
  13. XP系统访问网页无法下载php,window_WinXP因配额不足导致无法访问如何解决,  WindowsXP系统虽然说是已经 - phpStudy...
  14. NLP - 词法分析
  15. SendMessgae
  16. 学习OpenCV3——图像旋转算法实现
  17. cocos creator移动事件和 opacity
  18. PHP动态网页设计与网站架设pdf
  19. 微信小程序授权登录的步骤
  20. 笔记本计算机充不上电,笔记本电池充不进电,详细教您笔记本电池充不进电如何解决...

热门文章

  1. 关于Domain-Specific Languages
  2. React-Context
  3. hdu4768 非常规的二分
  4. 计算机网络-信道的极限容量
  5. 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 头文件定义 | 头文件导入限制 | 兼容 C++ 语言 | 函数形参输入输出属性注释)
  6. 【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )
  7. 判断条件为空时需要注意
  8. document事件及例子
  9. PHP封装返回Ajax字符串和JSON数组
  10. 《JS权威指南学习总结--开始简介》