はじめに
少し時代遅れ感はしますが、最近のUbuntuにGLUT(OpenGL Utility Toolkit)をインストールする必要がある場合のためにメモしておきます。
環境
- Ubuntu Budgie 18.04.1 LTS 64-bit
- VMWare Workstation 15 Player for Windows 上で実行
以下の記事で環境構築時の手順を公開しています。
Ubuntu Budgie 18.04をVMWareにインストール&直後の設定
インストール
まず、いつものようにaptの更新を行います。
$ sudo apt update
$ sudo apt upgrade
次に、Freeglut3とその開発パッケージに加えて、オープンソースのOpenGL実装であるMesa 3Dの開発パッケージをインストールします。
$ sudo apt-get install libglu1-mesa-dev mesa-common-dev freeglut3-dev
"freeglut3"や"libgl1-mesa-dev"も必要ですが、これらは依存関係で一緒にインストールされるので問題ありません。
コーディング
コーディングする際には、以下のようにGL/glut.hをincludeします。
サンプルとして示す以下のソースコードは、白背景に赤い四角を描画します。
test.cpp
#include <GL/glut.h>
void show(void);
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(400, 300);
glutInitWindowPosition(200, 200);
glutCreateWindow("GLUT test");
glutInitDisplayMode(GLUT_RGBA);
glClearColor(1.0, 1.0, 1.0, 1.0);
glutDisplayFunc(show);
glutMainLoop();
return 0;
}
void show(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3d(1.0, 0.0, 0.0);
glBegin(GL_LINE_LOOP);
glVertex2d(-0.5,-0.5);
glVertex2d(-0.5, 0.5);
glVertex2d( 0.5, 0.5);
glVertex2d( 0.5,-0.5);
glEnd();
glFlush();
}
コンパイル
コンパイルする際には、以下のようにオプションを指定します。
$ g++ -Wall -Weffc++ -o glut_test test.cpp -lglut -lGLU -lGL
このようにして、最近のUbuntu上でGLUTを使用することができます。