現在3Dゲームを作成しています。
mqoの3Dモデルを使用しているのですが、
製作中にふと「もし低スペックPCでプレイしたら支障が出るのではないか」という懸念が浮かびました。
3Dモデルを出来るだけローポリにすれば、問題無くプレイできるスペックが下がると思いますが、
3Dのクオリティをひとつのウリとしているゲームですので、出来るだけモデルそのもののクオリティを下げたくありません。
それで3DのPCゲームで、よくコンフィグなどで3Dの描写クオリティを調整出来るものが多いことを思い出しました。
さっそく、それを実現しようと思ったのですが、DXライブラリの関数リファレンスページを見る限り、それを実現する関数は見当たりませんでした。
そこで質問なのですが、DXライブラリのみでなんとかアルゴリズムを駆使して実現できるのでしょうか。
それともDirectXや他のライブラリの関数を使用しないと実現は不可なのでしょうか。
なにかいい方法をご教授してくだされば幸いです。
DXライブラリで3Dモデルの描写クオリティを可変できるか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリで3Dモデルの描写クオリティを可変できるか?
どのようなものを下げたいのでしょうか?
テクスチャであったり、ポリゴン数であったり、解像度だったり色々とあると思います。
DirectXであろうとデータを用意していたり、パラメータをいじったりで対処しているのでDXライブラリでは同等のことは可能だと思いますが。
[追記]
下記の項目で言うと調整できるものはありますか?
「【4Gamer.net】 最新3Dゲームのグラフィックス設定を「Call of Duty 2」で知る」
http://www.4gamer.net/specials/3de/0512 ... tion.shtml
テクスチャであったり、ポリゴン数であったり、解像度だったり色々とあると思います。
DirectXであろうとデータを用意していたり、パラメータをいじったりで対処しているのでDXライブラリでは同等のことは可能だと思いますが。
[追記]
下記の項目で言うと調整できるものはありますか?
「【4Gamer.net】 最新3Dゲームのグラフィックス設定を「Call of Duty 2」で知る」
http://www.4gamer.net/specials/3de/0512 ... tion.shtml
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
poppin'
Re: DXライブラリで3Dモデルの描写クオリティを可変できるか?
リンク先の項目で言うと、以下の項目が変えらるようにしたいです。
・アンチエイリアシング
・テクスチャ品質
またリンク先の項目で、影生成というのがあったのですが、
これは関数を自作して実装するということでしょうか。
・アンチエイリアシング
・テクスチャ品質
またリンク先の項目で、影生成というのがあったのですが、
これは関数を自作して実装するということでしょうか。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリで3Dモデルの描写クオリティを可変できるか?
>アンチエイリアシング
SetFullSceneAntiAliasingMode()
SetDrawValidMultiSample()
があります。
参考。
「SetDrawValidMultiSample」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2296
>テクスチャ品質
品質毎にモデルを用意するのが簡単かと思います。
MV1SetTextureGraphHandle()で差し替えることも出来ます。
>またリンク先の項目で、影生成というのがあったのですが、
影生成は自分で実装するしか無いでしょうね。
「別ポリゴンの影を映すには」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... o=1759&p=2
【補足】
ちなみ低スペックマシンだと、これだけでは足らないので解像度や色数、フレームレートの調整機能は必須だと思います。
あとライトの数とか調整できるものは出来るだけ調整すべきかと思いますよ。
SetFullSceneAntiAliasingMode()
SetDrawValidMultiSample()
があります。
参考。
「SetDrawValidMultiSample」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2296
>テクスチャ品質
品質毎にモデルを用意するのが簡単かと思います。
MV1SetTextureGraphHandle()で差し替えることも出来ます。
>またリンク先の項目で、影生成というのがあったのですが、
影生成は自分で実装するしか無いでしょうね。
「別ポリゴンの影を映すには」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... o=1759&p=2
【補足】
ちなみ低スペックマシンだと、これだけでは足らないので解像度や色数、フレームレートの調整機能は必須だと思います。
あとライトの数とか調整できるものは出来るだけ調整すべきかと思いますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
poppin'
Re: DXライブラリで3Dモデルの描写クオリティを可変できるか?
アンチエイリアシングとテクスチャの品質設定の実装がうまくいきました。
DXライブラリの関数リファレンスページには記載されていない関数もあるんですね。
今後はdxlib.hも覗きながら開発を進めて行きたいと思います。
影生成に関しては色々なやり方があるみたいなので、
現在製作しているものに一番いいやり方を試行錯誤して、
じっくり実装して行こうと思ってます。
ちなみに、解像度や色数、フレームレートの調整機能に関しては、
もうすでに実装していましたので触れませんでした。
ご教授ありがとうございました。
DXライブラリの関数リファレンスページには記載されていない関数もあるんですね。
今後はdxlib.hも覗きながら開発を進めて行きたいと思います。
影生成に関しては色々なやり方があるみたいなので、
現在製作しているものに一番いいやり方を試行錯誤して、
じっくり実装して行こうと思ってます。
ちなみに、解像度や色数、フレームレートの調整機能に関しては、
もうすでに実装していましたので触れませんでした。
ご教授ありがとうございました。
Re: DXライブラリで3Dモデルの描写クオリティを可変できるか?
テスクチャのフィルタリングをMV1SetTextureSampleFilterModeで設定できますよ。
テクスチャ品質はテクスチャがグラフィックメモリを消費する量を減らすだけですが、フィルタリングは実行速度に影響します。
テクスチャ品質はテクスチャがグラフィックメモリを消費する量を減らすだけですが、フィルタリングは実行速度に影響します。