一、工具类
1.GLTool 包含了了⼤大部分GLTool中类似C语⾔言的独⽴立函数
2.GLMatrixStack 矩阵的工具类, 可以加载单元矩阵/矩阵/矩阵相乘/压栈/出栈/缩放/平移/旋转
3.GLFrame 矩阵工具类,表示位置通过设置 vOrigion, vForward, vUp
4.GLFrustum 矩阵工具类, 用来快速设置正/透视投影矩阵, 完成坐标 3D->2D的映射过程
5.GLBatch 三角形批次类, 帮助类, 它可以传输顶点/光照/纹理/颜色数据到存储着色器中
二、自定义常用的全局变量
1.GLShaderManager shaderManager;
- 存储着色器管理工具类似于 AFN 的管理者 manager, 用来初始化等等操作
2.GLMatrixStack modelViewMatrix;
- 模型矩阵
3.GLMatrixStack projectionMatrix;
- 投影矩阵
4.GLFrame cameraFrame;
- 设置观察者位置
5.GLFrame objectFrame;
- 设置图形环绕时视图坐标
//投影设置
6.GLFrustum viewFrustum; //容器器类(7种不不同的图元对应7种容器器对象)
- 设置图元绘制时投影方式
a.GLBatch pointBatch;
b.GLBatch lineBatch;
c.GLBatch lineStripBatch;
d.GLBatch lineLoopBatch; GLBatch triangleBatch;
e.GLBatch triangleStripBatch;
f.GLBatch triangleFanBatch;
三、常用的重要函数
main函数
1. int main(int argc, char* argv[])
程序入口.OpenGL 是⾯面向过程编程.所以你会发现利用OpenGL处理图形/图像都是链式形式.以及基于OpenGL封装的图像处理框架也是链式编程即调用各个函数方法
2.void ChangeSize(int w, int h)
⾃自定义函数.通过 glutReshaperFunc (函数名)注册为重塑函数.当屏幕⼤小发⽣变化/或者第⼀次创建窗⼝时,会调⽤用该函数调整窗口⼤小/视⼝大小.
3.void RenderScene(void)
⾃自定义函数.通过 glutDisplayFunc (函数名)注册为显示渲染函数.当屏幕发⽣生变化/或者开发者主动渲染会调⽤用此函数,⽤用来实现数据->渲染过程
1.系统⾃自动触发
2.开发者⼿手动调⽤用函数触发.
4.void SetupRC()
设置你需要渲染的图形的 相关顶点数据/颜⾊色数据等数
5.void SpecialKeys(int key, int x, int y)
键位设置,通过不同的键位对其进行设置;控制Camera的移动,从而改变视口(一般就是特殊键位, 类似 f1, f2, 上下左右, 空格)
6.void KeyPressFunc(unsigned char key, int x, int y)
用户敲击”空格”键位触发:
1.判断⽤用户输⼊入的是”空格”
2.设置窗⼝口名称
3.手动触发重新渲染