虽然没想到这么快就开启了OpenGL大坑,可是DirectX学得差很少了,基本内容都有过一遍,是时候二者相互对照着学了,这样本身对图形学的知识会更加精进一步,等后面大师级别就会学OSG和图形学基本原理,看看论文什么的程序员
OpenGL官网编程
OpenGL(Open Graphics Library,开放式图形库)是用于渲染2D 3D场景的跨语言跨平台的应用编程接口(API),这个接口由350个不一样的函数调用组成windows
因为不一样操做系统的差别,OpenGL上下文(相似WinSDK和MFC的关系)的建立过程和IO处理至关复杂,因此freeglut(代替再也不维护的GLUT) GLFW是专门用来建立OpenGL窗口框架
先学freeglut兼容过去的版本,再学GLFW是将来框架的趋势函数
另外SDL QT也是用OpenGL渲染的动画
OpenGL ES就是专门为嵌入式设备设计的spa
WebGL主要应用于网页上操作系统
OpenGL能够在三维空间中绘制各类图元(点 直线 多边形等),还支持光照和着色 纹理贴图 混合透明 动画 特殊效果等设计
OpenGL并不包含任何窗口管理 用户交互 文件I/O等接口
FreeGlut提供的函数不多,以glut开头主要和窗口有关
#Include <freeglut.h>
真正用OpenGL渲染的函数在SDK里面的gl.h之中,由于微软曾经也是OpenGL的参与者之一,VC编译器只支持OpenGL 1.1
OpenGL库老是不断发生变换,制造图形硬件的各个厂商均可能会增长一些新特性,因为这些新特性太新,可能都没有添加到gl.h中,为了使程序员可以使用这些新的OpenGL扩展,能够添加一个 glext.h 的头文件(包含了全部最新版本和扩展函数以及标记)
#include "glext.h"
固然目前我本身还没碰到须要用这个新特性,初学者能够先不加
OpenGL扩展支持库:
调用GLX所提供的函数:#include <X11/Xlib.h>
#include <GL/glx.h>
调用WGL所提供的函数:#include <windows.h>
1992年 OpenGL第一个版本
2004年 OpenGL第二个版本