Linux(Ubuntu) OpenGL 开发环境
在 PC 平台上开发 OpenGL 可以使用的辅助工具有很多选择,这里我主要参考了 learnopengl 的配置,使用 GLFW 和 GLAD.
准备
基本编译库
- 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]