您现在的位置是:首页» windows系统» vs2017界面设置,vs配置opengl教程

vs2017界面设置,vs配置opengl教程

2024-07-13 01:57:58
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。参考书目:Computer Graphics Programming in OpenGL Using C++ by V Sc

本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。

参考书目:Computer Graphics Programming in OpenGL Using C++ by V Scott Gordon John L Clevenger (z-lib.org)下载方式: zlibrary 网站(https://zh.ng1lib.org/)中搜索书名

OpenGL 官方帮助手册,网址:https://www.opengl.org/sdk/docs/man

书中的例子需要 GLM 库,在附录有教安装步骤,GLM 库 的文档,网址:https://glm.g-truc.net/0.9.9/index.html

SOLI 库:用来加载图片纹理图像,网址: https://github.com/SpartanJ/soil2

3D 图形变成相关的书籍推荐:• (Sellers et al.) OpenGL SuperBible [SW15]• (Kessenich et al.) OpenGL Programming Guide [KS16] (the “red book”)• (Wolff) OpenGL 4 Shading Language Cookbook [WO13]• (Angel and Shreiner) Interactive Computer Graphics [AS14]• (Luna) Introduction to 3D Game Programming with DirectX 12 [LU16]

如何查找电脑的显卡能否支持什么版本的OpenGL① 计算机管理 -> 设备管理器 -> 显示适配器 -> Interl® HD Graphics 620

用测试工具GPU_Caps_Viewer查看显卡支持的OpenGL的版本号,可能是 4.1.书中说最好支持4.3以上,所以不确定是否有影响

下载了 GLview 免费软件,查看版本号,图中显示,可以支持 4.4的版本,应该能满足书中的要求,GLview 的压缩包,解压打开直接用即可,不需要安装

确保 OpenGL 的版本号之后,需要编译 GLFW, 编译之前,需要安装 cmake,cmake 网址在:https://cmake.orgcmake 下载, 网址:https://cmake.org/download/公众号安装教程: https://mp.weixin.qq.com/s/6Pu9qQgwoaT2WvX37uK_aw

下载 GLFW

 下载 glfw-3.3.6,网址是:https://www.glfw.org/位置:E:pgcode220124 computer graphicglfw-3.3.6 下载 cmake,网址是:https://cmake.org/download/位置:F:cmakecmake-3.22.1-windows-x86_64bin貌似直接打开 cmake-gui.exe 就能用,不需要安装,但是在电脑 cmd 输入 cmake –version看不到 cmake的信息。以下是 cmake 的界面

 打开cmake, 用 cmake 编译 glfw 文件夹,具体步骤是,①“where is the source code”输入 glfw 文件夹所在位置“E:/pg/code/220124 computer graphic/glfw-3.3.6/glfw-3.3.6”②“where to build the binaries”输入 cmake生成文件想要存储的位置“E:/pg/code/220124 computer graphic/CmakeGLFW”③点击 “configure”,由于电脑装的是 vs2017, 注意跳出的窗口要选择 VS2017④ 编译成功后,选择“generate”,在生成的文件夹中可以看到 “GLFW.sln”,用vs2017打开⑤ VS2017 打开 “GLFW.sln”后,直接点击“本地 Windows 编译器”,即可直接编译图 cmake 界面图 点击 configure 后弹窗,需要选择电脑安装的VS版本,电脑安装2017VS,所以选择2017图 cmake 编译 GLFW 后生成的文件夹,其中 GLFW.sln 文件需要用 VS2017打开图 VS2017 成功打开 GLFW.sln 后,直接点击 “本地 Windows 编译器”,VS开始编译 结果:上述步骤,主要生成了三个文件,在后续工作中会用到① 库 “glfw3.lib”位置 “E:pgcode220124 computer graphicCmakeGLFWsrcDebug”,就是在cmake 编译 glfw 文件后生成的文件夹 CmakeGLFW 中② 两个头文件,在 GLFW 文件夹中,位置是: 就是在,网上下载的 glfw 的文件夹 include 中,有 GLFW文件夹E:pgcode220124 computer graphicglfw-3.3.6glfw-3.3.6includeGLFW

下载 GLEW

 网址:http://glew.sourceforge.net/① 注意下载的 window 版本下的,而不是普通的 zip

② 位置:E:pgcode220124 computer graphicglew-2.1.0-win32③ 需要的文件文件 glew32.dll 位置: bin 文件夹 -> Release 文件夹 -> x64 文件夹库 glew32.lib 位置: lib 文件夹 -> Release 文件夹 -> x64 文件夹文件夹 GL 位置: include 文件夹 -> GL 文件夹

下载 GLM

 网址:https://github.com/g-truc/glm/releases/tag/0.9.8.0 版本:0.9.8.0 Csdn 参考教程: https://blog.csdn.net/Wonz5130/article/details/83116009教程过程:步骤是,在 VS 创建的项目所在文件夹中,将下载的 glm-0.9.8.0 复制进去,在 VS 界面中,将这个项目的属性中,“添加包括的目录 Additional Include Directories ”添加 glm 的文件夹,然后在项目的源代码里面输入头文件:

//glm#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp> //需要什么变换,就导入什么文件,具体可以去官网看#include <glm/gtc/type_ptr.hpp>

 需要的文件:压缩包解压后,glm文件夹

下载 SOIL2 库

 首先下载 premake 工具,需要用 premake5.exe Premake 下载网址 : https://premake.github.io/download SOIL2 下载网址: https://github.com/SpartanJ/soil2 SOLIL2 和 premake 下载后的压缩包存储位置: E:pgcode220124 computer graphic 将 premake5.exe 复制到 SOIL2 文件夹,然后在 SOIL2 文件夹的路径上 更改为 cmd,调出在这个路径下的命令窗口:图 如何在 SOIL2 文件夹中,调出该路径下的命令窗口

 在 SOIL2 库所在路径下的cmd 窗口 输入:premake5 vs2017 打开 SOIL2 文件夹 -> make 文件夹 -> windows 文件夹 ,位置为:E:pgcode220124 computer graphicSOIL2-masterSOIL2-mastermakewindows右键用 VS2017 打开 SOIL2.sln 打开 VS2017后,右键点击左边栏 “soil2-static-lib”-> “生成” 如果报错:MSB8036 找不到 Windows SDK 版本 8.1。请安装所需版本的 Windows SDK,或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。解决方法:参考网址:https://blog.csdn.net/weixin_44981971/article/details/122035658?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_aa&utm_relevant_index=2实际步骤:① “项目” -> “重定解决方案目标”② 在弹出窗口,默认选项,直接按确定③ 右键选定 “soil2-static-lib”,选择“重定向项目”,弹窗中按照默认选项,选择确认 ④ 重复报错前的那一步,右键点击左边栏 “soil2-static-lib”-> “生成”,此时就没有报错了

建立自己的 lib 库 和 include 库

 在自己喜欢的电脑储存位置上,建立一个文件夹,这里命名为 0126 template, 文件夹下再建立两个文件夹,分别命名 “lib”和“include”。另外,将 glew32.dll 文件复制进该文件夹,复制来源:glew32.lib: E:pgcode220124 computer graphicglew-2.1.0-win32glew-2.1.0binReleaseWin32 “lib”文件夹中,三个文件:glew32.lib , glfw3.lib, soil2-debug.lib, 位置分别在:glew32.lib:E:pgcode220124 computer graphicglew-2.1.0-win32glew-2.1.0libReleasex64glfw3.lib:E:pgcode220124 computer graphicCmakeGLFWsrcDebugsoil2-debug.lib: E:pgcode220124 computer graphicSOIL2-masterSOIL2-masterlibwindows “include”文件夹中,四个文件夹,GL, GLFW, glm, SOIL2, 位置分别在:GL: E:pgcode220124 computer graphicglew-2.1.0-win32glew-2.1.0includeGLFW: E:pgcode220124 computer graphicglfw-3.3.6glfw-3.3.6includeglm: E:pgcode220124 computer graphicglm-0.9.8.0SOIL2: E:pgcode220124 computer graphicSOIL2-masterSOIL2-mastersrc 将所有文件复制完后的结构: 以上为 PDF 370 – PDF 374 的内容,是附录A的内容

调试pdf 29 页的程序

 新建项目后,如何将现有文件夹加入vs项目中参考教程:https://blog.csdn.net/weixin_44378800/article/details/106697612 如何将现有 lib 库导入项目,右键项目,选择“添加”-> 现有项,将 lib 导入 VS2017出现C4996 ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead.错误参考教程:https://blog.csdn.net/qq_28114615/article/details/85683550解决办法:项目——属性——C/C++——预处理器——预处理器定义——右侧下拉框中“编辑”——在第一个编辑框中添加_CRT_SECURE_NO_WARNINGS——大功告成

 错误“main 函数已经在main.obj 文件中定义过”,解决办法:右键选中 main, 选择“查找所有引用”,查到 dummy.cpp 文件中也有一个 main 函数定义,由于 dummy.cpp 文件中没有任何有用信息,所以更改 里面的mian 函数名称为 main_dummy,重新编译解决问题 编译报错,定义的 display 函数中调用了 glClearColor 和 glClear 函数,“无法解析的外部符号”,所以在项目属性中,配置属性 -> 链接器 -> 输入 -> 附加依赖项中,增加一个 OpenGL32.lib -> 确定 -> 确定 需要XXX.lib或XXX.dll库。手动添加,项目->属性->配置属性->链接器->输入 然后在附件依赖项添加XXX.lib,再生成第一个无法解析的外部符号错误消失了。

 增加 OpenGL32.lib 附加依赖项之后,运行报错,vs运行时提示:应用程序无法正常启动(oxc000007b)。请单击"确定"关闭应用程序打开生成的 “220126 template.exe”,位置是:E:pgcode220124 computer graphic220126 template220126 templateDebug这个exe 文件无法顺利打开,报错是“找不到 glew32.dll”注意,这里是将 win32 文件夹中的 glew32.dll 放入电脑的 SysWOW64 文件夹中,也就是将32位的 dll 文件放入 系统对应存储64位的文件夹里。就是从 E:pgcode220124 computer graphicglew-2.1.0-win32glew-2.1.0binReleaseWin32 文件夹中,复制 “glew32.dll” ,在C:WindowsSysWOW64 文件夹中,粘贴刚刚复制的 dll 文件。这样就可以顺利生成,结果如下:

分析2.1代码

glClearColor(1.0, 0.0, 0.0, 1.0);// 四个数 (1,0,0,1)是 RGBA的格式GLFW和GLEW库激活函数:

glfwCreateWindow() :用来创造 GLFW 窗口,长,宽,顶部的标题和 对应的内容 window hints 窗口提示:提示机制必须兼容 openGL 4.3,就是代码中的: major = 4 minor = 3glfwSwapInterval() and glfwSwapBuffers(): 用来垂直同步?glfwMakeContextCurrent() :用来使得窗口的内容显示出来display(): 循环函数glfwSwapBuffers(): 涂屏幕窗口 paint the screenglfwPollEvents(): 对类似键盘被按下的事件做出反应glfwGetTime(): 返回GLFW 初始化的时间glClear(GL_COLOR_BUFFER_BIT);意思是,将颜色缓存器的颜色清理掉,重新提供预设好的颜色glClearColor()就是在清理颜色缓存器之前,要提供一个颜色,以便清理缓存器后提供glfwDestroyWindow() and glfwTerminate()结束这个窗口并停止PDF31

 补充知识点:

vs中,include 其他文件夹的头文件时候,需要用 双引号 而不是<>,同时,创建名为test的解决方案项目时候,有一个文件夹 test,里面有 test.sln 和 test 文件夹,需要引用的头文件在子文件夹 test 中,那么就写作 include “GL/xxx.h”,其中 GL文件夹就在 test 子文件夹中。

XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com