经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
Linux(Ubuntu) OpenGL 开发环境
来源:cnblogs  作者:皮斯卡略夫  时间:2018/9/26 17:45:02  对本文有异议

Linux(Ubuntu) OpenGL 开发环境

在 PC 平台上开发 OpenGL 可以使用的辅助工具有很多选择,这里我主要参考了 learnopengl 的配置,使用 GLFWGLAD.

准备

基本编译库

  1. sudo apt-get install build-essential

需要 OpenGL 库

  1. sudo apt-get install libgl1-mesa-dev

GLFW

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

下载源码,运行 cmake

正式编译:

  1. make
  2. sudo make install

GLAD

https://glad.dav1d.de/

在这个网站上生成合适的库,我选择了 C/C++ OpenGL Core Version 4.6 然后点击 GENERATE 即可得到压缩包。把压缩包内 include 目录的东西放到本机 include 目录下(/usr/include), 把 src 下的源码拷贝到工程内。

编译

编码,示范代码如下:

  1. #include <glad/glad.h>
  2. #include <GLFW/glfw3.h>
  3. #include <iostream>
  4.  
  5.  
  6. int main()
  7. {
  8.     glfwInit();
  9.     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
  10.     glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
  11.     glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
  12.     //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
  13.  
  14.     GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
  15.     if (window == NULL)
  16.     {
  17.         std::cout << "Failed to create GLFW window" << std::endl;
  18.         glfwTerminate();
  19.         return -1;
  20.     }
  21.     glfwMakeContextCurrent(window);
  22.     
  23.     if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
  24.     {
  25.         std::cout << "Failed to initialize GLAD" << std::endl;
  26.         return -1;
  27.     }
  28.  
  29.     glViewport(0, 0, 800, 600);
  30.  
  31.  
  32.  
  33.     glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
  34.     
  35.     while(!glfwWindowShouldClose(window))
  36.     {
  37.         glClear(GL_COLOR_BUFFER_BIT);
  38.  
  39.         glfwSwapBuffers(window);
  40.         glfwPollEvents();    
  41.     }
  42.  
  43.     glfwTerminate();
  44.  
  45.     return 0;
  46. }

编译方式:

  1. g++ -o run.out GlWindow.cpp  glad.-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]

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号