前回の最初に行ったクイズタイムを覚えているでしょうか?そこで、一番最初は「点」と言う事をいっておきながら、いきなり面を描画してしまいました。と言うわけで初心に返り、点や線を描画してみましょう。
描画するとき「PrimitiveType」という物を指定しました。3Dでは頂点データがあるだけでは図形は描けません。頂点データはしょせん点です。線を描きたいときは、「この点からこの点まで線を引いて」とお願いしなければいけないのです。その指定を行っているのが、PrimitiveTypeなのです。とりあえずはPrimitiveTypeの一覧です。
PrimitiveType | 説明 |
---|---|
PointList | 頂点を別個の点の集合としてレンダリングする。 |
LineList | 別個の線のリストとして頂点をレンダリングする。頂点データの数が 2 より小さいか、奇数の場合は失敗する。 |
LineStrip | 指定した全部の点を通る線として頂点をレンダリングする。頂点データの数 2 より小さい場合は失敗する。 |
TriangleList | 別個の三角形の連続として指定の頂点をレンダリングする。各 3 頂点のグループは個別に三角形を定義する。背面のカリングは、現在のカリング モード レンダリング ステートの影響を受ける。 |
TriangleFan | 頂点を三角形扇形としてレンダリングする。 |
TriangleStrip | 頂点を三角形ストリップとしてレンダリングする。背面カリング フラグは、偶数番号の三角形で自動的に反転する。 |
はい。知らない単語が何個か出てきたかと思います。知らない単語は気にしなくて良いです。あとで説明しますので。とりあえずそれぞれがどういった動きをするかを説明します。
すいませんが、以下画像のでない環境の方には全く伝わりません。
と、このようになるわけです。説明不足だと思われた方は掲示板で言ってくだされば、文章を付加させて頂きます。(文章があっても説明不足になりそうですが…)
ちょっとだけ説明すると、点と線は面積を持ちませんので、画像の黒い点は実際には面積のない点です。と言っても、それは理論上であって実際にはそうだったり、そうでなかったりです。多分1ピクセル分として描画されると思います。
今回はソースコードなしです。皆さん実践あるのみです。とにかく色々なタイプで描画してみてください。自分で頂点を足したりへらしたりしながら試すとよりいっそう知識が深まります。色付けると楽しいです。
三角形フィンを1度ずつ作って描画しています。実はこれ、ペイントソフトでちょっと誤魔化しかけています。