OpenGL on the Macintosh / GUI

OpenGL on the Macintosh / GUI

GLUT を使っている限りは、移植性の高いコードを書くことは簡単です。 実際、私は自分のソースはほぼ無修正で MacOS 9 上(CodeWarriorPro5) と VineLinux-2.0 上 (egcs-2.91.66) でコンパイル & 実行可能です。

しかし、GLUT ではキーボードやマウスのイベントを扱う機能は用意されているのですが、 グラフィカルなインターフェースに関する機能は必要最低限しか用意されていません。 そこで、移植性を損なわずに GUI をくっつける方法をいくつか考えます。

メニュー

GLUT でもメニューが用意されています。 マウスの3ボタンそれぞれにメニューを割り付けることができるようになっていますが、 1ボタンが基本の Macintosh 上での GLUT (Apple SDK) では 右ボタンに割り付けられたメニューのみが "File" メニューの右側につきます。 またメニューを Attach する関数も違います。具体的には以下のようなソースになるでしょうか。

...... (メニューの定義がずらずらっと続いて)

#ifdef MACINTOSH_OPENGL
glutAttachMenuName( GLUT_RIGHT_BUTTON, "Hoge" );
#endif
#ifdef MESAGL
glutAttachMenu( GLUT_RIGHT_BUTTON );,
#endif

また、ウィンドウシステムにより、メニューに使える文字列に制限があります。AppleSDK 提供の GLUT の場合、

以上のような制限が Apple 提供の OpenGL SDK 上の GLUT で見られます。 Linux + X Window System + MesaGL では以上のような制限は見られません。

2000.07.27

MUI

GLUT には簡単なGUIライブラリとして MUI ( Micro User Interface ) が用意されてはいます。 部品もひととおり揃っているようなのですが、これがなかなか使いにくい。

いまのところ、MUI は却下かな....

GLUI

GLUIについては、 本家はこちら。 日本語ではこのページが参考になるでしょう。 要するに GLUT にのっかっているC++ライブラリなので、 GLUTが動いている環境でさえあれば動くというPortability を備えています。

が、素の GLUI を Macintosh でコンパイルしなおしても、なぜかそのままでは動きません。 パッチをあてて動くようにしたものを提供している方がいらっしゃいます。私もこれを 使わせていただいています。

http://www.lim.univ-mrs.fr/~mavroma/OpenGL/index.html

ひとりごと:最初このページの存在を知らず、移植にさんざん苦労してうまくいかず、 Apple が運営するOpenGL開発者ML の過去ログを検索してみても うまくいかない報告ばかり。GLUT のバージョンだとか、実装が不完全とかの議論が 繰返された後、とつぜん「完全に動くGLUI移植したよ」という投稿を発見。 「ようやく解決!」その URL に行ってみると.....なんとフランス語(笑) まぁ、なんとか目的のファイルはダウンロードできましたが。 ソースも一緒にくっついているので、そのうち解析してみたいとは思っています。

Java バインディング

OpenGL の Java バインディングもいくつか存在するようです。 知る限り Macintosh でも動作するのは以下の2つ

JSparrow :
URLは http://www.pfu.co.jp/jsparrow/index-j.html。HHK で有名なPFUの製作。 Macintosh に移植されたのは 2000.6.13 です。

GL4Java
URLは http://members.home.net/gziemski/pages/projects/GL4Java.html。 JauSoft のものを Macintosh に移植したもののようです。

jGL
URL は http://nis-lab.is.s.u-tokyo.ac.jp/~robin/JavaGL/index-j.html。 JavaGL から改名したそうです。メイリングリストも開設されています。詳細は不明。

まだいずれも本格的には触っていませんが、 私の環境(MRJ2.2+CWPro5) では JSparrow は非常に不安定で、 サンプルプログラムのいくつかはクラッシュしてしまいました。 GL4Javaの方は大丈夫のようです。

GtkGL

URLはhttp://www.student.oulu.fi/~jlof/gtkglarea/ です。gtk+ はいまのところ Macintosh に移植されていないようですが、 MacOS X では移植の計画があるので (MacGIMP http://www.MacGIMP.com) 選択肢にはいってくるかもしれません。

2001.01.25



最新情報

2005.12.04 リニューアル



ごあいさつ

研究者修行中,root修行中,なぜかピアノ演奏活動も展開中 メインは G4Cubeと CLIE でもやっぱり今でも comet がお気に入り.



Copyright© 2005-2006
Ryo All Rights Reserved.
Powered by sozai.wdcro
Contents
トップページ
音楽活動
よもやまブログ
ラフマニノフの世界
アーカイブ
リンク集