【C++】 DirectX初心者質問スレ Part12 【C】
■ このスレッドは過去ログ倉庫に格納されています
0124デフォルトの名無しさん
2007/03/01(木) 14:48:35x, z が 256*256 の heightfield を表示しようとして
DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 256*256, 0, (256-1)*(256-1)*2*3); とすると
GeForce4MX(最大インデックス数=65535)なので頂点数・インデックス数が多すぎと言われました。
そこで、頂点数を x, z = 5*5に減らして
DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 5*5, 0, (5-1)*(5-1)*2*3); とすると正常に表示されます。
ですが、最終的には大きなheightfieldを表示したいので、zの1行ずつ表示しようと考えました。
それで↓のようにしてみたのですが、表示がおかしくなってしまいました。
for (int i = 0; i < height - 1; i++){ // ここでのheightはzの数です。この例では5です
DrawIndexedPrimitive(
D3DPT_TRIANGLELIST,
i * height, 0, height*2,
0, (height - 1) * 2 * 3
}
ヘルプとかgoogleで探したいろんなサイトの説明を読んでみたりはしたのですが
DrawIndexedPrimitiveの引数になにを入れればいいのかよく理解できませんでした。
(http://www.dwahan.net/nyaruru/programming/dipmini.png とか見ました。)
↑のようにzの1行ずつする場合、どう書けばいいんでしょうか? よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています