本文依据OpenGL编程指南一书进行学习总结
什么是OpenGl?
OpenGL是一种应用程序编程接口(Application Programming Interface,API),它是一种可以对图形硬件设备特性进行访问的软件库,可以用于设置所需的对象,图像和操作,以便开发交互式的3维计算机图形应用程序。
渲染图像的OpenGL程序需要执行的主要操作:
1,从OpenGL的几何图元中设置数据,用于构建形状
2,使用不同的着色器(shader)对输入的图元数据执行计算操作,判断他们的位置,颜色,以及其他渲染属性
3,将输入图元的数学描述转换为与屏幕位置对应的像素片元(fragment),这一步骤也叫光栅化(rasterization)
4,最后,针对光栅化过程产生的每个片元,执行片元着色器(fragment shader),从而决定这个片元的最终颜色和位置
5,如果有必要,还需要对每个片元执行一些额外操作,例如判断片元对应的对象是否可见,或者将片元的颜色和当前屏幕位置的颜色进行融合
Opengl使用客户端-服务端的形式实现,即我们编写的软件看做客户端,而硬件厂商看做服务端,我们编写代码传入GPU,进而在屏幕显示