[ ホーム | TSG について | 活動 / 分科会 | イベント | メンバー | メーリングリスト | 部報 | 掲示板 | リンク ]

SDL / OpenGL 分科会 - 第 1 回

概要

まず、今回使っていく 3 つのソフトウェアを紹介します。

SDL

SDL (Simple DirectMedia Layer) は Loki Entertainment Software 社 のプログラマ Sam Lantinga 氏 らによって開発されたマルチメディア用途のライブラリです。 グラフィックス, サウンド, ジョイスティック, スレッド, タイマーなどの機能を扱うことができ、しかも同じソースコードをコンパイルし直すだけで複数のプラットフォームでプログラムが動作します。 Loki 社のゲームをはじめ、多くのゲームデモなどが SDL を用いて作られています。

OpenGL

OpenGLSilicon Graphics 社 が中心となって開発した汎用の 3D グラフィックスライブラリです。 高品位な出力が得られ、なおかつ高い移植性があります。 ただし、ウィンドウ処理などの機能はなく (プラットフォームに依存しないようにするため)、それについては SDL を利用します。

Cygwin

Cygwin は Windows 上で UNIX のような環境を実現するソフトです。 何故これを使うかというと、

  1. タダで開発環境が手に入る
  2. SDL と UNIX (特にLinux) は相性が良い

からです。 また、せっかく大学に入って UNIX を使う機会が増えたと思いますから、ここで使ってみるのも悪くないでしょう。

インストールの前に

これから環境構築の説明をしますが、これは Windows 用です。 MacOS だとちょっと面倒ですが Adas さんのページ を参考にすれば何とかなると思います。 また UNIX (Linux など) では Cygwin が不要な他は一緒です。

なお、以下で諸々のソフト (50MB 程度) をインターネットからダウンロードすることになりますが、 もしよければそれらを CD-R に焼いてお渡ししますので、 直接またはメールで筆者までご連絡下さい。

Cygwin のセットアップ

ダウンロード

Cygwin の公式サイトへ行きましょう。 すると「Intall Cygwin Now」というリンクがあります。 ここからインストーラ (setup.exe) をダウンロードして、適当なディレクトリ (仮に C:\cygwin-setup とします) に置きましょう。

setup.exe を起動します。 で、

  1. 「Download from Internet」
  2. 「Local Package Directory」で C:\cygwin-setup を選択
  3. 「Use IE5 Settings」
  4. 「Select Download Site」で日本のサイトから適当に選択 (ftp://ring.so-net.ne.jp とかが速いかも)
  5. 「Select packages to install」で全パッケージを選択
  6. パッケージのダウンロード待ち
  7. ダウンロード完了。

インストール

ダウンロードしたパッケージをインストールします。

setup.exe を起動します。 で、

  1. 「Install from Local Directory」
  2. 「Local Package Directory」は C:\cygwin-setup
  3. 「Select install root directory」は Cygwin をインストールするディレクトリを選択 (仮に C:\cygwin とします)
  4. 「Default Text File Type」は「Unix」
  5. 「Install for」は「Just me」
  6. 「Select packages to install」で全パッケージを選択
  7. パッケージのインストール待ち
  8. 「Create Desktop Icon」&「Add to Start Menu」はお好みで選択
  9. インストール完了。

ホームディレクトリの作成

UNIX で、自分の作ったファイルを置いておく場所をホームディレクトリといいます (学校の環境だと /home/g123456 ってやつです)。 Cygwin でもこれを設定しておくと何かと便利なので設定します。 たとえば C:\home\nobita をホームディレクトリにするなら :

[Windows 95,98,ME の場合]
C:\autoexec.bat に set HOME=C:\home\nobita という行を追加
[Windows NT,2000,XP の場合]
コントロールパネル→システム→詳細→環境変数→ユーザ環境変数で、HOME に C:\home\nobita を設定

で OK です。

ということで、とりあえず Cygwin が使える状態になりました。 インストールしたディレクトリ (C:\cygwin) の cygwin.bat を起動すればコマンドプロンプトが出ます。

Hello World

SDL を使う前に、UNIX でのプログラミングは少々変わったところがあるので、Hello World を例にとって流れを説明します。

まず、次の古典的なプログラムを ~/hello.c に保存します。 エディタは何でも適当に。

#include <stdio.h>

int main()
{
    printf("Hello, World!\n");
    return 0;
}

コンパイルします。 UNIX では大抵の場合 GCC (GNU Compiler Collection) というコンパイラが標準で入っており、今回もこれを使うことにします。 一応

$ gcc hello.c

とすればよいのですが、デフォルトだと実行ファイルの名前が a.out になってしまうので、次のようにオプション -o (output の略) をつけて hello という名前にします (ちなみに UNIX では実行ファイルに特定の拡張子をつけることはありません) :

$ gcc -o hello hello.c

そして実行します。 UNIX では、カレントディレクトリにあるファイルを実行する場合、ファイル名の前に「カレントディレクトリの」を意味する「./」というのを付けなければいけません (一応理由があるのですが、ここではあまり関係がないので省略)。 というわけで :

$ ./hello
Hello, World!

Hello, World! と出れば OK です。

SDL のインストール

SDL の公式サイトへ行きましょう。 Download - SDL 1.2 の「Source Code」から SDL-1.2.4.tar.gz をダウンロードしてホームディレクトリに保存します。 そして :

$ mkdir /usr/local/src
$ cd /usr/local/src
$ tar zxf ~/SDL-1.2.4.tar.gz
$ cd SDL-1.2.4
$ ./configure
$ make
  (なお、ここの make はかなり時間がかかります (特に Windows 95,98,ME)。勉強でもしてましょう)
$ make install
$ cp /usr/local/lib/SDL.dll c:/WINDOWS/SYSTEM/ (Windows 95,98,ME,XP の場合)
$ cp /usr/local/lib/SDL.dll c:/WINNT/SYSTEM32/ (Windows NT,2000 の場合)

インストールできたかどうか試してみましょう :

$ sdl-config --version
1.2.4

SDL のバージョンが表示されれば OK です。

というわけで、お疲れ様でした。 今回は地味な話ばっかりで退屈だったと思いますが、次回からは本格的な内容の方に入っていきます。 どーぞご期待ください。