記事検索

検索ワードを入力してください。
Sky Tech Blog
3Dグラフィックス基礎(2) ~ポリゴンと​頂点インデックス~

3Dグラフィックス基礎(2) ~ポリゴンと​頂点インデックス~

本記事は、3Dグラフィックスの基礎について説明しています。ポリゴンと頂点インデックスの概念、使用方法などについて解説します。

はじめに

3Dグラフィックス基礎シリーズ第2弾となります。

第1回の​記事は​こちら

第2回目のテーマは「ポリゴンと頂点インデックス」です。
第1回目で、3D空間上での座標指定(頂点)について簡単に説明しました。
今回は、複数の頂点から実際に図形として成立させるための3Dグラフィックスの手順について説明していきます。

前回の​おさら​い

前回、3D空間上で立方体を登場させるためには、以下の通り3D空間上に8個の頂点(①~⑧)を指定する必要があると説明しました。

Unityエディタのスクリーンショット画像

ポリゴン

3Dグラフィックスの世界では、3個の頂点で構成された面のことを「ポリゴン」と言います。 例えば、以下の図の通り、頂点①②③で囲まれた領域で形成される三角形がポリゴンとなります。 3Dグラフィックスでは、基本的にこのポリゴン単位で描画が行われていきます。

Unityエディタのスクリーンショット画像

そして、「どの頂点を繋げてポリゴンを形成するか」という情報を頂点インデックスと言います。
すなわち、上記立方体を描画したい場合、一番手前の面については、頂点インデックスに以下の2つの組み合わせを持たせれば、三角形ポリゴンが2つ作られて、1つの四角形(正方形)が表現できます。

  • 頂点インデックスの組み合わせ1 : 頂点①②③ = ポリゴン1
  • 頂点インデックスの組み合わせ2 : 頂点①③④ = ポリゴン2

上記の2つの三角形ポリゴンを組み合わせることで正方形の平面を表現すると以下の図のようになります。

Unityエディタのスクリーンショット画像

頂点バッファと​頂点インデックスバッファ

実際に3D描画エンジンでポリゴンを描画する際には、これらの情報を頂点バッファと頂点インデックスバッファに格納して渡します。

“頂点バッファ”は、頂点の座標(X, Y, Z)を格納するための領域です。
“頂点インデックスバッファ”は、頂点バッファ内のどの頂点を使用してポリゴンを描画するかを示す、インデックスを格納するための領域です。

あとは、残りの5つの面についても、同様に頂点インデックスを指定していくことで立方体の描画が実現できます。今回の例ではトータルで頂点バッファは8個、頂点インデックスは12ポリゴン分(36個)の指定が必要になります。

ここで手前の面の1つの正方形を作るのに、①と③の頂点を2回指定していることに注目してください。頂点情報が多くなればなるほど描画処理は重くなるので、重複した頂点を指定するのはできれば避けたいところです。

これについては、3D描画エンジン側に「頂点をどのように結んでポリゴンを作るか」を指定する仕組みが設けられており、複数の三角形ポリゴンを少ない頂点数で、まとめて描画することもできるようになっています。

この仕組みをプリミティブトポロジーと言います。

今回の例ではトライアングルリストが指定されている前提で説明したので1つの正方形を描画するのに頂点インデックスを6個指定しましたが、トライアングルストリップを用いれば、前の三角形を描画するのに使用した頂点の一部を再利用することができる為、1つの正方形を描画するのに指定する頂点インデックスは、①②③④の4個で済みます。

こうすることでデータ量が減らせるというメリットがあります。一方で、指定の方法がややこしく感覚的にわかりにくいので、複雑な形状のモデルを自前で作るのは難しくなります。

「ポリゴンと頂点インデックス」に関する説明は以上となります。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム