美文网首页
macos opengl 环境搭建

macos opengl 环境搭建

作者: android小奉先 | 来源:发表于2021-07-17 12:56 被阅读0次

    本篇介绍

    本篇介绍下在macos下搭建opengl环境。

    环境配置

    安装brew

    brew是macos下安装应用包的命令

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

    安装GLEW

    GLEW(The OpenGL Extension Wrangler Library),通过GLEW就可以使用opengl的扩展功能了。

    brew install glew
    

    安装GLFW

    用来创建opengl上下文,操作窗口。

    brew install glfw
    

    下载glad

    glad用来加载opengl库
    打开glad在线网址

    按照下面标注操作下
    其中api gl需要按照自己电脑的opengl 版本来选择,查看方式是可以下载一个glview,点开就可以看到:
    Screen Shot 2021-07-18 at 12.39.20 PM.png
    最后点击GENERATE下载glad压缩包。

    新建工程

    在xcode上新建一个命令行工程

    添加头文件

    添加头文件

    头文件路径包括:
    /usr/local/Cellar/glew/版本号/include
    /usr/local/Cellar/glfw/版本号/include
    下载的glad的头文件路径

    添加依赖库

    添加依赖库

    在main中写测试代码如下:

    //
    //  main.cpp
    //  openglDemo
    //
    //  Created by shanks on 2021/7/17.
    //
    
    #include <iostream>
    #include <glad/glad.h>
    #include <GLFW/glfw3.h>
    
    void framebuffer_size_callback(GLFWwindow* window, int width, int height)
    {
        glViewport(0, 0, width, height);
    }
    
    int main(int argc, const char * argv[]) {
        // insert code here...
        glfwInit();
        glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
        glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
        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))
        {
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
        glfwTerminate();
        return 0;
    }
    

    同时把glad.c 也导入到工程中,运行,这时候可能会提示库没认证,错误如下:

    not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
    

    解决方法如下:

    解决库签名问题
    这时候编译,运行,就会看到结果如下:
    运行结果
    这时候就完成了环境的搭建。
    工程demo 路径

    相关文章

      网友评论

          本文标题:macos opengl 环境搭建

          本文链接:https://www.haomeiwen.com/subject/rhugpltx.html