OpenGL中的几个概念,
1. glu,基于opengl封装的更高层的图形库。
2. glut。glut最早是Mark Kilgard用于redbook第二版中的样例写作时而搞出的一套接口,简化各平台上opengl与native window system对接的工作,由于这套接口的确比较简单好用,glut被广泛流行,成为了跨平台的事实标准。但自1998年之后,M. Kilgard就没有再更新过glut。由于glut在发布权限上的限制,开源社区无法将其与其它开源作品一起发布,加之M. Kilgard不再对glut进行更新,于是有了freeglut,它完全开源并遵循X-Consortium license。目前最新的glut版本是2.4。
OpenGL是一个状态机(见redbook),有过其它图形库编程经验的人会熟悉GC或DC这样的概念,其实OpenGL的状态机也可以理解为这样的概念。
现在我看到的一组api是glBegin/glEnd。这里有一些几何学的知识(包括英文说法,这是很重要的)可能要先大概了解一下了,
1. 顶点(Vertex)。这个不用说了,三角形有三个顶点,n边形有n个顶点。。谁能告诉我这个词最早是谁发明的?
2. 简单多边形(simple polygon)。也就是凸多边形,连接多边形上任意两点产生的线段都在多边形内。反之就是复杂多边形。
glBegin/glEnd(以下简称B/E)用于定义多边形的顶点,目前为止OpenGL支持点,直线、三角形、矩形及多边形。有人说,这不直接说支持多边形就完了吗,这么多废话。不然,对于直线,三角形和矩形,OpenGL有一些特殊的玩法,不好用文字描述,自己看redbook p31的图吧。
B/E之间还可以加入辅助顶点定义的其它函数,如glColorXX等。
1. glu,基于opengl封装的更高层的图形库。
2. glut。glut最早是Mark Kilgard用于redbook第二版中的样例写作时而搞出的一套接口,简化各平台上opengl与native window system对接的工作,由于这套接口的确比较简单好用,glut被广泛流行,成为了跨平台的事实标准。但自1998年之后,M. Kilgard就没有再更新过glut。由于glut在发布权限上的限制,开源社区无法将其与其它开源作品一起发布,加之M. Kilgard不再对glut进行更新,于是有了freeglut,它完全开源并遵循X-Consortium license。目前最新的glut版本是2.4。
OpenGL是一个状态机(见redbook),有过其它图形库编程经验的人会熟悉GC或DC这样的概念,其实OpenGL的状态机也可以理解为这样的概念。
现在我看到的一组api是glBegin/glEnd。这里有一些几何学的知识(包括英文说法,这是很重要的)可能要先大概了解一下了,
1. 顶点(Vertex)。这个不用说了,三角形有三个顶点,n边形有n个顶点。。谁能告诉我这个词最早是谁发明的?
2. 简单多边形(simple polygon)。也就是凸多边形,连接多边形上任意两点产生的线段都在多边形内。反之就是复杂多边形。
glBegin/glEnd(以下简称B/E)用于定义多边形的顶点,目前为止OpenGL支持点,直线、三角形、矩形及多边形。有人说,这不直接说支持多边形就完了吗,这么多废话。不然,对于直线,三角形和矩形,OpenGL有一些特殊的玩法,不好用文字描述,自己看redbook p31的图吧。
B/E之间还可以加入辅助顶点定义的其它函数,如glColorXX等。