
バンプマッピング[ 1 ]は、コンピュータグラフィックスにおけるテクスチャマッピング技術で、オブジェクトの表面の凹凸やしわをシミュレートするものです。これは、オブジェクトの表面法線を摂動させ、摂動させた法線をライティング計算に使用することで実現されます。結果として、滑らかな表面ではなく、表面が凹凸しているように見えますが、基となるオブジェクトの表面自体は変化しません。バンプマッピングは、1978年にジェームズ・ブリンによって導入されました。 [ 2 ]

バンプマッピングは、コンピュータグラフィックスにおいて、レンダリングされた表面のわずかな変位をシミュレートすることで、よりリアルな外観を実現する技術です。ただし、ディスプレイスメントマッピングとは異なり、表面の形状自体は変更されません。代わりに、表面が変位したかのように、表面の法線のみが変更されます。変更された表面法線は、照明計算(例えば、フォン反射モデルを使用)に使用され、滑らかな表面ではなく、ディテールのある外観を実現します。
バンプマッピングは、ジオメトリが変化しないため、ディスプレイスメントマッピングと比較して、同じレベルのディテールを実現するのに、はるかに高速で、消費するリソースも少なくて済みます。
奥行き感を高めることに加えて、他の表面の特徴を変更する拡張機能もあります。視差マッピングと水平線マッピングはそのような拡張機能の2つです。[ 3 ]
バンプマッピングの主な制限は、基となる表面自体を変更せずに表面法線のみを摂動することです。[ 4 ]そのため、シルエットや影は影響を受けず、特にシミュレーションされた変位が大きい場合に顕著になります。この制限は、表面にバンプを適用するディスプレイスメントマッピングや等値面を使用するなどの手法で克服できます。
バンプマッピングを実行する主な方法は 2 つあります。1 つ目は、高さマップを使用して表面の変位をシミュレートし、修正された法線を得る方法です。これは Blinn [ 2 ]によって考案された方法で、特に指定がない限り、通常はバンプマッピングと呼ばれます。この方法の手順は、次のようにまとめられます。
オブジェクト表面上の各可視点(またはピクセル)に対して照明計算を実行する前に:
その結果、まるで本物のような奥行き感のある表面が実現する。このアルゴリズムは、シーン内の光源が移動すると、表面の見た目も変化するように設計されている。
もう1つの方法は、サーフェス上の各点の修正された法線を直接含む法線マップを指定することです。法線は高さマップから導出されるのではなく直接指定されるため、この方法は通常、より予測可能な結果をもたらします。これにより、アーティストが扱いやすくなり、今日では最も一般的なバンプマッピングの方法となっています。[ 5 ]

リアルタイム3Dグラフィックスのプログラマーは、バンプマッピングをより低い計算コストでシミュレートするために、この技術のバリエーションをよく使用する。
一般的な方法の一つは、固定ジオメトリを使用することでした。これにより、ハイトマップの法線をほぼ直接的に使用できます。照明計算用の事前計算済みルックアップテーブルと組み合わせることで、非常にシンプルで高速なループで実装でき、フルスクリーン効果を実現できました。この方法は、バンプマッピングが初めて導入された当時、よく用いられた視覚効果でした。