透過マッピング(とうかマッピング、: transparency mapping)とは、テクスチャ (texture) の部分あるいは全体に透明のパターンを持たせたものである。 透明マッピング、透明度マッピングなどとも呼ぶ。

概要 編集

 
 
Celestia地球を透過マッピング化したテクスチャにしたもの。拡大すると雲の様子が見える(背景色や表示環境によってはただの白い画像に見える)。

3次元コンピュータグラフィックス (3DCG) におけるテクスチャマッピング技法のひとつであり、物体表面に透明度の情報を与える画像を貼り付ける。草花、木々の葉や髪の毛の表現、シースルー衣類、穴の空いたオブジェクトなどを表現する際に利用される。他にも天文シミュレータ(CelestiaMitakaなど)において惑星の雲から透けて見える地表面など、背景を表示する必要があるものに用いられる。

前髪や金網といった、細かな隙間や穴の空いた物体を表現する場合、実際にそのようなオブジェクトの細かな輪郭をポリゴンでモデリングするよりも、透過マッピングにより隙間や穴を表現するほうが手軽でレンダリング処理が軽くなる場合が多く、特にゲームのような資源に制約のあるリアルタイム3DCGで多用されている。

完全な透明だけではなく、シースルーの衣類のように半透明を表現する際にも用いられる。雲や髪の毛なども半透明で表現されることが多い。

ただし、Zバッファを併用してレンダリングする場合、透明オブジェクトは描画順序に注意しなければならないという欠点がある。

透過マッピングの機能は、きわめて多くの3次元CGアプリケーションで対応している。ある程度知名度の有るソフトでは対応していないものの方が少ない。通例、カラーマップ(ディフューズマップ)と透過マップを別々に指定できるマルチテクスチャ機能に対応している。

透明度を0-255の整数値または0.0-1.0の正規化された実数値(浮動小数点数値)で記録したテクスチャ画像が用いられることが多い。透明度 (transparency) を実数値で表す場合、0.0が完全不透明、1.0が完全透明となる。逆に不透明度 (opacity) は、0.0が完全透明、1.0が完全不透明となる。透過マッピングというと、不透明度を使ったアルファマッピングを意味することもある。透明度の専用テクスチャ画像を用意するのではなく、RGBカラー情報を含むテクスチャに、さらにアルファチャンネルを持たせて、不透明度として利用することも多い[1]

一般に透過マッピングはラスタライズの際にアルファブレンドを伴うが、しきい値によるアルファテストを使用することで単純に透過するかどうかを決定することもある。

脚注 編集

関連項目 編集