美文网首页
LearnOpenGL 在Xcode中配置GLEW+GLFW环

LearnOpenGL 在Xcode中配置GLEW+GLFW环

作者: li_礼光 | 来源:发表于2020-09-06 16:47 被阅读0次

    参照 :
    配置GLEW+GLFW并使用Xcode写OpenGL应用
    Mac OpenGL环境搭建 GLEW/GLFW/GLAD 配置 Xcode


    注意, 这里用的是GLFE+GLEW, 其实这都不要紧, 主要是熟悉一下配置过程, 对于glad, 介绍是glew的升级版, 根据参照的教程添加一下就好.


    Part One

    用命令行安装 glew 和 glfw3

    brew install glew
    brew install glfw3
    

    安装之后链接一下:

    brew link glew
    

    通过brew命令安装的软件包都会在

    /usr/local/Cellar
    

    终端cd到对应路径查看大概是这些
    注意: 版本可能不一样, 在项目的Bulid Settings里面找到Header Search Paths 的路径版本号因版本而定. 博客可能是2.1.0_1 , 你用终端安装的时候可能就是2.2了.

    /usr/local/Cellar/glew/2.1.0_1/include
    /usr/local/Cellar/glew/2.1.0_1/lib 
    /usr/local/Cellar/glfw/3.3.2/include 
    /usr/local/Cellar/glfw/3.3.2/lib 
    

    Part Two

    用Xcode创建一个C++项目, 这里选择C++语言
    新项目
    配置Header Search Paths
    Header Search Paths
    导入两个dylib

    添加两个dylib文件的方法是,在你没有在framework中搜索到这两个文件时,点击add other,然后点击shift+command+G进入/usr/local文件夹,然后根据我们之前说的安装glew和glfw3的路径找到这两个文件夹,在这两个文件夹中找到这两个文件,当然这两个文件可能和我图中给出的文件名不同还是因为安装的版本号不同,这个需要注意一下。

    导入lib

    Part Three

    项目代码测试
    #include <iostream>
    
    #include <GL/glew.h>
    #include <GLFW/glfw3.h>
    
    
    void Render(void)
    {
        glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_TRIANGLES);
        {
            glColor3f(1.0,0.0,0.0);
            glVertex2f(0, .5);
            glColor3f(0.0,1.0,0.0);
            glVertex2f(-.5,-.5);
            glColor3f(0.0, 0.0, 1.0);
            glVertex2f(.5, -.5);
        }
        glEnd();
    }
    
    int main(int argc, const char * argv[]) {
        GLFWwindow* win;
        if(!glfwInit()){
            return -1;
        }
        win = glfwCreateWindow(640, 480, "OpenGL Base Project", NULL, NULL);
        if(!win)
        {
            glfwTerminate();
            exit(EXIT_FAILURE);
        }
        if(!glewInit())
        {
            return -1;
        }
        glfwMakeContextCurrent(win);
        while(!glfwWindowShouldClose(win)){
            Render();
            glfwSwapBuffers(win);
            glfwPollEvents();
        }
        glfwTerminate();
        exit(EXIT_SUCCESS);
        return 0;
    }
    
    
    效果样式

    最后 : 先不要管里面的代码的逻辑, 代码的含义, 先跑起来. 不报错就可以开始下一步了.

    PS : 其实很早以前自己也有整理过, 现在重新整理一遍吧, 完整的从0-1的整个OpenGl内容,

    相关文章

      网友评论

          本文标题:LearnOpenGL 在Xcode中配置GLEW+GLFW环

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