(57)【要約】      （修正有）【課題】多角形内部の環境光のレンダリング段階の計算量を減らし描画の高速化を図る。【解決手段】描画空間を複数のグリッドで空間分割し、それぞれのグリッドがもつ頂点での環境光による輝度を予め決定し、前記グリッド頂点輝度とグリッドの中心座標を記憶するバッファをグリッド毎に設ける手段と、物体の多角形頂点毎の環境光を得る手段として多角形頂点を含む近接するグリッドを検索して、選択されたグリッドの頂点それぞれの輝度と中心座標値を前記バッファから読み出し、グリッド頂点輝度、グリッド座標値および多角形頂点座標値のそれぞれを用いて、多角形頂点における環境光を決定する手段と、またグリッド頂点と多角形頂点との位置関係に基づく輝度補間を行う、それぞれの手段によって環境光を頂点データの一つとし、この多角形頂点列を視野変換およびレンダリング回路に加え頂点データを内挿補間して多角形内部の環境光を求める。【選択図】図１
2009163469.tif 000002
【特許請求の範囲】
【請求項１】
表示物体上の環境光を決定するコンピュータグラッフィクスの大局照明に関し、描画空間を複数のグリッドに空間分割してグリッドそれぞれの頂点の環境光を決定すると共に、前記環境光と前記グリッドの座標値を記憶するバッファを設ける手段と、多角形列で表現される物体のそれぞれの多角形頂点での環境光を決定する手段として、前記多角形頂点を含む近接するグリッドを選択し、これらグリッドの頂点輝度と座標値を前記バッファから読み出すと共に、多角形頂点座標値および法線とをそれぞれ用いて多角形頂点における環境光を決定する手段と、前記それぞれの手段によって得た環境光を頂点データの一つに定義した多角形頂点列を、視野変換およびレンダリング回路に加え頂点データを内挿補間し、多角形内部の環境光を求める大局照明回路。
【請求項２】
請求項１の回路において、描画空間のグリッド分割数は、環境光の変位が局所的に大きな場合は多く、変位が小さな場合は少数とする手段と、グリッド輝度から多角形頂点の環境光を決定する手段として、グリッドサイズが所定の値より小さく複数のグリッドを用いて多角形頂点を決定する場合は、グリッドそれぞれの８頂点の輝度を平均化した値を当該グリッドの輝度とする手段と、グリッド頂点の一部が物体の内部点である場合は、その頂点を除く頂点数で平均化する手段と、それぞれのグリッドの中心点から多角形頂点への照射ベクトルを求め、このベクトルと、多角形頂点における面法線との内積値と前記平均化したグリッド輝度を乗算した値をグリッド毎に加算することで、当該グリッドからの多角形頂点における環境光とする、それぞれの手段からなる大局照明回路。
【請求項３】
請求項１および２の回路において、分割グリッド数が少なくグリッドサイズが大きな場合は、グリッドそれぞれの頂点と多角形頂点との位置関係と、前記グリッドのそれぞれの頂点がもつ輝度を用い、グリッド内で前記輝度を内挿補間して前記多角形頂点での輝度を決定する大局照明回路。
【請求項４】
請求項１および３に記載の大局照明回路を用いたコンピュータグラフィックス画像装置。
【発明の詳細な説明】
【技術分野】
【００１】  本発明は、コンピュータグラフィックス描画技術に関し、環境光による周辺物体への照明効果をレンダリングするためのアルゴリズムと、そのアルゴリズムを実装する回路構成および装置分野に属する。
【背景技術】
【００２】  推論的照明モデル（例えばＰｈｏｎｇモデル）では、環境光が物体に及ぼす輝度は一定値と見なし物体の幾何学的配置によって変化する環境光の影響は考慮されていない。一方、近年の実時間レンダリングでは、リアリティーの高い映像を表現する上で物理的な照明モデルが重視され、環境条件を反映する大局照明の必要もでている。環境光の効果を正確に表現する従来技術には、ラジオ・シティー法やホトンマッピング法が知られているが、これらアルゴリズムは実時間性を得ることが困難である。一つの手段として特願２００５−２６７６２１では環境空間を立方体（環境キューブ）で囲み、立方体の６面それぞれに面周辺の輝度をマッピングすると共に、立方体のそれぞれの面に輝度参照点を設け、物体のレンダリング（内挿補間）毎に、これら参照点を仮想的な光源と見なしてレンダリング点の輝度を決定する方法が提案された。この方法はラジオ・シティーよりは高速処理が可能であるもののレンダリング点毎に複数の参照点との輝度計算が必要であり、参照点数に反比例して内挿補間速度の低下が生じた。
【発明の開示】
【発明が解決しようとする課題】
【００３】  本発明は、特願２００５−２６７６２１のレンダリング毎に前記参照点輝度を基に計算するのではなく、物体を定義する多角形頂点に、環境光による輝度をレンダリング処理以前に予め決定しておき、これをレンダリング段階で単純に線形補間だけをして多角形内部の環境光を求めるものであり、画素毎の計算処理量を減らし描画の高速化を図ることを課題としている。
【課題を解決するための手段】
【００４】  本発明は描画空間を直方体と見なし、この空間をｎｘｍｘｐ（ｎ、ｍ、ｐは任意の数）個のボリュームに分割してグリッド空間化し、グリッドがもつ輝度を求める。グリッド空間の輝度は、グリッドの頂点（格子点）８点に定義し、これら点での輝度は例えばレイトレースあるいはラジオ・シティー法で求める。この８点の頂点輝度（以下これをグリッド輝度という）計算自体は既知の技術を用いることが可能であり、本発明の範囲としない。グリッド空間のサイズｎｘｍｘｐは環境空間の輝度分布が空間内で局所的に多様に変化する場合は値を大きく（グリッドサイズを小さく）し、余り変化のない空間では粗く設定する。すなわちｎｘｍｘｐの大きさはそれら状況に応じて精細度を制御するものである。【００５】  グリッド頂点の輝度は環境内に配置される様々な物体の位置や形状によって変化する。本発明では予め、前記したラジオ・シティー法等によってグリッド８頂点における光源や周辺物体から反射する照射輝度をレンダリング処理の前に求め、これらをグリッド数分のバッファを設け、ここにグリッド輝度およびグリッド座標値（グリッド中心点）を記憶する。【００６】  一方、物体のレンダリングは通常、物体を多角形頂点列で定義し、それぞれの頂点には３次元座標値、面法線、テキスチャマッピング座標値等が設定される。これらはワールド座標から視野変換を経てレンダリング回路に与えられ、レンダリング回路では多角形内部を、頂点定義データを基に内挿補間して、補間値を基にそれぞれの内挿点（画素）の輝度を決定する。特願２００５−２６７６２１では、レンダリング段階の内挿補間点（画素単位）毎に、環境キューブ上に設定された複数の参照点輝度を仮想光源として、この光源が内挿点に及ぼす輝度を求めた。この結果、参照点が環境キューブ面あたり、例えば１６点の参照点があれば、画素当たり１６ｘ６面分の仮想光源となり、この光源数分の輝度を計算する必要があった。本発明では内挿補間段階で何らかのベクトル計算等を含む演算を用いて輝度を決定するのではなく、レンダリングを始める以前に多角形頂点には環境光を設定し、これを頂点データとしてレンダリング段階で直接内挿補間する。よって内挿補間段階では補間処理以外の計算処理は無い。【００７】  視野変換以前の段階で、多角形頂点に定義する環境光を計算するには、多角形頂点を含むグリッドのグリッド輝度から環境光を求めればよい。しかし、グリッド８頂点の平均値を多角形頂点における環境光とするには、頂点の一部が物体の内部点であったり、グリッドサイズが大きな場合には大きな誤差を生じる可能性がある。本発明では、この誤差を最小化するために、頂点を含むグリッドと、そのグリッドに隣接する複数のグリッドの中で多角形頂点がもつ面法線と面接線（面法線と直交し頂点を通過する面）がなす半球空間に含まれるグリッドをそれぞれ選択し、このグリッドに対してのみ輝度計算の対象とする。前記半球空間とする理由は多角形頂点の背後となるグリッドがもつ輝度は頂点輝度に関与しないものとし、計算負荷を軽減するためである。【００８】  前記半球空間に含まれるグリッドの選択においては、半球空間の半径をどの程度に設定するかによって選択されるグリッド数が左��される。本発明では、半径はグリッド分割に依存して最適化する。【００９】  一方、多角形頂点を含むグリッドがもつグリッド頂点の一部が多角形の内部あるいは外部のそれぞれに位置する可能性がある。本発明ではグリッド頂点が多角形内部であれば、グリッド頂点輝度計算の段階において、その点の輝度はゼロあるいは内部であることを示すフラグをセットする。グリッド当たりの平均的輝度を決定する際にグリッド頂点のうち、このフラグが立っている頂点数は平均化計算（母数）には加えない。よって８頂点のうち、例えば３頂点が物体で内部であれば、グリッド輝度はそれぞれの外部頂点の輝度の合計値を５で除算した値とする。【０１０】  さらに本発明では、複数のグリッドが選択された場合、それぞれのグリッド輝度から多角形頂点を照射する輝度は異なるものとして、グリッド輝度と中心座標値を記憶した前記バッファから、グリッド輝度と中心座標値を読み出し、グリッド輝度を平均化した輝度と、グリッド中心点と多角形頂点とを結ぶ方向をグリッド輝度からの照射方向として、多角形頂点の面法線と、グリッドからの照射ベクトルとの内積を求め、さらに内積値にグリッドの平均化輝度を乗算したものを、そのグリッドからの輝度とする。【０１１】  一方、グリッドサイズが大きな場合にはグリッド頂点のそれぞれの輝度と多角形頂点との位置からグリッド内での３次元内挿補間を行う。これは（１）式で与えられる。
Ｄ１＝（１．０−Ａ）＊Ｉ０＋Ａ＊Ｉ１
Ｄ２＝（１．０−Ａ）＊Ｉ２＋Ａ＊Ｉ３
Ｄ３＝（１．０−Ａ）＊Ｉ４＋Ａ＊Ｉ５
Ｄ４＝（１．０−Ａ）＊Ｉ６＋Ａ＊Ｉ７            （１）
Ｅ１＝（１．０−Ｂ）＊Ｄ１＋Ｂ＊Ｄ２
Ｅ２＝（１．０−Ｂ）＊Ｄ３＋Ｂ＊Ｄ４
Ｆ  ＝（１．０−Ｃ）＊Ｅ１＋Ｃ＊Ｅ２
ここでＡ，Ｂ，Ｃはグリッド原点（左下手前の頂点）から多角形頂点位置までの横幅、奥行、高さとし、Ｉ０−Ｉ７はそれぞれのグリッド８頂点の輝度を示す。Ｆが多角形頂点における輝度となる。グリッド幅は１とする。【０１２】  前記［００５］から［０１１］に記載のそれぞれの手段は、すべてレンダリングされる前段階において、実行されるものであり、レンダリング段階では、多角形頂点に設定された前記プロセスを経て求められた輝度（環境光）を頂点間で内挿補間するだけである。【０１３】  環境空間をグリッド化し、それぞれのグリッド輝度を予め求める方式では、空間内の物体全てが静止し視点の変更だけであれば、グリッド輝度の再計算は必要がない。一方、動く物体が存在する場合、環境光に影響を与える。この場合、通常では再びグリッド頂点輝度を計算し、更新しなくてはならない。本発明では大局照明においてこの影響を受ける対象となるグリッドは、動く物体周辺と仮定し、動体周辺のグリッドを選択してそれぞれの輝度を再計算する。もし、動く物体が光源を横切り、空間全体の照明に影響を与えるような場合は、影計算がレンダリング段階で並行して行われており、シャドウ効果等の多機能による処理によってその影響は小さいものと見なす。【０１４】  以上から本発明は、環境光による大局照明に関して、描画空間をグリッドに空間分割してグリッド頂点それぞれにおける周辺光を求め、これをグリッド毎にバッファに記憶した後、描画する物体多角形の頂点がどのグリッドに属するのかを検索し、該当するグリッドの頂点輝度から平均化あるいは頂点補間して求められるグリッド輝度をそれぞれの多角形頂点に及ぼす環境光とし、これを多角形頂点データに付加してレンダリング段階で内挿補間し、内挿点毎の環境光とするものである。この結果、レンダリング段階では、環境マッピングのような特別の反射ベクトルや環境キューブマッピングを用いた計算はなく高速処理が可能となる。
【発明の効果】
【０１５】  本発明により、より自然に近い現実感のある光反射効果のある映像の描画が実時間で可能となる。
【発明を実施するための最良の形態】
【０１６】  本発明の技術は高速演算処理機能をもつＧＰＵへのプログラム組込やプログラマブル論理回路等への実装あるいはＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）の形態で実施され、コンピュータグラフィックスプロセッサに応用される。
【実施例】
【０１７】  本発明の大局照明回路を図１に示す。図１において、描画空間をｎｘｍｘｐ個のグリッドに空間分割し、それぞれのグリッド（立方体）がもつ８つの頂点における環境光を予め求めておき、このｎｘｍｘｐ組のグリッド頂点環境光とグリッドの中心点座標値を、それぞれグリッド頂点輝度および座標値バッファ１０に記憶する。すなわちバッファ１０はグリッド数ｎｘｍｘｐワードで構成し、ワードあたり８組の輝度ＲＧＢと中心座標（ｘ、ｙ、ｚ）を記憶する。グリッド頂点が物体内部の点になる場合ＲＧＢをゼロあるいはフラグを設定することで、これが立っている場合はグリッド頂点８点によるグリッド輝度の平均化には加えない。描画される物体の多角形は頂点列としてバッファ１２に記憶されており、頂点データは頂点毎に３次元座標値、法線、テキスチャパターン座標値などで構成されている。通常では、この頂点データ列が逐次読みだされ視野変換回路に加わる。本発明では多角形頂点列バッファ１２から、頂点の座標値Ｖおよび法線Ｎを１組として読みだし、同時に、前記［００７］の手段により、グリッド頂点輝度および座標値バッファ１０から、対象となるグリッドの中心座標値Ｇと８つの頂点輝度Ｉ０−７を読み出し、多角形頂点輝度計算回路１１において前記［００９］から［０１１］のそれぞれの手段を用いて、多角形頂点の輝度を決定する。よって多角形頂点輝度計算回路１１がハードウエアで構成される場合は、主に平均化回路、内積回路を構成する乗除算器と加減算器およびバッファ１０のアドレス制御回路からなる。組み込みソフトウエアで行われる場合は、バッファ１０も１２もＧＰＵのデータメモリとなり、演算処理はＧＰＵの演算器を使用する。【０１８】  多角形頂点における環境光Ｉｖが決定されると、これが多角形頂点データＰに付加される頂点データとして環境光付加頂点バッファ１４において、多角形頂点Ｐと共に記憶される。多角形頂点列バッファ１２にある頂点データは３次元座標値Ｖ以外に、１例として法線Ｎやテキスチャマッピング座標値Ｔなどがある。本発明では環境光Ｉｖが他の頂点データと共に多角形頂点に定義され所定の頂点数になると、頂点列をレンダリング用多角形頂点列回路１３で整理した後、視野変換回路１５に送る。回路１３は頂点列をパイプラインやストリップ化するためのレジスタからなる。【０１９】  多角形頂点列を視野変換した後は、頂点データはレンダリング回路１６に与えられ、多角形の内挿補間を行う。環境光もまた頂点データから線形補間して多角形内部の画素毎に求める。この環境光は所定のシェーディングモデルに基づく内挿点の拡散反射および鏡面反射成分に加算する環境光輝度となる。【０２０】  以上から明らかなように本発明ではレンダリング段階において、環境光計算のための処理は、視野変換前に予め頂点に付加された環境光を直接内挿補間するのみであり、このためレンダリングの速度は殆ど大局照明のための影響を受けることはなく高速描画が可能となる。
【産業上の利用可能性】
【０２１】
【０２２】  本発明のプロセスをＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）として、あるいはグラフィックスプロセッサＬＳＩチップに実装することによって映像製作、ＣＧゲーム等のシステムにおいて実時間描画を可能とする。
【図面の簡単な説明】
【０２３】
【図１】「本発明の大局照明回路を示す。」
【符号の説明】
１０  グリッド頂点輝度および座標値バッファ
１１  多角形頂点輝度計算回路
１２  多角形頂点列バッファ
１３  レンダリング用多角形頂点列回路
１４  環境光付加頂点バッファ
１５  視野変換回路
１６  レンダリング回路
【図１】
2009163469.tif 000003