目前网络上最好的OpenGL教程无疑是JOEY DE VRIES 的LearnOpenGLCN,网址如下:https://learnopengl-cn.github.io/,VRIES使用的是glfw+glad,IDE(集成开发工具)为Visual Studio。Linux上并没有Visual Studio,对于Linux下的开发者来说,可以用jetbrains公司的clion来代替Visual Studio,搭建开发环境。

 

1.安装Clion

首先安装qt5的依赖,在终端中执行以下命令:

sudo apt install qttools5-dev-tools

接着到jetbrains的官网下载jetbrain toolbox,这个toolbox可以一键安装Intellij idea,phpstorm,pycharm,clion等大名鼎鼎的IDE,当然这些都是jetbrains这一家公司开发出来的,网址如下:https://www.jetbrains.com/toolbox/app/?fromMenu

将下载好的tar.gz后缀的压缩包解压,先cd进去,然后执行sudo ./jetbrains-toolbox便可启动toolbox了,点击clion安装即可。如果没安装qt5的依赖,这时jetbrainstoolbox启动的时候终端里就会出现:QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root',并且点击install某个软件会安装不上。

如果弹出这个:

 

给文件夹加个权限即可,命令如下:

sudo chmod -R 777 /home/[username]/.local/share/JetBrains

 

2.下载并安装glfw

下载地址如下:https://www.glfw.org

解压,cd进解压后的文件夹中,mkdir一个名字叫build的目录,这个目录是cmake编译的目录,安装glfw是需要cmake的,在命令行输入cmake --version检查自己的cmake版本,如果电脑上并没有cmake,可以输入命令sudo apt install cmake安装。然后安装依赖,输入以下命令:

sudo apt-get build-dep glfw
sudo apt-get install cmake xorg-dev libglu1-mesa-dev

cd进刚刚新建的build目录,输入命令cmake ../,如没有提示报错ERROR,则下一步输入make,make成功后继续输入sudo make install,如出现下图所示则代表安装成功。

 

3.下载并安装glad

下载地址如下:https://glad.dav1d.de,选择需要的版本和模式:

随后点击页面右下角的GENERATE,接着跳入新的页面点击glad.zip进行下载。

解压 glad的压缩包,cd进目录,将include目录下的两个文件夹glad和KHR复制到/usr/local/include中,命令如下:

cd include
sudo mv * /usr/local/include

 

4.下载并安装glm数学库

下载地址如下:https://github.com/g-truc/glm,直接clone就好,然后解压,如下图所示。

复制其中的glm文件夹到/usr/local/include下即可,命令如下: 

cd glm
sudo cp -r glm/ /usr/local/include

 

5.下载并安装Assimp图形库

下载地址:https://github.com/assimp/assimp,直接clone就好,然后解压,如下图所示:

cd进解压的目录下,然后新建一个build的目录,命令mkdir build,接着cd进build里,输入cmake ../ 回车,如果没报错继续输入make回车,具体操作看下图:

make过程中没出错的话继续输入sudo make install,如出现下图则表示安装成功:

如果中间报了需要gtest之类的错误,那就安装gtest,步骤如下:

1.安装依赖:sudo apt-get install libgtest-dev;

2.下载gtest,下载地址:https://github.com/google/googletest,clone并下载下来,会得到一个名字叫做googletest-master.zip的文件;

3.解压它,cd进解压的目录下,新建一个build的文件夹,mkdir build,接着cd进build里,输入cmake ../ 回车,完成后依次执行make,以及sudo make install。在安装完gtest后返回解压的Assimp文件夹中的buiild,继续执行make,sudo make install;

4.将生成的libgtest.a 和 libgtest_main.a 拷贝到系统的lib路径下:sudo cp libgtest*.a /usr/local/lib。

 

注意事项

1.在写代码的时候,其余部分和visual studio中一样,但是clion中编写OpenGL需要修改一下自动生成的cmakelist.txt,下面给一个示例,按这个改就可以了。

cmake_minimum_required(VERSION 3.14)    // 3.14是你的cmake版本,自动生成的
project(OpenGLDemo)    // OpenGLDemo是你的项目名
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp glad.c stb_image.cpp)    // 这里的部分自动添加的
add_executable(OpenGLDemo ${SOURCE_FILES})    // OpenGLDemo是项目名
target_link_libraries(OpenGLDemo glfw3 GL m Xrandr Xi X11 Xxf86vm pthread dl Xinerama Xcursor)    // 这里可以直接复制,项目名称要更改

2.在clion中如果用到了目录中的文件,注意当前目录是在cmake-debug-build中,并不是在本项目中,所以使用本项目中的文件需要加上"../"。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐