OpenXOPSをOpenGLに移植してみた | 2015.03.01 01:15 |
えぇ、もう3月じゃん。 <急にどうした
Invisible Alpaca主催の、第十回親睦戦に参加してきました。
パックは「Qq」で、私のプレイヤー名は xopsplayer でした。
マップと武器が最後まで分からず、まともな戦略を立てないまま場の
流れで適当にやっていたので、終始”動く的”になっていましたw
前にちょっと書いた通り、OpenXOPSをOpenGLに移植してみました。
(クリックで拡大)
本家XOPSはDirectX 8.1、OpenXOPSは現状DirectX 9.0cを使っています
が、今回グラフィック周りをOpenGLに乗せ換えてみました。
OpenXOPSはRev.55を元に、グラフィック周りをOpenGL 1.1に移植して
います。 コンパイル環境はVC++2008です。
基本的にはD3DGraphicsクラスをごっそり入れ替えただけで、他の部分は
殆ど触れていません。
OpenGLとか初めて触ったので、色々分からないことがたくさんあって大変
でした。 にしても、初めてOpenGLを使って作った3Dゲームで、いきなり
XOPSレベルのFPSゲームになるとは・・・。
上の画像ではうまく誤魔化していますが、実は致命的な問題点が2点あり
ます。
・テクスチャは.bmpファイルと.ddsファイルしか対応してない
・システムフォントの表示に非対応
前者は、テクスチャの読み込み部分を独自に書いているためです。その
フォーマットを選んだ理由は、とりあえずTENNKUU氏のグラフィックデータ
に対応させるため。
残念ながら殆どのaddonは、正しくマップが表示されません。
まともに使うならば、llibjpegとlibpngを乗せるか、OpenCVでも使うべきだ
と思います。
後者は、OpenGLをやったことある人なら分かる通り、Windowsに依存す
る部分で、なんか面倒くさかっただけ。
まぁ、標準ミッションプレイするだけなら、ブリーフィング文章とかイベント
メッセージくらい読めなくても大して問題ないですし。
これら以外にも細かな不具合がありますが、まぁ近いうちに修正できるで
しょう。きっと。
なお今回はVC++を使いましたが、BorlandC++でもそのままコンパイル
できました。
さらに一部ヘッダーファイルを追加すれば、GCC(MinGW使用)でも無事
にコンパイルできるようです。
今回の成果物であるOpenGLのソースは、近いうちにOpenXOPS自体にも
載せる予定です。
標準では、今まで通りDirectXのプログラムをコンパイルする設定にしておき、
定数を変更することでOpenGLを有効化してコンパイルできるようにする
つもりです。
Invisible Alpaca主催の、第十回親睦戦に参加してきました。
パックは「Qq」で、私のプレイヤー名は xopsplayer でした。
マップと武器が最後まで分からず、まともな戦略を立てないまま場の
流れで適当にやっていたので、終始”動く的”になっていましたw
前にちょっと書いた通り、OpenXOPSをOpenGLに移植してみました。
(クリックで拡大)
本家XOPSはDirectX 8.1、OpenXOPSは現状DirectX 9.0cを使っています
が、今回グラフィック周りをOpenGLに乗せ換えてみました。
OpenXOPSはRev.55を元に、グラフィック周りをOpenGL 1.1に移植して
います。 コンパイル環境はVC++2008です。
基本的にはD3DGraphicsクラスをごっそり入れ替えただけで、他の部分は
殆ど触れていません。
OpenGLとか初めて触ったので、色々分からないことがたくさんあって大変
でした。 にしても、初めてOpenGLを使って作った3Dゲームで、いきなり
XOPSレベルのFPSゲームになるとは・・・。
上の画像ではうまく誤魔化していますが、実は致命的な問題点が2点あり
ます。
・テクスチャは.bmpファイルと.ddsファイルしか対応してない
・システムフォントの表示に非対応
前者は、テクスチャの読み込み部分を独自に書いているためです。その
フォーマットを選んだ理由は、とりあえずTENNKUU氏のグラフィックデータ
に対応させるため。
残念ながら殆どのaddonは、正しくマップが表示されません。
まともに使うならば、llibjpegとlibpngを乗せるか、OpenCVでも使うべきだ
と思います。
後者は、OpenGLをやったことある人なら分かる通り、Windowsに依存す
る部分で、なんか面倒くさかっただけ。
まぁ、標準ミッションプレイするだけなら、ブリーフィング文章とかイベント
メッセージくらい読めなくても大して問題ないですし。
これら以外にも細かな不具合がありますが、まぁ近いうちに修正できるで
しょう。きっと。
なお今回はVC++を使いましたが、BorlandC++でもそのままコンパイル
できました。
さらに一部ヘッダーファイルを追加すれば、GCC(MinGW使用)でも無事
にコンパイルできるようです。
今回の成果物であるOpenGLのソースは、近いうちにOpenXOPS自体にも
載せる予定です。
標準では、今まで通りDirectXのプログラムをコンパイルする設定にしておき、
定数を変更することでOpenGLを有効化してコンパイルできるようにする
つもりです。
category : ソフト・ツール開発 | comment [1] |