openGl新手入门学习笔记(一)什么是openGl,使用glfw库和环境搭建

这里是一个想要从事游戏行业的平平无奇大学生,之前学过的东西没有记录一会儿就忘了,从现在开始记录博客,巩固自己学习的东西。

一、什么是openGl?

openGl是一个API,而API在百度上的定义是:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

本人粗略理解openGl就是一个方便软件开发者使用各显卡厂商(如英伟达,AMD)制作的显卡来绘制图形的接口,使得软件开发者无需了解底层硬件,只需使用预留的接口便可以制作出图形。

openGl并不开源,它的实现是在各显卡厂商的显卡驱动里,很明显,厂商们并不会将自己的显卡驱动给开源。同时openGl并不是一个库,也不是引擎或者框架,它是一种规范,就类似于c++11这种规范一样。各厂商因为有着不同的显卡驱动,可能不同显卡的openGl有略微差别。

二、glfw的下载与在vs2022进行开发环境搭建

1、glfw的下载

官网地址:https://www.glfw.org/
请添加图片描述
因为目的仅仅只是学习openGl而不是进行大型项目的开发,所以下载如下图的版本即可(已经转化为二进制文件,无需自己手动编译)请添加图片描述
下载结束后解压,接下来进行开发环境的配置。

2、开发环境的配置

使用vs2022进行学习,别的版本应该大同小异。

创建一个空的c++工程文件,并选择显示所有文件。请添加图片描述
新建一个文件夹src,并在其中添加源文件cpp。
请添加图片描述
在glfw官网https://www.glfw.org/中点击右上角的documentation,并将其中的文档复制到vs2022中。
请添加图片描述
请添加图片描述

请添加图片描述
可以看见很多红色的报错,这是因为还没有配置环境。

打开项目的文件夹与解压后的glfw文件夹,在项目文件夹里新建一个dependencies文件夹请添加图片描述
请添加图片描述
将glfw文件夹里的include与lib_vc2022拖入dependencies\GLFW中请添加图片描述
接下来进入工程界面,打开属性请添加图片描述

请添加图片描述
solutiondir为项目文件所在的路径,也就是dependencies文件夹所在的路径
请添加图片描述
请添加图片描述
链接器中库的配置如法炮制
请添加图片描述
请添加图片描述
注意属性页最上面的配置一定是“所有配置”与“win32”。
如果一切配置完成后依然标红,打不开头文件的话,点击vs2022的上方,选择X86。
请添加图片描述

三、开始编译连接,并通过返回的消息进行debug

开始编译请添加图片描述
出现这么多的error是因为我们删掉了很大一部分的.lib依赖项,添加opengl32.lib便可消除图中标出的glClear的error。
在这里插入图片描述
再次编译链接该错误消除。
在这里插入图片描述
复制图中标出的RegisterDeviceNotificationW,并在游览器中搜索
请添加图片描述
请添加图片描述
可看出缺乏的依赖项为User32.lib,就如同添加opengl32.lib一样将其添加进依赖项里便可消除大部分的错误。
在这里插入图片描述
如法炮制,在游览器中搜索几个error所缺乏的依赖项且添加,即可成功运行。
在这里插入图片描述

4、使用古典openGl的方式绘制三角形

添加如下代码

		glBegin(GL_TRIANGLES);
        glVertex2f(-0.5f, -0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        glEnd();

在这里插入图片描述
在这里插入图片描述
运行后得到一个三角形。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Unity中使用OpenGLGLFW,您需要执行以下步骤: 1. 下载和安装GLFW: 在您的计算机上安装GLFW。您可以从GLFW官方网站上下载适用于您操作系统的文件。 2. 创建一个自定义插件: 在Unity中创建一个自定义插件来使用GLFW。这将确保Unity知道在使用OpenGL时要使用GLFW。创建自定义插件的步骤如下: - 在项目面板中单击“Create”按钮,然后选择“Folder”。 - 将文件夹重命名为“Plugins”。 - 在“Plugins”文件夹中单击“Create”按钮,然后选择“C# Script”。 - 将脚本重命名为“GLFWPlugin.cs”。 3. 编写GLFWPlugin.cs脚本: 打开GLFWPlugin.cs脚本并编写以下代码: ``` using UnityEngine; using System.Runtime.InteropServices; public class GLFWPlugin : MonoBehaviour { const string LIB_NAME = "glfw3"; [DllImport(LIB_NAME)] public static extern int glfwInit(); [DllImport(LIB_NAME)] public static extern void glfwTerminate(); [DllImport(LIB_NAME)] public static extern void glfwPollEvents(); } ``` 此脚本包括三个函数:glfwInit,glfwTerminate和glfwPollEvents。这些函数将允许您使用GLFW进行窗口创建和事件处理等操作。 4. 在Unity中使用GLFW: 要在Unity中使用GLFW,您可以使用以下代码: ``` void Start() { GLFWPlugin.glfwInit(); } void Update() { GLFWPlugin.glfwPollEvents(); } void OnDestroy() { GLFWPlugin.glfwTerminate(); } ``` 这些函数将在Unity应用程序启动时调用glfwInit函数,然后在Update函数中调用glfwPollEvents函数以处理事件。最后,在关闭应用程序时调用glfwTerminate函数。 这些步骤应该足够让您在Unity中使用OpenGLGLFW

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值