1. OpenGL基本介绍
1.1 OpenGL是什么?
当你第一次听到OpenGL时,你可能并不知道它到底是什么,但你应该知道它是与图形联系起来,这确实是OpenGL能够做的事情。OpenGL不是一种语言,是一个图形API,通俗的讲,它就是一大堆函数,我们可以通过调用这些函数去做一些和图形图像相关的事情。特别的,OpenGL允许我们访问GPU(显卡),因为显卡可以更加有力地绘制图形,实际上,提供能操作显卡功能的API有很多,OpenGL是其中之一。有人把OpenGL称为库、引擎、或者框架什么的,其实这是不对的,OpenG本身是一种规范,它并没有定义任何代码 ,它规定函数A应该存在,B、C应该是它的参数,D应该是它的输出,仅此而已,它只是告诉你用这些API可以做什么的规范,并不提供任何实现,这意味着它一定不是一个库,它本身是没有任何代码的。
1.2 谁实现了OpenGL函数的代码呢?
到哪里下载OpenGL? 这确实是困扰了很多人的一个问题,实际上我们并不需要去下载它,它只是一个规范,那么究竟谁去为这些我们会使用到的函数写代码呢?答案是你的GPU厂商。每个牌子的GPU都会有自己的实现,在显卡的驱动程序中就包含了这些代码的实现,因为显卡厂商不同,不同厂商并没有坐在一起商量我们应该怎样实现这些函数,因此,不同显卡厂商的实现也会有轻微的不同。OpenGL并不Open,我们看不到显卡厂商实现的源代码。
1.3 OpenGL是最好的图形API?
OpenGL做了什么,使得一些不幸的人称之为天下第一?可能是因为OpenGL是跨平台的,所以你写一份代码就可以在Windows,Mac,Linux,IOS,Android系统上运行。他可能并不是最好的,但是最方便的。你不必为不同的系统去写好几份的代码。
在下一节中我们将创建一个基础的OpenGL窗口并绘制一个简单的三角形
链接: OpenGL学习(二)第一个OpenGL程序,绘制三角形.