上一章我们学习了OpenGL环境搭建,如果还没有搭建好环境的同学可以点击这里进行查看,步骤很详细,有对应资源.
好激动啊,了解了这么多概念终于开始敲代码了- .-
我们从最基础的开始,首先我们思考一下怎么将一个三角形绘制到屏幕上.
1.我们需要在我们创建的main.cpp文件里面重写main函数如下
2.在main初始化GL库 glutInit(&argc, argv);
3.初始化缓冲区窗口,并且指定模型(就是告诉系统我们需要什么样的一个显示渲染内容的窗口)
4.注册回调函数,函数名可以随便起 changeSize 是当窗口大小发生变化时回调的函数,RenderScene是当需要刷新渲染内容的时候调用,这两个函数实现都是我们自定义的.
5.判断当前环境是否可用,并且开启主线程RunLoop
上面步骤都在main函数里执行,其中setupRC()是我们自定义的一个函数,主要是配置需要展示的图形信息实现如下
1.主要工作是通过glClearColor创建一个显示窗口病置顶背景颜色2.初始化shader(渲染)管理类3.指定顶点坐标(这里的范围是-1到1,以后我们实用的范围也会是这个范围)
triangleBatch 简单的批次容器,是GLTools的一个简单的容器类。
triangleBatch.Begin(GL_TRIANGLES, 3)GL_TRIANGLES为顶点连线方式,就是假设我们有三个顶点ABC ,我们的连线是A->B->C呢还是A->C->B还是C->B->A呢 ,3 是顶点个数,我们把这些指定的 信息放入triangleBatch容器里面 提交就可以了
这两个方法首次系统都会主动调用,如果当渲染的数据发生改变时 我们可以手动调用RenderScene进行刷新,比如我们的顶点发生平移,那么这个函数就会被触发,我们command+r运行
这些就是三角形渲染的全部代码了,代码并不多,代码顺序也都是固定的,重要的是理解整个渲染过程!