学习OpenGL的准备工作

兵马未动,粮草先行。

开发环境

类型 工具 下载地址
编辑器 Eclipse Oxygen CDT https://www.eclipse.org/downloads/packages/
编译器 MinGW http://www.mingw.org/
编译工具 CMake https://cmake.org/download/
GL图形库 GLFW3 http://www.glfw.org/download.html
GL扩展库 GLEW http://glew.sourceforge.net/
版本控制 git bash https://git-scm.com/downloads

我知道上表最大的“槽点”就是用Eclipse来当C/C++的IDE。在正式学习OpenGL之前,我纠结了很长时间来决定自己到底应该使用什么工具。我陆续尝试过Visual Studio 2017、Code::Blocks、Dev C++,现在正在学习xcode。从个人感受上来说,最便利的是Dev C++,最强的是Visual Stuido。在它们面前,Eclipse谈不上有什么优势,为什么还要选Eclipse呢?

主要原因是,我有跨平台、跨语言开发的习惯。我日常使用三台不同的机器:工作用Macbook,家里用 Windows,携带用 Ubuntu;常用三种编程语言:工作用Java,学习图形学用GLSL,研究开源项目需要使用C/C++。其次,有些项目需要多语言协同开发,在各个工具之间来回切换有点麻烦。

我需要一个IDE,它在Mac、Windows、Ubuntu上都可以工作,而且能够同时开发Java、C++、Shader。当我切换到不同的机器上时,只需要通过git更新一下代码仓库,就可以继续进行之前的工作。我已经给自己的Eclipse配置了Shader开发插件、Python开发插件,再加一个C++开发插件也不是什么大问题。

当然,最重要的还是我喜欢Eclipse。

synclipse

eclipse_cdt

学习资料

项目 说明
Learn OpenGL https://learnopengl.com/
Learn OpenGL 中文 https://bullteacher.com/category/zh_learnopengl_com
OpenGL Development http://ogldev.atspace.co.uk/
OpenGL官方规范 https://www.khronos.org/registry/OpenGL/specs/
计算机图形学(第四版) ISBN:978-7-121-24614-2
图形着色器理论与实践 ISBN:978-7-302-31599-5
实时阴影技术 ISBN:978-7-302-34438-4
3D数学基础图形与游戏开发 ISBN:978-7-302-10946-4

除了前不久刚买的《实时阴影技术》外,上面的资料我或多或少都已经浏览过一遍了。这次学习的主要参考资料是 Learn OpenGL 中文版,我将把教程中的程序都自己写一遍,通过这种方式来熟悉GLFW的API。这次学习一定会有很大的收获。