OpenGL 的学习

Mac10.13.6搭建OPenGL环境

2019-01-03  本文已影响127人  LiYaoPeng

参考资料

LearnOpenGL CN 中文版
LearnOpenGL CN 英文版
在 Mac OS X Yosemite 10.10.5 上配置 OpenGL 编程环境
Mac 10.11.4 opengl开发环境配置
从0开始学OpenGL之Mac篇(1)
搭建Mac OpenGL开发环境

1.安装 HomeBrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装GLFW

  1. 下载源代码:选择Source package

  2. 新建文件夹GLFW并把下载好的glfw-3.2.1文件夹复制到CLFW

  3. 新建一个Build文件夹

    高清图地址:https://img.haomeiwen.com/i4185621/018ac60f7163546c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
  4. 下载 并安装 CMake

    高清图看这里:https://img.haomeiwen.com/i4185621/659b574f254ebe20.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
  5. 打开CMake配置source图片示例

  6. 配置Build图片示例

  7. 点击Configure图片示例

  8. 弹出Secify the generator for this project图片示例
    选择Unix MakefilesUse default native compilers

  9. 点击down后界面变成红色(图片示例

  10. 再次点击 Configure界面变成白色(图片示例

  11. 点击Generate

  12. CMake编译GLFW

打开终端

  1. cd 到你的GLFW目录下的Build文件夹
  2. 输入并回车:make
  3. 输入并回车:sudo make install

3. 安装GLEW

  1. 命令行安装brew install glew
  2. 安装完成后命令行依次执行
sudo make GLEW_DEST=/usr/local
sudo make GLEW_DEST=/usr/local install

注意:

  1. 不能同时使用GLAD与GLEW,否则会报错,
  2. 其头文件的引用,必须要在#include <GLFW/glfw3.h>的上面,否则报错
//#include <GL/glew.h>
#include <glad/glad.h>
#include <GLFW/glfw3.h>

4. 创建项目

  1. 创建MacOs项目图片示例
  2. 删除多余文件图片示例
    删除:main.m、AppDelegate.h、 AppDelegate.m、 ViewContreoller.h、 ViewController.m
  3. 创建c++文件main.cppmain.hpp
    图片示例:创建文件

5. 配置 Xcode

1. 添加 OpenGL.framework、libglfw.3.2.dylib、libGLEW.2.1.0.dylib

  1. 添加OpenGL.framework图片示例
    build Phases
    ~> Link Binary with Libraries
    ~> 点击加号
    ~>搜索OpenGL.framework
    ~> add

  2. 添加 libglfw.3.2.dyliblibGLEW.2.1.0.dylib
    build Phases
    ~> Link Binary with Libraries
    ~> 点击Add Other...图片示例
    ~> 按住键盘 shift+command+G 图片示例
    ~> 输入 /usr/local/lib 并回车
    ~> 寻找 libglfw.3.2.dylib (或者libGLEW.2.1.0.dylib图片示例
    ~> add

2. 配置 Library Search Paths 与 Header Search Paths

  1. 把选项卡由 Build Phases 切换到 Build Settings
  2. 搜索Header Search Paths
  3. 双击 Build Phases Paths后半部分
  4. 添加 /usr/local/include 图片示例
  5. 搜索Library Search Paths
  6. 双击Library Search Paths后半部分
  7. 添加/usr/local/lib图片示例

6. 检验

  1. 编译检验:
    如果编译成功,那么说明环境搭建完成
  2. 代码检验:
    复制代码到 main.cpp 中并运行
#include "main.hpp"
#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);
    {
        glColor4f(1.0,0.0,0.0,0.3);
        glVertex2f(0, .5);
        
        glColor4f(0.0,1.0,0.0,0.8);
        glVertex2f(-.5,-.5);
        
        glColor4f(0.0, 0.0, 1.0,1);
        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;
}
得到图片
上一篇下一篇

猜你喜欢

热点阅读