一、OpenGL的主要功能
- 模型绘制
- 模型观察
- 颜色模式
- 光照应用
- 图像效果增强
- 位图和图像处理
- 纹理映射
- 实时动画
- 交互技术
二、 OpenGL的绘制流程----------工作方式**
一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,最后一层为应用软件
三、OpenGL的绘制流程-------------流水线
注意:OpenGL命令将被放在一个命令缓冲区中,这样命令缓冲区中包含了大量的命令、顶点数据和纹理数据。当缓冲区被清空时,缓冲区中的命令和数据都将传递给流水线的下一个阶段。
四、OpenGL的基本语法---------------相关库
-
OpenGL核心库:gl
-
OpenGL使用数据库:glu
-
OpenGL编程辅助库:aux
-
OpenGL实用程序工具包:(OpenGL utility toolkit ,GLUT):glut
-
Windows专用库:wgl
五、OpenGL的基本语法-------------------命名规则
OpenGL函数都遵循一个命名约定,即采用一下格式
<库前缀><根命令><可选的参数个数><可选的参数类型>
例如:glColor3f(…)
六、OpenGL的基本语法--------------数据类型
七、OpenGL程序实例-------新建项目
#define GLUT_DISABLE_ATEXIT_HACK
#include <windows.h>
#include <gl/glut.h>
void showtime(){
//设置窗口背景颜色
glClearColor(0.0f,0.0f,1.0f,1.0f);
//设置投影参数(2)
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void showtime2(){
//刷新窗口缓冲区
glClear(GL_COLOR_BUFFER_BIT);
//绘制矩形
glRectf(50.0f,100.0f,150.0f,50.0f);
//清空OpenGL命令缓冲区
glFlush();
}
int main(int argc,char *argv[]){
//初始化窗口
glutInit(&argc,argv) ;
//设定窗口显示模式
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
//设置窗口尺寸
glutInitWindowSize(400,300);
//设置窗口位置
glutInitWindowPosition(100,120);
//创建窗口
glutCreateWindow("项目一") ;
//设置当前窗口的显示回调函数
glutDisplayFunc(&showtime2);
//完成窗口初始化(调用初始化函数
showtime();
//启动主GULT事件处理循环
glutMainLoop();
return 0;
}