(57)【特許請求の範囲】
【請求項１】
複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法において、
前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における２次元座標上の前記各多角形の位置情報として、前記各多角形上の点の前記２次元座標上の位置を示す情報を設定する位置情報設定ステップと、
前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理ステップと、
前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画ステップと
を有することを特徴とするラジオシティ法を用いる描画方法。
【請求項２】
前記位置情報設定ステップは、前記位置情報として、前記２次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定することを特徴とする請求項１に記載のラジオシティ法を用いる描画方法。
【請求項３】
前記位置情報設定ステップは、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定ステップを含み、且つ
前記マップ参照描画ステップは、前記識別子設定ステップで設定された識別子に対応する前記ラジオシティマップを選択するマップ選択ステップを含む
ことを特徴とする請求項１に記載のラジオシティ法を用いる描画方法。
【請求項４】
前記位置情報設定ステップは、
前記複数の多角形の各々の面積を算出する面積計算ステップと、
前記面積計算ステップの計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソートステップと、
前記多角形ソートステップでソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い２以上の多角形を同一の識別子にグループ化する識別子設定ステップと、
前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出ステップと、
前記マップ情報算出ステップで算出されたラジオシティマップの位置、方向およびサイズに基づいて各多角形の頂点のマップ座標値を求めるマップ座標値設定ステップと
を含む請求項１に記載のラジオシティ法を用いる描画方法。
【請求項５】
前記マップ処理ステップは、
１以上の発光ラジオシティマップおよび１以上の受光ラジオシティマップを含む複数のラジオシティマップを定義するマップ定義ステップと、
前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記発光ラジオシティマップを視点とする２次元画面の画素毎の前記受光ラジオシティマップを識別するマップ識別子による識別子バッファを構成する各画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成ステップと、
前記バッファデータ生成ステップで生成された各画素毎のマップ識別子を格納して前記識別子バッファを形成する識別子バッファ形成ステップと、
前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新ステップと
を含むことを特徴とする請求項３に記載のラジオシティ法を用いる描画方法。
【請求項６】
前記バッファデータ生成ステップは、
前記発光ラジオシティマップの１つを選択する発光ラジオシティマップ選択ステップと、
前記発光ラジオシティマップ選択ステップで選択された１つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の２次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出ステップと、
前記変換行列算出ステップで算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換ステップと、
各多角形の頂点のマップ座標値および前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開ステップと
を含むことを特徴とする請求項５に記載のラジオシティ法を用いる描画方法。
【請求項７】
前記マップ更新ステップは、
前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択ステップと、
前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出ステップと、
前記フォームファクタ算出ステップで求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出ステップと
を含むことを特徴とする請求項５のラジオシティ法を用いる描画方法。
【請求項８】
前記マップ処理ステップは、
複数のラジオシティマップを選択的に複数のマップ更新部に割り付けて、該マップ更新部に転送するマップ制御ステップと、
前記マップ制御ステップで割り付けられた複数のラジオシティマップを前記マップ更新部で並列的に更新処理する並列更新ステップと
を含むことを特徴とする請求項１に記載のラジオシティ法を用いる描画方法。
【請求項９】
前記マップ制御ステップは、
複数のマップ更新部に割り付けたラジオシティマップを該マップ更新部に常駐させる常駐割付ステップと、
前記マップ参照描画ステップで当該ラジオシティマップを参照する際に更新結果をラジオシティマップに書き戻す書き戻しステップと
を含むことを特徴とする請求項８に記載のラジオシティ法を用いる描画方法。
【請求項１０】
前記マップ参照描画ステップは、
前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、複数の図形描画部に供給する描画制御ステップと、
前記描画制御ステップで供給される前記複数の図形のラジオシティ値を用いて、前記複数の図形描画部において並列に図形を描画形成する図形描画ステップとを含むことを特徴とする請求項１に記載のラジオシティ法を用いる描画方法。
【請求項１１】
前記描画制御ステップは、
前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割ステップと、
前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出ステップと
を含むことを特徴とする請求項１０に記載のラジオシティ法を用いる描画方法。
【請求項１２】
前記マップ処理ステップは、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成し、且つ前記描画制御ステップは、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるべく、前記ラジオシティマップの表裏判定を行う表裏判定ステップをさらに含むことを特徴とする請求項１１に記載のラジオシティ法を用いる描画方法。
【請求項１３】
前記ラジオシティ値算出ステップは、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるべく、補間処理により前記ラジオシティ値を求める補間処理ステップさらにを含むことを特徴とする請求項１１に記載のラジオシティ法を用いる描画方法。
【請求項１４】
複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画装置において、
前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における２次元座標上の前記各多角形の位置情報として、前記各多角形上の１以上の点の前記２次元座標上の位置を示す情報を設定する位置情報設定手段と、
前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理手段と、
前記マップ処理手段で処理された複数のラジオシティマップを格納するマップ格納手段と、
前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画手段と
を具備することを特徴とするラジオシティ法を用いる描画装置。
【請求項１５】
前記位置情報設定手段は、前記位置情報として、前記２次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定する手段であることを特徴とする請求項１４に記載のラジオシティ法を用いる描画装置。
【請求項１６】
前記位置情報設定手段は、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定手段を含み、且つ
前記マップ参照描画手段は、前記識別子設定手段によって設定された識別子に対応する前記ラジオシティマップを選択するマップ選択手段を含む
ことを特徴とする請求項１４に記載のラジオシティ法を用いる描画装置。
【請求項１７】
前記識別子設定手段は、前記複数の面のうちの１以上の面を示す複数の多角形に対して同一の識別子を設定する手段であることを特徴とする請求項１６に記載のラジオシティ法を用いる描画装置。
【請求項１８】
前記識別子設定手段は、前記複数の面の各面の位置および前記各面の向きのうちの少なくとも一方の情報に基づいて、前記複数の面のうち１以上の面を構成する複数の多角形をグループ化し、該グループ化された複数の多角形に対して同一の識別子を設定する手段であることを特徴とする請求項１７に記載のラジオシティ法を用いる描画装置。
【請求項１９】
前記位置情報設定手段は、
前記複数の多角形の各々の面積を求める面積計算手段と、
前記面積計算手段の計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソート手段と、
前記多角形ソート手段でソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い２以上の多角形を同一の識別子にグループ化する識別子設定手段と、
前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出手段と、
前記マップ情報算出手段で算出されたラジオシティマップの位置、方向およびサイズに基づき各多角形の頂点のマップ座標値を求めるマップ座標値設定手段とを含むことを特徴とする請求項１４に記載のラジオシティ法を用いる描画装置。
【請求項２０】
前記マップ参照描画手段は、
与えられた視野データに基づき第１の座標系の前記複数の多角形の各頂点の座標値をを第２の座標系に座標変換する座標変換手段と、
前記座標変換手段で座標変換された前記第２の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開して各画素に対応する画素マップ座標値を求める画素展開手段と、
前記画素展開手段で求められた各画素マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を抽出する画素値抽出手段と
を含むことを特徴とする請求項１５に記載のラジオシティ法を用いる描画装置。
【請求項２１】
前記マップ参照描画手段は、
与えられた視野データに基づき第１の座標系の前記複数の多角形の各頂点の座標値を第２の座標系に座標変換する座標変換手段と、
前記視野データと多角形の頂点に対応する頂点マップ座標値および頂点座標値とに基づいて、前記複数の多角形の各々をさらに複数の微小多角形に分割し、それら細分化された各微小多角形の頂点マップ座標値および頂点座標値を求める多角形分割手段と、
前記多角形分割手段で算出された各頂点マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を読み出す画素値抽出手段と、
前記座標変換手段で座標変換された第２の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開するとともに、前記画素値抽出手段で読み出された画素値に基づいて、展開された各画素に対応する輝度値を求める画素展開手段と
を含むことを特徴とする請求項１５に記載のラジオシティ法を用いる描画装置。
【請求項２２】
前記マップ処理手段は、
前記複数のラジオシティマップを、１以上の発光ラジオシティマップおよび１以上の受光ラジオシティマップとして定義するマップ定義手段と、
前記発光ラジオシティマップを視点とする２次元画面の画素毎に前記受光ラジオシティマップを識別する画素毎のマップ識別子を格納する識別子バッファと、
前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記識別子バッファに格納すべき前記画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成手段と、
前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新手段と
をさらに含むことを特徴とする請求項１６に記載のラジオシティ法を用いる描画装置。
【請求項２３】
前記識別子バッファデータ生成手段は、
前記発光ラジオシティマップの１つを選択する発光ラジオシティマップ選択手段と、
前記発光ラジオシティマップ選択手段により選択された１つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の２次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出手段と、
前記変換行列算出手段によって算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換手段と、
各多角形の頂点のマップ座標値、前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開手段と
を含むことを特徴とする請求項２２に記載のラジオシティ法を用いる描画装置。
【請求項２４】
前記マップ更新手段は、
前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択手段と、
前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出手段と、
前記フォームファクタ算出手段で求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出手段と
を含むことを特徴とする請求項２２に記載のラジオシティ法を用いる描画装置。
【請求項２５】
前記マップ更新手段は、
前記発光ラジオシティマップの位置情報と前記受光ラジオシティマップの位置情報とに基づいて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換するための変換行列を求める変換行列算出手段と、
前記変換行列算出手段で求められた変換行列を用いて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換する画素マップ座標値算出手段と
をさらに含むことを特徴とする請求項２４に記載のラジオシティ法を用いる描画装置。
【請求項２６】
前記マップ処理手段は、
それぞれ前記ラジオシティマップを更新処理する並列的な複数のマップ更新手段と、
前記複数のマップ更新手段に、複数のラジオシティマップを選択的に且つ並列的に割り付けて供給するマップ制御手段と、
を含むことを特徴とする請求項１４に記載のラジオシティ法を用いる描画装置。
【請求項２７】
前記複数のマップ更新手段は、
それぞれ更新処理のためにラジオシティマップを保持するマップ保持手段を含み、且つ
前記マップ制御手段は、
前記複数のマップ更新手段に割り付けたラジオシティマップを該マップ更新手段のマップ保持手段に常駐させる常駐割付手段と、
前記マップ参照描画手段で当該ラジオシティマップを参照する際に更新結果を前記マップ格納手段に書き戻す書き戻し手段と
を含むことを特徴とする請求項２６に記載のラジオシティ法を用いる描画装置。
【請求項２８】
前記マップ制御手段は、前記マップ更新手段に空きがない場合、更新処理済みの前記マップ更新手段に常駐している少なくとも１つのラジオシティマップの更新結果を前記マップ格納手段に書き戻し、該マップ更新手段に新たなラジオシティマップを割り付ける手段であることを特徴とする請求項２７に記載のラジオシティ法を用いる描画装置。
【請求項２９】
前記マップ参照描画手段は、
それぞれラジオシティ値を用いて図形を描画形成する並列的な複数の図形描画手段と、
前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画手段に並列的に供給する描画制御手段と
を含むことを特徴とする請求項１４に記載のラジオシティ法を用いる描画装置。
【請求項３０】
前記描画制御手段は、
前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割手段と、
前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出手段と
を含むことを特徴とする請求項２９に記載のラジオシティ法を用いる描画装置。
【請求項３１】
前記マップ処理手段は、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成する手段であり、且つ前記描画制御手段は、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるため、前記ラジオシティマップの表裏判定を行う表裏判定手段をさらに含むことを特徴とする請求項３０に記載のラジオシティ法を用いる描画装置。
【請求項３２】
前記ラジオシティ値算出手段は、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるため、補間処理により前記ラジオシティ値を求める補間処理手段をさらに含むことを特徴とする請求項３０に記載のラジオシティ法を用いる描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形画像を表示する図形表示システムに係り、特にラジオシティ法によって図形画像の描画を行うためのラジオシティ法を用いる描画方法および装置に関する。
【０００２】
【従来の技術】
従来、図形表示システムにおいては、ＣＲＴ（ｃａｔｈｏｄｅ−ｒａｙ  ｔｕｂｅ）ディスプレイの管面のような表示画面に３次元図形が２次元画像として描画される場合がある。この場合、画面の奥行き方向の図形情報が欠落する。前記奥行き方向の図形情報は図形の色およびその陰影によって奥行き感として表現される。
【０００３】
一般に、図形があらわす面における輝度を、仮想的に想定した光源と視点との相互の位置関係に基いて計算することによって、前記図形の色の陰影が求められる。しかし、このようにして前記図形の色の陰影を求めた場合は、光源からの直接光しか考慮していないので、ある程度の奥行き感は得られても、写実的な描画結果を得ることはできない。
【０００４】
そこで、近年では、面相互の反射および透過をも考慮して面の表面の輝度を計算することができるラジオシティ法を用いた描画システムが注目されている。ラジオシティ法は、光のエネルギ（の強さ）を示すラジオシティ（ｒａｄｉｏｓｉｔｙ）に着目し、複数の面の相互間の光のエネルギのやりとりを、ラジオシティ値が収束するまで繰り返し行うことによって、各面のラジオシティを求め、このラジオシティ値をその面における輝度とする方法である。
【０００５】
輝度計算にあたっては、数１に示すレンダリング方程式が用いられる。
【０００６】
【数１】
Ｉ（ｘ０，ｘ１）＝ｇ（ｘ０，ｘ１）［ε（ｘ０，ｘ１）＋∫ρ（ｘ０，ｘ１，ｘ２）Ｉ（ｘ１，ｘ２）ｄｘ２］
数１は、エネルギ保存則に基づいた輝度計算に関するレンダリング方程式を示しており、このレンダリング方程式の意味について、図２５を参照して説明する。図２５において、面Ｓ０上の点ｘ１から点ｘ０に伝達される輝度をＩ（ｘ０，ｘ１）とする。ｇ（ｘ０，ｘ１）は、幾何項と称され、点ｘ１から点ｘ０までの間になんらかの幾何形状的障害があるかどうかをあらわす。すなわち、一般に、点ｘ０から見て、点ｘ１が完全に見えればｇ（ｘ０，ｘ１）＝１であり、点ｘ１が他の物体面によって遮られて全く見えなければｇ（ｘ０，ｘ１）＝０である。ε（ｘ０，ｘ１）は、点ｘ１からｘ０に向かって物体面Ｓ０自体が発光する光のエネルギの強さであり、最後の積分項は、シーン中の他のあらゆる発光点から発射されて、（反射または屈折によって）点ｘ１を通過して点ｘ０の方向へ放射される光量の総和をあらわす。
【０００７】
しかし、数１のレンダリング方程式における積分項の厳密な計算は、ほとんど不可能であるため、通常、ラジオシティ法および分散レイトレーシング法等では、前記積分項に代えて離散点に関する総和計算が用いられる。
【０００８】
また、数１のレンダリング方程式では、鏡面反射成分と拡散反射成分とは統一的に扱われているが、ラジオシティ法では、一般に、拡散反射成分を扱う。
ここで、ある一つの閉領域内における光の伝達について考察する。該閉領域内の全ての放射と反射は理想的な拡散であると仮定する。
【０００９】
１つの面から発する光は、自己放射光と、他の面から入射する反射光および透過光とからなる。したがって、１つの面から放射される光量は、全ての面相互間の幾何学的関係および他の全て面から放射される光量によって決定される。
【００１０】
そこで、上述した数１のレンダリング方程式は、数２に示すような各面に関するラジオシティ方程式に書き換えることができる。数２は、複数の面のうちのある面ｉに着目したとき、その面ｉから放射される全光エネルギ量、すなわち面ｉにおけるラジオシティＢｉ［エネルギ／単位面積］をあらわす連立一次方程式である。
【００１１】
【数２】
Ｂｉ＝Ｅｉ＋ρｉΣＢｊＦｉｊ
ここで、Ｅｉは、面ｉのラジオシティの初期値すなわち発光ラジオシティであり、ρｉは、面ｉにおける反射率であり、Ｆｉｊは、面ｊのラジオシティが面ｉに到達する到達率すなわちフォームファクタである。
【００１２】
数２において、発光ラジオシティＥｉおよび反射率ρｉは既知であるから、フォームファクタＦｉｊが求められれば、ラジオシティＢｉが求められる。
しかし、数２を用いてラジオシティを求めた場合には、次の２つの問題がある。
【００１３】
（１）  面の内部のどの点においても同じラジオシティ値Ｂｉになるので、同一の面の内部に陰影が付されない。
（２）  実際には、面を複数の多角形によって表現することが多い。この場合、単純に１つの多角形を１つの面とみなし、複数の多角形にそれぞれ対応する複数の面についてラジオシティを計算すると、ラジオシティ値が相違する２つの多角形の境界において、ラジオシティ値の段差が発生する。
【００１４】
これら２つの問題を解決するために、次のような方法が用いられている。
（１）第１の問題を解決するために、面の内部を微小面に細分化し、各微小面についてラジオシティを計算する。ただし、この場合、前記微小面の数が、例えば２倍になると、フォームファクタＦｉｊの数は４倍になる。そこで、前記微小面の数の増加を抑えるために、受光時と発光時とにおける細分化のレベルを調整することによって、ラジオシティの計算量を増加させないようにする工夫がなされている。
【００１５】
（２）  第２の問題を解決するために、隣接する多角形の相互間の接続情報を管理して、元の面が同一である場合には、前記接続情報に基づき異なる多角形であっても、これらの多角形に対応する面は、同一の面として取り扱うようにしている。
【００１６】
次に、上述した面とそれを記述する多角形との関係について説明する。上述した元の面を記述するには従来より様々な方法が用いられている。
図２６のＡに示す凹多角形は、例えばドアの形にえぐられた壁の形状などとして、ラジオシティの計算では度々扱われる図形である。このような形状の図形を多角形により記述する場合、複数の記述の方法が存在する。
【００１７】
例えば、図２６のＢに示すように、前記図形を多角形要素形式によって凹多角形のまま記述する。
あるいは、図２６のＣに示すように、前記図形を三角形ストリップ要素形式によって記述する。
【００１８】
この面のラジオシティ値の変化が、もともと単純な変化である場合には、前記多角形要素形式および三角形ストリップ要素形式のいずれの方法によって記述しても、結果として得られるラジオシティ値は同一となる。しかし、通常、ラジオシティの値は複雑に変化するため、上述の２種類の記述方法によって求められるラジオシティの値は異なる。多くの場合、記述方法はユーザが指定するため、対象となる面がラジオシティの計算に適した記述方法で記述されるとは限らず、しばしば、実際とは異なる結果となる。
【００１９】
特に、図２６のＣに示されるように、前記凹多角形の面を三角形ストリップ要素によって記述したときに、極端に細長い三角形が形成されてしまう場合には、その部分のラジオシティ値がかなり小さくなってしまい、図２６のＢのように多角形要素形式で算出したラジオシティ値と大きく異なってしまう。
【００２０】
このような不具合を防ぎ、正確なラジオシティを算出するためには、多角形内の各微小面同士および多角形相互間における接続関係を確実に管理する必要がある。
【００２１】
【発明が解決しようとする課題】
しかしながら、対象とする面が複雑な形状である場合には、上述の接続関係を的確に維持しながら面を細分化することが、非常に困難である。そのため、ラジオシティのムラにより、ラジオシティの計算結果、すなわち最終的に描画される画像、の品質が低下するという問題があった。
【００２２】
また、面の接続情報は、つながっている面同士、すなわち直接隣接している面同士が対象であり、たとえ同一の平面上にあっても互いに独立する複数の面についてはラジオシティが個別に計算されることになる。そのため、計算すべき面の数を接続情報により充分に減少させることが困難であり、処理時間がかなりかかった。しかも、面の細分化に応じて接続情報が増加するため、多くのメモリ容量が必要であった。
【００２３】
本発明は、このような問題を解決するためになされたもので、その目的とするところは、ラジオシティの計算結果の品質を向上するとともに、ラジオシティ計算の処理時間およびメモリ容量を低減し得るラジオシティ法を用いる描画方法および装置を提供することにある。
【００２４】
【課題を解決するための手段】
本発明に係るラジオシティ法を用いる描画方法は、
複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法において、
前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における２次元座標上の前記各多角形の位置情報として、前記各多角形上の１以上の点の前記２次元座標上の位置を示す情報を設定する位置情報設定ステップと、
前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理ステップと、
前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画ステップと
を有することを特徴としている〔請求項１〕。
【００２５】
前記位置情報設定ステップは、前記位置情報として、前記２次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定するようにしてもよい〔請求項２〕。
【００２６】
前記位置情報設定ステップは、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定ステップを含み、且つ
前記マップ参照描画ステップは、前記識別子設定ステップで設定された識別子に対応する前記ラジオシティマップを選択するマップ選択ステップを含んでいてもよい〔請求項３〕。
【００２７】
前記位置情報設定ステップは、
前記複数の多角形の各々の面積を算出する面積計算ステップと、
前記面積計算ステップの計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソートステップと、
前記多角形ソートステップでソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い２以上の多角形を同一の識別子にグループ化する識別子設定ステップと、
前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出ステップと、
前記マップ情報算出ステップで算出されたラジオシティマップの位置、方向およびサイズに基づいて各多角形の頂点のマップ座標値を求めるマップ座標値設定ステップと
を含んでいてもよい〔請求項４〕。
【００２８】
前記マップ処理ステップは、
１以上の発光ラジオシティマップおよび１以上の受光ラジオシティマップを含む複数のラジオシティマップを定義するマップ定義ステップと、
前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記発光ラジオシティマップを視点とする２次元画面の画素毎の前記受光ラジオシティマップを識別するマップ識別子による識別子バッファを構成する各画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成ステップと、
前記バッファデータ生成ステップで生成された各画素毎のマップ識別子を格納して前記識別子バッファを形成する識別子バッファ形成ステップと、
前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新ステップと
を含んでいてもよい〔請求項５〕。
【００２９】
前記バッファデータ生成ステップは、
前記発光ラジオシティマップの１つを選択する発光ラジオシティマップ選択ステップと、
前記発光ラジオシティマップ選択ステップで選択された１つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の２次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出ステップと、
前記変換行列算出ステップで算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換ステップと、
各多角形の頂点のマップ座標値および前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開ステップと
を含んでいてもよい〔請求項６〕。
【００３０】
前記マップ更新ステップは、
前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択ステップと、
前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出ステップと、
前記フォームファクタ算出ステップで求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出ステップと
を含んでいてもよい〔請求項７〕。
【００３１】
前記マップ処理ステップは、
複数のラジオシティマップを選択的に複数のマップ更新部に割り付けて、該マップ更新部に転送するマップ制御ステップと、
前記マップ制御ステップで割り付けられた複数のラジオシティマップを前記マップ更新部で並列的に更新処理する並列更新ステップと
を含んでいてもよい〔請求項８〕。
【００３２】
前記マップ制御ステップは、
複数のマップ更新部に割り付けたラジオシティマップを該マップ更新部に常駐させる常駐割付ステップと、
前記マップ参照描画ステップで当該ラジオシティマップを参照する際に更新結果をラジオシティマップに書き戻す書き戻しステップと
を含んでいてもよい〔請求項９〕。
【００３３】
前記マップ参照描画ステップは、
前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、複数の図形描画部に供給する描画制御ステップと、
前記描画制御ステップで供給される前記複数の図形のラジオシティ値を用いて、前記複数の図形描画部において並列に図形を描画形成する図形描画ステップとを含んでいてもよい〔請求項１０〕。
【００３４】
前記描画制御ステップは、
前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割ステップと、
前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出ステップと
を含んでいてもよい〔請求項１１〕。
【００３５】
前記マップ処理ステップは、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成し、且つ前記描画制御ステップは、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるべく、前記ラジオシティマップの表裏判定を行う表裏判定ステップをさらに含んでいてもよい〔請求項１２〕。
【００３６】
前記ラジオシティ値算出ステップは、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるべく、補間処理により前記ラジオシティ値を求める補間処理ステップをさらに含んでいてもよい〔請求項１３〕。
【００３７】
本発明に係るラジオシティ法を用いる描画装置は、
複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画装置において、
前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における２次元座標上の前記各多角形の位置情報として、前記各多角形上の１以上の点の前記２次元座標上の位置を示す情報を設定する位置情報設定手段と、
前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理手段と、
前記マップ処理手段で処理された複数のラジオシティマップを格納するマップ格納手段と、
前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画手段と
を具備することを特徴としている〔請求項１４〕。
【００３８】
前記位置情報設定手段は、前記位置情報として、前記２次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定する手段であってもよい〔請求項１５〕。
【００３９】
前記位置情報設定手段は、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定手段を含み、且つ
前記マップ参照描画手段は、前記識別子設定手段によって設定された識別子に対応する前記ラジオシティマップを選択するマップ選択手段を含んでいてもよい〔請求項１６〕。
【００４０】
前記識別子設定手段は、前記複数の面のうちの１以上の面を示す複数の多角形に対して同一の識別子を設定する手段であってもよい〔請求項１７〕。
前記識別子設定手段は、前記複数の面の各面の位置および前記各面の向きのうちの少なくとも一方の情報に基づいて、前記複数の面のうち１以上の面を構成する複数の多角形をグループ化し、該グループ化された複数の多角形に対して同一の識別子を設定する手段であってもよい〔請求項１８〕。
【００４１】
前記位置情報設定手段は、
前記複数の多角形の各々の面積を求める面積計算手段と、
前記面積計算手段の計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソート手段と、
前記多角形ソート手段でソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い２以上の多角形を同一の識別子にグループ化する識別子設定手段と、
前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出手段と、
前記マップ情報算出手段で算出されたラジオシティマップの位置、方向およびサイズに基づき各多角形の頂点のマップ座標値を求めるマップ座標値設定手段とを含んでいてもよい〔請求項１９〕。
【００４２】
前記マップ参照描画手段は、
与えられた視野データに基づき第１の座標系の前記複数の多角形の各頂点の座標値をを第２の座標系に座標変換する座標変換手段と、
前記座標変換手段で座標変換された前記第２の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開して各画素に対応する画素マップ座標値を求める画素展開手段と、
前記画素展開手段で求められた各画素マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を抽出する画素値抽出手段と
を含んでいてもよい〔請求項２０〕。
【００４３】
前記マップ参照描画手段は、
与えられた視野データに基づき第１の座標系の前記複数の多角形の各頂点の座標値を第２の座標系に座標変換する座標変換手段と、
前記視野データと多角形の頂点に対応する頂点マップ座標値および頂点座標値とに基づいて、前記複数の多角形の各々をさらに複数の微小多角形に分割し、それら細分化された各微小多角形の頂点マップ座標値および頂点座標値を求める多角形分割手段と、
前記多角形分割手段で算出された各頂点マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を読み出す画素値抽出手段と、
前記座標変換手段で座標変換された第２の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開するとともに、前記画素値抽出手段で読み出された画素値に基づいて、展開された各画素に対応する輝度値を求める画素展開手段と
を含んでいてもよい〔請求項２１〕。
【００４４】
前記マップ処理手段は、
前記複数のラジオシティマップを、１以上の発光ラジオシティマップおよび１以上の受光ラジオシティマップとして定義するマップ定義手段と、
前記発光ラジオシティマップを視点とする２次元画面の画素毎に前記受光ラジオシティマップを識別する画素毎のマップ識別子を格納する識別子バッファと、前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記識別子バッファに格納すべき前記画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成手段と、
前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新手段と
をさらに含んでいてもよい〔請求項２２〕。
【００４５】
前記識別子バッファデータ生成手段は、
前記発光ラジオシティマップの１つを選択する発光ラジオシティマップ選択手段と、
前記発光ラジオシティマップ選択手段により選択された１つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の２次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出手段と、
前記変換行列算出手段によって算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換手段と、
各多角形の頂点のマップ座標値、前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開手段と
を含んでいてもよい〔請求項２３〕。
【００４６】
前記マップ更新手段は、
前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択手段と、
前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出手段と、
前記フォームファクタ算出手段で求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出手段と
を含んでいてもよい〔請求項２４〕。
【００４７】
前記マップ更新手段は、
前記発光ラジオシティマップの位置情報と前記受光ラジオシティマップの位置情報とに基づいて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換するための変換行列を求める変換行列算出手段と、
前記変換行列算出手段で求められた変換行列を用いて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換する画素マップ座標値算出手段と
をさらに含んでいてもよい〔請求項２５〕。
【００４８】
前記マップ処理手段は、
それぞれ前記ラジオシティマップを更新処理する並列的な複数のマップ更新手段と、
前記複数のマップ更新手段に、複数のラジオシティマップを選択的に且つ並列的に割り付けて供給するマップ制御手段と、
を含んでいてもよい〔請求項２６〕。
【００４９】
前記複数のマップ更新手段は、
それぞれ更新処理のためにラジオシティマップを保持するマップ保持手段を含み、且つ
前記マップ制御手段は、
前記複数のマップ更新手段に割り付けたラジオシティマップを該マップ更新手段のマップ保持手段に常駐させる常駐割付手段と、
前記マップ参照描画手段で当該ラジオシティマップを参照する際に更新結果を前記マップ格納手段に書き戻す書き戻し手段と
を含んでいてもよい〔請求項２７〕。
【００５０】
前記マップ制御手段は、前記マップ更新手段に空きがない場合、更新処理済みの前記マップ更新手段に常駐している少なくとも１つのラジオシティマップの更新結果を前記マップ格納手段に書き戻し、該マップ更新手段に新たなラジオシティマップを割り付ける手段であってもよい〔請求項２８〕。
【００５１】
前記マップ参照描画手段は、
それぞれラジオシティ値を用いて図形を描画形成する並列的な複数の図形描画手段と、
前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画手段に並列的に供給する描画制御手段と
を含んでいてもよい〔請求項２９〕。
【００５２】
前記描画制御手段は、
前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割手段と、
前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出手段と
を含んでいてもよい〔請求項３０〕。
【００５３】
前記マップ処理手段は、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成する手段であり、且つ前記描画制御手段は、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるため、前記ラジオシティマップの表裏判定を行う表裏判定手段をさらに含んでいてもよい〔請求項３１〕。
【００５４】
前記ラジオシティ値算出手段は、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるため、補間処理により前記ラジオシティ値を求める補間処理手段をさらに含んでいてもよい〔請求項３２〕。
【００５５】
本発明のラジオシティ法を用いる描画方法および装置は、複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法および装置において、前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における２次元座標上の前記各多角形の位置情報として、前記各多角形上の１以上の点の前記２次元座標上の位置を示す情報を設定し、前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成するとともに、前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画することにより、ラジオシティの計算結果の品質を向上し且つラジオシティ計算の処理時間およびメモリ容量を低減する。
【００５６】
さらに、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティマップの情報を更新するための複数個のマップ更新部を用意し、複数のラジオシティマップを選択的に前記複数のマップ更新部に割り付け、該ラジオシティマップを前記複数のマップ更新部で並列的に更新処理することにより、ラジオシティマップを効率よく更新して、前記ラジオシティマップを形成するようにしてもよい。
【００５７】
さらにまた、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティ画像を描画するための複数個の図形描画部を用意し、前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画部において並列に図形を描画形成することにより、前記ラジオシティマップを参照してラジオシティ画像を効率よく描画するようにしてもよい。
【００５８】
【発明の実施の形態】
以下、本発明に係るラジオシティ法を用いる描画方法および装置を適用した描画システムの実施の形態を図面を参照して説明する。
【００５９】
〔実施の形態１〕
図１は本発明の第１の実施の形態による描画システムの構成を示している。
図１の描画システムは、マップ格納部１、ＩＤバッファ作成部２、ＩＤバッファ３、マップ更新部４、マップ参照描画部５、イメージバッファ６、および情報設定部７を備えている。
【００６０】
情報設定部７は、複数の面の各面をそれぞれ複数の多角形に分割してあらわした場合の前記各面における複数の多角形の位置を定義するために、前記各面における２次元座標上で各多角形の各頂点を示す頂点座標値と該頂点のラジオシティマップにおける座標値である頂点ｓｔ値とを設定する。ラジオシティマップは、座標軸ＳおよびＴについての２次元座標であるＳＴ座標で表現され、このＳＴ座標上の点の座標値をｓｔ値と称する。さらに、情報設定部７は、前記多角形毎にその多角形が参照すべきラジオシティマップを識別するための識別子すなわちマップＩＤを設定する。したがって、情報設定部７は、前記各多角形の頂点を示す頂点座標値、頂点ｓｔ値および前記多角形毎のマップＩＤを、ＩＤバッファ作成部２およびマップ参照描画部５に与える。
【００６１】
マップ格納部１は、複数の面にそれぞれ対応する複数のラジオシティマップを格納する。
前記複数のラジオシティマップは、ラジオシティの計算にあたり、複数のラジオシティマップのうちの１つが選択的に発光ラジオシティ用の発光ラジオシティマップ１１として設定され、それ以外の（原則的には全ての）ラジオシティマップが受光ラジオシティ用の受光ラジオシティマップ１２として設定されて、全ての受光ラジオシティマップ１２についてのラジオシティの計算が行われる。次に、前記複数のラジオシティマップのうちの他の１つ、すなわち前回受光ラジオシティマップ１２に設定されていたものの１つが発光ラジオシティマップ１１に選定され、その他のラジオシティマップが受光ラジオシティマップ１２に設定されて、該受光ラジオシティマップ１２についてのラジオシティの計算が行われ、その結果に基づいてラジオシティマップの内容が更新される。以後、同様の操作が所定回数繰り返される。
【００６２】
マップ格納部１の発光ラジオシティマップ１１および受光ラジオシティマップ１２は、情報設定部７で設定された各多角形の頂点ｓｔ値に対応付けてラジオシティ値すなわち輝度に対応する画素値を格納する。すなわち、マップ格納部１に格納されるラジオシティマップは、前記画素値を収容するラジオシティマップ画像およびそれまで蓄積した他のラジオシティマップからの受光エネルギ（ラジオシティ）の値を収容する未放射エネルギマップ画像、マップの位置、マップの方向、マップのサイズ、およびマップの解像度を含む情報を格納する。前記ラジオシティマップ画像および未放射エネルギマップ画像は、ＳＴ座標系の２次元画像の形であらわされる。
【００６３】
ＩＤバッファ作成部２は、情報設定部７から与えられる頂点座標値、頂点ｓｔ値およびマップＩＤ（マップ識別子）に基づき、各画素について、発光用ラジオシティマップ１１に視点を据えた際に見える前記多角形のマップＩＤおよび必要に応じてｓｔ値を含むＩＤバッファデータを生成しＩＤバッファ３に与える。ＩＤバッファ３は、ＩＤバッファ作成部２によって生成された前記多角形のマップＩＤおよび必要に応じてｓｔ値を含むＩＤバッファデータを格納する。
【００６４】
マップ更新部４は、ＩＤバッファ３の内容に基づき、発光ラジオシティマップ１１のラジオシティによる各受光ラジオシティマップ１２のラジオシティを求めて、マップ格納部１のラジオシティマップを更新する。その結果マップ格納部１のラジオシティマップには更新されたデータが書き込まれる。
【００６５】
ＩＤバッファ作成部２およびマップ更新部４は、ラジオシティ格納部１における複数のラジオシティマップのうちのいずれかを、逐次発光ラジオシティマップ１１に選択しながら、ラジオシティマップの更新処理を所定回数だけ繰り返す。その繰り返し回数には特に制限はないが、一般には、未放射エネルギすなわち未放射ラジオシティがゼロとなり、ラジオシティマップのラジオシティマップ画像の変化が収束するまで行われる。
【００６６】
マップ参照描画部５には、視野データ、情報設定部７で設定される前記頂点座標値、頂点ｓｔ値およびマップＩＤが与えられるとともに、該マップ参照描画部５は、マップ格納部１から所要のラジオシティマップの内容を読出す。マップ参照描画部５は、マップ格納部１の更新されたラジオシティマップを用いて、各多角形にラジオシティをマッピングした上で、前記視野データに基づき任意の視点から見た画像を作成する。すなわち、マップ参照描画部５は、情報設定部７によって設定されたマップＩＤに対応するラジオシティマップを選択し、ラジオシティマップに格納された各頂点ｓｔ値に対応するラジオシティ値を読出して、該ラジオシティ値を２次元画像の画素値としてラジオシティ画像を作成して、イメージバッファ６に供給する。
【００６７】
イメージバッファ６は、マップ参照描画部５で作成されたラジオシティ画像を、画素座標値および画素輝度値の情報を含む画像データとして格納する。
図２は、ＩＤバッファ作成部２の詳細な構成を示している。図２のＩＤバッファ作成部２は、発光マップ選択部２１、変換行列算出部２２、座標変換部２３および画素展開部２４を備えている。
【００６８】
発光マップ選択部２１は、マップ格納部１のラジオシティマップから、そのときに使用すべき発光ラジオシティマップ１１を選択する。その結果、選択されたラジオシティマップ以外のラジオシティマップが受光ラジオシティマップ１２ということになる。
【００６９】
変換行列算出部２２は、発光マップ選択部２１により選択された発光ラジオシティマップ１１に相当する位置を中心とする複数の視野を２次元平面として構築し、構築された視野への変換行列を求める。
【００７０】
座標変換部２３は、変換行列算出部２２により求められた変換行列を用いて各多角形の頂点座標値を前記複数の視野の座標系の座標変換する。
画素展開部２４は、多角形の頂点ｓｔ値と、座標変換部２３により座標変換された頂点座標値とに基づいて、前記各多角形を画素に展開し、展開された各画素について隠面消去を施した上で、画素座標値および必要ならば画素ｓｔ値をＩＤバッファ３に与える。画素展開部２４は、さらに後述する画素Ｚ値または画素ＩＤをＩＤバッファ３に与える場合もある。
【００７１】
ＩＤバッファ３は、多角形が参照すべきラジオシティマップのマップＩＤ、画素座標値および画素ｓｔ値を格納する。なお、画素ｓｔ値は必要な場合に格納される。
【００７２】
図３は、マップ更新部４の構成を示している。
図３のマップ更新部４は、受光マップ選択部４１、フォームファクタ算出部４２およびラジオシティ変化量算出部４３を備えている。
【００７３】
受光マップ選択部４１は、ＩＤバッファ３に格納された各画素に対応するマップＩＤを示す画素ＩＤ値を読み出して、その画素ＩＤ値に対応する受光ラジオシティマップ１２を選択する。
【００７４】
フォームファクタ算出部４２は、受光マップ選択部４１で選択された受光ラジオシティマップ１２のマップＩＤに基づいて、ＩＤバッファ３から読み出した画素座標値に応じたフォームファクタを算出し、ラジオシティ変化量算出部４３に与える。フォームファクタは、容易に計算することができるが、予めフォームファクタを計算してテーブルとして記憶しておき、そのテーブルから求めるようにしてもよい。
【００７５】
ＩＤバッファ３に、あるマップＩＤが書き込まれているということは、発光ラジオシティマップ１１の位置からＩＤバッファ３の該当画素の方向を見たときにそのマップＩＤで示される受光ラジオシティマップ１２に対応する面が見えているということを意味する。これとは逆に、ＩＤバッファ３に、マップＩＤが書き込まれていないまたは画素ＩＤ値に対応する受光ラジオシティマップ１２が存在しない場合には、発光ラジオシティマップ１１の位置から見てＩＤバッファ３の該当画素の方向には、何も面が存在しないことになる。したがって、その画素に関しては、受光ラジオシティマップ１２の更新を中断する。
【００７６】
ラジオシティ変化量算出部４３は、フォームファクタ算出部４２で算出されたフォームファクタに発光ラジオシティマップ１１に格納された未放射エネルギを乗算することによってラジオシティの変化量を算出し、該ラジオシティの変化量を受光ラジオシティマップ１２に格納する。
【００７７】
図４は、マップ参照描画部５の構成を示している。
図４のマップ参照描画部５は、座標変換部５１、画素展開部５２およびマップ参照部５３とを備えている。
【００７８】
座標変換部５１は、視野データおよび情報設定部７からの頂点座標値が与えられ、視野データに基づいて多角形の頂点座標値を座標変換する。画素展開部５２は、座標変換部５１によって変換された多角形の頂点座標値および情報設定部７からの頂点ｓｔ値に基づいて、各多角形を画素に展開することによって、各画素における画素座標値および画素ｓｔ値を求める。画素展開部５２は、求めた各画素座標値をイメージバッファ６に与える。
【００７９】
マップ参照部５３は、画素展開部５２から与えられた画素ｓｔ値に基いて、マップ格納部１のラジオシティマップに格納されたラジオシティに応じた画素輝度値を検索して、該画素輝度値をイメージバッファ６に与える。
【００８０】
イメージバッファ６は、画素展開部５２から与えられる画素座標値にマップ参照部５３から与えられる画素輝度値を対応させて、画像データとして格納する。
＜実施の形態１の動作＞
次に、図５を参照して、このように構成された描画システムにおける描画方法を示す動作を説明する。
【００８１】
まず、情報設定部７において、複数の面の各々が複数の多角形に分割され、前記各面における複数の多角形の位置を表現するために各多角形の各頂点における２次元座標上の頂点座標値およびそれに対応するラジオシティマップのＳＴ座標上の頂点ｓｔ値が設定される（ステップＳ０１）。
【００８２】
例えば、図６に示すような１つの元の面の多角形Ｐ１を２つの多角形（三角形）Ｔ１およびＴ２に分割する。多角形の各頂点Ｃ１〜Ｃ５における座標値に対して、対応するラジオシティマップのＳＴ座標上の頂点ｓｔ値（ｓ１，ｔ１）〜（ｓ５，ｔ５）が設定される。すなわち、元の面の各多角形の頂点座標値とラジオシティマップ上の頂点ｓｔ値とが１対１に対応する。そして、図７に示すように同一平面上でない異なる面の多角形Ｐ１およびＰ２のような複数の面をそれぞれ多角形に分割して、各多角形の頂点座標値および頂点ｓｔ値を設定する。
【００８３】
また、前記各多角形毎にその多角形が参照すべきラジオシティマップを識別するためのマップＩＤも、情報設定部７により設定される。ここでは、同一の面上の複数の多角形のＩＤは同一の値とすることにより、１つの面と１つのラジオシティマップとを対応付ける。すなわち、各面毎の複数のラジオシティマップを用意する。
【００８４】
一方、各ラジオシティマップには、各多角形の頂点ｓｔ値に対応付けてラジオシティ値に対応する画素値が格納される（ステップＳ０２）。
次は、ＩＤバッファ作成部２により処理が行われる。
【００８５】
マップ格納部１に格納されたラジオシティマップの中から、発光マップ選択部２１により発光ラジオシティマップ１１が選択される（ステップＳ０３）。発光マップ選択部２１が、発光ラジオシティマップ１１を選択するにあたり、複数のラジオシティマップを単に順番に選択するようにしてもよい。あるいは、複数のラジオシティマップの中から、最大の未放射エネルギを格納するラジオシティマップを発光ラジオシティマップ１１として選択するようにしてもよい。
【００８６】
変換行列算出部２２では、選択された発光ラジオシティマップ１１の位置を中心として複数の視野が２次元画面として構築され、さらに構築された視野への変換行列が算出される（ステップＳ０４）。変換行列算出部２２では、例えば４×４の変換行列が算出される。前記変換行列は視法方向行列と視法投影行列との積によって求められる。
【００８７】
前記視法方向行列は、視点を原点として視野方向をＺ軸に変換する変換行列であって、視点への平行移動と視線方向への回転とによって構成される。前記視点は、発光ラジオシティマップの中心または適宜設定したサンプル点を世界座標であらわしたものである。前記視野方向は、正面ヘミキューブにおいては、発光ラジオシティマップの法線方向であり、側面マップにおいてはその側面に沿う方向である。前記世界座標系は、前記視法方向行列によって視点座標系に変換することができる。
【００８８】
前記視法投影行列は、視線方向の上下左右の各々について４５°の範囲を画像の解像度の範囲に投影する透視投影行列である。この視法投影行列によって、前記視点座標系を装置座標系（当該装置の座標系）に変換することができる。
【００８９】
座標変換部２３では、変換行列算出部２２で求められる変換行列を用いることにより、世界座標系における多角形の頂点座標値が装置座標系の頂点座標値に変換される（ステップＳ０５）。
【００９０】
画素展開部２４では、装置座標系における多角形の各頂点座標値に基いてＩＤバッファ３に格納された画素座標値の中からその多角形内に含まれる画素座標値が選択され、各画素座標値についての画素ｓｔ値が算出される（ステップＳ０６）。
【００９１】
画素を展開する方法としては既存の方法を用いることができ、一般的には、クリッピング、スキャン変換、またはデジタルデファレンシャルアナリシス（ＤＤＡ）などの方法が用いられる。
【００９２】
次は、ラジオシティマップ参照部４により処理が行われる。
受光マップ選択部４１では、ＩＤバッファ３に格納された各画素の画素Ｚ値または画素ＩＤ値に基づいて、その画素に対応する受光ラジオシティマップ１２がそれぞれ選択される（ステップＳ０７）。
【００９３】
受光ラジオシティマップ１２の選択方法としては、次の２つの方法がある。第１の方法は前記画素ＩＤ値を用いる方法である。画素ＩＤ値を受光ラジオシティマップ１２のＩＤと比較し、画素ＩＤ値に一致するＩＤに対応する受光ラジオシティマップ１２を選択する。第２の方法は前記画素Ｚ値を用いる方法である。各受光ラジオシティマップ１２におけるその画素位置において想定されるＺ値を算出し、算出されたＺ値をＩＤバッファ３からの画素Ｚ値と比較する。画素と一致するラジオシティマップであれば、前記Ｚ値と画素Ｚ値とが、一致するか、または非常に近い値となる。画素と一致しないラジオシティマップでは、画素Ｚ値よりもラジオシティマップのＺ値のほうが、さらに奥にあることを示すような値となる。そこで、比較結果が一致または非常に近いと判定されたラジオシティマップを選択する。
【００９４】
フォームファクタ算出部４２では、画素座標値および受光マップ選択部４１で選択された受光ラジオシティマップに基づいて、ＩＤバッファ３の各画素に対応するΔフォームファクタ（ここでは、「変化分」を「Δ」で示し、例えば「Δフォームファクタ」は「フォームファクタの変化分」を示す）が算出される（ステップＳ０８）。
【００９５】
ラジオシティ変化量算出部４３では、フォームファクタ算出部４２で算出されたΔフォームファクタを発光面の未放射エネルギに乗算することによって、Δラジオシティ（ラジオシティの変化分）が求められる。ラジオシティ変化量算出部４３では、さらに、前記Δラジオシティに面の面積比が乗算されて、Δ未放射エネルギ（未放射エネルギの変化分）が求められる。そして、ラジオシティ変化量算出部４３では、前記Δラジオシティが受光ラジオシティマップ１２のラジオシティマップ画像に加算されるとともに、前記Δ未放射エネルギが受光ラジオシティマップ１２の未放射エネルギマップ画像に加算される（ステップＳ０９）。このとき、受光ラジオシティマップ１２における加算すべき画素の位置は、画素ｓｔ値によって決定する。
【００９６】
次は、マップ参照描画部５により処理が行われる。
座標変換部５１では、与えられた視野データから求められる視野変換行列により多角形の頂点座標が座標変換される（ステップＳ１０）。画素展開部５２は、画素展開部２４とほぼ同様に動作する。マップ参照部５３では、ラジオシティマップ画像において画素ｓｔ値に対応する位置の画素値が読み出され、その画素値がイメージバッファ６の画素座標値に対応する位置の画素値に格納される（ステップＳ１１）。
【００９７】
上述のように、図１の描画システムは、前記各面を複数の多角形に分割し、前記各面における複数の多角形の位置を表現するために各多角形の頂点座標に対応するラジオシティマップ上の頂点ｓｔ値を設定し、複数のラジオシティマップに各多角形の頂点ｓｔ値に対応付けてラジオシティ値に相当する画素値を格納しておいて、前記各面に対応するラジオシティマップに格納された各頂点ｓｔ値に対応する画素値を読み出してラジオシティ画像を作成する。
【００９８】
すなわち、設定された頂点ｓｔ値によって前記複数の多角形を前記各面に対応付けたので、前記複数の多角形が入り組んで配置されるような複雑な形状であっても、記述する図形要素の種類に依存することなく、むらなく且つ適切にラジオシティを計算することができる。
【００９９】
また、各多角形毎にマップＩＤが設定されるので、マップＩＤによって個々の多角形に対して適切なラジオシティマップを選択することができる。
〔実施の形態２〕
図８は、本発明の第２の実施の形態による描画システムの構成を示している。図８に示す描画システムは、図１に示した情報設定部７とは異なる構成の情報設定部７Ａを備えていることを特徴としている。
【０１００】
図９は、図８における情報設定部７Ａの具体的な構成を示している。情報設定部７Ａは、頂点座標値および面法線ベクトルに基づいて多角形の頂点ｓｔ値、多角形が参照すべきラジオシティマップを示すマップＩＤ、ラジオシティマップの位置、およびラジオシティマップの方向等の情報を自動的に計算する。
【０１０１】
図９に示す情報設定部７Ａは、面積計算部７１、多角形ソート部７２、ＩＤ設定部７３、マップ位置方向算出部７４およびｓｔ値設定部７５を備えている。
面積計算部７１は、複数の多角形の各頂点座標値に基づいて、各多角形の面積を求める。多角形ソート部７２は、面積計算部７１により求められた各多角形の面積に基づいて、前記各多角形を面積の大きい順にソートする。
【０１０２】
ＩＤ設定部７３は、多角形ソート部７３でソートされた結果に従った順序で各多角形を逐次取り出して、頂点座標値および面法線ベクトルに基づいて、該多角形にそれぞれマップＩＤを設定するとともに、既に取り出した多角形と面の方向および面の位置が近い多角形同士を同一のマップＩＤに設定してグループ化する。
【０１０３】
マップ位置方向算出部７４は、頂点座標値およびＩＤ設定部７３により求められたマップＩＤに基づいて、同一のマップを参照する面の位置および方向の情報からラジオシティマップの位置、方向およびサイズ等の情報を求める。
【０１０４】
ｓｔ値設定部７５は、マップ位置方向算出部７４により求められたマップの位置、方向およびサイズ等の情報に基づいて、各多角形の頂点ｓｔ値を算出する。図８におけるその他の構成は、図１の構成とほとんど同様であり、図８において、図１と同一の符号を付して示している部分は、図１の対応する部分と実質的に同様の部分である。
＜実施の形態２の動作＞
次に、図１０を参照して、図８および図９に示すように構成された描画システムにおける動作を説明する。図８および図９に示す構成において、情報設定部７Ａ以外の部分は、図１〜図４に示した構成と同様であるから、図１０には、主として、情報設定部７Ａによる情報の設定に関する処理について示している。
【０１０５】
面積計算部７１では、複数の多角形の頂点座標値に基づいて、各多角形の面積が求められる（ステップＳ２１）。多角形ソート部７２では、面積計算部７１で求められた各多角形の面積に基づいて、面積の大きい順に前記複数の多角形がソートされる（ステップＳ２２）。
【０１０６】
ＩＤ設定部７３では、多角形ソート部７３でソートされた順に各多角形が取り出されるとともに、既に取り出した多角形のいずれかと面の方向および面の位置が同一かまたは近い多角形を、前記既に取り出した多角形と同一のマップＩＤとすることにより、多角形がグループ化されてマップＩＤの設定が行われる（ステップＳ２３）。
【０１０７】
すなわち、多角形とラジオシティマップとはマップＩＤを用いて対応させるので、厳密に同一の面でなくとも、同一のラジオシティマップを参照させることができる。
【０１０８】
例えば、壁または天井における微妙な凹凸は、表示画像の品質をよくするために細かく設計されることが少なくない。また、若干湾曲した面および物体の角の丸み等についても、曲面または面の向きが漸次変化する複数の細かい多角形の集まりとして詳細に記述されることがしばしば行われる。
【０１０９】
しかしながら、このような細かい凹凸および面の向きの変化は、全体から見れば、僅かである。このような場合、該当する微小面が条件の類似した大きな面に属するとみなしても、ラジオシティの計算の結果には、大きな相違はない。そこで、細かい凹凸および面の湾曲を事実上無視して、条件が近接している複数の面全体を共通の面とみなすことにより、使用するラジオシティマップの数を低減することができる。
【０１１０】
このような、面のグループ化の基準としては、面の方向および法線方向に測った面の位置を用いることが望ましい。面の方向は、図１１に示すように面の湾曲および角の丸みの大きさを計測することができ、法線方向の位置は面の凹凸の大きさをそれぞれ測ることができる。
【０１１１】
また、このようなグループ化でも吸収されない小さな面があれば、その面についてはラジオシティの対象から除外する。このような、小さな面は面の相互反射への寄与も僅かであり、ラジオシティによる描画結果においても、面積が小さいので、さほど目立たず、ラジオシティ計算の対象外にしたことによる誤差を無視することができる。
【０１１２】
次に、マップ位置方向算出部７４では、前記頂点座標値およびマップＩＤに基づいて、同一のラジオシティマップを参照する面の位置および方向の情報に応じたラジオシティマップの位置、方向およびサイズ等のようなラジオシティマップの情報が求められる（ステップＳ２４）。
【０１１３】
ｓｔ値設定部７５では、マップ位置方向算出部７４で求められたマップの位置、方向およびサイズに基づいて、各多角形の頂点ｓｔ値が求められる（ステップＳ２５）。
【０１１４】
このようにして、図８および図９のように構成された描画システムでは、情報設定部７ＡのＩＤ設定部７３が、面の方向、面の位置に基づき同一のマップＩＤを用いて面のグループ化を行うので、マップ参照描画部５は同一のマップＩＤに基づき、いくつかの面に対して共通のラジオシティマップを選択することになる。したがって、同一平面にある複数の面が前記共通のラジオシティマップを参照するので、使用するラジオシティマップの数を減らすことができ、メモリ容量および処理時間の削減を図ることができる。
【０１１５】
〔実施の形態３〕
図１２は、本発明の第３の実施の形態による描画システムの主要部の構成を示している。図１２に示す描画システムは、図１に示したマップ更新部４とは異なる構成のマップ更新部４Ａを備えていることを特徴としている。
【０１１６】
図１２に示すマップ更新部４Ａは、受光マップ選択部４１、フォームファクタ算出部４２、ラジオシティ変化量算出部４３、変換行列算出部４４および画素ｓｔ値算出部４５を備えている。
【０１１７】
受光マップ選択部４１、フォームファクタ算出部４２およびラジオシティ変化量算出部４３は、基本的に、それぞれ図３に示した受光マップ選択部４１、フォームファクタ算出部４２およびラジオシティ変化量算出部４３と同様であるので、その詳細な説明は省略する。
【０１１８】
変換行列算出部４４は、発光ラジオシティマップ１１に格納された発光マップ位置情報と、計算しようとする受光ラジオシティマップ１２に格納された受光マップ位置情報とに基づいて、ＩＤバッファ３の画素座標値を受光マップの画素ｓｔ値に変換するための変換行列を算出する。
【０１１９】
画素ｓｔ値算出部４５は、ＩＤバッファ３から読み出した画素座標値および変換行列算出部４４で算出された変換行列に基いて画素ｓｔ値を算出して受光ラジオシティマップ１２に格納する。
＜実施の形態３の動作＞
次に、図１３を参照して、図１２に示すように構成された描画システムにおける動作を説明する。図１２に示す構成において、マップ更新部４Ａ以外の部分は、図１〜図４に示した構成と同様であるから、図１３には、主として、マップ更新部４Ａによるマップ更新に関する処理について示している。
【０１２０】
受光マップ選択部４１では、ＩＤバッファ３に格納された各画素の画素Ｚ値または画素ＩＤ値に基づいて、その画素に対応する受光ラジオシティマップ１２がそれぞれ選択される（ステップＳ３１）。
【０１２１】
フォームファクタ算出部４２では、画素座標値および受光マップ選択部４１で選択された受光ラジオシティマップに基づいて、ＩＤバッファ３の各画素に対応するΔフォームファクタが算出される（ステップＳ３２）。
【０１２２】
ラジオシティ変化量算出部４３では、フォームファクタ算出部４２で算出されたΔフォームファクタを発光面の未放射エネルギに乗算することによって、Δラジオシティが求められる。ラジオシティ変化量算出部４３では、さらに、前記Δラジオシティに面の面積比を乗算することによって、Δ未放射エネルギが求められる。そして、ラジオシティ変化量算出部４３により、前記Δラジオシティが、受光ラジオシティマップ１２のラジオシティマップ画像に加算されるとともに、前記Δ未放射エネルギが、受光ラジオシティマップ１２の未放射エネルギマップ画像に加算される（ステップＳ３３）。
【０１２３】
次に、変換行列算出部４４では、発光ラジオシティマップ１１の発光マップ位置情報と受光ラジオシティマップ１２の受光マップ位置情報とに基づいて、ＩＤバッファ３の画素座標値を受光ラジオシティマップ１２の画素ｓｔ値に変換するための変換行列が算出される（ステップＳ３４）。
【０１２４】
前記変換行列は、例えば３×３のサイズとする。すなわち、変換行列算出部４４は、受光ラジオシティマップ１２の画素ｓｔ値を世界座標系に変換する４×４の行列ｔｃＴｏＷｃと、変換行列算出部２２で算出される４×４の行列ｗｃＴｏＤｃとを乗算することによって、（３，３）要素（すなわちＺ成分対応部分）を除去した３×３の余因子行列ｔｃＴｏＤｃを求め、この余因子行列ｔｃＴｏＤｃの逆行列ｄｃＴｏｔｃを計算する。
【０１２５】
画素ｓｔ値算出部４５では、画素座標値（ｘ，ｙ）が変換行列によって座標変換されて、画素ｓｔ値が算出される（ステップＳ３５）。
このように、図１２のように構成された描画システムでは、画素ｓｔ値を、ＩＤバッファ３に格納することなく、画素座標値から画素ｓｔ値を算出することができるので、ＩＤバッファ３の記憶容量を低減することができる。
【０１２６】
〔実施の形態４〕
図１４は、本発明の第４の実施の形態による描画システムの主要部の構成を示している。図１４に示す描画システムは、図１に示したマップ参照描画部５とは異なる構成のマップ参照描画部５Ａを備えていることを特徴としている。
【０１２７】
図１４に示すマップ参照描画部５Ａは、座標変換部５１、マップ参照部５３、多角形分割部５４およびマップ参照部５３を備えている。
座標変換部５１およびマップ参照部５３は、基本的に、それぞれ図４に示した座標変換部５１およびマップ参照部５３と同様であるので、同符号を付して示し、その詳細な説明は省略する。
【０１２８】
多角形分割部５４は、視野データ、多角形の頂点座標値、該多角形の頂点ｓｔ値およびマップ格納部１に格納されるラジオシティマップの解像度とに基づいて、多角形を細分化し、細分化された多角形の頂点座標値および頂点ｓｔ値を求める。多角形分割部５４は、前記頂点座標値を座標変換部５１に与え、且つ前記頂点ｓｔ値をマップ参照部５３に与える。
【０１２９】
画素展開部５５は、座標変換部５１で変換された頂点座標値に基づき多角形を画素に展開するとともに、各画素における画素輝度値を求めて、画素座標値に対応させてイメージバッファ６に出力する。すなわち、画素展開部５５は、図４に示す画素展開部５２とほぼ同様であるが、画素展開部５２は画素ｓｔ値を出力するのに対し、画素展開部５５は画素の輝度値を出力する。
＜実施の形態４の動作＞
次に、図１５を参照して、図１４に示すように構成された描画システムにおける動作を説明する。図１４に示す構成において、マップ参照描画部５Ａ以外の部分は、図１〜図４に示した構成と同様であるから、図１５には、主として、マップ参照描画部５Ａによる描画に関する処理について示している。
【０１３０】
多角形分割部５４では、分割された多角形のサイズがラジオシティマップの１画素サイズ程度になるように、多角形が細分化される（ステップＳ４１）。該サイズが、イメージバッファ６上で１画素よりも極端に小さい場合には、分割しすぎであるので、細分化の程度、すなわち分割数、を落として、適切な分割数で分割する。
【０１３１】
前記面の細分化は、ラジオシティマップの解像度に合わせて行われる。例えば、面を全く分割しない場合、すなわち、面全体が１つのラジオシティを持つ場合は、ラジオシティマップの解像度が１×１であることに相当する。また、前記面を１６分割する場合には、ラジオシティマップの解像度が４×４であることに相当する。ラジオシティマップの解像度は、その面のラジオシティの計算の品質精度を規定し、解像度が高くなるにつれて品質が向上する。
【０１３２】
多角形分割部５４からは、前記頂点座標値が座標変換部５１に出力され、前記頂点ｓｔ値がマップ参照部５３に出力される。
マップ参照部５３により、前記頂点ｓｔ値に対応する画素値がラジオシティマップから読み出され、該画素値が頂点輝度値として画素展開部５５に出力される（ステップＳ４２）。座標変換部５１により、多角形分割部５４からの頂点座標値が、視野データに基づき座標変換される（ステップＳ４３）。
【０１３３】
画素展開部５５では、座標変換部５１で変換された頂点座標値に基づき多角形が各画素に展開されるとともに、マップ参照部５３からの各画素における画素輝度値が画素座標値に対応付けられてイメージバッファ６に出力される（ステップＳ４４）。
【０１３４】
上述のように、図１４のように構成された描画システムでは、多角形の細分化によって、その面のラジオシティの計算の品質精度を決定するので、ラジオシティマップを高解像度化することにより、ラジオシティの計算の品質を向上させることができる。
【０１３５】
〔実施の形態５〕
図１６は、本発明の第５の実施の形態による描画システムの主要部の構成を示している。図１６に示す描画システムは、図１に示したマップ格納部１およびマップ更新部４、または図１２に示したマップ格納部１およびマップ更新部４Ａに代えて、マップ処理部８を備えていることを特徴としている。図１６に示すマップ処理部８は、マップ制御部８Ａおよび複数のマップ更新部８Ｂを備えている。
【０１３６】
マップ制御部８Ａは、マップ格納部８１、マップ割付部８２、割付情報格納部８３、発光体情報算出部８４、半立方体情報算出部８５、マップ更新制御部８６およびマップ管理部８７を有している。複数のマップ更新部８Ｂは、各々、更新処理部８８および更新情報格納部８９を有している。マップ更新部８Ｂは、同一の構成で複数個並列的に設けられ、その数に制限はないが、マップ更新部８Ｂの数が多いほど並列処理効果が増し、処理時間の短縮化に寄与する。
【０１３７】
まず、マップ制御部８Ａの構成について説明する。マップ格納部８１は、図１のマップ格納部１と同様に、複数のラジオシティマップを格納する。マップ割付部８２は、例えば、ＩＤバッファ３から与えられる画素ＩＤまたは画素Ｚ値のようなマップ割付要素に応動して、マップ格納部８１中の更新すべき各ラジオシティマップをそれぞれマップ更新部８Ｂに割り付け、ラジオシティマップの割付情報を作成して、該割付情報を割付情報格納部８３に格納させる。
【０１３８】
発光体情報算出部８４は、発光ラジオシティマップに対応する発光体、すなわち発光多角形、のエネルギ、位置および方向等の発光体情報を求める。半立方体情報算出部８５は、発光体情報算出部８４により求められる発光体情報における発光体の位置および方向に基づいて、前記発光体を中心とする半立方体への変換行列を算出し、それらに基づくラジオシティマップのマップＩＤを、図１６には示されていないＩＤバッファに格納する。マップ更新制御部８６は、発光体情報算出部８４で求められた発光体情報および半立方体情報算出部８５で求められた半立方体情報を、全てのマップ更新部８Ｂの更新情報格納部８９に格納する。また、マップ割付情報格納部８３のラジオシティマップの割付情報を参照し、対応するラジオシティマップを、各マップ更新部８Ｂの更新情報格納部８９に格納する。必要な情報を更新情報格納部８９に格納した時点で、次々とマップ更新部８Ｂに対して更新処理の実行を指示する。
【０１３９】
マップ管理部８７は、マップ格納部８１に格納されるラジオシティマップの作成または削除を行い、定義されているラジオシティマップを管理する。
次にマップ更新部８Ｂの構成を説明する。更新処理部８８は、更新情報格納部８９に格納されるラジオシティマップの更新情報を参照しながら更新処理を行い、対応するラジオシティマップを更新する。
【０１４０】
マップ制御部８Ａは、アプリケーションインタフェースとして、ラジオシティマップの作成／削除、ラジオシティマップの割り付けおよびラジオシティの更新の各機能を有する。
【０１４１】
マップ参照描画部５は、マップ格納部８１に格納されるラジオシティマップを参照して、ラジオシティ値を求めその結果に基づく画像を描画して、ディスプレイ６Ａに表示する。ディスプレイ６Ａは、例えば図１等に示したイメージバッファ６を有していてもよい。
【０１４２】
複数のマップ更新部８Ｂは、マップ制御部８Ａとは独立に構成されている。各マップ更新部８Ｂは、マップ制御部８Ａから実行指示を受け、更新情報格納部８９に格納されているラジオシティマップの発光体情報、半立方体情報およびラジオシティマップ等の更新情報を参照して、対応するラジオシティマップを更新する。マップ制御部８Ａは、マップ更新部８Ｂに対して、更新情報格納部８９に格納された更新情報のデータの書込み／読出しおよびラジオシティマップの更新処理の実行を指示する。
【０１４３】
図１７は、図１６に示した描画システムにおける、アプリケーションインタフェースから見たラジオシティ法による描画処理のシーケンスを示している。
アプリケーションは、まず、所要数のラジオシティマップを作成し、それらのラジオシティマップに図形、すなわち面を定義する（ステップＳ５１）。次に、マップ割付部８２が、ステップＳ５１で作成されたラジオシティマップを、複数のマップ更新部８Ｂのいずれかに割り付ける（ステップＳ５２）。
【０１４４】
次に、発光体になる面すなわち発光ラジオシティマップを選定し、ラジオシティの更新の是非を確認した上で（ステップＳ５３）、更新を行うならば、ラジオシティマップのラジオシティの更新を行う（ステップＳ５４）。このラジオシティ更新は、必要に応じて、発光体（発光ラジオシティマップ）を変えながら繰り返す。
【０１４５】
ラジオシティ描画の是非を確認した上で（ステップＳ５５）、ラジオシティ描画を行う（ステップＳ５６）。ラジオシティ描画は、通常はラジオシティ更新の所定回数の繰り返しにより、ラジオシティが収束した時点で行う。しかしながら、必要に応じて、ラジオシティの収束過程の途中結果を描画することも可能である。ステップＳ５５において、ラジオシティ描画を行わない場合またはステップＳ５６によりラジオシティ関する処理が終了した場合、処理を継続するか否かを確認し（ステップＳ５７）、未処理のラジオシティマップが残っていて、処理を継続する場合は、発光ラジオシティマップを変更して、ステップＳ５３に戻る。すべてのラジオシティマップについて処理が完了し、ステップＳ５７で処理を継続しないと判定された場合は、マップ格納部８１のラジオシティマップを削除して処理を終了する。
【０１４６】
図１８に、割付情報格納部８３に格納されるラジオシティマップのマップ割付情報の構成を示す。
マップ割付情報は、マップ更新部８Ｂの数だけエントリが存在する。各エントリには、ラジオシティマップ領域の空きサイズ、割り付けられたラジオシティマップ数、割り付けられたラジオシティマップ数分のラジオシティマップＩＤ、割付タイプ、割付状態、および処理済みフラグが含まれる。
【０１４７】
マップ割付部８２の処理は、次のようにして行われる。
（１）  処理が開始されると、予めラジオシティマップをサイズの大きい順にソートする。ラジオシティマップをサイズの大きい順にソートするのは、各ラジオシティ更新部に割り付けられたラジオシティマップのサイズを均等にし易くするためである。
【０１４８】
（２）  マップ割付情報を初期化する。マップ割付情報の初期化は、マップ領域の空きサイズに、マップ領域の全体サイズを対応させるとともにラジオシティマップ数をゼロとする。
【０１４９】
（３）  ソートされた順序に従って、各ラジオシティマップについて、以下の処理を行って処理を終了する。
（３−１）  マップ更新情報におけるラジオシティマップ領域の空きサイズが最も大きなマップ更新部を探す。
【０１５０】
（３−２）  ラジオシティマップのサイズがラジオシティマップ領域の空きサイズ以下であるか否かチェックする。
（３−２−１）  ラジオシティマップのサイズがラジオシティマップ領域の空きサイズ以下ならば、ラジオシティマップを常駐型としてマップ更新部８Ｂに割り付ける。
【０１５１】
このとき、ラジオシティマップ領域の空きサイズは、割り付けたラジオシティマップのサイズを減じ、ラジオシティマップ数はインクリメントし、マップＩＤは、割り付けたラジオシティマップのマップＩＤとし、割付タイプは常駐型とし、そして割付状態は非常駐とする。
【０１５２】
（３−２−２）  ラジオシティマップのサイズがラジオシティマップ領域の空きサイズ以下でなければ、ラジオシティマップを非常駐型としてマップ更新部８Ｂに割り付ける。
【０１５３】
このとき、ラジオシティマップ領域の空きサイズは、割り付けたラジオシティマップのサイズを減じ、ラジオシティマップ数はインクリメントし、マップＩＤは、割り付けたラジオシティマップのマップＩＤとし、割付タイプは非常駐型とし、そして割付状態は非常駐とする。
【０１５４】
また、マップ更新制御部８６の処理は、次のようにして行われる。
（１）  処理が開始されると、まず、発光体情報および半立方体情報を全てのマップ更新部８Ｂに書き込む。
【０１５５】
（２）  ラジオシティマップの割付情報における処理済みフラグを全てゼロにする。
（３）  処理すべきマップ更新部８Ｂの数ｎを初期化する。すなわち、処理すべきマップ更新部８Ｂの数ｎにマップ更新部８Ｂの数を設定する。
【０１５６】
（４）  各マップ更新部８Ｂに対して、次の処理を行う。すなわち、処理するマップ更新部８Ｂを順次変更しながら、処理すべきマップ更新部８Ｂの数ｎがゼロになるまで次の処理を繰り返す。
【０１５７】
（４−１）  マップ更新部８Ｂに未処理のラジオシティマップがあるか否か、すなわち処理済みフラグが“０”のラジオシティマップがあるか否かをチェックする。
【０１５８】
（４−１−１）  マップ更新部８Ｂに未処理のラジオシティマップがある、すなわち処理済みフラグが“０”のラジオシティマップがあるならば、マップ更新部８Ｂがラジオシティ更新の処理中でないか否かをチェックする。
【０１５９】
（４−１−１−１）  マップ更新部８Ｂがラジオシティ更新の処理中でなければ、ラジオシティマップの割付タイプが常駐型か否かをチェックする。
（４−１−１−１−１−１）  ラジオシティマップの割付タイプが常駐型ならば、ラジオシティマップの割付状態が非常駐か否かをチェックする。
【０１６０】
（４−１−１−１−１−１−１）  ラジオシティマップの割付状態が非常駐ならば、ラジオシティマップをマップ更新部８Ｂに書き込む。
（４−１−１−１−１−１−２）  ラジオシティマップの割付状態を常駐に変更する。
【０１６１】
（４−１−１−１−１−２）  ラジオシティマップの割付状態が常駐ならば、マップ更新部８Ｂにラジオシティマップの更新処理を開始させる。
（４−１−１−１−２−１）  ラジオシティマップの割付タイプが非常駐型ならば、マップ更新部８Ｂに割り付けられている最後のラジオシティマップをマップ制御部８Ａのマップ格納部８１に書き戻し、割付状態を非常駐に変更する。
【０１６２】
（４−１−１−１−２−２）  マップ更新部８Ｂの空いている領域に処理すべきラジオシティマップを書き込む。
（４−１−１−１−２−３）  マップ更新部８Ｂに、ラジオシティマップの更新処理を開始させる。
【０１６３】
（４−１−１−１−２−４）  マップ更新部８Ｂの処理が終了するのを待つ。
（４−１−１−１−２−５）  処理したラジオシティマップをマップ制御部８Ａのマップ格納部８１に書き戻す。
【０１６４】
（４−１−１−２）  ラジオシティマップ割付情報の処理済みフラグを“１”にする。
（４−１−２）  マップ更新部８Ｂに未処理のラジオシティマップがない、すなわち処理済みフラグが“０”のラジオシティマップがないならば、処理すべきマップ更新部８Ｂの数ｎを“−１”すなわち“１”デクリメントして、次のマップ更新部８Ｂを処理する。
【０１６５】
（５）  全てのマップ更新部８Ｂの処理が終了するのを待って処理を終了する。
上述のように図１６の描画システムには、次のような特徴がある。
一旦マップ更新部８Ｂに格納されたラジオシティマップは、マップ制御部８Ａでラジオシティマップを参照する必要がない間、マップ更新部８Ｂに常駐させておく。ラジオシティによる描画を行うとき等のように、マップ制御部８Ａでラジオシティマップを参照するときは、ラジオシティマップをマップ更新部８Ｂからマップ制御部８Ａに書き戻す処理が行われる。したがって、ラジオシティ更新を繰り返す間、マップ更新部８Ｂのラジオシティマップが更新され、ラジオシティ更新毎のラジオシティマップの格納および書き戻し処理の時間を削減することができる。
【０１６６】
ラジオシティマップの数がマップ更新部の数よりも大きい場合、１つのマップ更新部８Ｂに更新情報格納部３９の容量の許すかぎり、複数のラジオシティマップを割り付ける。この場合、ラジオシティ更新処理において、マップ更新部８Ｂは、それぞれのラジオシティマップについて更新処理を実行する。
【０１６７】
１つのマップ更新部８Ｂに複数のラジオシティマップを割り付ける場合において、全てのマップ更新部８Ｂの更新情報格納部８９の領域に空きがなくなって、割り付けることができないラジオシティマップが存在するとき、これらのラジオシティマップを「非常駐型」とする。ラジオシティ更新処理の際、「非常駐型」のラジオシティマップを更新するときは、割り付けられている全てのラジオシティマップの処理が完了したマップ更新部に対して、１つのラジオシティマップをマップ制御部に書き戻し、空いた領域に「非常駐型」のラジオシティマップを格納して処理を実行する。
【０１６８】
１つのマップ更新部８Ｂに複数のラジオシティマップを割り付ける場合において、各マップ更新部８Ｂに割り付けられたラジオシティマップのサイズ（すなわちラジオシティマップの縦横の解像度の積）の合計が均等になるように割り付けを行う。マップ更新部８Ｂの処理時間は、ラジオシティマップのサイズに比例して大きくなる性質を有している。各マップ更新部８Ｂの割り付けられたラジオシティマップのサイズの合計を均等にすることで、全てのラジオシティマップが更新されるのに要する処理時間を最短にすることができる。
【０１６９】
〔実施の形態６〕
図１９は、本発明の第６の実施の形態による描画システムの主要部の構成を示している。図１９に示す描画システムは、図１に示したマップ参照描画部５または図１４に示したマップ参照描画部５Ａに代えて、マップ参照描画部５Ｂを備えていることを特徴としている。図１９に示すマップ参照描画部５Ｂは、描画制御部９１および複数の図形描画部９２を備えている。
【０１７０】
描画制御部９１は、表裏判定部１０１、図形分割処理部１０２、三角形ストリップ設定部１０３およびラジオシティ計算処理部１０４を備えている。さらに、図形分割処理部１０２は分割数算出部１０５を有し、ラジオシティ計算処理部１０４はラジオシティ補間処理部１０６を有している。
【０１７１】
描画制御部９１には、図形データとして頂点座標値および頂点ｓｔ値が与えられ、該描画制御部９１は、マップ格納部１を参照して、マップの向きを示すマップ法線、マップの位置、マップの解像度およびラジオシティ等の情報を得る。
【０１７２】
ディスプレイ６Ａは、図１６の場合と同様、イメージバッファを備えていてもよい。
まず、描画制御部９１について説明する。
【０１７３】
表裏判定部１０１は、ラジオシティマップの表裏関係を判定し、ラジオシティマップが現在設定されている視点において可視か不可視かを判別して、可視対象、すなわち現在の視点から見える対象か否かを判定する。ラジオシティマップとして、対応する各面毎に該当面の表側および裏側のラジオシティマップ、すなわち一方の面のラジオシティマップと他方の面のラジオシティマップとが形成され、視点から見える表側のか視点から見えない（処理する必要がない）裏側かを表裏判定部１０１で判定する。
【０１７４】
図形分割処理部１０２は、表裏判定部１０１で可視であると判定された図形データを、その時点で設定されているラジオシティマップの解像度で分割する。この分割数は、ラジオシティマップの解像度に基づいて分割数算出部１０５で算定される。分割数算出部１０５は、図形がラジオシティマップ上でマップ解像度と同等になるように分割数を求める。
【０１７５】
三角形ストリップ設定部１０３は、分割された図形について、三角形ストリップを形成する。ラジオシティ計算処理部１０４は、三角形ストリップ設定部１０３で形成された三角形ストリップの各頂点についてラジオシティ計算を行う。図形の頂点に対応するラジオシティ値は、ラジオシティマップ上に設定されており、各図形の頂点座標から算出される。しかしながら、分割した頂点は整数にならない場合があるのに対して、ラジオシティマップは整数単位で設定されている。図形の頂点が整数値でない場合、ラジオシティ値はラジオシティマップの最近傍点から算出することになるが、これでは正確なラジオシティ値が得られない。そのため、ラジオシティ補間処理部１０６でラジオシティ値の補間処理を行う。
【０１７６】
複数の図形描画部９２は、こうして分割した図形の頂点にラジオシティ値を割り付けて、その図形をグーロー（Ｇｏｕｒａｕｄ）シェーディングによりラジオシティ描画を行う。図形描画部９２は、描画制御部９１から分割された三角形ストリップデータ毎に送出される図形データを並列に描画処理し、高速にラジオシティ描画を行う。
【０１７７】
次に、図１９のように構成された描画システムの動作を図２０を参照して説明する。
描画制御部９１で処理される図形データに対応するラジオシティマップが、ラジオシティ描画の対象とすべきか否かが表裏判定部１０１で判定される（ステップＳ６１）。ここでは、世界座標系ＷＣ上に設定されているラジオシティマップの法線ベクトルを正規化投影座標系ＮＰＣ上に変換する。ここで、現在設定されている視点と比較し、可視か不可視かを判定する。この判定を行うことにより、不要なラジオシティ処理を削減することができる。判定の結果、ラジオシティマップが可視対象でない場合は、処理を終了し（ラジオシティ描画は行われない）、ラジオシティマップが可視対象ならば次の処理を行う。
【０１７８】
図形分割処理部１０２で、分割数算出部１０５で求められる分割数に基づいて、図形データを、設定されているラジオシティマップの解像度で分割する処理を行う（ステップＳ６２およびＳ６３）。
【０１７９】
分割する図形の頂点毎の頂点データは、図２１に示すようなデータ形式の情報を持つ。すなわち、図形の頂点データは図形の頂点座標、描画時の図形の色、および図形の頂点に対応するラジオシティマップのｓｔ値を有する。ラジオシティマップは、２次元の画像データとして、ラジオシティマップの解像度に応じたサイズに構成されており、ラジオシティマップの各画素には図形に対応するラジオシティ値が設定されている。図形データには、各頂点に頂点ｓｔ値が設定されており、該頂点ｓｔ値はラジオシティマップ上の画素の位置に対応している。図２２に示すように、ｓｔ値は、ラジオシティマップ上で、ＳおよびＴの各座標について０．０〜１．０であらわされる。また、一つのラジオシティマップには、図２２のように複数の図形を割り付けることも可能である。
【０１８０】
図２３を参照して、図形の分割方法を具体的に説明する。分割数算出部１０５は、図形がラジオシティマップ上でマップ解像度と同等になるように分割数を求める（ステップＳ６２）。すなわち、まず、図形の分割数をマップの解像度と図形の頂点にあるラジオシティマップのｓｔ値に基づいて求める。そして、この分割数の逆数が図形の分割率となり、この分割率は、頂点と頂点との間を分割する計算で用いられる。
【０１８１】
次に、例えば、図形が三角形である場合（図２３のＡ）、図形の第１頂点と第２頂点、第１頂点と第３頂点、および第２頂点と第３頂点のそれぞれの間のエッジについて、先に求めた分割率を乗算することによって頂点間のエッ上ジの分割頂点が求められる（図２３のＢ）（ステップＳ６３）。これらの分割頂点を用いて元の図形データを分割し（図２３のＣ）、三角形ストリップが形成される（図２３のＤ）。このような、分割に基づく三角形ストリップの設定は、三角形ストリップ設定部１０３で行われる。
【０１８２】
分割された三角形ストリップ（図２４のＡ）の各頂点について、ラジオシティ計算処理部１０４でラジオシティ計算が行われる。図形の頂点に対応するラジオシティ値は、ラジオシティマップ上に設定されていて、頂点座標ｘ，ｙから求められる（ステップＳ６４）。しかしながら、分割した頂点は、分割数によっては逆数が整数にならない場合があるのに対し、ラジオシティマップは整数単位で設定されている。そのため、図形の頂点が整数値でない場合、ラジオシティ値はラジオシティマップの最近傍点から算出してしまい、これでは正確なラジオシティ値が得られず、ラジオシティ描画の品質にも影響が出る。そのため、補間処理の必要があるか否かを判定し（ステップＳ６５）、必要な場合は、ラジオシティ値の補間処理を行う必要が生じる。
【０１８３】
ラジオシティの補間は、ラジオシティ計算処理部１０４内のラジオシティ補間処理部１０６で行われる。まず頂点のｓｔ値にマップの解像度を乗算した値を整数値にする。これが図形の頂点のラジオシティマップ上にあるラジオシティ値の位置となる（図２４のＢ）。この時、頂点座標に小数点以下の数値があった場合に、ラジオシティ補間処理部１０６によるラジオシティの補間処理が必要となる。Ｘ方向について小数点以下の値がある場合、整数値から求めたラジオシティ値と次のラジオシティ値との２点の間を小数点値で補間することによってＸ方向の正確なラジオシティ値が求められる（図２４のＣおよびＤ）。さらに、Ｘ方向で求められたラジオシティと、そこからＹ方向にある次のラジオシティ値をＸ方向の場合と同様にして補間処理を行えば、実際の頂点に対応する正しいラジオシティ値が算出される（図２４のＥ）（ステップＳ６６）。また、図形の頂点が最初から整数値にある場合は、小数点以下の端数値による補間処理は不要となる。
【０１８４】
補間処理で求められた正確な頂点のラジオシティ値を、数３で図形の頂点に反映させることによって、その図形の色にラジオシティが反映されることになる（ステップＳ６７）。
【０１８５】
【数３】
図形の頂点色Ｒ成分＝（ラジオシティ値Ｒ成分＋周囲項Ｒ成分）×図形の頂点色Ｒ成分
図形の頂点色Ｇ成分＝（ラジオシティ値Ｇ成分＋周囲項Ｇ成分）×図形の頂点色Ｇ成分
図形の頂点色Ｒ成分＝（ラジオシティ値Ｂ成分＋周囲項Ｂ成分）×図形の頂点色Ｂ成分
ラジオシティ描画では面相互の光のエネルギの放射と反射から面の輝度を計算して、ラジオシティ値を更新し、これを繰り返すことで写実的な描画を実現するが、ラジオシティ更新が初期の段階では光のエネルギの値が弱いため、この段階で表示させると輝度が低く、暗いものになってしまう。それを補うために周囲の光を近似させて表示させるために周囲項を用いている。よって、ラジオシティ更新を繰り返していくと、光のエネルギーが面に反映されていくので、ラジオシティ更新を繰り返すにつれて周囲項は徐々に減らしていく。
【０１８６】
こうして分割した図形の頂点にラジオシティ値を割り付けて、その図形をグーローシェーディングとして描画処理することによって、ラジオシティ描画を行うことができる。
【０１８７】
ラジオシティ描画を行うために、描画制御部９１から複数の図形描画処理部９２へ図形データを送出する（ステップＳ６８）。複数の図形描画処理部９２に対し、分割した三角形ストリップデータ毎に、図形データを各図形描画処理部９２に送出するようにすれば、描画処理を並列に行うことができ、高速なラジオシティ描画を達成することができる。
【０１８８】
図形描画部９２は、ラジオシティの描画処理を並列処理で行い、描画結果をディスプレイ６Ａに供給して表示させる。
上述のように、図１４の描画システムによれば、ラジオシティマップによるラジオシティ描画に際し、複数の分割図形に対する図形描画処理を並列に行えることにより、処理時間を削減することができ、ラジオシティ描画の性能向上に寄与する。
【０１８９】
【発明の効果】
以上説明したように、本発明によれば、複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法および装置において、前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における２次元座標上の前記各多角形の位置情報として、前記各多角形上の１以上の点の前記２次元座標上の位置を示す情報を設定し、前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成するとともに、前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するので、ラジオシティの計算結果の品質を向上するとともに、ラジオシティ計算の処理時間およびメモリ容量を低減し得るラジオシティ法を用いる描画方法および装置を提供することができる。
【０１９０】
さらに、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティマップの情報を更新するための複数個のマップ更新部を用意し、複数のラジオシティマップを選択的に前記複数のマップ更新部に割り付け、該ラジオシティマップを前記複数のマップ更新部で並列的に更新処理するようにすれば、ラジオシティマップを効率よく更新して、前記ラジオシティマップを形成することができる。
【０１９１】
さらにまた、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティ画像を描画するための複数個の図形描画部を用意し、前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画部において並列に図形を描画形成するようにすれば、前記ラジオシティマップを参照してラジオシティ画像を効率よく描画することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態による描画システムの構成を示すブロック図である。
【図２】図１のシステムのＩＤバッファ作成部の構成を示すブロック図である。
【図３】図１のシステムのマップ更新部の構成を示すブロック図である。
【図４】図１のシステムのマップ参照描画部の構成を示すブロック図である。
【図５】図１のシステムの動作を説明するためのフローチャートである。
【図６】１つの面が分割された多角形を示す図である。
【図７】複数の面が分割された多角形を示す図である。
【図８】本発明の第２の実施の形態による描画システムの構成を示すブロック図である。
【図９】図８のシステムの情報設定部の構成を示すブロック図である。
【図１０】図８のシステムの動作を説明するためのフローチャートである。
【図１１】面のグループ化を示す図である。
【図１２】本発明の第３の実施の形態による描画システムの要部の構成を示すブロック図である。
【図１３】図１２のシステムの動作を説明するためのフローチャートである。
【図１４】本発明の第４の実施の形態による描画システムの要部の構成を示すブロック図である。
【図１５】図１４のシステムの動作を説明するためのフローチャートである。
【図１６】本発明の第５の実施の形態による描画システムの要部の構成を示すブロック図である。
【図１７】図１６のシステムの動作を説明するためのフローチャートである。
【図１８】図１６のシステムのラジオシティマップ割付情報の内容を説明するための模式図である。
【図１９】本発明の第６の実施の形態による描画システムの要部の構成を示すブロック図である。
【図２０】図１９のシステムの動作を説明するためのフローチャートである。
【図２１】図１９のシステムの図形分割用頂点データの内容を説明するための模式図である。
【図２２】図１９のシステムのラジオシティマップを説明するための模式図である。
【図２３】図１９のシステムの図形分割を説明するための模式図である。
【図２４】図１９のシステムのラジオシティ補間処理を説明するための模式図である。
【図２５】ラジオシティ法を説明するための模式図である。
【図２６】形状の表現方法の多様さを説明するための模式図である。
【符号の説明】
１，８１…マップ格納部
２…ＩＤバッファ作成部
３…ＩＤバッファ
４…マップ更新部
５，５Ａ，５Ｂ…マップ参照描画部
６…イメージバッファ
７…情報設定部
８…マップ処理部
８Ａ…マップ制御部
８Ｂ…マップ更新部
１１…発光ラジオシティマップ
１２…受光ラジオシティマップ
２１…発光マップ選択部
２２…変換行列算出部
２３…座標変換部
２４，５２，５５…画素展開部
４１…受光マップ選択部
４２…フォームファクタ算出部
４３…ラジオシティ変化量算出部
４４…変換行列算出部
４５…画素ｓｔ値算出部
５１…座標変換部
５３…マップ参照部
５４…多角形分割部
７１…面積計算部
７２…多角形ソート部
７３…ＩＤ設定部
７４…マップ位置方向算出部
７５…ｓｔ値設定部
８２…マップ割付部
８３…割付情報格納部
８４…発光体情報算出部
８５…半立方体情報算出部
８６…マップ更新制御部
８７…マップ管理部
８８…更新処理部
８９…更新情報格納部
９１…描画制御部
９２…図形描画部
１０１…表裏判定部
１０２…図形分割処理部
１０３…三角形ストリップ設定部
１０４…ラジオシティ計算処理部
１０５…分割数算出部
１０６…ラジオシティ補間処理部
【図１】
0003554616.tif 000002
【図２】
0003554616.tif 000003
【図３】
0003554616.tif 000004
【図４】
0003554616.tif 000005
【図５】
0003554616.tif 000006
【図６】
0003554616.tif 000007
【図７】
0003554616.tif 000008
【図８】
0003554616.tif 000009
【図９】
0003554616.tif 000010
【図１０】
0003554616.tif 000011
【図１１】
0003554616.tif 000012
【図１２】
0003554616.tif 000013
【図１３】
0003554616.tif 000014
【図１４】
0003554616.tif 000015
【図１５】
0003554616.tif 000016
【図１６】
0003554616.tif 000017
【図１７】
0003554616.tif 000018
【図１８】
0003554616.tif 000019
【図１９】
0003554616.tif 000020
【図２０】
0003554616.tif 000021
【図２１】
0003554616.tif 000022
【図２２】
0003554616.tif 000023
【図２３】
0003554616.tif 000024
【図２４】
0003554616.tif 000025
【図２５】
0003554616.tif 000026
【図２６】
0003554616.tif 000027