忍者ブログ
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month123456789101112131415161718192021222324252627282930Next Month
OpenXOPSをOpenGLに移植してみた
えぇ、もう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を有効化してコンパイルできるようにする
つもりです。
category : ソフト・ツール開発 comment [1]
PR
COMMENTS
【本文以外は任意項目です】
SUBJECT(タイトル)
NAME(お名前)
MAIL(メールアドレス)
HOME(サイトURL)
COMMENT(本文)
PASS(削除パスワード)
Secret?(管理者へのみ表示)

※スパム防止のため「Hello!」「website」「ブランド」「みかんの戦闘ブログ」
「http」などの一部キーワードを禁止しています。ご了承ください。

無題 2015.03.02 Mon 02:07 EDIT
こんばんは。もう3月ですね・・・。
こちらでもOpenGLへの移植は考えていました。OpenGLどころかDirectXの知識も無いので断念しましたが・・・。
OpenGLへの移植ができれば、マルチプラットフォーム対応も近いですね。Qtとか使えばすぐにできそうです。

Qqやりたかったなぁ・・・
from TK MAGURO
今回の経験で、DirectXからOpenGLの移植は、特定の条件さえクリアしていればそう難しいものではないと分かりました。
でも、やはり3Dグラフィックスの基礎知識は持っていないと厳しいと思います。

マルチプラットフォームは目の前です。
QtはライセンスがGPL系なので、気をつけないとOpenXOPSもGPLになるのではっと警戒しています。
「GPLライセンスでも良いじゃないか!」と議論を始めると白熱するのですがw
from MASTER 2015.03.04 Wed 02:59

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP