vs2017 openGL的环境配置

转自https://blog.csdn.net/qq_19003345/article/details/76098781

OpenGL的环境配置了好几次都没有成功。

今天,终于试好了,于是分享出来,让其他人能少走弯路。

OpenGL 已经发展到可编程管线了,下面我就来说说 新版OpenGL 和旧版本的OpenGL 组装的办法!

【旧版本 固定管线 也是资料最多的OpenGL】

我的工具是VS2017

1.方法(下载各种库文件)

下载OpenGL的所需要的文件

http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

然后得到5个文件:

glut.dll glut32.dll glut.lib glut32.lib glut.h

找到目录..\VC\Tools\MSVC\14.10.25017\include\gl(没有的话就建立一个)。 将glut.h放到里面。

找到目录..\VC\Tools\MSVC\14.10.25017\lib\x86  将glut.lib,glut32.lib放到里面。
最后把glut.dll和glut32.dll放到
C:\Windows\system32文件夹内(32位系统)或‪C:\Windows\SysWOW64(64位系统)

2.方法(使用VS的插件)

打开vs创建一个C++项目(Win32控制台-空白项目)

然后点击 项目—管理Nuget程序包

然后点击浏览在搜索栏输入NupenGL

然后安装(如果有两个就安装两个)

------------------------------------------------------

最后测试一下:

[plain] view plain copy
  1. #include <GL/glut.h>  
  2. void Show()  
  3. {  
  4.     glClear(GL_COLOR_BUFFER_BIT);  
  5.     glRectf(-0.1f, -0.1f, 0.5f, 0.5f);  
  6.     glFlush();  
  7. }  
  8.   
  9. int main(int argc, char *argv[])  
  10. {  
  11.     glutInit(&argc, argv);  
  12.     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);  
  13.     glutInitWindowPosition(100, 100);  
  14.     glutInitWindowSize(400, 400);  
  15.     glutCreateWindow("OpenGL");  
  16.     glutDisplayFunc(Show);  
  17.     glutMainLoop();  
  18.     return 0;  
  19. }  

运行就会看到一个白色的正方形


我VS使用的字体是 汉趣雅黑W  大小25

【新版本 可编程管线】

 下载GLFW(管理窗口)

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

在这里我们选择编译好的版本 想自己编译的朋友可以下载 Source package(用CMake)


我们选择32-bit,这里不是按照电脑来选的,是按照vs里面的


x86就是32位的

打开vs创建新的空白工程


然后打开项目的文件目录

建立文件夹

Includes

Libs

这个两个名字后面要用的


解压刚才下好的glfw压缩包


把../include/GLFW/中的glfw3.h复制到我们刚创建好的Inlcudes文件夹中


同理把vc2015中的glfw3.lib放到Libs文件夹中


打开vs设置项目属性


如果你的文件夹层级结构和名字和我的一样就这样写,不一样就要调整路径。


打开属性-C/C++ 改成这样

然后链接器-输入



然后我们要下载GLAD(使用OpenGL函数)


http://glad.dav1d.de/



选择成这个样子,然后点击CENRATE


选中最后的压缩包下载,打开压缩包,把include中所有的文件复制到我们的Includes中


把src中的文件复制到这


回到VS,把glad.c添加到工程中


输入以下代码:

  1. #include "Includes\glad\glad.h"  
  2. #include "Includes\glfw3.h"  
  3. #include <iostream>  
  4.   
  5. #define SCR_WIDTH 800  
  6. #define SCR_HEIGHT 600  
  7. int main()  
  8. {  
  9.     
  10.     glfwInit();  
  11.     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);  
  12.     glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);  
  13.     glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);  
  14.     GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);  
  15.     if (window == NULL)  
  16.     {  
  17.         std::cout << "Failed to create GLFW window" << std::endl;  
  18.         glfwTerminate();  
  19.         return -1;  
  20.     }  
  21.     glfwMakeContextCurrent(window);  
  22.      
  23.     if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))  
  24.     {  
  25.         std::cout << "Failed to initialize GLAD" << std::endl;  
  26.         return -1;  
  27.     }      
  28.     while (!glfwWindowShouldClose(window))  
  29.     {  
  30.           
  31.     
  32.   
  33.         glfwSwapBuffers(window);  
  34.         glfwPollEvents();  
  35.     }  
  36.     glfwTerminate();  
  37.     return 0;  
  38. }  

生成一下

有的朋友可能生成成功,成功了最好。

如果有的小伙伴出现这种情况

不用担心,不会有影响,在意的小伙伴 百度搜一下这个问题,很好解决

然后我们运行一下Ok出现这个窗口就成功了


--------------------------------------------------------------------------------------

【查看自己OpenGL 的版本】

  1. #include<Windows.h>    
  2. #include <iostream>    
  3. #include <GL/glut.h>    
  4. using namespace std;  
  5. int main(int argc, char** argv)    
  6. {    
  7.     glutInit(&argc, argv);    
  8.     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);    
  9.     glutInitWindowSize(300, 300);    
  10.     glutInitWindowPosition(100, 100);    
  11.     glutCreateWindow("OpenGL Version");    
  12.   
  13.     cout<<"OpenGL版本号"<<glGetString(GL_VERSION)<<endl;    
  14.     system("pause");    
  15.     return 0;    
  16. }    

最后希望大家多多关注我的OpenGL系列
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值