OpenGL学习1—画一个矩形
2016-07-19 15:58
337 查看
//在一个黑色的窗口中央画一个白色的矩形
#include<GL/glut.h> //包含头文件glut中已经自动包含gl和gul了
//画图函数
void myDisplay(void)
{
//gl开头的函数就是OpenGL的标准函数
//清除,CL_COLOR_BUFFER_BIT表示清除颜色,glClear还可以清除其他东西
glClear(GL_COLOR_BUFFER_BIT);
//画一个矩形,四个参数分别表示了位于对角线上的两个点的横、纵坐标
glRectf(-0.8f,-0.8f,0.8f,0.8f);
//保证前面的OpenGL命令立即执行(而不是让他们在缓冲去等待),
//其作用跟fflush(stdout)类似
glFlush();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv); //对glut初始化,必须在其他的glut使用之前调用一次
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
//设置显示模式,其中glut_rgb表示使用rgb颜色,与之对应的还有glut_index表示使用索引颜色
//glut_single表示使用单缓冲,与之对应的还有glut_double使用双缓冲
//设置窗口在屏幕中的位置
glutInitWindowPosition(100,100);
//设置窗口的大小
glutInitWindowSize(400,400);
//根据前面设置的信息创建窗口,参数将被作为窗口的标题。注意,窗口被创建后
//并不立即显示到屏幕上,需要调用glutMainLoop才能看到窗口
glutCreateWindow("第一个OpenGL程序");
//设置一个函数,当需要画图时,这个函数就会被调用(不太准确的说法)
glutDisplayFunc(&myDisplay);
//这是一个消息循环,可以显示窗口,并且等待窗口关闭后会返回
glutMainLoop();
return 0;
}
#include<GL/glut.h> //包含头文件glut中已经自动包含gl和gul了
//画图函数
void myDisplay(void)
{
//gl开头的函数就是OpenGL的标准函数
//清除,CL_COLOR_BUFFER_BIT表示清除颜色,glClear还可以清除其他东西
glClear(GL_COLOR_BUFFER_BIT);
//画一个矩形,四个参数分别表示了位于对角线上的两个点的横、纵坐标
glRectf(-0.8f,-0.8f,0.8f,0.8f);
//保证前面的OpenGL命令立即执行(而不是让他们在缓冲去等待),
//其作用跟fflush(stdout)类似
glFlush();
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv); //对glut初始化,必须在其他的glut使用之前调用一次
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
//设置显示模式,其中glut_rgb表示使用rgb颜色,与之对应的还有glut_index表示使用索引颜色
//glut_single表示使用单缓冲,与之对应的还有glut_double使用双缓冲
//设置窗口在屏幕中的位置
glutInitWindowPosition(100,100);
//设置窗口的大小
glutInitWindowSize(400,400);
//根据前面设置的信息创建窗口,参数将被作为窗口的标题。注意,窗口被创建后
//并不立即显示到屏幕上,需要调用glutMainLoop才能看到窗口
glutCreateWindow("第一个OpenGL程序");
//设置一个函数,当需要画图时,这个函数就会被调用(不太准确的说法)
glutDisplayFunc(&myDisplay);
//这是一个消息循环,可以显示窗口,并且等待窗口关闭后会返回
glutMainLoop();
return 0;
}
相关文章推荐
- linux升级Python2.7.12
- Linux环境变量的设置和查看方法
- 实现自定义的Service
- Linux Sed命令详解
- OpenCV_轮廓的查找、表达、绘制、特性及匹配
- 调优apache的性能
- Linux网卡驱动代码阅读杂记
- Linux 文件锁
- 通过浏览器下载放在win7 IIS网站下的apk
- 谈谈MVC模式
- 利用Dockerfile文件创建带有sshd服务的centos镜像
- Linux rename命令文件重命名的用法汇总
- Emacs命令快速参考!!
- linux free / top
- vi/ vim 光标移动命令
- Centos ssh登录慢问题的解决办法
- linux namespace
- 转载自运维网和51CTO-AD中FSMO五大角色的介绍及操作
- linux sed 批量替换字符串
- OPTIMIZE TABLE的作用--转载