![]() | この項目では、コンピュータグラフィックスにおける多角形について説明しています。
|
![]() |
ポリゴン(英:polygon)とは、コンピュータグラフィックス特に3次元コンピュータグラフィックスなどのサーフェスモデリングで使われる多角形。およびそうした多角形を多数使って立体物の形状を近似する手法のこと[注 1]。
形状モデリング等では、多角形の面が塞がっているのか、穴が開いているのかは大きな違いであり、識別の必要がある。そのため、きちんと多角形として「閉じて」いて、囲まれた中身を含む場合はクローズドポリゴン(英:closed polygon)と呼ぶ。一方、ただの「連結な[注 2]」線分など閉じていない場合をポリラインあるいはオープンポリゴン(open polygon)と呼び分ける(ことがある)。
このようなポリゴンで構成された立体モデルは基本的に直線と平面のみで構成されるが、線・面分割を細かく、ポリゴンの数を増やして、スムーズシェーディングなどの処理を併用する事で擬似的に曲線・曲面も表現できる[注 3]。
ポリゴンをつかう形状モデリングは、ポリゴンの数が増えるほどなめらかな曲面の表現が可能になる。ポリゴンの数があまりに少ないと、現実世界(元の形)はなめらかな曲面で構成される物体でもモデルのほうは角張ったものになってしまう。
たとえば2000年に発売されたソニー・コンピュータエンタテインメントのPlayStation 2は搭載するEmotion Engineによって、当時としては画期的なことに、毎秒300万〜600万ポリゴンも描くことができ、その能力のおかげでそれまでのゲーム機と比べて相当になめらかな曲面を描けた。
ハードウェアの能力を引き出せるかどうかはソフトウェア制作者側の技量によるが、ポリフォニー・デジタルはPS2のポリゴン・グラフィックス性能を十分に活かすことに成功し、同社が制作した『グランツーリスモ3 A-spec』は自動車車体表面の曲面のなめらかさを描くことに成功。それまでにないリアル感が(特に自動車のエンスージアスト(自動車好き)人口が多い欧米で)大きな反響を生み、PS2のキラーソフトとなり世界的に同コンソールの売上を牽引した。
一方そうした高性能のエンジンを搭載していない場合は、ソフト制作者側はハードウェアがモデルを処理しきれない事態を避けるために、極力少ない数のポリゴン(ローポリゴン)でキャラクターのモデリングを行う事を要求されるため、細部の表現には各種のテクスチャマッピングと組み合わせることが多い[注 4]。
凸型の多角形を塗り潰す定番のアルゴリズムとして、スキャンラインと辺の交点の間を塗る「スキャンライン法」がある。
リアルタイムコンピューターグラフィックスの世界では、大抵の場合は基本的に、三角形ポリゴンが使用される。
以下はGPU等における処理に関する議論である。現在[いつ?]では、ほとんどの場合、三角形のポリゴンが使われる。これは、四角形以上のポリゴンの場合は、個々の頂点座標の位置関係によっては、ポリゴンに捩れが発生してしまい、このときポリゴンの面を正しく(あるいは高速、またはグーロー補間に)塗り潰すアルゴリズムの実装が複雑なためである。三角形ポリゴンであれば、三つの頂点座標がどのような位置関係でも条件を考慮せずに同じアルゴリズムで塗りつぶせ、正しくグーロー補間できる。三角形ポリゴンを塗り潰すアルゴリズムを多少変更すれば、フラット補間なら四角形以上のポリゴンも塗りつぶせないことはないが、凹多角形の場合はアルゴリズムが複雑になり、フィルレートも低下する。これらの理由から、リアルタイムコンピューターグラフィックスの世界では、三角形ポリゴンが使用されるのが普通である。また、三角形ポリゴンを複数組み合わせて、四角形以上のポリゴンの処理を代替することは可能なので、いわゆるGPUなどは基本的に三角形ポリゴンの処理に特化した設計である[注 5]。
![]() | この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。 |