跟我一起从零基础开始学OpenGL-01

为什么想学OpenGL,厌烦了业务代码,厌烦了学习使用各种框架,厌烦了码蚁一样的生活,房租,水电,面试,工作……

人总是要有理想的,以前学算法,学组原,也是人云亦云,必须要学这个。后面学前端也是,从HTML到JS到React到放弃。

我本科是物理专业的,想想曾经只出现在书本上的拉格朗日力学,万有引力,波动力学,分子热运动,能可视化的体现在电脑桌面上,也是对自己专业的一个交代吧,想当初大一立下的豪情壮志,4年内学完MAYA和3DMAX,UNITY,结果借的书一次没翻开过。想想最近游戏界出现的UE5,光线追踪,听到这些词就足以让人兴奋。

不积跬步,无以至千里。糊口要有,梦想也要有。(写这篇文章的我正在图书馆,我觉得我应该去当个图书管理员)

本人能力有限,也是0基础开始学OpenGL,学习能力强的建议自己去寻找学习资源,效率会更高

https://learnopengl-cn.github.io/

视频可以去B站搜索闫令琪的视频

书籍推荐《计算机图形学》《计算机图形学编程 使用OpenGl和C++》

 

不废话了,先从环境搭建开始吧。

1.下载glfw

https://www.glfw.org/download.html

下载是一个压缩包,解压到本地,如下:(是不是太啰嗦了点)

2.下载Cmake

https://cmake.org/download/

同样解压到本地,然后打开cmake-gui.exe

 

 

source code ,填写我们之前解压的glfw所在路径

下面的build,当然也是在glfw路径下新建一个build文件夹

 

点这个这个gui页面的configure

我本地已经下载好了VS,我也不写了,随便搜了一下别人的安装教程https://www.cnblogs.com/HGNET/p/12165001.html

然后点击finish,如下

等一会

然后再点击configure按钮,然后点击generate

这时我们的buidl文件下会生成一堆文件,如下

然后点击这个glfw.sln文件

打开后选择生成解决方案

3.下载GLAD

这里我们不知道这个gl版本是多少,发现我之前安装的AIDA64能看

http://www.aida64.com.cn/html/downloads.html

回到我们刚才的GLAD页面

选择generate

 

下载glad.zip,并解压

4.配置项目

前面一堆操作,我们得到了这些头文件和库文件,也就是.h和.lib,还有.c结尾的文件

 

现在回到VS,我们创建一个空白的解决方案

 

 点击创建后,打开我们的MyProject文件夹,长这样

现在我们创建一个Libraries文件夹,像这样

打开Libraries,创建include和lib文件夹,用来存放我们的.h文件和.lib文件,话说我这种C++零基础的要不要去买一本C++ prime

把上面提到的文件都复制过来,如下

 

然后开始配置我们的VS

首先新建一个项目

选择属性,如下

在包含目录下,添加我们的include文件路径..\Libraries\include,如下

库目录也相同../Libraries/lib,如下

还有我们的输入

然后点击确定

新建一个hello world文件

里面放两行代码

#include <glad/glad.h>
#include <GLFW/glfw3.h>

执行,出错了

VS掌握的不好,先按照教程新建一个空白项目https://docs.microsoft.com/zh-cn/cpp/build/vscpp-step-1-create?view=vs-2019

删去其它文件,只保留我们的库文件夹,然后创建一个新项目

删去已有的代码

 

按F5执行报错了,感觉自己宛如智障,

摸索了一个小时,觉得还是自己对include理解不够

比如我上面写的#include <glad/glad.h>,会去我设置的包含目录E:\learn\OpenGL\MyProject\Libraries\include去找,因为我是把所有的文件都放入include文件夹中的,所以应该改成 #include <glad.h>

现在给出正确的做法,由于复制learnopengl-cn网站上的源码,比如这样

这个include 文件夹下是有glad文件夹,glad文件夹下又又这个glad.h文件

所以统一按照它给的方式。

还是前面所说的几个文件。给出文件目录结构,各位可以先按我的文件结构弄好(要不直接复制到ide的lib文件夹下吧)

点击去glad如下,

其它文件夹如下

 

然后打开VS,创建新项目

打开VS页面如下

文件路径如下

然后就是修改我们的属性

 

然后新建一个main.cpp文件

复制下面的代码

#include <glad/glad.h>
#include <GLFW/glfw3.h>
int main()
{
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

    return 0;
}

像这样

先按F5,看看效果

改成x64,再试下

先把之前提到的glad.c复制进来,再执行看看效果,复制到和我们的main.cpp同一路径下

执行后仍旧报错,看来还是得添加源文件

结果如下

再次执行

不知道搭建成功没有,顶不住了,先到这里吧

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值