開発関連の人たちで流行になっているRaspberryPiでOpenGLのスタディをしてみました。

まず動画をみてください。

この動画は、RaspberryPiで作ったサンプルを実行したものをキャプチャしてYoutubeにアップしたものです。実際は60fpsで描画されていますが、キャプチャの都合上30fpsになっています。

今回のスタディは、OpenGL ES 1.1(1.0かな)をベースにしています。本当はES2.0をベースにして作ろうと思ったのですが、Shaderを使う予定がなかったので楽をして1.1ベースにしました。

RaspberryPiでOpenGLのコードを書くまでにたどった過程を順に説明してみます。

1. RaspberryPiを買う

RSで買うのが一般的なのかもしれませんが、届くのにめちゃくちゃ時間がかかりました。なので、僕がお勧めするのは、ModMyPiです。海外ですが、わりと到着まで早かったです。もっとすぐ欲しい人は、割高になりますが、Amazonで買うのがいいかもしれません。

買う場合は、RaspberryPi本体(Bタイプの512MBメモリがお勧め)のほかに以下のものも買うと便利です。

・USB Hub(ACアダプタをつけられるタイプ) USBの電源が弱くて不具合が起こることがあるので
・MicroUSBケーブル(RaspberryPiには付属しません。電源供給用です。)
・USB WiFiアダプタ(僕はこれを買いました。USBに差すだけで使えます)
・SD Card 4GB(いまのところ最低限の4GBで十分。スタディ用途であれば何枚か買うことをお勧めします。)
・USBキーボードとマウス

2. OSイメージをダウンロードしてセットアップ

SDカードにOSをセットアップしないとRaspberryPiは使えません。一般的なのはDebianをRaspberryPi用にカスタムしたRaspbianです。
ここにデータがアップされてるので最新版をダウンロードします。

ダウンロードしたimageファイルをSDに書き込む必要がありますが、僕のようにOSXでSDカードをセットアップする人は、これがお勧めです。

くわしい流れは、この記事で詳細に解説されています。

3. 起動して設定をする

初回起動時は、Config画面が出てきます。詳しい説明は省略しますが、そこで以下のことをします。

・SDカードイメージは2GBなので2GBのパーティションになっているので、それをSDカード領域いっぱいに広げる
・タイムゾーンの変更(Tokyoに設定)
・キーボードの設定(使うキーボードの配列を設定)
・VRAMを大きくしておく(256MBにしておくとCPU側とGPU側で半々になる)

こことかにスクリーンショットでてるので参考にしてください。

4. 再起動してWiFiの設定とアップデート

Config画面を終えると再起動がかかります。再起動したら、WiFiの設定をします。
X-Windowの中でやると設定が楽なので、startxを実行します。

$ startx

すると、X-Windowが立ち上がります。その画面で、WiFi Configというアプリで設定します。詳しくは僕が書いた別のブログ記事を参照してください。

WiFiがつながるとネットワークが使えるようになるので、RaspberryPiのアップデートをかけます。以下のコマンドを実行してください。

$ sudo apt-get update
$ sudo apt-get upgrade

これで最新版になります。

5. サンプルコードを実行してみる

実はRaspbianにはサンプルコードが入ってます。
それをコンパイルして実行してみます。

$ cd /opt/vc/src/hello_pi
$ ./rebuild.sh

特に参考になったのは、hello_triangleとhello_video、hello_videocubeあたりです。まだvideo系は試してませんが、使う前提でベースクラスをつくっていきます。

6.