Howto Install OpenGL Development Environment

出自Ubuntu 正體中文 Wiki

跳轉到: 導航, 搜尋

目錄

前言

OpenGL 是一套由SGI公司發展出來的繪圖函式庫,它是一組 C 語言的函式,用於 2D 與 3D 圖形應用程式的開發上。

OpenGL 讓程式開發人員不需要考慮到各種顯示卡底層運作是否相同的問題,硬體由 OpenGL 核心去溝通,因此只要顯示卡支援 OpenGL,那麼程式就不需要重新再移植,而程式開發人員也不需要重新學習一組函式庫來移植程式。

接下來,我們就一步一步的在Ubuntu底下建立開發OpenGL應用程式的環境。

安裝

建立基本編譯環境

首先不可或缺的,就是編譯器與基本的函式庫,如果系統沒有安裝的話,請依照下面的方式安裝:

sudo apt-get install build-essential

安裝OpenGL Library

接下來要把我們會用到的 Library 裝上去,首先安裝 OpenGL Library

sudo apt-get install libgl1-mesa-dev

安裝OpenGL Utilities

OpenGL Utilities 是一組建構於 OpenGL Library 之上的工具組,提供許多很方便的函式,使 OpenGL 更強大且更容易使用。 接下來我們安裝OpenGL Utilities

sudo apt-get install libglu1-mesa-dev

安裝OpenGL Utility Toolkit

OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了強化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 對於視窗介面支援。

sudo apt-get install libglut-dev

設定編譯參數與編譯

在這之前,我們需要一個測試範例,example.c 如下:

#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();
}

有了測試範例、基礎編譯環境與各個 OpenGL 相關的函式庫之後,我們所需要做的就是告訴編譯器我們有安裝 OpenGL 函式庫,編譯程式時要連結這些函式庫。

gcc example.c -o example.out -lGL -lGLU -lglut

因為我們安裝了 OpenGL Utility Toolkit ,它是建立在 OpenGL Utilities 與 OpenGL Library 之上,因此我們可以簡單連結 OpenGL Utility Toolkit 的函式庫就可以達到我們的目地了。下面的編譯參數跟上面的是同樣效果:

gcc example.c -o example.out -lglut

下面簡單說明一下所使用的 gcc 參數

-l<Library>  告訴 gcc 去連結指定 Library
-o<file>     指定執行檔的輸出名字

執行

接下來我們就可以來看看我們的結果,如果看到右圖,代表成功了!

圖片:Teapot.png
Freesamael用 OpenGL 畫的茶壺
./example.out

參考

連結

OpenGL 教學文件

特別感謝

Freesamael 熱心提供茶壺