zoukankan      html  css  js  c++  java
  • Ubuntu13.04使用Mesa

    3年前写过一些关于如何使用Mesa的文章,如今再试。有些东西已经变了。

    首先安装:

    sudo apt-get install libgl1-mesa-dev
    sudo apt-get install libglu1-mesa-dev
    sudo apt-get install freeglut3-dev


    现在不用NetBeans了,用CMake创建工程。

    根目录下的CMakeLists.txt内容:

    cmake_minimum_required(VERSION 2.8)
    project (vender)
    add_subdirectory(src bin)


    src目录下的CMakeLists.txt文件内容如下:

    cmake_minimum_required(VERSION 2.8)
    set(CMAKE_BUILD_TYPE Debug)
    set(PROJECT_INCLUDE_DIR ../include)
    
    include_directories(${PROJECT_INCLUDE_DIR})
    AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src CPP_LIST1)
    
    add_executable(vender ${CPP_LIST1})
    target_link_libraries(vender GL GLU glut)
    add_definitions(-Wall)

    然后看一下src/main.cc文件内容,和3年前代码一样。

    #include <GL/glut.h>
    
    void init();
    void display();
    
    int main(int argc, char* argv[]) {
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
      glutInitWindowPosition(0, 0);
      glutInitWindowSize(300, 300);
    
      glutCreateWindow("OpenGL 3D View");
    
      init();
      glutDisplayFunc(display);
    
      glutMainLoop();
      return 0;
    }
    
    void init() {
      glClearColor(0.0, 0.0, 0.0, 0.0);
      glMatrixMode(GL_PROJECTION);
      glOrtho(-5, 5, -5, 5, 5, 15);
      glMatrixMode(GL_MODELVIEW);
      gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
    }
    
    void display() {
      glClear(GL_COLOR_BUFFER_BIT);
    
      glColor3f(1.0, 0, 0);
      glutWireTeapot(3);
    
      glFlush();
    }
    

    运行结果:



    我这次不想绘制什么图形,只是想知道我的显卡类型。因此代码删减如下:

    #include <GL/glut.h>
    
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char* argv[]) {
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
      glutInitWindowPosition(0, 0);
      glutInitWindowSize(300, 300);
      
        
      glutCreateWindow("OpenGL 3D View");
    
      GLubyte const* vender = glGetString(GL_VENDOR);
      cout << "GL_VENDOR: " << vender << endl;
    
      GLubyte const* renderer = glGetString(GL_RENDERER);
      cout << "GL_RENDERER: " << renderer << endl;
    
      GLubyte const* version = glGetString(GL_VERSION);
      cout << "GL_VERSION: " << version << endl;
    
      return 0;
    }
    


    运行结果:

    dean@dean-GA-MA790XT-UD4P:~/work/opengl/vendor/build/bin$ ./vender 
    GL_VENDOR: X.Org
    GL_RENDERER: Gallium 0.4 on AMD JUNIPER
    GL_VERSION: 3.0 Mesa 9.1.4


  • 相关阅读:
    hdu 4332 Constructing Chimney 夜
    poj 2449 Remmarguts' Date 夜
    poj 2728 Desert King 夜
    poj 1639 Picnic Planning 夜
    poj 1125 Stockbroker Grapevine 夜
    poj 3621 Sightseeing Cows 夜
    hdu 4333 Revolving Digits 夜
    hdu 4345 Permutation 夜
    hdu 1874 通畅工程续 夜
    es6(二)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3201206.html
Copyright © 2011-2022 走看看