Linux(Ubuntu) OpenGL 開發環境


Linux(Ubuntu) OpenGL 開發環境

在 PC 平台上開發 OpenGL 可以使用的輔助工具有很多選擇,這里我主要參考了 learnopengl 的配置,使用 GLFWGLAD.

准備

基本編譯庫

sudo apt-get install build-essential

需要 OpenGL 庫

sudo apt-get install libgl1-mesa-dev

GLFW

操作指南:http://www.glfw.org/docs/latest/compile_guide.html

下載源碼,運行 cmake

正式編譯:

make
sudo make install

GLAD

https://glad.dav1d.de/

在這個網站上生成合適的庫,我選擇了 C/C++ OpenGL Core Version 4.6 然后點擊 GENERATE 即可得到壓縮包。把壓縮包內 include 目錄的東西放到本機 include 目錄下(/usr/include), 把 src 下的源碼拷貝到工程內。

編譯

編碼,示范代碼如下:

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


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, "LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW 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);



    glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
    
    while(!glfwWindowShouldClose(window))
    {
        glClear(GL_COLOR_BUFFER_BIT);

        glfwSwapBuffers(window);
        glfwPollEvents();    
    }

    glfwTerminate();

    return 0;
}

編譯方式:

g++ -o run.out GlWindow.cpp  glad.c -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXxf86vm -lXinerama -lXcursor -lXi -ldl

可以出現一個暗綠色的窗口。

參考:

https://learnopengl.com/Getting-started/Creating-a-window

Howto Install OpenGL Development Environment

Undefined References Compiling OpenGL/glfw/glew on Ubuntu(g++) [duplicate]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM