首页 > 其他分享 >在VS2019中配置OpenGL环境。(使用CMake方法)

在VS2019中配置OpenGL环境。(使用CMake方法)

时间:2022-08-31 18:48:12浏览次数:58  
标签:txt CMake VS2019 OpenGL VS include glad

网上一大堆VS下配置OpenGL环境的,但是这些方法都是基于VS空项目,并没有利用Cmake来构建。而我之前的代码都是在Linux下使用cmake构建,所以为了更快的在VS下调试运行我的程序,所以花了几分钟利用CMake在VS下构建了OpenGL的环境。

预备

  1. 需要GLFWx64,以及glad包。
    image
  2. 在VS中新建Cmake项目。
    image
  3. 然后更改我的CMakeLlists.txt适应你的项目。
    image
    是内层的CMakeLists.txt不是外层的那个CMakeLists.txt
    image
    需要更改的就是文件夹的路径,改成你自己的文件夹即可。

TIP

  1. 不要直接把glad.c文件拖动过来,而是新建一个glad.c/glad.cpp文件,然后把glad.c的代码复制过来,否则会出问题。

结果

  1. 窗口
    image
  2. 测试代码
// CMake_example.cpp: 定义应用程序的入口点。
//

#include "glad/glad.h"
#include "GLFW/glfw3.h"

#include "CMake_example.h"
#include "T.h"

using namespace std;

int main()
{
    std::cout << "something?\n";

    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);

    while (!glfwWindowShouldClose(window))
    {
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    return 0;
}

标签:txt,CMake,VS2019,OpenGL,VS,include,glad
From: https://www.cnblogs.com/bkct-tech-blog/p/16644123.html

相关文章

  • CMake及交叉工具编译链的安装使用
    1.原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的mak......
  • 阅读《计算机图形学编程(使用OpenGL和C++)》12 - 光照
    现在最常见的光照模型称为“ADS”模型,因为它们基于标记为A、D和S的3种类型的反射。●环境光反射(Ambientreflection)模拟低级光照,影响场景中的所有物体。●漫反射(Diffuse......
  • OpenGL 4.5+ 的 VAO、VBO、IBO写法
    写法opengl4.5新增了DSA(direct_state_access),可以不用glBindBuffer()和glBindVertexArray()直接设置好VAO、VBO、IBO,只需要draw之前bind即可新旧函数对比(左侧为新函......
  • 阅读《计算机图形学编程(使用OpenGL和C++)》11 - 加载外部obj模型
    复杂的3D模型可以借助建模工具生成,这种工具能够在3D空间中构建任意形状并自动生成顶点、纹理坐标、顶点法向量等。模型生成后可导出成obj文件格式,这种格式有很多,OBJ文件很......
  • OpenGL之渲染管线-VBO-VAO
    在OpenGL中,一切都是3D的,但屏幕或窗口是一个2D像素阵列,因此OpenGL的大部分工作是将所有3D坐标转换为适合屏幕的2D像素。这个过程由OpenGL的渲染管线管理。渲染管线可以分为......
  • OpenGL 曝光度调节
    零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES基础零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES特效零基础OpenGLES学......
  • “轻松搞定CMake”系列之find_package用法详解
    本文是“轻松搞定CMake”系列博客中的一篇,该篇文章的主要目的是详细讲解一下CMake中搜包命令find_package的使用和原理。其他更多文章请参考:“轻松搞定CMake”系列博客......
  • Cmake之深入理解find_package()的用法
    刚刚接触Cmake的时候,对于find_package的用法以及背后的原理经常一头雾水,官方文档比较晦涩难懂,网上的博客也都讲解的比较片面。这里通过实战代码案例进行一下详细的总结......
  • cmake find_package路径详解
    Motivation经常在Linux下面写C++程序,尤其是需要集成各种第三方库的工程,肯定对find_package指令不陌生。这是条很强大的指令。可以直接帮我们解决整个工程的依赖问题,自动......
  • OpenGL 亮度调节
    目录一.OpenGL亮度调节效果演示1.IOS演示效果2.WindowsOpenGLES演示效果3.WindowsOpenGL演示效果二.OpenGL亮度调节源码下载1.IOSObject-C版本2.Win......