初めて質問をさせていただきます、早苗明紗と申します。(当方の作成しておりますシミュレーターのイメージキャラクターの名前です。)
DXライブラリを利用させていただいてオリジナルシミュレーターの開発を始めました。
今回質問させていただきたいのは、タイトルの通り3D空間への大量描画に関してです。
現在は規模を小さくしておりますが、それでも100*100個ほど描画しなければなりません。
それが完成したら次は100*100*100個へと拡張していきたいと考えております。
しかし、単純に3Dモデルを一つ用意してそれをMV1DuplicateModelでコピーして利用するとモデルハンドルの上限が将来的に超えてしまいます。
そこで次に考えたのがDXライブラリの基本図形描画関数を用いることです。
モデル自体はモデルの向いている向きが分かればかまわないため、円錐を描画することにしました。
予定していたことは一応できたのですが、非常に重くなってしまい
Windows7 Intel Corei5 M480 2.67GHz(i5第一世代)
で少し重く感じます。
上記のPCよりもスペックの低いPCでも動くことを目標としていますので何とかして軽量化しないといけないのですが
どのようにしたらよいのでしょうか。
なお、ビルボードのような画像描画は3次元的な「向き」を表現できないと判断し利用していません。
よろしくお願いします
3D空間に大量に描画したい
Re: 3D空間に大量に描画したい
オフトピック
円錐ではく,三角形2個(円錐の円の側から見たときに + に見える形に配置)
とかにすれば 多少軽くなったり?
とかにすれば 多少軽くなったり?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 3D空間に大量に描画したい
同じモデルを向きと場所を変えて描画するだけなら、座標と角度変えてDrawModelを繰り返せばよいだけです。
MV1DuplicateModelは必要ありません。
ただ、100*100*100個は重いかもしれませんね。
MV1DuplicateModelは必要ありません。
ただ、100*100*100個は重いかもしれませんね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 3D空間に大量に描画したい
時間は計測していませんが、体感的にはあまり変わりませんでした。usao さんが書きました:円錐ではく,三角形2個(円錐の円の側から見たときに + に見える形に配置)
とかにすれば 多少軽くなったり?
現在の100*100では円錐描画よりも重くなりましたsoftya(ソフト屋) さんが書きました:同じモデルを向きと場所を変えて描画するだけなら、座標と角度変えてDrawModelを繰り返せばよいだけです。
MV1DuplicateModelは必要ありません。
ただ、100*100*100個は重いかもしれませんね。
Re: 3D空間に大量に描画したい
ソフトウェアの特性からして、DXライブラリを使うのはあまりオススメできません。
同じモデルを大量に描画する場合はGeometry Instancingという方法があるのですが、DXライブラリでは無理だと思います。
同じモデルを大量に描画する場合はGeometry Instancingという方法があるのですが、DXライブラリでは無理だと思います。
Re: 3D空間に大量に描画したい
ありがとうございます。
DirectXの勉強をしてみますが、やはりDXライブラリにも実装されているとありがたいですね。
DXライブラリのほうに要望として出してみるだけ出してみようと思います。
みなさん、ありがとうございました。
DirectXの勉強をしてみますが、やはりDXライブラリにも実装されているとありがたいですね。
DXライブラリのほうに要望として出してみるだけ出してみようと思います。
みなさん、ありがとうございました。