前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac OpenGL入门:显示颜色

Mac OpenGL入门:显示颜色

作者头像
王云峰
发布2023-10-21 16:30:41
1420
发布2023-10-21 16:30:41
举报
文章被收录于专栏:Yunfeng's Simple Blog

概述

这里以显示一个红色的窗口为例,展示Mac下运行OpenGL代码的一些配置项。这里采用c++ 和cmake来编译代码的方式,比用xcode更直观。

依赖安装

代码语言:javascript
复制
brew install glfw3 glew cmake

源代码

C++源码如下:

代码语言:javascript
复制
#include <GL/glew.h>
#include <GLFW/glfw3.h>

#include <iostream>


using namespace std;

void init(GLFWwindow* window) {
}

void display(GLFWwindow* window, double currentTime) {
    glClearColor(1.0, 0.0, 0.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT);
}

int main() {
    if (!glfwInit()) {
        exit(EXIT_FAILURE);
    }

    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
	
	// mac增加的代码
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

    GLFWwindow* window = glfwCreateWindow(600, 600, "Chapter 2 - program1", NULL, NULL);
    glfwMakeContextCurrent(window);

    if (glewInit() != GLEW_OK) {
        exit(EXIT_FAILURE);
    }

    glfwSwapInterval(1);

    init(window);

    while (!glfwWindowShouldClose(window)) {
        display(window, glfwGetTime());

        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwDestroyWindow(window);
    glfwTerminate();
    
    exit(EXIT_SUCCESS);
}

cmake文件

cmake 代码:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.10)
project(show_box)

include_directories(/usr/local/include)
link_directories(/usr/local/Cellar/glew/2.2.0_1/lib)
link_directories(/usr/local/Cellar/glfw/3.3.4/lib)

add_executable(${PROJECT_NAME} ch2.1.cpp)

target_link_libraries(${PROJECT_NAME}
GLEW
GLFW
"-framework OpenGL"
)

编译代码

代码语言:javascript
复制
mkdir build
cd build
cmake ..
make -j8
./show_box
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 依赖安装
  • 源代码
  • cmake文件
  • 编译代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档