OpenGL中使用glutDisplayFunc(myDisplay),myDisplay里面的代码不显示
使用了OpenGL自带的glut库来做窗口,使用了
glutMouseFunc(myMouse);
glutDisplayFunc(myDisplay);
glutReshapeFunc(myReshape);
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函数
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里面的代码不显示相关推荐
- Boost:在OpenCL并将图像渲染为OpenGL中的纹理
Boost:在OpenCL并将图像渲染为OpenGL中的纹理 实现功能 C++实现代码 实现功能 Boost的compute模块,在OpenCL并将图像渲染为OpenGL中的纹理 C++实现代码 #i ...
- OpenGL中不可以有两个以上myDisplay函数,在主函数中生效的是最后调用的那个
OpenGL中不可以有两个myDisplay函数,在主函数中生效的是最后调用的那个 例如,自己写了两个display函数,1和2,想要在主函数中一次调用它们,来实现同时显示两个display绘制的图形 ...
- OpenGL中的混色问题(Alpha通道)
混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象. 混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某 ...
- OpenGL中投影函数glOrtho()、glFrustum()以及gluPerspective()以及函数的用法
OpenGL中,如果想对模型进行操作,就要对这个模型的状态(当前的矩阵)乘上这个操作对应的一个矩阵. 如果乘以变换矩阵(平移, 缩放, 旋转), 那相乘之后, 模型的位置被变换; 如果乘以投影矩阵(将 ...
- (转)OpenGL中位图的操作(glReadPixels,glDrawPixels和glCopyPixels应用举例)
(一)BMP文件格式简单介绍 BMP文件是一种像素文件,它保存了一幅图象中所有的像素.这种文件格式可以保存单色位图.16色或256色索引模式像素图.24位真彩色图象,每种模式种单一像素的大小分别为1/ ...
- 【GPU编程】The Cg Runtime:OpenGL中调用Cg程序
原文:<The Cg Tutorial>(Cg手册):Appendix B:The Cg Runtime,Page195 很多地方可能翻译得不好,还请大家见谅.指教! 注意:我省略了其中的 ...
- OpenGL中的投影使用
OpenGL中的投影使用 在OpenGL中,投影矩阵指定了可视区域的大小和形状.对于正投影与透视投影这两种不同的投影类型,它们分别有各自的用途. 正投影 它适用于2D图形,如文本.建筑画图等.在它的应 ...
- Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例
OpenGL着色语言(OpenGL Shading Language,GLSL)是用来在OpenGL中着色编程的语言,是一种具有C/C++风格的高级过程语言,同样也以main函数开始,只不过执行过程是 ...
- OpenGL中的gl,glu,glut的区别
OpenGL中gl,glu,glut的区别 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库, gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包 ...
最新文章
- LOJ 2721 「NOI2018」屠龙勇士——扩展中国剩余定理
- 使用VSCode调试C#控制台程序
- libSVM 参数选择
- (转)jquery插件Validate的使用
- 一个月时间整理《深入浅出Node.js》
- 提高sql性能的方法
- ADO学习(十)DataGrid控件的使用
- 安装网站+服务器连接失败,为什么我都安装完成后是服务器连接失败啊
- echarts-for-react的使用详解
- Vue 混合、自定义指令、插件
- oracle练习之查询1(where等)
- 免费pdf转换成jpg图片方法
- XP系统访问网页无法下载php,window_WinXP因配额不足导致无法访问如何解决, WindowsXP系统虽然说是已经 - phpStudy...
- NLP - 词法分析
- SendMessgae
- 学习OpenCV3——图像旋转算法实现
- cocos creator移动事件和 opacity
- PHP动态网页设计与网站架设pdf
- 微信小程序授权登录的步骤
- 笔记本计算机充不上电,笔记本电池充不进电,详细教您笔记本电池充不进电如何解决...
热门文章
- 关于Domain-Specific Languages
- React-Context
- hdu4768 非常规的二分
- 计算机网络-信道的极限容量
- 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 头文件定义 | 头文件导入限制 | 兼容 C++ 语言 | 函数形参输入输出属性注释)
- 【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )
- 判断条件为空时需要注意
- document事件及例子
- PHP封装返回Ajax字符串和JSON数组
- 《JS权威指南学习总结--开始简介》