opengl学习笔记2-1-基本的运行框架
来源:互联网 发布:中国大数据网站 编辑:程序博客网 时间:2024/06/05 20:13
此学习笔记参考书籍为Opengl超级宝典,第四版。在此记录和交流自己的学习心得,希望高手多多指教。
为何使用GLUT,首先出现的aux,即opengl辅助函数库。aux函数库的目标是帮助人们学习和编写opengl程序,而不必为任何平台特定的细节而分神,不必顾虑所使用的是UNIX,Windows还是其它平台。如果使用aux,将不是编写“最终"的代码,更像是一个预备阶段,对自己的想法进行测试。由于缺乏对基本的GUI功能的支持,因此限制了使用这个函数库创建实用的应用程序。
在发展过程中aux渐渐被glut(OpenGL utility toolkit,不要与标准的GLU——OpenGL utility library)函数库取代。glut在绝大部分的UNIX系统中得到了支持,Apple对这个函数库进行了维护和扩展。在Windows中,glut的开发已经中断。由于glut最初并不是作为一种开放源代码的软件,因此被一种新的freegult取代。
下面是一个最基本的Opengl例子。
#include "GL/freeglut.h"void RenderScene(void){//clear the window use the current colorglClear(GL_COLOR_BUFFER_BIT);//glFlush();}void SetupRC(void){glClearColor(0.6f, 0.4f, 0.7f, 1.0f);}//int main(int argc, char* argv[]){glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA);glutCreateWindow("Simple");glutDisplayFunc(RenderScene);SetupRC();glutMainLoop();return 0;}
运行结果如下图:
在此现在本课代码:http://download.csdn.net/detail/airbigboy/6304329
下面是对一些基本函数的简单解释: glut
void glutInit( int* pargc, char** argv );
传递简单参数,并对glut函数库进行初始化。
void glutInitDisplayMode( unsigned int displayMode );
设置glut在创建窗口时,使用哪种类型的现实模式。(单缓冲,双缓冲,颜色模式)
int glutCreateWindow( const char* title );
唯一的参数为窗口标题栏的标题
void glutMainLoop( void );
启动glut框架的运行。定义了用于屏幕显示的回调函数和其他函数。该函数一经调用不再返回,直到程序终止。在应用中只能调用一次,处理所有操作系统特有的信息 击键事件,知道程序终止。
void glutDisplayFunc( void (* callback)( void ) );
!传递显示回调函数,当窗口需要被绘制的时候调用该回调函数。(第一次显示,窗口改变大小,从被覆盖中恢复)
opengl
void glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
这个函数设置了一种颜色,用于清除窗口。
void glClear (GLbitfield mask);
用于清除一个特定的缓冲区或者同时清除几个缓冲区。opengl具有多个缓冲区(颜色,深度,模板和累积)
void glFlush (void);
这行代码将导致所有未执行的opengl命令被执行。
在内部,opengl使用一条渲染管线安装线性顺序处理命令。opengl命令和语句常常在队列中等待。直到opengl驱动程序同时处理几个“命令”。这种设置可以提高性能,因为硬件之间的通信从本质上说比较缓慢。
- opengl学习笔记2-1-基本的运行框架
- OpenGL的基本框架
- openGL学习笔记1——openGL程序框架
- OpenGL学习笔记(四):了解OpenGL、OpenGL的操作模式、特性和基本使用步骤
- 【OpenGL】学习笔记之一 绘制基本图形单元的方法
- OpenGL学习笔记:(二)简单绘制正方形(基本框架)
- OpenGL学习笔记1:环境配置和基本流程
- OpenGL学习笔记1:环境配置和基本流程
- OpenGL学习笔记1:环境配置和基本流程
- openGl超级宝典学习笔记 (2) 7个基本的几何图元
- PyQt4 学习笔记1基本框架
- NeHe的opengl教程delphi版(1)----基本框架
- NeHe的opengl教程delphi版(1)----基本框架
- opengl学习笔记(一)——Windows下opengl的基本使用办法
- OpenGL学习笔记(一):环境搭建、三维空间坐标系理解以及OpenGL的基本使用
- OpenGL学习笔记(12)基本光照
- opengl学习笔记(二)——一个通用的opengl框架
- OpenGL学习笔记2
- 解决rman备份脚本中密码明文的问题--wallet
- 语无伦次的‘假’说
- Udacity调试课笔记之调试者的工作方式
- foundations of python networking看了之后照上面的例子做。怎么都做不出来。以后成为高手再回来分析。
- 编程中Ctrl键的作用-四两拨千斤
- opengl学习笔记2-1-基本的运行框架
- Mahout随机森林算法源码分析(2-1)BuildForest
- java内存管理(适合初学者)
- 本地EXE COM服务器
- Android之自定义进度条
- 理解ASP.NET事件的工作原理
- IntelliJ IDEA —— Android开发的另一个选择
- Cluster Health Monitor (CHM) FAQ (文档 ID 1328466.1)
- 【2014校招】阿里研发笔试