今回と次回では、Direct3Dを使って画面に三角形を描画するまでを扱っていきたいと思います。やることにしては意外とやることが多く、また後々の基本になることになるので何回かに分割して説明していきます。
1,ポリゴン描画の流れ
「ポリゴン」とは、複数の点を結んだ線で囲まれた多角形のことを言います。
例えば「三角ポリゴン」といえば、3つの頂点を結んだ三角形のことでして、今後はその三角形のみを扱っていきます。なぜ三角ポリゴンしか使わないかといえば、自分たちが使おうとしているDirect3Dが三角形の表示しか扱っていないからです。基本的にどんな図形でも三角形を何個も並べれば形作れるのでそういう仕様になっているのでしょうね。
そんな三角形をDirect3D9で描画するには以下の手順を踏まなければいけません。
- 頂点自体のデータを用意する
・頂点1要素を表す構造体を定義する
・構造体の配列を作って全頂点のデータを作成する - 頂点データが記録された位置を定義する
・頂点の各項目がどの位置に記録されているかをVertexElementで指定する
・指定したVertexElementでVertexDeclarationを作成する - 頂点をグラフィックボードに送るための準備
・専用の格納場所VertexBufferを作成する
・頂点の配列をVertexBufferに書き込む - 頂点を画面に表示するためのシェーダを用意する
・シェーダをコンパイルする
・シェーダの実体であるEffectを作成する - 画面に描画する
・描画対象の空間(世界)の状況を設定する
・描画する - 不必要なものを破棄する
・VertexBufferとVertexDeclarationとEffectを破棄する
全体的に見ても、たかが三角形の描画でいろいろな準備が必要となっています。はっきりいってめんどうくさそうですね。
でも拡張性つまり多種なシーンを作り出すためにここまで複雑な作りになっているわけですから、基本を大切にすべく次回からは一つ一つじっくり解説していきます。