LearnOpenGL CN学习笔记(一)

LearnOpenGL CN学习笔记(一)


前言

最近公司一直在弄将Unity 作为一款渲染引擎进行开发,在以前一直将Unity作为开发引擎,没有做过渲染引擎的案例,所以需要进行一个技术储备就是OpenGL,或者后期需要去进行学习Vulkan,这个笔记仅仅是我个人学习的笔记,没有商业性价值,仅供参考,如有错误望谅解,毕竟在渲染这里我也是个小白。


一、OpenGL是什么?

(这里就是官方网站的一个介绍而已,其实什么是OpenGL不重要,但是怎么用它还是很重要的)
在开始这段旅程之前我们先了解一下OpenGL到底是什么。一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。

OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定(译注:这里开发者是指编写OpenGL库的人)。因为OpenGL规范并没有规定实现的细节,具体的OpenGL库允许使用不同的实现,只要其功能和结果与规范相匹配(亦即,作为用户不会感受到功能上的差异)。

实际的OpenGL库的开发者通常是显卡的生产商。你购买的显卡所支持的OpenGL版本都为这个系列的显卡专门开发的。当你使用Apple系统的时候,OpenGL库是由Apple自身维护的。在Linux下,有显卡生产商提供的OpenGL库,也有一些爱好者改编的版本。这也意味着任何时候OpenGL库表现的行为与规范规定的不一致时,基本都是库的开发者留下的bug。

二、需要的环境

1.GLFW

GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文、定义窗口参数以及处理用户输入,对我们来说这就够了。
下载地址:https://www.glfw.org/download.html
在这里插入图片描述
不要荒 ,要下载的都已经进行标注了。下载下来的在这里插入图片描述glfw3.3.8的包。

2.Visual Studio 2019 IDE

需要在安装的时候将C++模块进行安装,毕竟OpenGL要用到的语言是C++和C。
在这里插入图片描述
这个这个,我下载的就是这个。

3.CMake

(说实话,公司的大哥告诉我这个东西相当于IDE,帮助配置项目工程用的,但是我还是不了解他是干啥的,先跟着教程走,后期可能会出一个专题介绍CMake是用来干什么的。)
下载地址:https://cmake.org/download/
由于我是Windows环境所以我下载的就是这个 自己选择自己适合的。在这里插入图片描述
下载完毕之后直接安装就行没什么讲究。

在设置完源代码目录和目标目录之后,点击Configure(设置)按钮,让CMake读取设置和源代码。我们接下来需要选择工程的生成器,由于我们使用的是Visual Studio 2019,我们选择 Visual Studio 16 选项(因为Visual Studio 2019的内部版本号是16)。CMake会显示可选的编译选项用来配置最终生成的库。这里我们使用默认设置,并再次点击Configure(设置)按钮保存设置。保存之后,点击Generate(生成)按钮,生成的工程文件会在你的build文件夹中。(教程的链接这里有配置的图片可以看一下)

二、编译

所有环境下载好之后当然就涉及到编译啦,来看看下载这些安装这些东西怎么使用。其实对于我这种对于C++半知四分之一解的人也走了一两个小时的弯路,并且连累了公司的C++老师一起看了一个小时多。(lll¬ω¬)

在build文件夹里可以找到GLFW.sln文件,用Visual Studio 2019打开。因为CMake已经配置好了项目,并按照默认配置将其编译为64位的库,所以我们直接点击Build Solution(生成解决方案)按钮,然后在build/src/Debug文件夹内就会出现我们编译出的库文件glfw3.lib。

库生成完毕之后,我们需要让IDE知道库和头文件的位置。有两种方法:

1.找到IDE或者编译器的/lib和/include文件夹,添加GLFW的include文件夹里的文件到IDE的/include文件夹里去。用类似的方法,将glfw3.lib添加到/lib文件夹里去。虽然这样能工作,但这不是推荐的方式,因为这样会让你很难去管理库和include文件,而且重新安装IDE或编译器可能会导致这些文件丢失。
2.推荐的方式是建立一个新的目录包含所有的第三方库文件和头文件,并且在你的IDE或编译器中指定这些文件夹。我个人会使用一个单独的文件夹,里面包含Libs和Include文件夹,在这里存放OpenGL工程用到的所有第三方库和头文件。这样我的所有第三方库都在同一个位置(并且可以共享至多台电脑)。然而这要求你每次新建一个工程时都需要告诉IDE/编译器在哪能找到这些目录。(简单的来说就是随便找个文件夹目录创建两个文件夹一个叫Lib一个叫Include,下一节就会探讨如何去将这两个文件夹去进行配置到我们的IDE中也就是visual studio 2019)
完成上面步骤后,我们就可以使用GLFW创建我们的第一个OpenGL工程了!

总结

这节文档主要是去进行准备我们要用到的环境文件和安装,并且简单的介绍了一下什么是OpenGL其实具体概念不用去记忆,只要知道这玩意能用代码在计算机上去进行根据点线面画出图形就行了,主要是在应用阶段。下一节就要开始第一个工程创建了。尝试了三遍 哎~~~ 但是程序嘛,就那么回事,在无限的尝试中去进行学习。学会了百分之三十其实剩下的全得是在项目中去实践才会越用越熟练。加油!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值