其实一开始叫我学习 OpenGL我是拒绝的,第一次接触 OpenGL是计算机专业的计算机图形学课程,课后的实验要求用 OpenGL画直线,画圆,反走样之类的,而且主要的图形学部分,老师写好了一个框架,我们只需要实现一些 i, j 自增for 循环加减之类的算法,最后会有一个窗口显示结果
很难看的界面,而且当时我也不喜欢算法,自然对图形学没有什么印象。
今年夏天我有了个想法:我打算实现一个能够联机玩的俄罗斯方块,一人负责扔方块,一人摆放方块。网络模块完成后,图形学模块我陷入了徘徊,究竟是选择DirectX还是OpenGL ,
看到网上说 DirectX 是个游戏引擎,大部分的功能都有实现,支持键盘、声音等等,我便下载了 DirectX,借了一本书准备开始。但是 windows 的函数真的很烦人,各种句柄标签,恶心的命名规则,你说不看意思直接抄上去那也行,但一个200行代码的程序150行是 windows 窗口的声明,你看着不会吐吗?于是放弃了DirectX,准备转战 OpenGL。
在学 OpenGL 前 yalewoo 在做一个 QT 的项目,我了解到 QT 的强大,网络、图形等待都包含在内,而且还跨平台。我要做的小游戏也是需要网络模块图形模块的,而且它是 C++ 啊,我一直想成为 C++ 大神的。于是下了1个G的QT哼哧哼哧装上,自己的 helloworld 还没写,先运行一下自带的 demo,我彻底被它蜗牛般的编译速度恶心到了,而且它的程序只能用 QT 运行,想自己运行还要静态编译 QT 什么的,这怎么能忍?
最终我决定使用几个库文件就能运行的 OpenGL 来开始我的小项目。
参考知乎大神的话,OpenGL 跨平台,是显卡领域的工业标准,DirectX 是微软自家的,微软一向封闭自己,而且d3d9、d3d11各种教程的不统一,让我从 OpenGL入手