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