OpenGL是一种三维技术规范。
我们知道三维渲染场景需要实时计算大量数据。
这里我根据自己的经验总结出一句话:
计算机中,对性能要求高的功能模块,其运行原理必然是简单易行的!
有理由断言:OpenGL没那么难。
OpenGL工作原理示意图
如下图(不断改进中)
简要概括OpenGL工作原理
OpenGL绘制某个3D物体:
- 第一步:程序放数据进缓存,数据必须是可快速独立访问的(便于GPU单元并行计算);
- 第二步:配置数据结构,解释内存,比如VAO,VBO;
- 第三步:并行计算(并行执行着色器shader);
- 第四步:输出前处理(深度测试,Alpha测试,模板测试);
- 第五步:输出到显示设备
依次绘制3D场景中的所有物体,场景即绘制完成。