(57)【要約】      （修正有）【課題】環境光に対して遮光物体も考慮し、またマッピング点と光源との距離を考慮した反射輝度分布と、描画空間全体からの拡散反射成分を実時間で求める。【解決手段】グローバル空間に分布する光源を環境キューブ６面に射影し分布輝度を記憶して、ポリゴンの内挿補間により視線反射ベクトルを計算してキューブ面と交差する点を求めた後、キューブメモリから輝度を読出し、キューブ内空間の物体をキューブ６面にそれぞれを投影し、隠面消去法を用いてキューブ面からの距離を記憶するキューブ・シャドウポリゴンバッファを設け、内挿補間点とキューブ面間の遮光物体の有無を判定し、キューブ面からの輝度をマスクして、キューブ面および遮光物体から内挿点までの距離を用いて、キューブ面輝度をスケールして、キューブ面に参照点を複数定義して、これら参照点からの輝度を内挿点で積算し拡散光成分を求める。【選択図】図１
2007052758.tif 000002
【特許請求の範囲】
【請求項１】
環境光の照射による物体の反射光を求めるコンピュータグラッフィクス・レンダリング回路に関し、直方体を含む６面からなる環境キューブを、描画空間を囲む領域に定義し、前記環境キューブのそれぞれの面に対応したキューブメモリを設け、前記キューブメモリにはキューブ内空間を照射するそれぞれの面上に投射された光源輝度を記憶する手段と、前記それぞれのキューブ面を投影面として、キューブ空間内の物体を、隠面消去法を用いて物体と前記キューブ面との距離を記憶するキューブ・シャドウポリゴンバッファを設ける手段と、物体を表現するポリゴンのそれぞれの頂点には、少なくとも頂点座標値、面法線および視線ベクトルを定義し、前記頂点定義値をポリゴン内で線形に補間し、それぞれのポリゴン内挿点での前記法線および視線ベクトルから視線反射ベクトルを求め、前記視線反射ベクトルが前記キューブ面と交差するキューブ面と座標点を求めて、前記キューブメモリに記憶された前記輝度を読取る手段と、前記ポリゴン内挿点座標値を、前記視線反射ベクトルが交差する面の投影座標系に変換すると共に、該当する面に対応する前記キューブ・シャドウポリゴンバッファを選択して、前記変換座標値から前記キューブ・シャドウポリゴンバッファに記憶された距離を読み出し、この距離と、前記変換座標値の投影面からの距離（以下デプス値という）とを比較して、前記デプス値がキューブ・シャドウポリゴンバッファの距離より遠方にある場合には、ポリゴンの内挿点は遮光物体によって遮られているものとして前記キューブメモリから読み出した輝度をマスクし、一方、近くにある場合には内挿点にマッピングする手段を有する手段と、内挿点のレンダリング輝度はポリゴン自身の輝度と前記光源分布パターンの輝度を物体に予め設定された輝度合成係数を用いて線形に合成するそれぞれの手段をもって、物体表面の環境光を決定する環境光マッピング回路。
【請求項２】
請求項１の回路において、ポリゴン内挿点と視線反射ベクトルが交差するキューブ面との間に遮光物体がある場合、前記内挿点と遮光物体とのなす距離を求める手段と、この距離がゼロに近づくに従って最小値に、また離れるに従って最大値となる距離スケール関数を定義し、前記関数値を交差面となるキューブメモリからの読出し輝度に乗算し、この結果得た輝度を交差面からの輝度とする環境光マッピング回路。
【請求項３】
請求項１の回路において、キューブメモリに記憶する輝度分布パターンに関し、鮮明な分布形状と、前記分布形状をフィルタリングによってぼかした２つのパターンを用意する手段と、ポリゴン内挿点と前記視線反射ベクトルが交差するキューブ面とのなす距離を用いて、前記２つのパターン間を補間して得た輝度を該当するキューブ面の輝度と見なす、それぞれの手段をもつ環境光マッピング回路。
【請求項４】
請求項１の回路において、それぞれのキューブ面の光原分布パターン輝度が内挿点に及ぼす面反射光に関して、キューブ６面のそれぞれに１つ以上の参照点を定め、前記参照点と内挿点との距離を変数とするそれぞれの距離減衰関数値を定義して、この関数値と該当する面それぞれの参照点の輝度とを乗算した値をキューブ面毎に加算する手段と、前記加算値が内挿点に対して影響を与えるか否かを判断する手段として、請求項１の遮光物体の有無判定の結果をそれぞれのキューブ面に対して行い、遮光物体がある場合には該当するキューブ面の前記加算値をマスクし、遮光物体がない場合には、該当する面それぞれの加算値を面毎に累積し、この累積値をもって内挿点のキューブ面からの面輝度とする環境光マッピング回路。
【請求項５】
請求項１および４の回路において、参照点毎に距離減衰関数値と輝度を乗算した値をキューブ面毎に合計し、この合計値をポリゴン頂点に頂点変数として定義して内挿補間し、直接キューブ面毎の面輝度を得る環境光マッピング回路。
【請求項６】
請求項１および４の回路において、６面すべてに関し参照点毎に距離減衰関数値と輝度を乗算した値を加算し、この加算値をポリゴン頂点に頂点変数として定義して内挿補間し、直接すべてのキューブ面からの面輝度を得る環境光マッピング回路。
【請求項７】
請求項１、２および５の回路において、請求項５で求めるキューブ面毎の参照点加算輝度の内挿点輝度に対して、請求項２の距離スケール関数値を乗算した値をキューブ面毎の面輝度とする環境光マッピング回路。
【請求項８】
請求項１から７までに記載の環境光マッピング回路を用いたコンピュータグラフィックス画像装置。
【発明の詳細な説明】
【技術分野】
【００１】  この発明は、コンピュータグラフィックス映像技術に関し、周辺光の照射による物体表面の反射輝度をレンダリングするアルゴリズムと、そのアルゴリズムを実装するための回路技術および装置分野に属する。
【背景技術】
【００２】  コンピュータグラフィックスにおいて、物体固有の反射特性を考慮したグローバルな照明モデルの実装は、リアリティーの高い映像を表現する上で重要な課題である。今日コンピュータグラフィックスによる映像が実写映像と比較して、しばしば現実感を損っている大きな要因は、実時間描画の主流であるポリゴン内挿補間レンダリング法がグローバル照明（周辺光による反射）に原理的に適していないことによる。ポリゴンレンダリング法においてグローバル照明効果を得る唯一の処理として、従来から環境マッピング法があるが、これは鏡面反射特性をもつ物体に対し、その物体を取り囲む環境キューブ（６面体）を設定し、キューブの中心を投影中心として、それぞれの６面にキューブ外部の周辺映像を投影し、投影図をテキスチャーパターン化した後、このパターンを物体にマッピングするものである。現実世界においては、例えば室内では天井の蛍光灯、壁窓、間接反射光をもつ壁などがあり、これらの直接あるいは間接光が、室内の全ての物体表面の輝度に影響を及ぼしている。これを表現する手段として、従来からの前記環境キューブマッピング法を適用し、環境キューブに周辺物体映像ではなく光源（輝度）分布パターンを描き、これを描画物体にマッピングする方法が考えられる。しかしこの方式は２つの致命的な問題がある。１つは、物体に反射される光の一部には、反射位置が視点方向に伴って移動するものがある。従来の環境マッピング・アルゴリズムでは、投影中心をすべてキューブ中心とし視線反射点の位置を考慮していないため、マッピング位置に関して幾何学的な精度を保持することができない。２つ目の問題として、グローバル照明による影響は特定の物体にではなく、すべての物体が対象となり、それぞれの物体毎に環境キューブを定義する従来の方式では、キューブパターンを記憶するメモリ容量が非現実的なサイズとなる。後者の問題に対応する手段として、環境キューブを全体空間に１つ定義して、これをすべての物体に適用することが考えられる。この場合の問題は、物体間同士の遮光関係を１つの環境キューブからだけでは判断できないことにある。このような背景から、今日まで環境光に対して遮光物体をも考慮し、また全ての物体は何らかの周辺光に対する反射特性を持つものとして、ポリゴンレンダリング法でのグローバル照明の実時間処理の実装例を見ることができない。
【発明の開示】
【発明が解決しようとする課題】
【００３】  本発明は、輝度分布を環境キューブパターンとするグローバルな１つの環境光キューブを定義して、これをキューブ内空間の物体にマッピングする手段を用いて、前記【００２】の記載のそれぞれの問題を解決するため、内挿点（描画点あるいはレンダリング点ともいう）に対する遮光物体の判定手段と、内挿点の位置を考慮したキューブ面からの照明輝度を決定するそれぞれの手段を実現することを本発明の課題とする。
【課題を解決するための手段】
【００４】  前記課題に対し、本発明ではグローバル空間上の輝度を環境光キューブ６面に射影パターン化し、そのパターンをメモリ（以下キューブメモリと呼ぶ）に記憶する。本発明でいう環境光マッピングあるいは環境光キューブと、従来の環境マッピングあるいは環境キューブのそれぞれとの表現の違いは、本発明が環境キューブに記憶する情報を物体形状ではなく輝度分布とすることである。グローバル空間にある光源の分布パターンは、室内では天井の蛍光灯や窓からの採光などによるものが主な対象となり、それらが照らす輝度分布がキューブメモリに記憶される。室外では天空や街灯等による輝度となる。ポリゴンレンダリング法を用いる本発明では、物体は多数の多角形面集合として描画し、それぞれの多角形頂点には頂点座標値、テキスチャー座標値、光源入射ベクトル、面法線、視線ベクトル（視点と多角形頂点を結ぶ方向）などを定義する。これら頂点定義変数を内挿補間することによって、多角形内部の点それぞれにおいて前記頂点定義変数のそれぞれを得、その内、面法線と視線ベクトルから視線の反射ベクトルを求め、反射点（内挿点）の座標値、さらにキューブの辺（室内の場合は室内空間）の大きさから、反射ベクトルがキューブ面と交差する点を求め、さらにキューブメモリから輝度を読出し、この輝度を内挿点にマッピングすることによって周辺光を得ることができる。マッピングの際、パターンの輝度と物体の表面属性を用いた物体輝度との線形合成や、キューブメモリの輝度に対してスケーリングを行うことによって物体表面での環境光による照りの度合いを調整することができる。【００５】  一方、上記の方法だけでは、【００２】に記載した遮光物体による問題を解決していない。遮光物体が内挿点と、視点反射ベクトルのキューブ面交差点との間に存在した場合、内挿点へのキューブ面からの照明はその距離が小さくなればなるほど減衰する筈である。遮光物体の有無を判断可能とするため本発明では、２パス方式の影の生成と同様に、第１パスにおいてそれぞれのキューブ面を投影面（視点はキューブ面に垂直なキューブ空間外部の軸上）として、キューブ空間内の物体を、隠面消去法を用いて描画し、キューブ面に最も近い物体のキューブ面までの距離（以下デプス値という）をシャドウポリゴンバッファに記憶する。この結果、シャドウポリゴンバッファはキューブ６面に対して６組必要となる。本発明ではこのシャドウポリゴンバッファをキューブ・シャドウポリゴンバッファ（以下ＣＳＰＢ）と呼ぶ。実際の実装ではグローバル光源と物体との関係は通常、物体の大半が、その位置および形状において幾何学的な移動は少ないと考えられるため、それぞれのＣＳＰＢは、１度求めればよいことから６面分あっても実用的には描画性能には大きな影響は与えない。これはキューブメモリも同様である。もし物体が動的に移動する場合では、遮光関係を正確に判断するためには移動毎にＣＳＰＢをリフレッシュする必要があるが、動的に変化する場合には、実装上の技法として、直接光による影の生成が平行して処理されているため、その期間中はグローバル照明の更新をペンディングし、静止後再開する方法もある。多くのアプリケーションにおいてはこのような対応で十��である。【００６】  ＣＳＰＢへの描画が終了すると、第２パスにおいて視点座標系で環境キューブ空間内の物体の描画を行う。この際、ポリゴン頂点の面法線Ｎと視点ベクトルＶと、視線反射点の座標値Ｐ０から、反射ベクトルＲが（１）式で求まり、またキューブとの交点Ｐｃｒｏｓｓは（２）式で求まる。これらの式は四則演算器で実装できる。（２）式の直線式のパラメータｔは交差面、反射点座標値およびキューブの大きさから決定される。キューブ面と反射ベクトルとの交点計算は、平面と直線式の一般的な交差計算であり、いろいろな高速アルゴリズムが考えられるが、交点計算アルゴリズム自体は本発明の範囲とはしない。
Ｒ＝２Ｎ（Ｎ・Ｖ）−Ｖ          （１）
Ｐｃｒｏｓｓ＝Ｐ０＋Ｒｔ        （２）【００７】  第２パスにおいて視点座標系で物体をレンダリングし、内挿補間値を用いて（１）および（２）式により視線反射ベクトルが交差するキューブ面と、その面内の交差点座標値を得るが、内挿点（Ｘ，Ｙ，Ｚ）座標は交差するキューブ面が判断されると、その面の座標系（Ｘｌ，Ｙｌ，Ｚｌ）に変換する。次に座標（Ｘｌ，Ｙｌ）と該当する面のＣＳＰＢから距離Ｚｄを読出し、これと前記Ｚｌとを比較して、ＺｌがＺｄより面に近い場合（およびＺｄ＝Ｚｌ）には、キューブメモリから輝度を読出して内挿点にマッピングし、Ｚｌが遠方に位置する場合には、内挿点は遮光物体の後方に位置するものとしてマスク（マッピングを行わない）する。なお、内挿点のキューブ面座標値（Ｘｌ，Ｙｌ，Ｚｌ）への変換は、第２パスおいて頂点に視点座標値と共にあらかじめ６つのキューブ面座標値を定義することで省略することも可能である。【００８】  前記の交差点の輝度を内挿点にマッピングする場合、本発明では交差点輝度とマッピングされる物体自身の輝度との合成を行う。物体の輝度とは環境マッピングと異なるプロセスに基づく照明モデル（例えばＢＲＤＦモデル）によって得る物体表面の輝度であり、これをＩｂとし、またキューブメモリから読出された輝度をＩｃとすると、物体に固有に定義された合成係数αを用いて（３）式による輝度Ｉｐを決定する。【００９】  また本発明では内挿点と遮光物体がなす距離（Ｚｌ−Ｚｄ）がポリゴンの内挿補間毎に計算可能なため、この距離が所定の値を超える場合、【００７】で記載した遮光物体存在時でのマスクを行わないで、距離スケール関数（例えば距離がゼロに近づくと０に近づき、離れると１に向かう関数。但しＺｌ＝Ｚｄでは同一物体と見なし１とする）を定義して、この関数値をキューブメモリの輝度に乗算する。この乗算値を内挿点のキューブ面からの輝度とする手段も提供する。この距離スケール関数は内挿点が遮光物体の直後に位置すれば影となり、遠く離れれば遮光物体の影響を受けないものとした環境光の回り込み特性を表現する。【０１０】  一方、内挿点とキューブ輝度面との距離が大きくなればなるほど通常、光源の面積や形により、内挿点での輝度パターン分布は薄く拡散する現象が現実世界にはある。これを表現する手段として、１つは前記の天井や壁の光源形状を比較的明瞭に表現したものと、他はこれをフィタリングしてぼかした２つのパターンを作成しこれをキューブメモリに記憶する。すなわち、本発明では比較的光源の存在あるいは形状（局所性）を明確に表現したもの（面に近い距離のもの）と、ぼかしたもの（面から離れたもの）の２つの光分布パターンＩｃ０とＩｃ１を、それぞれキューブ面パターンとしてもち、物体を描画する際、これら２つのパターンを同時に読み出し、内挿点とキューブ面交差点間の距離Ｄを用いて、２つのパターン間の重み付けを（４）式によって行い、その輝度Ｉｃをキューブ輝度とするものである。
2007052758.tif 000003
（４）式のｋは係数である。この結果、本発明ではキューブ面からの距離が遠い視線反射点では、近い点に比較し輝度分布がボケて広がる表現が可能となる。（４）式のβは１例を示したものであるが、１／（１＋ｋ０ｘＤ＋ｋ１ｘＤ２）など現実の環境光の影響に類似した関数（ｋ０，１はそれぞれ係数）を設定することもできる。【０１１】
【０１０】に記載した２つのパターン間で輝度を補間する手段は、一般に行われているテキスチャーマッピングのミップマッピング法とは異なる。ミップマップは、映像は同じであるがサイズの具なる複数のパターンを用意し、物体の拡大縮小に伴う最適なサイズ２つを選択し、拡大縮小率を用いてそれらの間を補間し画質の保証を行うものである。本発明ではミップマップのようにサイズの具なるパターン間を補間するのではなく、映像の異なるパターンを用意し、それらを光源（キューブ面）からの距離を用いて補間を行うものである。【０１２】  本発明の前記それぞれの手段は、視線方向によってマッピング位置が変化する鏡面反射成分を生成するものであったが、本発明では視線に依存しない反射成分を求める手段も実装する。この手段として本発明ではキューブ６面上に、複数の参照点とそれぞれの参照点での輝度を定義する。第２パスにおいて、前記【００７】と同様な処理で内挿点をキューブ面座標系に変換し、キューブ６面のそれぞれのＣＳＰＢのＺｄと比較する。もし内挿点のＺｌが、ＣＳＰＢのＺｄ値よりも遠方にある場合には、そのキューブ面からの影響は無いものと見なし、またキューブ面に近い場合には、参照点の輝度Ｌｉと参照点Ｓｉから内挿点Ｐ０までの距離（Ｓｉ−Ｐ０）を用いて（５）式の関係から内挿点における輝度を決定する。ここで関数Ｄは一般に距離に反比例する、距離の１次あるいは２次減衰関数となる。輝度Ｌｉと減衰関数Ｄとの乗算を６面全ての参照点（ｉ点数分）に対して行い、乗算結果を加算してキューブ空間内の拡散光Ｉｄとして内挿点にマッピングする。ここで参照点の座標値Ｓｉと輝度Ｌｉは予めレジスタ等に記憶して置き、内挿点Ｐ０が得られた時点で、このレジスタから参照点座標値を読み出し２点間の距離を求める。
2007052758.tif 000004
【０１３】  ＣＳＰＢに記憶されたデプス値は、キューブ面中央に直交する軸上を投影中心として描画したものであるため、それぞれの参照点と内挿点を結ぶ線上周辺にある遮光物体のシルエット境界は正確に判定することができない。しかし求めているものがキューブ面がもつ面輝度を対象としている関係上、遮光物体のポリゴン境界を厳密に判定する必要はない。【０１４】  本発明では【００９】で定義した環境光回り込み処理と同様に、参照点からの輝度に関しても、遮光物体がある場合、その面の輝度をマスクする手段だけでなく、（５）式に前記の距離スケール関数値を乗算して内挿点の輝度とする。【０１５】  本発明では、負荷の大きな処理は第１パスにおけるキューブ・シャドウポリゴンの生成である。しかし、キューブ内のそれぞれの物体に幾何学的な変化が頻繁に発生しない場合では、シャドウポリゴンの計算は、物体が変化した時点にのみ行えばよい。この手法を取れば、通常のシーンにおいては、必ずしも第１パスが実時間描画に大きな障害となることはない。さらに本発明では、キューブ空間内の物体がそれぞれキューブ空間の大きさに対して小さな場合は、遮光物体の直接の影響以上に、環境光の回りこみの影響が強いため、キューブ・シャドウポリゴンの計算を省略する手法も選択可能とする。このように第１パスにおいては、物体形状に応じて選択的な処理をすることによって高速化を図ることが可能となる。【０１６】  内挿点からキューブ参照点までの距離を、内挿点毎に参照点数分求める処理に関して、本発明では、頂点と参照点を結ぶ距離と参照点輝度から求めたそれぞれの照射光を、予めそれぞれの物体のポリゴン頂点に定義しておき、この照射光をポリゴン内部で線形補間することにより、直接内挿点の反射光を得る手段も選択可能とする。キューブ面毎に求めた照射光は、頂点毎に６つ定義される。補間された照射光は、キューグ面ごとに【００７】の手段で遮光物体の有無を判定して、遮光物体がある面ではマスクし、遮光物体のない面では面毎に加算する手段を設ける。また頂点には６つの照射光ではなく、すべての面からの照射光を加算した１つの照射光成分だけを定義することも、キューブ内空間の物体の大きさ等から可能（物体が空間に比べて小さい）な場合がある。この場合は遮光物体による判定は行わない。本発明では前記いずれの方式も、映像の現実感（Ｌｅｖｅｌ  ｏｆ  Ｄｅｔａｉｌ）と実時間性の関係から、選択的に適用可能とする。【０１７】  以上から本発明ではシーンに１つの環境光キューブを定義し、それぞれの面にはその環境空間がもつ輝度分布をパターン化して記憶する手段と、キューブそれぞれの面に投影されるキューブ空間内の物体の、投影面からの距離を、隠面消去処理を通してキューブ・シャドウポリゴンバッファに記憶する手段と、第２パスにおいて物体を定義するポリゴン頂点のそれぞれには、頂点座標値、法線および視線ベクトル等を定義し、ポリゴンの内挿補間によりポリゴン内部の点での前記法線および視線ベクトルから視線反射ベクトルを求め、内挿点と前記視線反射ベクトルから、前記キューブと交差する面と、キューブ面上での点の輝度を求める手段と、第２パスのポリゴン内挿補間によって得たポリゴン内の座標値を所���のキューブ面座標系に変換し、前記キューブ・シャドウポリゴンバッファに記憶された光源からの距離を読み出し、この読み出した距離と、前記変換した距離とを比較して、変換距離が読み出し距離より遠方にある場合には、ポリゴンの内挿点は遮光物体によって遮られており、キューブ面からの輝度をマスクし、一方、近くにある場合には該当する面からの輝度をマッピングする手段と、内挿点の輝度は、ポリゴンに予め設定された合成係数を用いて、ポリゴン自身の輝度とキューブ面から読み出された輝度とを合成するそれぞれの手段をもって、物体のそれぞれに環境光をマッピングする。また本発明では、キューブ面に分布する輝度パターンを鮮明なパターンと、フィルタ等によりぼかしたパターンのそれぞれを用意して、内挿点とキューブ面間の距離を用いて、前記２つのパターンを補間して得た輝度を、キューブメモリからの読出し輝度とする手段と、さらに、キューブ面の輝度が内挿点に及ぼす面照射光は、キューブ６面に１つ以上の参照点を定め、これらの点には参照点輝度を設定し、内挿点とそれぞれの参照点までの距離を用いて、内挿点に及ぼす輝度を求める手段と、さらに前記のキューブ・シャドウポリゴンバッファのデプス値と比較して、キューブ６面からの照射光成分を選択する手段と、予めポリゴンの頂点には、参照点からの距離を考慮した照射光成分を頂点変数として定義し、これを内挿補間して、直接内挿点の輝度を求める、それぞれの手段をもって環境光を物体にマッピングするものである。【０１８】  本発明で定義する６面体は、一般的な環境マッピング手法で定義される環境キューブと対応させるため同名で記載しているが、立方体を含む直方体であっても本発明の【０１７】に記載のすべての手段に適用できる。
以上から、本発明の手段により、天井や窓から照射される局所的な光だけでなく、グローバルな光を、遮光物体による空間的および幾何学的関係を含めて、シーンに含まれる物体表面に環境光として描画することができる。
【発明の効果】
【０１９】  本発明により、より自然に近い現実感のある光反射効果のある映像の描画が実時間で可能となる。
【発明を実施するための最良の形態】
【０２０】  本発明の技術はＬＳＩ、プログラマブル論理回路等への実装あるいはＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）の形態で実施され、コンピュータグラフィックスプロセッサに応用される。
【実施例】
【０２１】  本発明の環境光マッピング回路の実施例を図１に示す。ポリゴンレンダリング法では、物体の形状はポリゴン（多角形、主に３角形）の集合体で表現する。まず描画空間に環境光キューブを定義し、６面からなるキューブ面のそれぞれに対応するキューブメモリ１４を設け、このメモリ１４には、描画空間内外にある光源を面に射影した光源分布パターン（輝度）を予め記憶する。ここで環境光キューブは立方体を含む直方体の形状をもつものとする。第１パス（図１のＰａｓｓ１のバスルート）において空間内のすべてのポリゴンをそれぞれのキューブ面を投影面として描画し、投影面からポリゴン内挿点までの距離（デプス値）をキューブ・シャドウポリゴンバッファ（ＣＳＰＢ）１５に記憶する。従来の環境キューブは投影中心をキューブ内中心点とするが、本発明のＣＳＰＢではこれとは逆に、キューブ外側で、それぞれの面の中心と垂直な軸上に投影中心を置く。第２パスにおいて、多角形の頂点には、視点座標系の頂点座標値、面法線、視線ベクトルなどを定義し、これら頂点変数をポリゴン内挿補間回路１０で線形に補間し、多角形内部のそれぞれの点での頂点定義変数を求める。この内、面法線Ｎ、視線ベクトルＶおよび座標値Ｐ０をそれぞれ反射ベクトル計算回路１１に加え、【００６】の（１）式に基づき、視線反射ベクトルＲを得る。また座標値Ｐ０とＲとからキューブ面交差計算回路１２において、交差キューブ面Ｆ（５≧Ｆ≧０）と、その面内の交差点（Ｕ，Ｖ）をベクトルＲの符号や【００６】の（２）式により求め、Ｆと（Ｕ，Ｖ）を用いて該当するキューブメモリ１４から輝度Ｉｃを読み出す。一方、ポリゴン内挿補間回路１０で得た座標値Ｐ０は、キューブ面座標変換回路１３にて視点系座標値からキューブ面座標値（Ｘｌ，Ｙｌ，Ｚｌ）に変換し、該当するＣＳＰＢ（前記Ｆ面に対応するＣＳＰＢ）１５からデプス値Ｚｄを読み出す。このＺｄとＺｌとをデプス値比較回路１６で比較し、Ｚｌがキューブ面により近い場合には、点Ｐ０はキューブ交差点の輝度Ｉｃを内挿点にマッピングし、Ｚｌが遠方にある場合には、Ｉｃをマスクする。キューブ交差点のＩｃを内挿点にマッピングする際、物体の輝度Ｉｂ（この輝度はシェーディングや影が考慮された物体固有の輝度）と、物体の表面特性として定義された合成係数αから、【０１０】の（３）式に基づき、輝度合成回路１７にて合成を行う。合成された輝度が内挿点、すなわち視線反射点の輝度となる。【０２２】  図２は本発明に関するキューブ面からの距離を考慮して物体にマッピングする輝度を求める環境光マッピング回路を示す。図２においてキューブ面座標変換回路２０およびキューブメモリ２１はそれぞれ図１の１３および１４と同じ回路である。ただしキューブメモリ２１は輝度分布パターンの具なる２つのメモリからなる。第２パスにおいてポリゴンの内挿点をキューブ面座標変換回路２０でキューブ面座標僵（Ｘｌ，Ｙｌ，Ｚｌ）に変換し、その座標値（Ｘｌ，Ｙｌ）をＣＳＰＢ２２に与える。ＣＳＰＢからはデプス値Ｚｄを読み出し、この値とＺｌをデプス値比較回路２３で遮光物体の有無を判定する。判定値ＯＮは輝度合成回路２５に与えられる。ＯＮ信号はＺｄとＺｌの前後関係を示すものである。キューブメモリ２１の１および２からの輝度Ｉｃ０およびＩｃ１は【０１０】の（４）式に基づき輝度分布パターン補間回路２４において補間輝度Ｉｃを得る。（４）式のＤは図２ではＺｌとなる。補間輝度Ｉｃ、物体の輝度Ｉｂおよび物体の合成係数αのそれぞれから、輝度合成回路において【０１０】の（３）式に基づき物体の内挿点の輝度が決定する。【０２３】  前記までの実施例では、内挿補間点へのマッピングは視線ベクトルに関係する鏡面反射を取り扱ったが、視線方向とは独立して、キューブ面輝度が内挿点に影響を与える照射光がある。環境光とはこの照射光成分が中心となる。図３には本発明の環境キューブと面照明を得るための参照点を示す。図３では環境キューブ３０のそれぞれの面上の点Ｓｉと、物体３１の内挿点Ｐ０とを結ぶ距離をそれぞれ求め、キューブ面上の輝度Ｌｉから（５）式に基づき拡散光成分Ｉｄを求める。図３においては、キューブ面上の参照点Ｓｉはキューブ面当たり１点を便宜上示しているが、面輝度を得るためには、より多数の参照点を設定したほうが好ましい。【０２４】  図４は本発明の遮光物体がある場合の内挿点との関係を示す。図４ではキューブ６面の内、２つの面４０および４１の参照点Ｓ０とＳ１のそれぞれを示し、物体４２上の内挿点Ｐ０を、またキューブ面４１と内挿点Ｐ０間に遮光物体４３が位置する関係を示している。遮光物体の有無の判定は６面それぞれに対して行う。図４ではキューブ面４１からの照射光成分を遮光されたものとして加算しない場合と、ＣＳＰＢに記憶された遮光物体のデプス値（Ｓ１からＱまでの距離）と内挿点Ｐ０とがなす距離を用いた【０１４】の距離スケール関数により回り込み処理の選択が可能である。【０２５】  図５は本発明の多角形頂点定義変数を示す。それぞれのキューブ面からそれぞれの多角形頂点までの距離と、それぞれの参照点輝度を用いて、ポリゴン５０（図では３角形）の頂点Ｃ０−Ｃ２毎に予め輝度Ｉｉ０−５（０−５はキューブ６面を表す）を計算しておき、これら輝度を他のポリゴン頂点変数と共に定義した後、内挿補間して直接内挿点の照射光を求めるものである。図５ではポリゴン頂点Ｃ０−Ｃ２には頂点座標値Ｐｉ（Ｘ，Ｙ，Ｚ）面法線Ｎｉ（Ｎｘ，Ｎｙ，Ｎｚ）と視線ベクトルＶｉ（Ｖｘ，Ｖｙ，Ｖｚ）が定義されている（添数ｉはいずれも頂点番号０−２を意味する）。Ｐｊは内挿点を示す。内挿点での照射光成分Ｉｊ０−５が得られればそれぞれの面に対して前記【０２１】の遮光物体判定を行い、加算するか否かを決定する。一方、遮光物体を考慮しない場合は、前記Ｉｉ０−５の６面からのそれぞれの輝度をすべて合計した１つの輝度を、それぞれの頂点に定義する方法も可能である。
【産業上の利用可能性】
【０２６】  本発明の回路をＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）として、あるいはグラフィックスプロセッサＬＳＩチップに実装することによって映像製作、ＣＧゲーム等のシステムにおいて実時間描画を可能とする。
【図面の簡単な説明】
【０２７】
【図１】「本発明の環境光マッピング回路を示す。」
【図２】「本発明の環境光分布補間回路を示す。」
【図３】「本発明のキューブ面からの拡散光定義図を示す。」
【図４】「本発明の遮光物体と面輝度の関係図を示す。」
【図５】「本発明の多角形頂点定義変数を示す。」
【符号の説明】
図１
１０  ポリゴン内挿補間回路
１１  反射ベクトル計算回路
１２  キューブ面交差計算回路
１３  キューブ面座標変換回路
１４  キューブメモリ
１５  キューブ・シャドウポリゴンバッファ
１６  デプス比較回路
１７  輝度合成回路
図２
２０  光源座標系変換回路
２１  キューブメモリ
２２  キューブ・シャドウポリゴンバッファ
２３  デプス値比較回路
２４  光源分布パターン補間回路
２５  輝度合成回路
図３
３０  キューブ
３１  レンダリング物体
図４
４０  キューブ面
４１  キューブ面
４２  レンダリング物体
４３  遮光物体
図５
５０  ３角形頂点走義変数
【図１】
2007052758.tif 000005
【図２】
2007052758.tif 000006
【図３】
2007052758.tif 000007
【図４】
2007052758.tif 000008
【図５】
2007052758.tif 000009