(57)【要約】【課題】リアルタイム３次元グラフィックスのレンダリング分野において、シミュレーションやゲームなどで物体表面の画像の凹凸をリアルタイムで判定できる、画像処理方法と画像処理装置を提供する。【解決手段】リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理に関して、レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較したうえで、画像に表された物体表面の凹凸を該比較の結果に基づいて判定するか、又は、前記角度を比較した結果に基づいてレンダリング対象フラグメントに重み付けを行い、画像に表された物体表面の凹凸を重み付けの結果に基づいて判定する。【選択図】  図１
2010266990.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理方法であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較し、
画像に表された物体表面の凹凸を、該比較の結果に基づいて判定すること、
を特徴とする画像処理方法。
【請求項２】
リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理方法であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較し、
前記角度を比較した結果に基づいて、レンダリング対象フラグメントに重み付けを行い、
画像に表された物体表面の凹凸を、該重み付けの結果に基づいて判定すること、
を特徴とする画像処理方法。
【請求項３】
リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理装置であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較する角度比較手段、
及び、画像に表された物体表面の凹凸を該比較の結果に基づいて判定する凹凸判定手段、
を備えることを特徴とする画像処理装置。
【請求項４】
リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理装置であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較する角度比較手段、
前記角度を比較した結果に基づいて、レンダリング対象フラグメントに重み付けを行い、
及び、画像に表された物体表面の凹凸を、該重み付けの結果に基づいて判定する凹凸判定手段、
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元グラフィックスの画像の凹凸をリアルタイムに判定する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
リアルタイム３次元グラフィックスにおける凹凸表現の技術としてバンプマッピングによる表現がある。バンプマッピングとは、例えば樹皮のような表面が凸凹した物体を画像に表現するための手法である。
このバンプマッピングは、凸凹した面の高低情報を示すハイトマップを幾何情報から生成し、そこから法線マップを生成する。そして、法線マップを利用して面の陰影を操作することで、物体表面の凸凹を画像に表現する。（例えば非特許文献１に記載の発明）
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Blinn, James F. "Simulation of Wrinkled Surfaces", ComputerGraphics, Vol.12 (3), pp. 286-292 SIGGRAPH-ACM (August 1978)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、近年のリアルタイム３次元グラフィックスにおける高画質なレンダリングは、ハードウェア資源との戦いであると喩えることができる。テクスチャを利用するレンダリングでは、そのテクスチャの解像度によって、レンダリング品質が大きく左右される。しかし、ハードウェア資源の能力は限られており、けっして無尽蔵にテクスチャを利用できるわけではない。
【０００５】
ところで、バンプマッピングで利用される法線マップは、最も高い位置を示す法線は正面方向であり、最も低い位置を示す法線も正面方向になってしまい、物体表面の凹凸は表現出来ても、それから物体表面の凹凸を正しく判定することは出来なかった。
【０００６】
本発明は前記従来の技術の問題点に鑑みなされたものであり、リアルタイム３次元グラフィックスのレンダリング分野において、シミュレーションやゲームなどで物体表面の画像の凹凸をリアルタイムで判定できる、画像処理方法と画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するための手段として、請求項１に記載の発明は、リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理方法であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較し、
画像に表された物体表面の凹凸を、該比較の結果に基づいて判定すること、
を特徴とする画像処理方法である。
本発明によるリアルタイムの凹凸判定方法は、各フラグメントにおいて１回のレンダリングパスで判定できることを特徴とし、高速な処理が可能である。
【０００８】
また、請求項２に記載の発明は、リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理方法であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較し、
前記角度を比較した結果に基づいて、レンダリング対象フラグメントに重み付けを行い、
画像に表された物体表面の凹凸を、該重み付けの結果に基づいて判定すること、
を特徴とする画像処理方法である。
【０００９】
また、請求項３に記載の発明は、リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理装置であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較する角度比較手段、
及び、画像に表された物体表面の凹凸を該比較の結果に基づいて判定する凹凸判定手段、
を備えることを特徴とする画像処理装置である。
【００１０】
また、請求項４に記載の発明は、リアルタイム３次元グラフィックスの物体表面の画像の凹凸をリアルタイムで判定する画像処理装置であって、
レンダリング対象フラグメントの法線マップが示す法線と、レンダリング対象フラグメントが示す法線マップを中心に広がるベクトルとの角度を比較する角度比較手段、
前記角度を比較した結果に基づいて、レンダリング対象フラグメントに重み付けを行う手段、
及び、画像に表された物体表面の凹凸を、該重み付けの結果に基づいて判定する凹凸判定手段、
を備えることを特徴とする画像処理装置である。
【発明の効果】
【００１１】
本発明によると、リアルタイム３次元グラフィックスのレンダリング分野において、シミュレーションやゲームなどで物体表面の画像の凹凸をリアルタイムで判定できる。
更に、限られたハードウェア資源の元で、法線マップから物体表面の凹凸判定を行いたい場合、本発明によると、凹凸を示す画像をリアルタイムに生成し利用する事で、凹凸を示す画像の分のハードウェア資源を節約することにも有効となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の画像処理方法の一例に係るアルゴリスムを説明するフローチャート。
【発明を実施するための形態】
【００１３】
図１に本発明の画像処理方法の一例に係るアルゴリスムを示す。
［ステップ１］  「角度比較１」の分岐において、対象となるフラグメントの法線マップが示す法線と正面を表す法線との角度θ１を、ユーザの指定する閾値Ｘと比較する。
もしこの角度が、ユーザの指定する閾値Ｘ以上である場合（θ１≧Ｘ）には、ステップ７、即ち「凹凸判定１」の処理に進む。又、もしこの角度が、ユーザの指定する（任意の）閾値に満たない場合（θ１＜Ｘ）は、ステップ２、即ち「同心円状方向のサンプリング」の処理に進む。
【００１４】
［ステップ２］  「同心円状方向のサンプリング」の処理において、法線マップの周囲をサンプリングする。サンプリングは同心円上に対象フラグメントを中心に多方向へ行う。サンプリング方向は面を形成する３方向以上で行う。
ここで、サンプリングの方向の数は多い方が精度が高くなるが、レンダリング処理速度とのトレードオフの関係である。従って方向数は、法線マップ上で周囲の値を得る為に、面を形成できる３方向以上とするのが好ましい。
【００１５】
各方向毎のサンプリングは、法線マップ上で対象フラグメントからユーザが予め指定する一意の移動量で離れた位置が示す法線をサンプルとする。
得られた法線と対象フラグメントが指す法線マップの位置から、サンプリングした法線マップ上の位置へのベクトルの角度θ２を得る。各方向毎の角度が得られたら、ステップ３、即ち「角度比較２」の分岐に進む。
【００１６】
［ステップ３］  「角度比較２」の分岐において、ステップ２、即ち「同心円状方向のサンプリング」の処理で得られた角度θ２毎に処理を行う。
もしこの角度θ２が、ユーザ指定の任意の角度Ｙ以下の場合（θ２≦Ｙ）は、ステップ４、即ち「重みづけ」の処理に進み凹凸を判断する重みを増やしたうえ、ステップ５、即ち「重み判定」の分岐に進む。
又、もしこの角度θ２が、ユーザ指定の任意の角度Ｙを超える場合（θ２＞Ｙ）には、重みづけを行わずに、ステップ５、即ち「重み判定」の分岐に進む。
【００１７】
［ステップ５］  「重み判定」の分岐において、重みＷがユーザーが指定する重みＷＲ以上の場合（Ｗ≧ＷＲ）には、ステップ７、即ち「凹凸判定１」の処理に進む。
又、もしこの重みＷが、ユーザーが指定する重みＷＲに満たない場合（Ｗ＜ＷＲ）には、ステップ６、即ち「サンプル数」の分岐に進む。
【００１８】
［ステップ６］  「サンプル数」の分岐において、サンプリング回数Ｎがユーザーの指定するサンプリング回数ＮＲに成った場合（Ｎ＝ＮＲ）は、ステップ８、即ち「凹凸判定２」の処理に進む。又、もしそうでない場合（Ｎ≠ＮＲ）は、ステップ２、即ち「同心円状方向のサンプリング」の処理に戻る。
ここで、サンプリングの回数は多い方が精度が高くなるが、レンダリング処理速度とのトレードオフの関係である。
【００１９】
［ステップ７］  「凹凸判定１」の処理において、対象フラグメントの凹凸を決定する。
［ステップ８］  「凹凸判定２」の処理において、対象フラグメントの凹凸を決定する。
尚、凹凸判定１と凹凸判定２は、それぞれ、予め凹か凸のいずれかに予め決定される。
【産業上の利用可能性】
【００２０】
本発明は、画像の凹凸をリアルタイムに判定する技術に関するものであって、さらに詳細には、リアルタイム３次元グラフィックスのレンダリング分野において、シミュレーションやゲームなどで画像の凹凸をリアルタイムでの判定に好適である。
【符号の説明】
【００２１】
θ１  ・・・角度
Ｘ  ・・・ユーザの指定する閾値
θ２  ・・・角度
Ｙ   ・・・ユーザ指定の任意の角度
Ｗ  ・・・重み
ＷＲ・・・ユーザーが指定する重み
Ｎ  ・・・サンプリング回数
ＮＲ・・・ユーザーの指定するサンプリング回数
【図１】
2010266990.tif 000003