工程搭建和准备工作请看这里
项目运行的效果大致如下
1
Main 函数
2
让我们先大致了解一下,changeSize ,RenderScene,SpecialKeys 之间的关系吧
3
setupRC
这个函数,主要有以下功能,设置背景颜色,初始化固定着色器,图元设置,获取顶点数据,关闭批理。setUpRC主要为了后续的渲染做数据准备工作。
4
changeSize
主要是为了设置程序的视口,在第一次运行或者窗口被人为的变化时调用
glViewport(0,0, w, h);
RenderScene
这个函数是渲染的最终实现者
1.清理一个或者一组特定的缓存
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
2.设置固定的着色器
shaderManager.UseStockShader(GLT_SHADER_IDENTITY,vRed);
3.提交着色器
triangleBatch.Draw();
4.交换缓存区
glutSwapBuffers();
5
SpecialKeys函数
当用户手动切换上下左右键时,系统调用本函数。本函数的作用是,重新计算各个顶点的坐标,提交给批处理类,发出重新渲染命令。