• Ubuntu 安装OpenGL


    OpenGL 是一套由SGI公司发展出来的画图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。

    OpenGL 让程式开发者不须要考虑到各种显示卡底层运作是否同样的问题,硬体由 OpenGL 核心去沟通,因此仅仅要显示卡支援 OpenGL,那么程式就不须要又一次再移植,而程式开发者也不须要又一次学习一组函式库来移植程式。


    安装


    首先不可或缺的就是编译器与主要的函式库,假设系统没有安装的话,按照以下的方式安装:

    1. $ sudo apt-get install build-essential

    安装OpenGL Library

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

    安装OpenGL Utilities

    1. $ sudo apt-get install libglu1-mesa-dev
           OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组。提供很多非常方便的函式,使 OpenGL 更强大且更easy使用。

    安装OpenGL Utility Toolkit

    1. $ sudo apt-get install libglut-dev
           OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也添加了 OpenGL 对于视窗介面支援。


           注意:在这一步的时候,可能会出现下面情况,shell提示:

    1. Reading package lists... Done
    2. Building dependency tree
    3. Reading state information... Done
    4. E: Unable to locate package libglut-dev
    将上述$ sudo apt-get install libglut-dev命令改成$ sudo apt-get install freeglut3-dev就可以。



     

    測试


    演示样例test.c源代码:

    1. #include <GL/glut.h>

    2. void init(void)
    3. {
    4.     glClearColor(0.0, 0.0, 0.0, 0.0);
    5.     glMatrixMode(GL_PROJECTION);
    6.     glOrtho(-5, 5, -5, 5, 5, 15);
    7.     glMatrixMode(GL_MODELVIEW);
    8.     gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);

    9.     return;
    10. }

    11. void display(void)
    12. {
    13.     glClear(GL_COLOR_BUFFER_BIT);
    14.     glColor3f(1.0, 0, 0);
    15.     glutWireTeapot(3);
    16.     glFlush();

    17.     return;
    18. }

    19. int main(int argc, char *argv[])
    20. {
    21.     glutInit(&argc, argv);
    22.     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    23.     glutInitWindowPosition(0, 0);
    24.     glutInitWindowSize(300, 300);
    25.     glutCreateWindow("OpenGL 3D View");
    26.     init();
    27.     glutDisplayFunc(display);
    28.     glutMainLoop();

    29.     return 0;
    30. }
    编译程式时,运行下面指令:
    1. $ gcc -o test test.c -lGL -lGLU -lglut
    运行:
    1. $ ./test
  • 相关阅读:
    千氪公开课第一期|如何实现写作收益的最大化?-千氪
    2018年十大区块链投资机构盘点-千氪
    vscode 问题
    jquery点击输入框提示文字消失输入文字变色
    IE8兼容css3
    点击特定按钮,文本框实现输入状态变化
    h5页面在iOS上的问题解决
    纯css三角提示框,兼容IE8
    适配问题
    webstorm配置编译sass
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6811294.html
Copyright © 2020-2023  润新知