glfw環(huán)境配置

官方文檔:https://learnopengl-cn.github.io/intro/

1 安裝homebrew:https://brew.sh/index_zh-cn

2 安裝glew glfw:
brew install glew
brew install glfw3
安裝完成后在文件路徑 /usr/local/Cellar

修改xcode偏好設(shè)置


image.png

3 配置glad
打開(kāi)GLAD的在線(xiàn)服務(wù)

image.png

生成zip壓縮文件包含兩個(gè)頭文件目錄,和一個(gè)glad.c文件。
將兩個(gè)頭文件目錄(glad和KHR)復(fù)制到你的Include文件夾中(即/usr/local/include),并添加glad.c文件到稍后的工程中。

5 新建工程添加依賴(lài)庫(kù)

image.png

程序入口處添加代碼

#include <stdio.h>
#include <glad/glad.h>
#include <glfw3.h>
#include <iostream>
using namespace std;
void framebuffer_size_callback(GLFWwindow* window, int width, int height);
int main(){
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    
    GLFWwindow *window = glfwCreateWindow(800, 600, "my window", NULL, NULL);
    if (window == NULL) {
        cout << "window = null" << endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    
    
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {
        cout <<"failed " << endl;
        return -1;
    }
    
    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
    while (!glfwWindowShouldClose(window)) {
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    return 0;
}

void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
    glViewport(0, 0, width, height);
}

運(yùn)行程序彈出名為“my window”的黑色窗口


配置成功

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容