5年前DirectX9のお話です。DrawIndexedPrimitiveを用いて描画を試みています。期待通りの表示になりません。回このような表示になってしまいます。何が悪かったのでしょうか?とりあえず、問題があると思われるソースコードを掲載します。下の方に記述されているload関数とdraw関数をまずご覧ください。あとはその関数内で呼ばれている関数等を追ってゆけばソースコードを解析できると思います。次のインデックスをもう一個追加しておく。これを最後の行になるまで繰り返す。最後の行だけは縮退ポリゴン用のインデックスを追加しない。true;}トライアングルストリップで描画を行います。頂点情報の格納順は次図の通りです。頂点インデックス情報の格納順は次図の通りです。回デバッグモードで一行ずつ追ってみたところ、期待通りに値が格納されてはいるようです。実際には設定したはずの頂点とはかけ離れた頂点が結ばれていくという結果になります。ちなみにワールドマトリックスを単位行列にして実行したところ同じような結果になったため、ワールドマトリックスの指定が原因ではないようです。何が間違っているのでしょうか?よろしくお願いします。5年前CreateIndexBufferでD3DFMT_INDEX16(16bit)を指定しているのに、インデックスバッファにDWORD(32bit)でアクセスしています。原因はARCSさんの言う通りだと思いますので私はちょっと気になることを。以下のように10面になりますが。返信ありがとうございます。ARCSさんの仰る通り、CreateIndexBufferの引数に指定した設定と、実際に使用しているデータの形式が食い違っていることが原因でした。インデックスバッファにDWORDではなくWORDを用いるようにしたところ、ギザギザな表示ではなくなりました。原因はARCSさんの言う通りだと思いますので私はちょっと気になることを。以下のように10面になりますが。→右の青部分g)6,3,7h)3,7,4i)7,4,8j)4,8,5dixq_net_forum_3_t15989_image_1.png意図したとおりでしょうか?e)とf)は余計な三角形になると思うのですが...(確かめたわけではないので間違ってたらすみません・・・)私の図ではわかりにくいですが、よくみると2番と6番の位置で1度ずつ足踏みしています。以下のように12面になります。a)3,0,4b)0,4,1c)4,1,5d)1,5,2e)5,2,2f)2,2,6g)2,6,6h)6,6,3i)6,3,7j)3,7,4k)7,4,8l)4,8,5よって問題ありません。ギザギザに表示される問題は解決されましたが、期待通りの表示にはなりませんでした。真っ黒に表示されてしまいます。法線ベクトルを逆向きに設定すると期待通りに表示されました。理論上おかしいような...。プリミティブ描画とは関係なく、これはライティングに問題がありそうです。したら良いのかさっぱりわかりませんが、とにかくやれるだけのことはやってみます。それでもどうにもできなかった場合はまた質問させて頂きますのでよろしくお願いします。ありがとうございました。ミクプラは自由にリンクできます。