歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 13.04使用Mesa

Ubuntu 13.04使用Mesa

日期:2017/2/28 14:45:34   编辑:Linux教程

以前寫過一些關於如何使用Mesa的文章,如今再試。Ubuntu 13.04下有些東西已經變了。

首先安裝:

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;
}

運行結果:

www.linuxidc.com @linux:~/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

Copyright © Linux教程網 All Rights Reserved