本文内容根据 https://learnopengl-cn.github.io/  编写。

资源大多在github估计会被墙,可以用我提供的文件。

1.CMake安装

一路next直接完成,

cmake资源链接: https://download.csdn.net/download/zzjzmdx/15681589

2.GLFW 配置

    2.1下载

    https://www.glfw.org/download.html  下载

    

    glfw-3.3.3 资源链接:https://download.csdn.net/download/zzjzmdx/15681682

    2.2编译

    打开cmake,配置路径

    

    下一步,配置项设置,然后点击finish。

    

    出现框中Configuring done后,点击Generate编译。

    

    出现框中Generating done后,表示完成。

    

    可以看到最初配置的路径下多了build文件夹,双击GLFW.sln文件,用vs打开此项目。

    

    在GLFW3上右键,然后点击生成。

    

    出现完成后可以在配置的路径下的build目录下看到编译好的文件。

    

    

    新建个放第三方包的文件夹,把包问价和头文件都放到第三方包目录下

    

    

3.配置GLAD

在线配置,打开 链接https://glad.dav1d.de/,然后填入选项,learnopengl网站用的是3.3,所以配置如下图

点击GENERATE按钮,进入下个页面后点击包文件链接下载文件。

也可以直接用我给的链接下载:https://download.csdn.net/download/zzjzmdx/15682357

之后将文件夹解压后 放入第三方包那个文件夹备用(只要头文件就可以)。

4.vs里面新建项目并下载opengl

在vs里面新建个c++空项目

在项目选项里选择管理NuGet程序包。

在浏览里搜索NupenGL,点击安装即可,此处的包每个新项目都要重新安装。

5.vs项目配置(此处每个新项目都要重新配置

项目右键,选择属性

配置属性----VC++目录------可执行文件目录

然后依次点击下面的按钮

然后选择第三方包文件夹

同样的方式配置配置库目录和包含目录,然后点击确定。

同样方式配置附加依赖项

加入opengl32.lib包依赖

新建一个cpp文件

将刚才的glad.c文件添加到项目下

贴入如下代码

#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>

void framebuffer_size_callback(GLFWwindow* window, int width, int height);
void processInput(GLFWwindow* window);

int main()
{
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

    GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);

    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }

    glViewport(0, 0, 800, 600);

    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

    while (!glfwWindowShouldClose(window))
    {
        processInput(window);
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
    glViewport(0, 0, width, height);
}

void processInput(GLFWwindow* window)
{
    if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
        glfwSetWindowShouldClose(window, true);
}

点击运行

 

出现以下页面表示全部安装完成。

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐