【PT君的OpenGL】第一天【VS2017+OpenGL环境的配置(固定管线+可编程管线)】

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

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

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

我的工具是VS2017

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

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

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

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

最后测试一下:

#include <GL/glut.h>
void Show()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glRectf(-0.1f, -0.1f, 0.5f, 0.5f);
	glFlush();
}

int main(int argc, char *argv[])
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(400, 400);
	glutCreateWindow("OpenGL");
	glutDisplayFunc(Show);
	glutMainLoop();
	return 0;
}

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


我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添加到工程中


输入以下代码:

#include "Includes\glad\glad.h"
#include "Includes\glfw3.h"
#include <iostream>

int main()
{
  
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    GLFWwindow* window = glfwCreateWindow(800, 600, "OpenGLShader", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "创建窗口失败" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
   
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout << "初始化GLAD失败" << std::endl;
        return -1;
    }    
    while (!glfwWindowShouldClose(window))
    {
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    glfwTerminate();
    return 0;
}



生成一下

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

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

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

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


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

【小知识:查看自己OpenGL 的版本(固定管线)】

    #include<Windows.h>  
    #include <iostream>  
    #include <GL/glut.h>  
    using namespace std;
    int main(int argc, char** argv)  
    {  
        glutInit(&argc, argv);  
        glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);  
        glutInitWindowSize(300, 300);  
        glutInitWindowPosition(100, 100);  
        glutCreateWindow("OpenGL Version");  

        cout<<"OpenGL版本号"<<glGetString(GL_VERSION)<<endl;  
        system("pause");  
        return 0;  
    }  

最后,希望大家多多关注我的OpenGL系列。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页