トップページ > 過去ログ > 記事閲覧
MakeModelのようなもの
名前:埴輪 日時: 2012/06/10 13:20

お世話になっております。 ↓のスレを見て思ったのですが、 http hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2563 3Dでポリゴンを描画したいとき、あらかじめモデルとして有ったほうが、よりGPUが使えて有利ということのようです。 なら、MakeGraphのようにモデルをあらかじめ生成しておいて、そのハンドルを渡して描画、というような事は出来ないでしょうか。 MakePolygonModel3D(VECTOR v1,VECTOR v2,VECTOR v3,VECTOR v4,int texture); DrawPolygonModel3D(int handle); みたいなのがあれば便利だと思います。 今、レースゲームを作っているのですが、コースを形成するポリゴンは、コースデータを元に計算で生成するのでmqoモデルにすることができません。 質問なのか要望なのかよくわからない書き込みになってしまいましたが、よろしくお願いします。

Page: 1 |

Re: MakeModelのようなもの ( No.1 )
名前:いっち 日時:2012/06/10 14:51

以下のスレッドの内容が参考になると思います。 > ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2638
Re: MakeModelのようなもの ( No.2 )
名前:埴輪 日時:2012/06/10 16:21

ありがとうございます。 思っていたことが出来そうです。 四角形を大量並べることになるのですが、 この場合、一つ一つの四角形について DrawPolygon...を呼ぶのと、 全体分のインデックス配列を作って まとめて描画させるのでは どちらがよいでしょうか?
Re: MakeModelのようなもの ( No.3 )
名前:管理人 日時:2012/06/10 18:08

全体分のインデックス配列を作ってまとめて描画する方が数倍高速です Direct3D の描画呼び出しのAPI自体が重いので、インデックス配列分のデータ量が増えても 描画呼び出し自体が1回で済む方が断然処理負荷が低くて済む、という感じです
Re: MakeModelのようなもの ( No.4 )
名前:埴輪 日時:2012/06/10 19:53

ありがとうございます。 そのようにさせていただきます。 またその際は、どの位の大きさまでなら 大丈夫でしょうか?
Re: MakeModelのようなもの ( No.5 )
名前:管理人 日時:2012/06/11 01:25

今のところインデックス情報が指定できる頂点数が 65536 個が限界なので、 ( インデックスの値が 16bit の値なので、16bit で表せられる最大の値 = 0xffff = 65535 = 0も数に含めるので65536個 ) それを超える数のメッシュを一度に描画することはできません 逆にその範囲内であればメモリの許す限りどんな大きさでも大丈夫です
Re: MakeModelのようなもの ( No.6 )
名前:埴輪(解決) 日時:2012/06/11 01:42

ありがとうございます まとめてと言っても、テクスチャ画像を同じものを使わないとダメなようなので、その点でも限度がありますよね。

Page: 1 |