WSL显示OPENGL绘图

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt install libglfw3-dev
/*
sudo apt install g++ libglfw3-dev
g++ opengl_demo.cpp -o opengl_demo -lglfw -lGL -lX11 -lpthread -lXrandr
*/


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

// 窗口大小
const int WIDTH = 800;
const int HEIGHT = 600;

// 主函数
int main() {
    // 初始化GLFW
    if (!glfwInit()) {
        std::cerr << "GLFW初始化失败" << std::endl;
        return -1;
    }

    // 创建窗口
    GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "OpenGL Demo", nullptr, nullptr);
    if (!window) {
        std::cerr << "窗口创建失败" << std::endl;
        glfwTerminate();
        return -1;
    }

    // 设置当前上下文
    glfwMakeContextCurrent(window);

    // 主循环
    while (!glfwWindowShouldClose(window)) {
        // 清空颜色缓冲区
        glClear(GL_COLOR_BUFFER_BIT);
        
        glBegin(GL_TRIANGLES);
        glVertex2f(-0.5f, -0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        glEnd();        

        // 交换前后缓冲区
        glfwSwapBuffers(window);

        // 处理事件
        glfwPollEvents();
    }

    // 终止GLFW
    glfwTerminate();
    return 0;
}
sudo apt install mesa-utils
glxinfo | grep "OpenGL version"

# OpenGL version string: 4.5 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.1
# OpenGL version string: 4.2 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3
# OpenGL version string: 3.1 Mesa 21.2.6