前回のエントリーでまだ未対応だった以下の部分に手を付ける事にしました。
- テクスチャはTGAファイルのみ対応でPNGファイルとJPEGファイルには対応していません。
- テクスチャファイルのパス指定が絶対パスであるかどうかの判定がWindows向けになっていてMacでは正しく動作しない。
この内、2番目のテクスチャファイルのパス指定についてはよく考えるとメタセコイアがWindows版しか有りません。そのためここが絶対パスの場合はそもそもMacでは使えないファイルとなり対応しようが無いという結論になります。そのためこちらについては対応は無しとなります。
ということで今回行うのは1番目のPNGファイルとJPEGファイルの対応のみとなります。
Macの場合、 libjpeg.lib と libpng.lib の代わりに libjpeg.dylib と libpng.dylib 。もしくは、libjpeg.a と libpng.a を使うことになると思いますが今回は .a の方を使いました。
これらのファイルはMac Portsでインストールした場合、以下のパスにあります。
/opt/local/lib/libjpeg.a
/opt/local/lib/libpng.a
こちらをプロジェクトに追加。
GLMetaseq.c ファイルの以下の部分を変更しました。
詳しくはこちらからソースコードをDLして参照下さい。
#ifdef WIN32 #include <windows.h> #else #include <string.h> #include <ctype.h> #ifndef MAX_PATH #define MAX_PATH 256 #endif
#ifndef __APPLE__ #include "jpeg.h" #else #include "jpeglib.h" #pragma comment(lib,"libjpeg.lib") #endif
#include "png.h" #ifdef WIN32 #include "png.h" #include "zlib.h" #pragma comment(lib,"libpng.lib") #pragma comment(lib,"zlib.lib") #endif
ここで使用したincludeファイルは /opt/local/include/ に有るため。includeディレクトリの指定をする必要が有ります。
プロジェクトのビルド設定から「Other C Flags」を検索し、 -I/opt/local/include/ と設定します。
※この設定をすると「Other C++ Flags」にも自動的に同じ記述が表示されます。
【サンプルアプリの操作方法】
操作方法は前回と同じで以下の様になります。
操作 | |
---|---|
回転 | マウスでドラッグ |
縮小 | Aキー |
拡大 | Zキー |
(2009/12/17 追記)
肝心の動作環境が抜けてたので追記。
動作環境は初代Air、OSはLeopardでバージョンは10.5.8。