GLFW+GLAD OpenGL Mac开发环境搭建

前言

  • OpenGL 是什么?The Industry Standard for High Performance Graphics 这是官方解释。说白了他就是一套标准接口。对,是接口,并没有实现具体的代码。
  • GLFW 是什么?基于上面的原因,也就清楚了,GLFW就是一种OpenGL的实现。所以开发OpenGL,就可以使用GLFW
  • GLAD 是什么?也是由于OpenGL是由各个公司自己实现的方案,所以各个实现的细节不一致。因为OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对特定显卡实现的。由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询。所以任务就落在了开发者身上,开发者需要在运行时获取函数地址并将其保存在一个函数指针中供以后使用。GLAD可以屏蔽平台之间API的差异。我感觉类似Java的虚拟机的角色。

GLFW安装

编译安装

cd glfw-master
cmake .
# 默认是编译静态库,如果要编译动态库则 cmake -DBUILD_SHARED_LIBS=ON .
make
make install

  最后会看到,说明编译安装成功。

Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/GLFW
-- Installing: /usr/local/include/GLFW/glfw3.h
-- Installing: /usr/local/include/GLFW/glfw3native.h
-- Installing: /usr/local/lib/cmake/glfw3/glfw3Config.cmake
-- Installing: /usr/local/lib/cmake/glfw3/glfw3ConfigVersion.cmake
-- Installing: /usr/local/lib/cmake/glfw3/glfw3Targets.cmake
-- Installing: /usr/local/lib/cmake/glfw3/glfw3Targets-noconfig.cmake
-- Installing: /usr/local/lib/pkgconfig/glfw3.pc
-- Installing: /usr/local/lib/libglfw3.a

配置Xcode

在mac上默认开发工具是xcdoe,所以下面展示下xcode的配置。理论上,GLFW的使用跟IDE是无关的,所以其他IDE应该也是可以配置的。

  1. 配置项目的Build Settings:

    • Other Linker Flags 为 -lgfw3
    • Library Search Paths 的 Debug 和 Release 分别加上/usr/local/lib/
    • Header Search Paths 加上 /usr/local/include/
  2. 添加库,打开项目的Build Phases

    在 Link Binary With Libraries 中添加:

    • Cocoa
    • OpenGL
    • IOKit
    • CoreVideo

到此GLFW的开发环境已经配置完毕,可以开始OpenGL的开发了。

GLAD 配置

在线配置

打开地址:https://glad.dav1d.de/

选3.3版本,generate就可以。

如上图,把glad解压以后,把include里面的2个文件夹放入/usr/local/include 下面。

//
//  main.m
//  GlfwDemo
//
//  Created by banma-087 on 2019/8/21.
//  Copyright © 2019 Deman. All rights reserved.
//

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

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

int main(int argc, const char * argv[]) {
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#ifdef __APPLE__
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // uncomment this statement to fix compilation on OS X
#endif

    GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
    if(window == NULL){
        std::cout << "fail to create 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);
    }
}

这个时候,我们通过上述代码,生成一个页面。

效果如下:

至此,整个OpenGL的环境配置完成了。

参考:

https://www.glfw.org/docs/latest/quick.html

https://github.com/glfw/glfw

原文地址:https://www.cnblogs.com/deman/p/11398259.html

时间: 2024-09-30 11:50:37

GLFW+GLAD OpenGL Mac开发环境搭建的相关文章

OGEngine v2.1.1 Mac开发环境搭建

OGEngine v2.1.1 Mac开发环境搭建 OGEngine v2.1.1拓展了iOS平台的支持,我们现在来搭建下开发环境.注意,由于iOS版本的编译开发必须在Mac系统上,所以我们的部署也是在Mac环境下进行的. 1. 检查系统 建议系统版本在 v10.8.5以上 2. 安装Xcode 建议5.1.1以上版本 可打开AppStore下载,程序较大2.3G大小,时间可能较长. 安装完后可以确认下是否安装成功:打开Xcode,新建一个工程,在模拟器上运行确认. 3. 搭建Java环境 Ja

Go 场景 - 0001 - Mac开发环境搭建

步骤 下载安装包并安装 设置环境变量 vi ~/.bash_profile export GOPATH=/Users/Xxx/go/ export GOROOT=/usr/local/go export GOBIN=$GOPATH/bin -- 对应go install命令 export PATH=$GOROOT/bin:$GOPATH/bin:$PATH Mac配置环境变量的地方 /etc/profile(建议不修改这个文件)全局(公有)配置,不管是哪个用户,登录时都会读取该文件. /etc/

MAC开发环境搭建

装机1.安装home-brew2.安装步骤在:http://blog.frd.mn/install-nginx-php-fpm-mysql-and-phpmyadmin-on-os-x-mavericks-using-homebrew/(中间可能需要建立软连接来设置开机启动,可以从文章中看到如何建立)3.使用brew install 安装redis4.使用brew install安装composer5.从BIT BUCKIT上clone代码6.配置nginx的site-enable文件夹内部内容

Xcode环境下OpenGL C++ GLFW开发环境搭建

操作系统版本:MacOS Mavericks 10.9.2 Xcode版本:5.0.1 OpenGL版本:4.10 GLFW版本:3.0.4 一.GLFW编译 1.下载并安装cmake(当前最新版本为2.8.12.2) http://www.cmake.org/cmake/resources/software.html 下载cmake-2.8.12.2-Darwin64-universal.dmg文件安装即可 2.下载GLFW源代码(当前最新版本为3.0.4) http://www.glfw.o

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相) 2014-08-23 21:37 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 在安装Xcode前,我们先了解下Mac下如何卸载U盘!在VM9下,同一时间内,一个物理设备只能由一个系统去独占,无论是物理机还是虚拟机.我们可以了解一下虚拟机加载U盘的规则:    1.在虚拟机中加载U盘时,会自动将U盘从Wind

XE6移动开发环境搭建之IOS篇(4):VMware9里安装Mac OSX 10.8(有图有真相)

XE6移动开发环境搭建之IOS篇(4):VMware9里安装Mac OSX 10.8(有图有真相) 2014-08-18 21:10 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 以下内容比较长,我们努力地图解每一个步骤,没有耐心的观众可以忽略前27步,直接看第28步最终结果.--------------------------------------------------------------- 1.在虚拟机主界

XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络。(有图有真相)

XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络.(有图有真相) 2014-08-23 21:37 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 我们配置一下MAC的IP,给定一个固定的内网IP,以便我们的XE6能更好地连接它!--------------------------------------------------------------- 1.打开虚拟机,在MAC里,点一下桌面(星空图

XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相)

XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相) 2014-08-20 20:28 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 在安装XE6 PAServer前,我们先解决Windows和虚拟机下Mac的文件共享问题,由于虚拟机和我们安装的XE6是同一台电脑,所以此问题很好解决.网上相传有很多的共享大法,但是在WIN7这种权限管制得过份的系统下显得相对复杂了,

XE6移动开发环境搭建之IOS篇(3):配置虚拟机,设置Mac安装环境(有图有真相)

XE6移动开发环境搭建之IOS篇(3):配置虚拟机,设置Mac安装环境(有图有真相) 2014-08-16 11:44 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 1.创建新的虚拟机--------------------------------------------------------------- 1.创建新的虚拟机. 2.我们自己去决定虚拟机的参数,选择自定义配置,点击'继续'. 3.选择版本:WorkS