ページ 11

2Dポリゴンに使う配列

Posted: 2009年7月12日(日) 01:40
by チルチル
DXライブラリのDrawPolygonBase関数を使用して画像を変形させる処理を作ろうと思っているのですが
頂点の数が毎回バラバラなのでポリゴンの構造体配列をどう宣言すれば良いのか迷っています

私の思い付いた方法は

1.malloc関数で頂点の数だけ構造体配列を用意し描画した後に開放する

2.予想される頂点の最大数だけ構造体配列を宣言しておく

3.沢山の四角形に分割するのでポリゴン2枚分のローカル構造体配列を宣言して使い回し何回かに分けて描画する

なのですが、どの方法も問題があって困っています・・

1の方法は1フレームに何回も描画するので処理落ちしそう・・

2の方法は頂点の数が数個の時から数百個の時まであるので無駄が多そう・・

3の方法はポリゴンを何回かに分けて描画すると境目が目立つので見た目が悪くなってしまう・・

こういう場合はどうしたら良いでしょうか?

Re:2Dポリゴンに使う配列

Posted: 2009年7月12日(日) 02:40
by Justy

>こういう場合はどうしたら良いでしょうか?

 どうい性質のものを描画するのかでも変わってくるとは思いますが、
基本は1でいいのではないでしょうか。

 数百個くらいなら2でも問題はないですね。


 或いは状況に応じて1と2の複合……例えばあるエフェクトの描画に使うとき、
エフェクト出す段階で最大サイズを求めて領域を malloc、エフェクトが
消滅、或いは不要になった段階で freeとか。


 あと 1/60秒程度に高々数回~数十回 mallocしたくらいで
処理落ちするような低スペックPCはそのそもゲームに向いていないので
気にしなくていいかと、

Re:2Dポリゴンに使う配列

Posted: 2009年7月12日(日) 12:17
by チルチル
mallocは効率が悪いと聞いていたんですが
気にするほどでもないんですね

では1でやってみます
どうもありがとうございました