JP3554616B2 - ラジオシティ法を用いる描画方法および装置 - Google Patents

ラジオシティ法を用いる描画方法および装置 Download PDF

Info

Publication number
JP3554616B2
JP3554616B2 JP22433695A JP22433695A JP3554616B2 JP 3554616 B2 JP3554616 B2 JP 3554616B2 JP 22433695 A JP22433695 A JP 22433695A JP 22433695 A JP22433695 A JP 22433695A JP 3554616 B2 JP3554616 B2 JP 3554616B2
Authority
JP
Japan
Prior art keywords
map
radiosity
pixel
identifier
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP22433695A
Other languages
English (en)
Other versions
JPH08221594A (ja
Inventor
俊哉 美間
伸二 江頭
美彦 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22433695A priority Critical patent/JP3554616B2/ja
Priority to US08/548,168 priority patent/US5734385A/en
Publication of JPH08221594A publication Critical patent/JPH08221594A/ja
Application granted granted Critical
Publication of JP3554616B2 publication Critical patent/JP3554616B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、図形画像を表示する図形表示システムに係り、特にラジオシティ法によって図形画像の描画を行うためのラジオシティ法を用いる描画方法および装置に関する。
【0002】
【従来の技術】
従来、図形表示システムにおいては、CRT(cathode−ray tube)ディスプレイの管面のような表示画面に3次元図形が2次元画像として描画される場合がある。この場合、画面の奥行き方向の図形情報が欠落する。前記奥行き方向の図形情報は図形の色およびその陰影によって奥行き感として表現される。
【0003】
一般に、図形があらわす面における輝度を、仮想的に想定した光源と視点との相互の位置関係に基いて計算することによって、前記図形の色の陰影が求められる。しかし、このようにして前記図形の色の陰影を求めた場合は、光源からの直接光しか考慮していないので、ある程度の奥行き感は得られても、写実的な描画結果を得ることはできない。
【0004】
そこで、近年では、面相互の反射および透過をも考慮して面の表面の輝度を計算することができるラジオシティ法を用いた描画システムが注目されている。ラジオシティ法は、光のエネルギ(の強さ)を示すラジオシティ(radiosity)に着目し、複数の面の相互間の光のエネルギのやりとりを、ラジオシティ値が収束するまで繰り返し行うことによって、各面のラジオシティを求め、このラジオシティ値をその面における輝度とする方法である。
【0005】
輝度計算にあたっては、数1に示すレンダリング方程式が用いられる。
【0006】
【数1】
I(x,x)=g(x,x)[ε(x,x)+∫ρ(x,x,x)I(x,x)dx
数1は、エネルギ保存則に基づいた輝度計算に関するレンダリング方程式を示しており、このレンダリング方程式の意味について、図25を参照して説明する。図25において、面S上の点xから点xに伝達される輝度をI(x,x)とする。g(x,x)は、幾何項と称され、点xから点xまでの間になんらかの幾何形状的障害があるかどうかをあらわす。すなわち、一般に、点xから見て、点xが完全に見えればg(x,x)=1であり、点xが他の物体面によって遮られて全く見えなければg(x,x)=0である。ε(x,x)は、点xからxに向かって物体面S自体が発光する光のエネルギの強さであり、最後の積分項は、シーン中の他のあらゆる発光点から発射されて、(反射または屈折によって)点xを通過して点xの方向へ放射される光量の総和をあらわす。
【0007】
しかし、数1のレンダリング方程式における積分項の厳密な計算は、ほとんど不可能であるため、通常、ラジオシティ法および分散レイトレーシング法等では、前記積分項に代えて離散点に関する総和計算が用いられる。
【0008】
また、数1のレンダリング方程式では、鏡面反射成分と拡散反射成分とは統一的に扱われているが、ラジオシティ法では、一般に、拡散反射成分を扱う。
ここで、ある一つの閉領域内における光の伝達について考察する。該閉領域内の全ての放射と反射は理想的な拡散であると仮定する。
【0009】
1つの面から発する光は、自己放射光と、他の面から入射する反射光および透過光とからなる。したがって、1つの面から放射される光量は、全ての面相互間の幾何学的関係および他の全て面から放射される光量によって決定される。
【0010】
そこで、上述した数1のレンダリング方程式は、数2に示すような各面に関するラジオシティ方程式に書き換えることができる。数2は、複数の面のうちのある面iに着目したとき、その面iから放射される全光エネルギ量、すなわち面iにおけるラジオシティB[エネルギ/単位面積]をあらわす連立一次方程式である。
【0011】
【数2】
=E+ρΣBij
ここで、Eは、面iのラジオシティの初期値すなわち発光ラジオシティであり、ρは、面iにおける反射率であり、Fijは、面jのラジオシティが面iに到達する到達率すなわちフォームファクタである。
【0012】
数2において、発光ラジオシティEiおよび反射率ρは既知であるから、フォームファクタFijが求められれば、ラジオシティBiが求められる。
しかし、数2を用いてラジオシティを求めた場合には、次の2つの問題がある。
【0013】
(1) 面の内部のどの点においても同じラジオシティ値Biになるので、同一の面の内部に陰影が付されない。
(2) 実際には、面を複数の多角形によって表現することが多い。この場合、単純に1つの多角形を1つの面とみなし、複数の多角形にそれぞれ対応する複数の面についてラジオシティを計算すると、ラジオシティ値が相違する2つの多角形の境界において、ラジオシティ値の段差が発生する。
【0014】
これら2つの問題を解決するために、次のような方法が用いられている。
(1)第1の問題を解決するために、面の内部を微小面に細分化し、各微小面についてラジオシティを計算する。ただし、この場合、前記微小面の数が、例えば2倍になると、フォームファクタFijの数は4倍になる。そこで、前記微小面の数の増加を抑えるために、受光時と発光時とにおける細分化のレベルを調整することによって、ラジオシティの計算量を増加させないようにする工夫がなされている。
【0015】
(2) 第2の問題を解決するために、隣接する多角形の相互間の接続情報を管理して、元の面が同一である場合には、前記接続情報に基づき異なる多角形であっても、これらの多角形に対応する面は、同一の面として取り扱うようにしている。
【0016】
次に、上述した面とそれを記述する多角形との関係について説明する。上述した元の面を記述するには従来より様々な方法が用いられている。
図26のAに示す凹多角形は、例えばドアの形にえぐられた壁の形状などとして、ラジオシティの計算では度々扱われる図形である。このような形状の図形を多角形により記述する場合、複数の記述の方法が存在する。
【0017】
例えば、図26のBに示すように、前記図形を多角形要素形式によって凹多角形のまま記述する。
あるいは、図26のCに示すように、前記図形を三角形ストリップ要素形式によって記述する。
【0018】
この面のラジオシティ値の変化が、もともと単純な変化である場合には、前記多角形要素形式および三角形ストリップ要素形式のいずれの方法によって記述しても、結果として得られるラジオシティ値は同一となる。しかし、通常、ラジオシティの値は複雑に変化するため、上述の2種類の記述方法によって求められるラジオシティの値は異なる。多くの場合、記述方法はユーザが指定するため、対象となる面がラジオシティの計算に適した記述方法で記述されるとは限らず、しばしば、実際とは異なる結果となる。
【0019】
特に、図26のCに示されるように、前記凹多角形の面を三角形ストリップ要素によって記述したときに、極端に細長い三角形が形成されてしまう場合には、その部分のラジオシティ値がかなり小さくなってしまい、図26のBのように多角形要素形式で算出したラジオシティ値と大きく異なってしまう。
【0020】
このような不具合を防ぎ、正確なラジオシティを算出するためには、多角形内の各微小面同士および多角形相互間における接続関係を確実に管理する必要がある。
【0021】
【発明が解決しようとする課題】
しかしながら、対象とする面が複雑な形状である場合には、上述の接続関係を的確に維持しながら面を細分化することが、非常に困難である。そのため、ラジオシティのムラにより、ラジオシティの計算結果、すなわち最終的に描画される画像、の品質が低下するという問題があった。
【0022】
また、面の接続情報は、つながっている面同士、すなわち直接隣接している面同士が対象であり、たとえ同一の平面上にあっても互いに独立する複数の面についてはラジオシティが個別に計算されることになる。そのため、計算すべき面の数を接続情報により充分に減少させることが困難であり、処理時間がかなりかかった。しかも、面の細分化に応じて接続情報が増加するため、多くのメモリ容量が必要であった。
【0023】
本発明は、このような問題を解決するためになされたもので、その目的とするところは、ラジオシティの計算結果の品質を向上するとともに、ラジオシティ計算の処理時間およびメモリ容量を低減し得るラジオシティ法を用いる描画方法および装置を提供することにある。
【0024】
【課題を解決するための手段】
本発明に係るラジオシティ法を用いる描画方法は、
複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法において、
前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における2次元座標上の前記各多角形の位置情報として、前記各多角形上の1以上の点の前記2次元座標上の位置を示す情報を設定する位置情報設定ステップと、
前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理ステップと、
前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画ステップと
を有することを特徴としている〔請求項1〕。
【0025】
前記位置情報設定ステップは、前記位置情報として、前記2次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定するようにしてもよい〔請求項2〕。
【0026】
前記位置情報設定ステップは、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定ステップを含み、且つ
前記マップ参照描画ステップは、前記識別子設定ステップで設定された識別子に対応する前記ラジオシティマップを選択するマップ選択ステップを含んでいてもよい〔請求項3〕。
【0027】
前記位置情報設定ステップは、
前記複数の多角形の各々の面積を算出する面積計算ステップと、
前記面積計算ステップの計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソートステップと、
前記多角形ソートステップでソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い2以上の多角形を同一の識別子にグループ化する識別子設定ステップと、
前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出ステップと、
前記マップ情報算出ステップで算出されたラジオシティマップの位置、方向およびサイズに基づいて各多角形の頂点のマップ座標値を求めるマップ座標値設定ステップと
を含んでいてもよい〔請求項4〕。
【0028】
前記マップ処理ステップは、
1以上の発光ラジオシティマップおよび1以上の受光ラジオシティマップを含む複数のラジオシティマップを定義するマップ定義ステップと、
前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記発光ラジオシティマップを視点とする2次元画面の画素毎の前記受光ラジオシティマップを識別するマップ識別子による識別子バッファを構成する各画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成ステップと、
前記バッファデータ生成ステップで生成された各画素毎のマップ識別子を格納して前記識別子バッファを形成する識別子バッファ形成ステップと、
前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新ステップと
を含んでいてもよい〔請求項5〕。
【0029】
前記バッファデータ生成ステップは、
前記発光ラジオシティマップの1つを選択する発光ラジオシティマップ選択ステップと、
前記発光ラジオシティマップ選択ステップで選択された1つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の2次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出ステップと、
前記変換行列算出ステップで算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換ステップと、
各多角形の頂点のマップ座標値および前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開ステップと
を含んでいてもよい〔請求項6〕。
【0030】
前記マップ更新ステップは、
前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択ステップと、
前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出ステップと、
前記フォームファクタ算出ステップで求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出ステップと
を含んでいてもよい〔請求項7〕。
【0031】
前記マップ処理ステップは、
複数のラジオシティマップを選択的に複数のマップ更新部に割り付けて、該マップ更新部に転送するマップ制御ステップと、
前記マップ制御ステップで割り付けられた複数のラジオシティマップを前記マップ更新部で並列的に更新処理する並列更新ステップと
を含んでいてもよい〔請求項8〕。
【0032】
前記マップ制御ステップは、
複数のマップ更新部に割り付けたラジオシティマップを該マップ更新部に常駐させる常駐割付ステップと、
前記マップ参照描画ステップで当該ラジオシティマップを参照する際に更新結果をラジオシティマップに書き戻す書き戻しステップと
を含んでいてもよい〔請求項9〕。
【0033】
前記マップ参照描画ステップは、
前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、複数の図形描画部に供給する描画制御ステップと、
前記描画制御ステップで供給される前記複数の図形のラジオシティ値を用いて、前記複数の図形描画部において並列に図形を描画形成する図形描画ステップとを含んでいてもよい〔請求項10〕。
【0034】
前記描画制御ステップは、
前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割ステップと、
前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出ステップと
を含んでいてもよい〔請求項11〕。
【0035】
前記マップ処理ステップは、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成し、且つ前記描画制御ステップは、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるべく、前記ラジオシティマップの表裏判定を行う表裏判定ステップをさらに含んでいてもよい〔請求項12〕。
【0036】
前記ラジオシティ値算出ステップは、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるべく、補間処理により前記ラジオシティ値を求める補間処理ステップをさらに含んでいてもよい〔請求項13〕。
【0037】
本発明に係るラジオシティ法を用いる描画装置は、
複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画装置において、
前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における2次元座標上の前記各多角形の位置情報として、前記各多角形上の1以上の点の前記2次元座標上の位置を示す情報を設定する位置情報設定手段と、
前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理手段と、
前記マップ処理手段で処理された複数のラジオシティマップを格納するマップ格納手段と、
前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画手段と
を具備することを特徴としている〔請求項14〕。
【0038】
前記位置情報設定手段は、前記位置情報として、前記2次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定する手段であってもよい〔請求項15〕。
【0039】
前記位置情報設定手段は、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定手段を含み、且つ
前記マップ参照描画手段は、前記識別子設定手段によって設定された識別子に対応する前記ラジオシティマップを選択するマップ選択手段を含んでいてもよい〔請求項16〕。
【0040】
前記識別子設定手段は、前記複数の面のうちの1以上の面を示す複数の多角形に対して同一の識別子を設定する手段であってもよい〔請求項17〕。
前記識別子設定手段は、前記複数の面の各面の位置および前記各面の向きのうちの少なくとも一方の情報に基づいて、前記複数の面のうち1以上の面を構成する複数の多角形をグループ化し、該グループ化された複数の多角形に対して同一の識別子を設定する手段であってもよい〔請求項18〕。
【0041】
前記位置情報設定手段は、
前記複数の多角形の各々の面積を求める面積計算手段と、
前記面積計算手段の計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソート手段と、
前記多角形ソート手段でソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い2以上の多角形を同一の識別子にグループ化する識別子設定手段と、
前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出手段と、
前記マップ情報算出手段で算出されたラジオシティマップの位置、方向およびサイズに基づき各多角形の頂点のマップ座標値を求めるマップ座標値設定手段とを含んでいてもよい〔請求項19〕。
【0042】
前記マップ参照描画手段は、
与えられた視野データに基づき第1の座標系の前記複数の多角形の各頂点の座標値をを第2の座標系に座標変換する座標変換手段と、
前記座標変換手段で座標変換された前記第2の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開して各画素に対応する画素マップ座標値を求める画素展開手段と、
前記画素展開手段で求められた各画素マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を抽出する画素値抽出手段と
を含んでいてもよい〔請求項20〕。
【0043】
前記マップ参照描画手段は、
与えられた視野データに基づき第1の座標系の前記複数の多角形の各頂点の座標値を第2の座標系に座標変換する座標変換手段と、
前記視野データと多角形の頂点に対応する頂点マップ座標値および頂点座標値とに基づいて、前記複数の多角形の各々をさらに複数の微小多角形に分割し、それら細分化された各微小多角形の頂点マップ座標値および頂点座標値を求める多角形分割手段と、
前記多角形分割手段で算出された各頂点マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を読み出す画素値抽出手段と、
前記座標変換手段で座標変換された第2の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開するとともに、前記画素値抽出手段で読み出された画素値に基づいて、展開された各画素に対応する輝度値を求める画素展開手段と
を含んでいてもよい〔請求項21〕。
【0044】
前記マップ処理手段は、
前記複数のラジオシティマップを、1以上の発光ラジオシティマップおよび1以上の受光ラジオシティマップとして定義するマップ定義手段と、
前記発光ラジオシティマップを視点とする2次元画面の画素毎に前記受光ラジオシティマップを識別する画素毎のマップ識別子を格納する識別子バッファと、前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記識別子バッファに格納すべき前記画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成手段と、
前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新手段と
をさらに含んでいてもよい〔請求項22〕。
【0045】
前記識別子バッファデータ生成手段は、
前記発光ラジオシティマップの1つを選択する発光ラジオシティマップ選択手段と、
前記発光ラジオシティマップ選択手段により選択された1つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の2次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出手段と、
前記変換行列算出手段によって算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換手段と、
各多角形の頂点のマップ座標値、前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開手段と
を含んでいてもよい〔請求項23〕。
【0046】
前記マップ更新手段は、
前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択手段と、
前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出手段と、
前記フォームファクタ算出手段で求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出手段と
を含んでいてもよい〔請求項24〕。
【0047】
前記マップ更新手段は、
前記発光ラジオシティマップの位置情報と前記受光ラジオシティマップの位置情報とに基づいて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換するための変換行列を求める変換行列算出手段と、
前記変換行列算出手段で求められた変換行列を用いて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換する画素マップ座標値算出手段と
をさらに含んでいてもよい〔請求項25〕。
【0048】
前記マップ処理手段は、
それぞれ前記ラジオシティマップを更新処理する並列的な複数のマップ更新手段と、
前記複数のマップ更新手段に、複数のラジオシティマップを選択的に且つ並列的に割り付けて供給するマップ制御手段と、
を含んでいてもよい〔請求項26〕。
【0049】
前記複数のマップ更新手段は、
それぞれ更新処理のためにラジオシティマップを保持するマップ保持手段を含み、且つ
前記マップ制御手段は、
前記複数のマップ更新手段に割り付けたラジオシティマップを該マップ更新手段のマップ保持手段に常駐させる常駐割付手段と、
前記マップ参照描画手段で当該ラジオシティマップを参照する際に更新結果を前記マップ格納手段に書き戻す書き戻し手段と
を含んでいてもよい〔請求項27〕。
【0050】
前記マップ制御手段は、前記マップ更新手段に空きがない場合、更新処理済みの前記マップ更新手段に常駐している少なくとも1つのラジオシティマップの更新結果を前記マップ格納手段に書き戻し、該マップ更新手段に新たなラジオシティマップを割り付ける手段であってもよい〔請求項28〕。
【0051】
前記マップ参照描画手段は、
それぞれラジオシティ値を用いて図形を描画形成する並列的な複数の図形描画手段と、
前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画手段に並列的に供給する描画制御手段と
を含んでいてもよい〔請求項29〕。
【0052】
前記描画制御手段は、
前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割手段と、
前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出手段と
を含んでいてもよい〔請求項30〕。
【0053】
前記マップ処理手段は、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成する手段であり、且つ前記描画制御手段は、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるため、前記ラジオシティマップの表裏判定を行う表裏判定手段をさらに含んでいてもよい〔請求項31〕。
【0054】
前記ラジオシティ値算出手段は、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるため、補間処理により前記ラジオシティ値を求める補間処理手段をさらに含んでいてもよい〔請求項32〕。
【0055】
本発明のラジオシティ法を用いる描画方法および装置は、複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法および装置において、前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における2次元座標上の前記各多角形の位置情報として、前記各多角形上の1以上の点の前記2次元座標上の位置を示す情報を設定し、前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成するとともに、前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画することにより、ラジオシティの計算結果の品質を向上し且つラジオシティ計算の処理時間およびメモリ容量を低減する。
【0056】
さらに、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティマップの情報を更新するための複数個のマップ更新部を用意し、複数のラジオシティマップを選択的に前記複数のマップ更新部に割り付け、該ラジオシティマップを前記複数のマップ更新部で並列的に更新処理することにより、ラジオシティマップを効率よく更新して、前記ラジオシティマップを形成するようにしてもよい。
【0057】
さらにまた、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティ画像を描画するための複数個の図形描画部を用意し、前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画部において並列に図形を描画形成することにより、前記ラジオシティマップを参照してラジオシティ画像を効率よく描画するようにしてもよい。
【0058】
【発明の実施の形態】
以下、本発明に係るラジオシティ法を用いる描画方法および装置を適用した描画システムの実施の形態を図面を参照して説明する。
【0059】
〔実施の形態1〕
図1は本発明の第1の実施の形態による描画システムの構成を示している。
図1の描画システムは、マップ格納部1、IDバッファ作成部2、IDバッファ3、マップ更新部4、マップ参照描画部5、イメージバッファ6、および情報設定部7を備えている。
【0060】
情報設定部7は、複数の面の各面をそれぞれ複数の多角形に分割してあらわした場合の前記各面における複数の多角形の位置を定義するために、前記各面における2次元座標上で各多角形の各頂点を示す頂点座標値と該頂点のラジオシティマップにおける座標値である頂点st値とを設定する。ラジオシティマップは、座標軸SおよびTについての2次元座標であるST座標で表現され、このST座標上の点の座標値をst値と称する。さらに、情報設定部7は、前記多角形毎にその多角形が参照すべきラジオシティマップを識別するための識別子すなわちマップIDを設定する。したがって、情報設定部7は、前記各多角形の頂点を示す頂点座標値、頂点st値および前記多角形毎のマップIDを、IDバッファ作成部2およびマップ参照描画部5に与える。
【0061】
マップ格納部1は、複数の面にそれぞれ対応する複数のラジオシティマップを格納する。
前記複数のラジオシティマップは、ラジオシティの計算にあたり、複数のラジオシティマップのうちの1つが選択的に発光ラジオシティ用の発光ラジオシティマップ11として設定され、それ以外の(原則的には全ての)ラジオシティマップが受光ラジオシティ用の受光ラジオシティマップ12として設定されて、全ての受光ラジオシティマップ12についてのラジオシティの計算が行われる。次に、前記複数のラジオシティマップのうちの他の1つ、すなわち前回受光ラジオシティマップ12に設定されていたものの1つが発光ラジオシティマップ11に選定され、その他のラジオシティマップが受光ラジオシティマップ12に設定されて、該受光ラジオシティマップ12についてのラジオシティの計算が行われ、その結果に基づいてラジオシティマップの内容が更新される。以後、同様の操作が所定回数繰り返される。
【0062】
マップ格納部1の発光ラジオシティマップ11および受光ラジオシティマップ12は、情報設定部7で設定された各多角形の頂点st値に対応付けてラジオシティ値すなわち輝度に対応する画素値を格納する。すなわち、マップ格納部1に格納されるラジオシティマップは、前記画素値を収容するラジオシティマップ画像およびそれまで蓄積した他のラジオシティマップからの受光エネルギ(ラジオシティ)の値を収容する未放射エネルギマップ画像、マップの位置、マップの方向、マップのサイズ、およびマップの解像度を含む情報を格納する。前記ラジオシティマップ画像および未放射エネルギマップ画像は、ST座標系の2次元画像の形であらわされる。
【0063】
IDバッファ作成部2は、情報設定部7から与えられる頂点座標値、頂点st値およびマップID(マップ識別子)に基づき、各画素について、発光用ラジオシティマップ11に視点を据えた際に見える前記多角形のマップIDおよび必要に応じてst値を含むIDバッファデータを生成しIDバッファ3に与える。IDバッファ3は、IDバッファ作成部2によって生成された前記多角形のマップIDおよび必要に応じてst値を含むIDバッファデータを格納する。
【0064】
マップ更新部4は、IDバッファ3の内容に基づき、発光ラジオシティマップ11のラジオシティによる各受光ラジオシティマップ12のラジオシティを求めて、マップ格納部1のラジオシティマップを更新する。その結果マップ格納部1のラジオシティマップには更新されたデータが書き込まれる。
【0065】
IDバッファ作成部2およびマップ更新部4は、ラジオシティ格納部1における複数のラジオシティマップのうちのいずれかを、逐次発光ラジオシティマップ11に選択しながら、ラジオシティマップの更新処理を所定回数だけ繰り返す。その繰り返し回数には特に制限はないが、一般には、未放射エネルギすなわち未放射ラジオシティがゼロとなり、ラジオシティマップのラジオシティマップ画像の変化が収束するまで行われる。
【0066】
マップ参照描画部5には、視野データ、情報設定部7で設定される前記頂点座標値、頂点st値およびマップIDが与えられるとともに、該マップ参照描画部5は、マップ格納部1から所要のラジオシティマップの内容を読出す。マップ参照描画部5は、マップ格納部1の更新されたラジオシティマップを用いて、各多角形にラジオシティをマッピングした上で、前記視野データに基づき任意の視点から見た画像を作成する。すなわち、マップ参照描画部5は、情報設定部7によって設定されたマップIDに対応するラジオシティマップを選択し、ラジオシティマップに格納された各頂点st値に対応するラジオシティ値を読出して、該ラジオシティ値を2次元画像の画素値としてラジオシティ画像を作成して、イメージバッファ6に供給する。
【0067】
イメージバッファ6は、マップ参照描画部5で作成されたラジオシティ画像を、画素座標値および画素輝度値の情報を含む画像データとして格納する。
図2は、IDバッファ作成部2の詳細な構成を示している。図2のIDバッファ作成部2は、発光マップ選択部21、変換行列算出部22、座標変換部23および画素展開部24を備えている。
【0068】
発光マップ選択部21は、マップ格納部1のラジオシティマップから、そのときに使用すべき発光ラジオシティマップ11を選択する。その結果、選択されたラジオシティマップ以外のラジオシティマップが受光ラジオシティマップ12ということになる。
【0069】
変換行列算出部22は、発光マップ選択部21により選択された発光ラジオシティマップ11に相当する位置を中心とする複数の視野を2次元平面として構築し、構築された視野への変換行列を求める。
【0070】
座標変換部23は、変換行列算出部22により求められた変換行列を用いて各多角形の頂点座標値を前記複数の視野の座標系の座標変換する。
画素展開部24は、多角形の頂点st値と、座標変換部23により座標変換された頂点座標値とに基づいて、前記各多角形を画素に展開し、展開された各画素について隠面消去を施した上で、画素座標値および必要ならば画素st値をIDバッファ3に与える。画素展開部24は、さらに後述する画素Z値または画素IDをIDバッファ3に与える場合もある。
【0071】
IDバッファ3は、多角形が参照すべきラジオシティマップのマップID、画素座標値および画素st値を格納する。なお、画素st値は必要な場合に格納される。
【0072】
図3は、マップ更新部4の構成を示している。
図3のマップ更新部4は、受光マップ選択部41、フォームファクタ算出部42およびラジオシティ変化量算出部43を備えている。
【0073】
受光マップ選択部41は、IDバッファ3に格納された各画素に対応するマップIDを示す画素ID値を読み出して、その画素ID値に対応する受光ラジオシティマップ12を選択する。
【0074】
フォームファクタ算出部42は、受光マップ選択部41で選択された受光ラジオシティマップ12のマップIDに基づいて、IDバッファ3から読み出した画素座標値に応じたフォームファクタを算出し、ラジオシティ変化量算出部43に与える。フォームファクタは、容易に計算することができるが、予めフォームファクタを計算してテーブルとして記憶しておき、そのテーブルから求めるようにしてもよい。
【0075】
IDバッファ3に、あるマップIDが書き込まれているということは、発光ラジオシティマップ11の位置からIDバッファ3の該当画素の方向を見たときにそのマップIDで示される受光ラジオシティマップ12に対応する面が見えているということを意味する。これとは逆に、IDバッファ3に、マップIDが書き込まれていないまたは画素ID値に対応する受光ラジオシティマップ12が存在しない場合には、発光ラジオシティマップ11の位置から見てIDバッファ3の該当画素の方向には、何も面が存在しないことになる。したがって、その画素に関しては、受光ラジオシティマップ12の更新を中断する。
【0076】
ラジオシティ変化量算出部43は、フォームファクタ算出部42で算出されたフォームファクタに発光ラジオシティマップ11に格納された未放射エネルギを乗算することによってラジオシティの変化量を算出し、該ラジオシティの変化量を受光ラジオシティマップ12に格納する。
【0077】
図4は、マップ参照描画部5の構成を示している。
図4のマップ参照描画部5は、座標変換部51、画素展開部52およびマップ参照部53とを備えている。
【0078】
座標変換部51は、視野データおよび情報設定部7からの頂点座標値が与えられ、視野データに基づいて多角形の頂点座標値を座標変換する。画素展開部52は、座標変換部51によって変換された多角形の頂点座標値および情報設定部7からの頂点st値に基づいて、各多角形を画素に展開することによって、各画素における画素座標値および画素st値を求める。画素展開部52は、求めた各画素座標値をイメージバッファ6に与える。
【0079】
マップ参照部53は、画素展開部52から与えられた画素st値に基いて、マップ格納部1のラジオシティマップに格納されたラジオシティに応じた画素輝度値を検索して、該画素輝度値をイメージバッファ6に与える。
【0080】
イメージバッファ6は、画素展開部52から与えられる画素座標値にマップ参照部53から与えられる画素輝度値を対応させて、画像データとして格納する。
<実施の形態1の動作>
次に、図5を参照して、このように構成された描画システムにおける描画方法を示す動作を説明する。
【0081】
まず、情報設定部7において、複数の面の各々が複数の多角形に分割され、前記各面における複数の多角形の位置を表現するために各多角形の各頂点における2次元座標上の頂点座標値およびそれに対応するラジオシティマップのST座標上の頂点st値が設定される(ステップS01)。
【0082】
例えば、図6に示すような1つの元の面の多角形P1を2つの多角形(三角形)T1およびT2に分割する。多角形の各頂点C1〜C5における座標値に対して、対応するラジオシティマップのST座標上の頂点st値(s1,t1)〜(s5,t5)が設定される。すなわち、元の面の各多角形の頂点座標値とラジオシティマップ上の頂点st値とが1対1に対応する。そして、図7に示すように同一平面上でない異なる面の多角形P1およびP2のような複数の面をそれぞれ多角形に分割して、各多角形の頂点座標値および頂点st値を設定する。
【0083】
また、前記各多角形毎にその多角形が参照すべきラジオシティマップを識別するためのマップIDも、情報設定部7により設定される。ここでは、同一の面上の複数の多角形のIDは同一の値とすることにより、1つの面と1つのラジオシティマップとを対応付ける。すなわち、各面毎の複数のラジオシティマップを用意する。
【0084】
一方、各ラジオシティマップには、各多角形の頂点st値に対応付けてラジオシティ値に対応する画素値が格納される(ステップS02)。
次は、IDバッファ作成部2により処理が行われる。
【0085】
マップ格納部1に格納されたラジオシティマップの中から、発光マップ選択部21により発光ラジオシティマップ11が選択される(ステップS03)。発光マップ選択部21が、発光ラジオシティマップ11を選択するにあたり、複数のラジオシティマップを単に順番に選択するようにしてもよい。あるいは、複数のラジオシティマップの中から、最大の未放射エネルギを格納するラジオシティマップを発光ラジオシティマップ11として選択するようにしてもよい。
【0086】
変換行列算出部22では、選択された発光ラジオシティマップ11の位置を中心として複数の視野が2次元画面として構築され、さらに構築された視野への変換行列が算出される(ステップS04)。変換行列算出部22では、例えば4×4の変換行列が算出される。前記変換行列は視法方向行列と視法投影行列との積によって求められる。
【0087】
前記視法方向行列は、視点を原点として視野方向をZ軸に変換する変換行列であって、視点への平行移動と視線方向への回転とによって構成される。前記視点は、発光ラジオシティマップの中心または適宜設定したサンプル点を世界座標であらわしたものである。前記視野方向は、正面ヘミキューブにおいては、発光ラジオシティマップの法線方向であり、側面マップにおいてはその側面に沿う方向である。前記世界座標系は、前記視法方向行列によって視点座標系に変換することができる。
【0088】
前記視法投影行列は、視線方向の上下左右の各々について45°の範囲を画像の解像度の範囲に投影する透視投影行列である。この視法投影行列によって、前記視点座標系を装置座標系(当該装置の座標系)に変換することができる。
【0089】
座標変換部23では、変換行列算出部22で求められる変換行列を用いることにより、世界座標系における多角形の頂点座標値が装置座標系の頂点座標値に変換される(ステップS05)。
【0090】
画素展開部24では、装置座標系における多角形の各頂点座標値に基いてIDバッファ3に格納された画素座標値の中からその多角形内に含まれる画素座標値が選択され、各画素座標値についての画素st値が算出される(ステップS06)。
【0091】
画素を展開する方法としては既存の方法を用いることができ、一般的には、クリッピング、スキャン変換、またはデジタルデファレンシャルアナリシス(DDA)などの方法が用いられる。
【0092】
次は、ラジオシティマップ参照部4により処理が行われる。
受光マップ選択部41では、IDバッファ3に格納された各画素の画素Z値または画素ID値に基づいて、その画素に対応する受光ラジオシティマップ12がそれぞれ選択される(ステップS07)。
【0093】
受光ラジオシティマップ12の選択方法としては、次の2つの方法がある。第1の方法は前記画素ID値を用いる方法である。画素ID値を受光ラジオシティマップ12のIDと比較し、画素ID値に一致するIDに対応する受光ラジオシティマップ12を選択する。第2の方法は前記画素Z値を用いる方法である。各受光ラジオシティマップ12におけるその画素位置において想定されるZ値を算出し、算出されたZ値をIDバッファ3からの画素Z値と比較する。画素と一致するラジオシティマップであれば、前記Z値と画素Z値とが、一致するか、または非常に近い値となる。画素と一致しないラジオシティマップでは、画素Z値よりもラジオシティマップのZ値のほうが、さらに奥にあることを示すような値となる。そこで、比較結果が一致または非常に近いと判定されたラジオシティマップを選択する。
【0094】
フォームファクタ算出部42では、画素座標値および受光マップ選択部41で選択された受光ラジオシティマップに基づいて、IDバッファ3の各画素に対応するΔフォームファクタ(ここでは、「変化分」を「Δ」で示し、例えば「Δフォームファクタ」は「フォームファクタの変化分」を示す)が算出される(ステップS08)。
【0095】
ラジオシティ変化量算出部43では、フォームファクタ算出部42で算出されたΔフォームファクタを発光面の未放射エネルギに乗算することによって、Δラジオシティ(ラジオシティの変化分)が求められる。ラジオシティ変化量算出部43では、さらに、前記Δラジオシティに面の面積比が乗算されて、Δ未放射エネルギ(未放射エネルギの変化分)が求められる。そして、ラジオシティ変化量算出部43では、前記Δラジオシティが受光ラジオシティマップ12のラジオシティマップ画像に加算されるとともに、前記Δ未放射エネルギが受光ラジオシティマップ12の未放射エネルギマップ画像に加算される(ステップS09)。このとき、受光ラジオシティマップ12における加算すべき画素の位置は、画素st値によって決定する。
【0096】
次は、マップ参照描画部5により処理が行われる。
座標変換部51では、与えられた視野データから求められる視野変換行列により多角形の頂点座標が座標変換される(ステップS10)。画素展開部52は、画素展開部24とほぼ同様に動作する。マップ参照部53では、ラジオシティマップ画像において画素st値に対応する位置の画素値が読み出され、その画素値がイメージバッファ6の画素座標値に対応する位置の画素値に格納される(ステップS11)。
【0097】
上述のように、図1の描画システムは、前記各面を複数の多角形に分割し、前記各面における複数の多角形の位置を表現するために各多角形の頂点座標に対応するラジオシティマップ上の頂点st値を設定し、複数のラジオシティマップに各多角形の頂点st値に対応付けてラジオシティ値に相当する画素値を格納しておいて、前記各面に対応するラジオシティマップに格納された各頂点st値に対応する画素値を読み出してラジオシティ画像を作成する。
【0098】
すなわち、設定された頂点st値によって前記複数の多角形を前記各面に対応付けたので、前記複数の多角形が入り組んで配置されるような複雑な形状であっても、記述する図形要素の種類に依存することなく、むらなく且つ適切にラジオシティを計算することができる。
【0099】
また、各多角形毎にマップIDが設定されるので、マップIDによって個々の多角形に対して適切なラジオシティマップを選択することができる。
〔実施の形態2〕
図8は、本発明の第2の実施の形態による描画システムの構成を示している。図8に示す描画システムは、図1に示した情報設定部7とは異なる構成の情報設定部7Aを備えていることを特徴としている。
【0100】
図9は、図8における情報設定部7Aの具体的な構成を示している。情報設定部7Aは、頂点座標値および面法線ベクトルに基づいて多角形の頂点st値、多角形が参照すべきラジオシティマップを示すマップID、ラジオシティマップの位置、およびラジオシティマップの方向等の情報を自動的に計算する。
【0101】
図9に示す情報設定部7Aは、面積計算部71、多角形ソート部72、ID設定部73、マップ位置方向算出部74およびst値設定部75を備えている。
面積計算部71は、複数の多角形の各頂点座標値に基づいて、各多角形の面積を求める。多角形ソート部72は、面積計算部71により求められた各多角形の面積に基づいて、前記各多角形を面積の大きい順にソートする。
【0102】
ID設定部73は、多角形ソート部73でソートされた結果に従った順序で各多角形を逐次取り出して、頂点座標値および面法線ベクトルに基づいて、該多角形にそれぞれマップIDを設定するとともに、既に取り出した多角形と面の方向および面の位置が近い多角形同士を同一のマップIDに設定してグループ化する。
【0103】
マップ位置方向算出部74は、頂点座標値およびID設定部73により求められたマップIDに基づいて、同一のマップを参照する面の位置および方向の情報からラジオシティマップの位置、方向およびサイズ等の情報を求める。
【0104】
st値設定部75は、マップ位置方向算出部74により求められたマップの位置、方向およびサイズ等の情報に基づいて、各多角形の頂点st値を算出する。図8におけるその他の構成は、図1の構成とほとんど同様であり、図8において、図1と同一の符号を付して示している部分は、図1の対応する部分と実質的に同様の部分である。
<実施の形態2の動作>
次に、図10を参照して、図8および図9に示すように構成された描画システムにおける動作を説明する。図8および図9に示す構成において、情報設定部7A以外の部分は、図1〜図4に示した構成と同様であるから、図10には、主として、情報設定部7Aによる情報の設定に関する処理について示している。
【0105】
面積計算部71では、複数の多角形の頂点座標値に基づいて、各多角形の面積が求められる(ステップS21)。多角形ソート部72では、面積計算部71で求められた各多角形の面積に基づいて、面積の大きい順に前記複数の多角形がソートされる(ステップS22)。
【0106】
ID設定部73では、多角形ソート部73でソートされた順に各多角形が取り出されるとともに、既に取り出した多角形のいずれかと面の方向および面の位置が同一かまたは近い多角形を、前記既に取り出した多角形と同一のマップIDとすることにより、多角形がグループ化されてマップIDの設定が行われる(ステップS23)。
【0107】
すなわち、多角形とラジオシティマップとはマップIDを用いて対応させるので、厳密に同一の面でなくとも、同一のラジオシティマップを参照させることができる。
【0108】
例えば、壁または天井における微妙な凹凸は、表示画像の品質をよくするために細かく設計されることが少なくない。また、若干湾曲した面および物体の角の丸み等についても、曲面または面の向きが漸次変化する複数の細かい多角形の集まりとして詳細に記述されることがしばしば行われる。
【0109】
しかしながら、このような細かい凹凸および面の向きの変化は、全体から見れば、僅かである。このような場合、該当する微小面が条件の類似した大きな面に属するとみなしても、ラジオシティの計算の結果には、大きな相違はない。そこで、細かい凹凸および面の湾曲を事実上無視して、条件が近接している複数の面全体を共通の面とみなすことにより、使用するラジオシティマップの数を低減することができる。
【0110】
このような、面のグループ化の基準としては、面の方向および法線方向に測った面の位置を用いることが望ましい。面の方向は、図11に示すように面の湾曲および角の丸みの大きさを計測することができ、法線方向の位置は面の凹凸の大きさをそれぞれ測ることができる。
【0111】
また、このようなグループ化でも吸収されない小さな面があれば、その面についてはラジオシティの対象から除外する。このような、小さな面は面の相互反射への寄与も僅かであり、ラジオシティによる描画結果においても、面積が小さいので、さほど目立たず、ラジオシティ計算の対象外にしたことによる誤差を無視することができる。
【0112】
次に、マップ位置方向算出部74では、前記頂点座標値およびマップIDに基づいて、同一のラジオシティマップを参照する面の位置および方向の情報に応じたラジオシティマップの位置、方向およびサイズ等のようなラジオシティマップの情報が求められる(ステップS24)。
【0113】
st値設定部75では、マップ位置方向算出部74で求められたマップの位置、方向およびサイズに基づいて、各多角形の頂点st値が求められる(ステップS25)。
【0114】
このようにして、図8および図9のように構成された描画システムでは、情報設定部7AのID設定部73が、面の方向、面の位置に基づき同一のマップIDを用いて面のグループ化を行うので、マップ参照描画部5は同一のマップIDに基づき、いくつかの面に対して共通のラジオシティマップを選択することになる。したがって、同一平面にある複数の面が前記共通のラジオシティマップを参照するので、使用するラジオシティマップの数を減らすことができ、メモリ容量および処理時間の削減を図ることができる。
【0115】
〔実施の形態3〕
図12は、本発明の第3の実施の形態による描画システムの主要部の構成を示している。図12に示す描画システムは、図1に示したマップ更新部4とは異なる構成のマップ更新部4Aを備えていることを特徴としている。
【0116】
図12に示すマップ更新部4Aは、受光マップ選択部41、フォームファクタ算出部42、ラジオシティ変化量算出部43、変換行列算出部44および画素st値算出部45を備えている。
【0117】
受光マップ選択部41、フォームファクタ算出部42およびラジオシティ変化量算出部43は、基本的に、それぞれ図3に示した受光マップ選択部41、フォームファクタ算出部42およびラジオシティ変化量算出部43と同様であるので、その詳細な説明は省略する。
【0118】
変換行列算出部44は、発光ラジオシティマップ11に格納された発光マップ位置情報と、計算しようとする受光ラジオシティマップ12に格納された受光マップ位置情報とに基づいて、IDバッファ3の画素座標値を受光マップの画素st値に変換するための変換行列を算出する。
【0119】
画素st値算出部45は、IDバッファ3から読み出した画素座標値および変換行列算出部44で算出された変換行列に基いて画素st値を算出して受光ラジオシティマップ12に格納する。
<実施の形態3の動作>
次に、図13を参照して、図12に示すように構成された描画システムにおける動作を説明する。図12に示す構成において、マップ更新部4A以外の部分は、図1〜図4に示した構成と同様であるから、図13には、主として、マップ更新部4Aによるマップ更新に関する処理について示している。
【0120】
受光マップ選択部41では、IDバッファ3に格納された各画素の画素Z値または画素ID値に基づいて、その画素に対応する受光ラジオシティマップ12がそれぞれ選択される(ステップS31)。
【0121】
フォームファクタ算出部42では、画素座標値および受光マップ選択部41で選択された受光ラジオシティマップに基づいて、IDバッファ3の各画素に対応するΔフォームファクタが算出される(ステップS32)。
【0122】
ラジオシティ変化量算出部43では、フォームファクタ算出部42で算出されたΔフォームファクタを発光面の未放射エネルギに乗算することによって、Δラジオシティが求められる。ラジオシティ変化量算出部43では、さらに、前記Δラジオシティに面の面積比を乗算することによって、Δ未放射エネルギが求められる。そして、ラジオシティ変化量算出部43により、前記Δラジオシティが、受光ラジオシティマップ12のラジオシティマップ画像に加算されるとともに、前記Δ未放射エネルギが、受光ラジオシティマップ12の未放射エネルギマップ画像に加算される(ステップS33)。
【0123】
次に、変換行列算出部44では、発光ラジオシティマップ11の発光マップ位置情報と受光ラジオシティマップ12の受光マップ位置情報とに基づいて、IDバッファ3の画素座標値を受光ラジオシティマップ12の画素st値に変換するための変換行列が算出される(ステップS34)。
【0124】
前記変換行列は、例えば3×3のサイズとする。すなわち、変換行列算出部44は、受光ラジオシティマップ12の画素st値を世界座標系に変換する4×4の行列tcToWcと、変換行列算出部22で算出される4×4の行列wcToDcとを乗算することによって、(3,3)要素(すなわちZ成分対応部分)を除去した3×3の余因子行列tcToDcを求め、この余因子行列tcToDcの逆行列dcTotcを計算する。
【0125】
画素st値算出部45では、画素座標値(x,y)が変換行列によって座標変換されて、画素st値が算出される(ステップS35)。
このように、図12のように構成された描画システムでは、画素st値を、IDバッファ3に格納することなく、画素座標値から画素st値を算出することができるので、IDバッファ3の記憶容量を低減することができる。
【0126】
〔実施の形態4〕
図14は、本発明の第4の実施の形態による描画システムの主要部の構成を示している。図14に示す描画システムは、図1に示したマップ参照描画部5とは異なる構成のマップ参照描画部5Aを備えていることを特徴としている。
【0127】
図14に示すマップ参照描画部5Aは、座標変換部51、マップ参照部53、多角形分割部54およびマップ参照部53を備えている。
座標変換部51およびマップ参照部53は、基本的に、それぞれ図4に示した座標変換部51およびマップ参照部53と同様であるので、同符号を付して示し、その詳細な説明は省略する。
【0128】
多角形分割部54は、視野データ、多角形の頂点座標値、該多角形の頂点st値およびマップ格納部1に格納されるラジオシティマップの解像度とに基づいて、多角形を細分化し、細分化された多角形の頂点座標値および頂点st値を求める。多角形分割部54は、前記頂点座標値を座標変換部51に与え、且つ前記頂点st値をマップ参照部53に与える。
【0129】
画素展開部55は、座標変換部51で変換された頂点座標値に基づき多角形を画素に展開するとともに、各画素における画素輝度値を求めて、画素座標値に対応させてイメージバッファ6に出力する。すなわち、画素展開部55は、図4に示す画素展開部52とほぼ同様であるが、画素展開部52は画素st値を出力するのに対し、画素展開部55は画素の輝度値を出力する。
<実施の形態4の動作>
次に、図15を参照して、図14に示すように構成された描画システムにおける動作を説明する。図14に示す構成において、マップ参照描画部5A以外の部分は、図1〜図4に示した構成と同様であるから、図15には、主として、マップ参照描画部5Aによる描画に関する処理について示している。
【0130】
多角形分割部54では、分割された多角形のサイズがラジオシティマップの1画素サイズ程度になるように、多角形が細分化される(ステップS41)。該サイズが、イメージバッファ6上で1画素よりも極端に小さい場合には、分割しすぎであるので、細分化の程度、すなわち分割数、を落として、適切な分割数で分割する。
【0131】
前記面の細分化は、ラジオシティマップの解像度に合わせて行われる。例えば、面を全く分割しない場合、すなわち、面全体が1つのラジオシティを持つ場合は、ラジオシティマップの解像度が1×1であることに相当する。また、前記面を16分割する場合には、ラジオシティマップの解像度が4×4であることに相当する。ラジオシティマップの解像度は、その面のラジオシティの計算の品質精度を規定し、解像度が高くなるにつれて品質が向上する。
【0132】
多角形分割部54からは、前記頂点座標値が座標変換部51に出力され、前記頂点st値がマップ参照部53に出力される。
マップ参照部53により、前記頂点st値に対応する画素値がラジオシティマップから読み出され、該画素値が頂点輝度値として画素展開部55に出力される(ステップS42)。座標変換部51により、多角形分割部54からの頂点座標値が、視野データに基づき座標変換される(ステップS43)。
【0133】
画素展開部55では、座標変換部51で変換された頂点座標値に基づき多角形が各画素に展開されるとともに、マップ参照部53からの各画素における画素輝度値が画素座標値に対応付けられてイメージバッファ6に出力される(ステップS44)。
【0134】
上述のように、図14のように構成された描画システムでは、多角形の細分化によって、その面のラジオシティの計算の品質精度を決定するので、ラジオシティマップを高解像度化することにより、ラジオシティの計算の品質を向上させることができる。
【0135】
〔実施の形態5〕
図16は、本発明の第5の実施の形態による描画システムの主要部の構成を示している。図16に示す描画システムは、図1に示したマップ格納部1およびマップ更新部4、または図12に示したマップ格納部1およびマップ更新部4Aに代えて、マップ処理部8を備えていることを特徴としている。図16に示すマップ処理部8は、マップ制御部8Aおよび複数のマップ更新部8Bを備えている。
【0136】
マップ制御部8Aは、マップ格納部81、マップ割付部82、割付情報格納部83、発光体情報算出部84、半立方体情報算出部85、マップ更新制御部86およびマップ管理部87を有している。複数のマップ更新部8Bは、各々、更新処理部88および更新情報格納部89を有している。マップ更新部8Bは、同一の構成で複数個並列的に設けられ、その数に制限はないが、マップ更新部8Bの数が多いほど並列処理効果が増し、処理時間の短縮化に寄与する。
【0137】
まず、マップ制御部8Aの構成について説明する。マップ格納部81は、図1のマップ格納部1と同様に、複数のラジオシティマップを格納する。マップ割付部82は、例えば、IDバッファ3から与えられる画素IDまたは画素Z値のようなマップ割付要素に応動して、マップ格納部81中の更新すべき各ラジオシティマップをそれぞれマップ更新部8Bに割り付け、ラジオシティマップの割付情報を作成して、該割付情報を割付情報格納部83に格納させる。
【0138】
発光体情報算出部84は、発光ラジオシティマップに対応する発光体、すなわち発光多角形、のエネルギ、位置および方向等の発光体情報を求める。半立方体情報算出部85は、発光体情報算出部84により求められる発光体情報における発光体の位置および方向に基づいて、前記発光体を中心とする半立方体への変換行列を算出し、それらに基づくラジオシティマップのマップIDを、図16には示されていないIDバッファに格納する。マップ更新制御部86は、発光体情報算出部84で求められた発光体情報および半立方体情報算出部85で求められた半立方体情報を、全てのマップ更新部8Bの更新情報格納部89に格納する。また、マップ割付情報格納部83のラジオシティマップの割付情報を参照し、対応するラジオシティマップを、各マップ更新部8Bの更新情報格納部89に格納する。必要な情報を更新情報格納部89に格納した時点で、次々とマップ更新部8Bに対して更新処理の実行を指示する。
【0139】
マップ管理部87は、マップ格納部81に格納されるラジオシティマップの作成または削除を行い、定義されているラジオシティマップを管理する。
次にマップ更新部8Bの構成を説明する。更新処理部88は、更新情報格納部89に格納されるラジオシティマップの更新情報を参照しながら更新処理を行い、対応するラジオシティマップを更新する。
【0140】
マップ制御部8Aは、アプリケーションインタフェースとして、ラジオシティマップの作成/削除、ラジオシティマップの割り付けおよびラジオシティの更新の各機能を有する。
【0141】
マップ参照描画部5は、マップ格納部81に格納されるラジオシティマップを参照して、ラジオシティ値を求めその結果に基づく画像を描画して、ディスプレイ6Aに表示する。ディスプレイ6Aは、例えば図1等に示したイメージバッファ6を有していてもよい。
【0142】
複数のマップ更新部8Bは、マップ制御部8Aとは独立に構成されている。各マップ更新部8Bは、マップ制御部8Aから実行指示を受け、更新情報格納部89に格納されているラジオシティマップの発光体情報、半立方体情報およびラジオシティマップ等の更新情報を参照して、対応するラジオシティマップを更新する。マップ制御部8Aは、マップ更新部8Bに対して、更新情報格納部89に格納された更新情報のデータの書込み/読出しおよびラジオシティマップの更新処理の実行を指示する。
【0143】
図17は、図16に示した描画システムにおける、アプリケーションインタフェースから見たラジオシティ法による描画処理のシーケンスを示している。
アプリケーションは、まず、所要数のラジオシティマップを作成し、それらのラジオシティマップに図形、すなわち面を定義する(ステップS51)。次に、マップ割付部82が、ステップS51で作成されたラジオシティマップを、複数のマップ更新部8Bのいずれかに割り付ける(ステップS52)。
【0144】
次に、発光体になる面すなわち発光ラジオシティマップを選定し、ラジオシティの更新の是非を確認した上で(ステップS53)、更新を行うならば、ラジオシティマップのラジオシティの更新を行う(ステップS54)。このラジオシティ更新は、必要に応じて、発光体(発光ラジオシティマップ)を変えながら繰り返す。
【0145】
ラジオシティ描画の是非を確認した上で(ステップS55)、ラジオシティ描画を行う(ステップS56)。ラジオシティ描画は、通常はラジオシティ更新の所定回数の繰り返しにより、ラジオシティが収束した時点で行う。しかしながら、必要に応じて、ラジオシティの収束過程の途中結果を描画することも可能である。ステップS55において、ラジオシティ描画を行わない場合またはステップS56によりラジオシティ関する処理が終了した場合、処理を継続するか否かを確認し(ステップS57)、未処理のラジオシティマップが残っていて、処理を継続する場合は、発光ラジオシティマップを変更して、ステップS53に戻る。すべてのラジオシティマップについて処理が完了し、ステップS57で処理を継続しないと判定された場合は、マップ格納部81のラジオシティマップを削除して処理を終了する。
【0146】
図18に、割付情報格納部83に格納されるラジオシティマップのマップ割付情報の構成を示す。
マップ割付情報は、マップ更新部8Bの数だけエントリが存在する。各エントリには、ラジオシティマップ領域の空きサイズ、割り付けられたラジオシティマップ数、割り付けられたラジオシティマップ数分のラジオシティマップID、割付タイプ、割付状態、および処理済みフラグが含まれる。
【0147】
マップ割付部82の処理は、次のようにして行われる。
(1) 処理が開始されると、予めラジオシティマップをサイズの大きい順にソートする。ラジオシティマップをサイズの大きい順にソートするのは、各ラジオシティ更新部に割り付けられたラジオシティマップのサイズを均等にし易くするためである。
【0148】
(2) マップ割付情報を初期化する。マップ割付情報の初期化は、マップ領域の空きサイズに、マップ領域の全体サイズを対応させるとともにラジオシティマップ数をゼロとする。
【0149】
(3) ソートされた順序に従って、各ラジオシティマップについて、以下の処理を行って処理を終了する。
(3−1) マップ更新情報におけるラジオシティマップ領域の空きサイズが最も大きなマップ更新部を探す。
【0150】
(3−2) ラジオシティマップのサイズがラジオシティマップ領域の空きサイズ以下であるか否かチェックする。
(3−2−1) ラジオシティマップのサイズがラジオシティマップ領域の空きサイズ以下ならば、ラジオシティマップを常駐型としてマップ更新部8Bに割り付ける。
【0151】
このとき、ラジオシティマップ領域の空きサイズは、割り付けたラジオシティマップのサイズを減じ、ラジオシティマップ数はインクリメントし、マップIDは、割り付けたラジオシティマップのマップIDとし、割付タイプは常駐型とし、そして割付状態は非常駐とする。
【0152】
(3−2−2) ラジオシティマップのサイズがラジオシティマップ領域の空きサイズ以下でなければ、ラジオシティマップを非常駐型としてマップ更新部8Bに割り付ける。
【0153】
このとき、ラジオシティマップ領域の空きサイズは、割り付けたラジオシティマップのサイズを減じ、ラジオシティマップ数はインクリメントし、マップIDは、割り付けたラジオシティマップのマップIDとし、割付タイプは非常駐型とし、そして割付状態は非常駐とする。
【0154】
また、マップ更新制御部86の処理は、次のようにして行われる。
(1) 処理が開始されると、まず、発光体情報および半立方体情報を全てのマップ更新部8Bに書き込む。
【0155】
(2) ラジオシティマップの割付情報における処理済みフラグを全てゼロにする。
(3) 処理すべきマップ更新部8Bの数nを初期化する。すなわち、処理すべきマップ更新部8Bの数nにマップ更新部8Bの数を設定する。
【0156】
(4) 各マップ更新部8Bに対して、次の処理を行う。すなわち、処理するマップ更新部8Bを順次変更しながら、処理すべきマップ更新部8Bの数nがゼロになるまで次の処理を繰り返す。
【0157】
(4−1) マップ更新部8Bに未処理のラジオシティマップがあるか否か、すなわち処理済みフラグが“0”のラジオシティマップがあるか否かをチェックする。
【0158】
(4−1−1) マップ更新部8Bに未処理のラジオシティマップがある、すなわち処理済みフラグが“0”のラジオシティマップがあるならば、マップ更新部8Bがラジオシティ更新の処理中でないか否かをチェックする。
【0159】
(4−1−1−1) マップ更新部8Bがラジオシティ更新の処理中でなければ、ラジオシティマップの割付タイプが常駐型か否かをチェックする。
(4−1−1−1−1−1) ラジオシティマップの割付タイプが常駐型ならば、ラジオシティマップの割付状態が非常駐か否かをチェックする。
【0160】
(4−1−1−1−1−1−1) ラジオシティマップの割付状態が非常駐ならば、ラジオシティマップをマップ更新部8Bに書き込む。
(4−1−1−1−1−1−2) ラジオシティマップの割付状態を常駐に変更する。
【0161】
(4−1−1−1−1−2) ラジオシティマップの割付状態が常駐ならば、マップ更新部8Bにラジオシティマップの更新処理を開始させる。
(4−1−1−1−2−1) ラジオシティマップの割付タイプが非常駐型ならば、マップ更新部8Bに割り付けられている最後のラジオシティマップをマップ制御部8Aのマップ格納部81に書き戻し、割付状態を非常駐に変更する。
【0162】
(4−1−1−1−2−2) マップ更新部8Bの空いている領域に処理すべきラジオシティマップを書き込む。
(4−1−1−1−2−3) マップ更新部8Bに、ラジオシティマップの更新処理を開始させる。
【0163】
(4−1−1−1−2−4) マップ更新部8Bの処理が終了するのを待つ。
(4−1−1−1−2−5) 処理したラジオシティマップをマップ制御部8Aのマップ格納部81に書き戻す。
【0164】
(4−1−1−2) ラジオシティマップ割付情報の処理済みフラグを“1”にする。
(4−1−2) マップ更新部8Bに未処理のラジオシティマップがない、すなわち処理済みフラグが“0”のラジオシティマップがないならば、処理すべきマップ更新部8Bの数nを“−1”すなわち“1”デクリメントして、次のマップ更新部8Bを処理する。
【0165】
(5) 全てのマップ更新部8Bの処理が終了するのを待って処理を終了する。
上述のように図16の描画システムには、次のような特徴がある。
一旦マップ更新部8Bに格納されたラジオシティマップは、マップ制御部8Aでラジオシティマップを参照する必要がない間、マップ更新部8Bに常駐させておく。ラジオシティによる描画を行うとき等のように、マップ制御部8Aでラジオシティマップを参照するときは、ラジオシティマップをマップ更新部8Bからマップ制御部8Aに書き戻す処理が行われる。したがって、ラジオシティ更新を繰り返す間、マップ更新部8Bのラジオシティマップが更新され、ラジオシティ更新毎のラジオシティマップの格納および書き戻し処理の時間を削減することができる。
【0166】
ラジオシティマップの数がマップ更新部の数よりも大きい場合、1つのマップ更新部8Bに更新情報格納部39の容量の許すかぎり、複数のラジオシティマップを割り付ける。この場合、ラジオシティ更新処理において、マップ更新部8Bは、それぞれのラジオシティマップについて更新処理を実行する。
【0167】
1つのマップ更新部8Bに複数のラジオシティマップを割り付ける場合において、全てのマップ更新部8Bの更新情報格納部89の領域に空きがなくなって、割り付けることができないラジオシティマップが存在するとき、これらのラジオシティマップを「非常駐型」とする。ラジオシティ更新処理の際、「非常駐型」のラジオシティマップを更新するときは、割り付けられている全てのラジオシティマップの処理が完了したマップ更新部に対して、1つのラジオシティマップをマップ制御部に書き戻し、空いた領域に「非常駐型」のラジオシティマップを格納して処理を実行する。
【0168】
1つのマップ更新部8Bに複数のラジオシティマップを割り付ける場合において、各マップ更新部8Bに割り付けられたラジオシティマップのサイズ(すなわちラジオシティマップの縦横の解像度の積)の合計が均等になるように割り付けを行う。マップ更新部8Bの処理時間は、ラジオシティマップのサイズに比例して大きくなる性質を有している。各マップ更新部8Bの割り付けられたラジオシティマップのサイズの合計を均等にすることで、全てのラジオシティマップが更新されるのに要する処理時間を最短にすることができる。
【0169】
〔実施の形態6〕
図19は、本発明の第6の実施の形態による描画システムの主要部の構成を示している。図19に示す描画システムは、図1に示したマップ参照描画部5または図14に示したマップ参照描画部5Aに代えて、マップ参照描画部5Bを備えていることを特徴としている。図19に示すマップ参照描画部5Bは、描画制御部91および複数の図形描画部92を備えている。
【0170】
描画制御部91は、表裏判定部101、図形分割処理部102、三角形ストリップ設定部103およびラジオシティ計算処理部104を備えている。さらに、図形分割処理部102は分割数算出部105を有し、ラジオシティ計算処理部104はラジオシティ補間処理部106を有している。
【0171】
描画制御部91には、図形データとして頂点座標値および頂点st値が与えられ、該描画制御部91は、マップ格納部1を参照して、マップの向きを示すマップ法線、マップの位置、マップの解像度およびラジオシティ等の情報を得る。
【0172】
ディスプレイ6Aは、図16の場合と同様、イメージバッファを備えていてもよい。
まず、描画制御部91について説明する。
【0173】
表裏判定部101は、ラジオシティマップの表裏関係を判定し、ラジオシティマップが現在設定されている視点において可視か不可視かを判別して、可視対象、すなわち現在の視点から見える対象か否かを判定する。ラジオシティマップとして、対応する各面毎に該当面の表側および裏側のラジオシティマップ、すなわち一方の面のラジオシティマップと他方の面のラジオシティマップとが形成され、視点から見える表側のか視点から見えない(処理する必要がない)裏側かを表裏判定部101で判定する。
【0174】
図形分割処理部102は、表裏判定部101で可視であると判定された図形データを、その時点で設定されているラジオシティマップの解像度で分割する。この分割数は、ラジオシティマップの解像度に基づいて分割数算出部105で算定される。分割数算出部105は、図形がラジオシティマップ上でマップ解像度と同等になるように分割数を求める。
【0175】
三角形ストリップ設定部103は、分割された図形について、三角形ストリップを形成する。ラジオシティ計算処理部104は、三角形ストリップ設定部103で形成された三角形ストリップの各頂点についてラジオシティ計算を行う。図形の頂点に対応するラジオシティ値は、ラジオシティマップ上に設定されており、各図形の頂点座標から算出される。しかしながら、分割した頂点は整数にならない場合があるのに対して、ラジオシティマップは整数単位で設定されている。図形の頂点が整数値でない場合、ラジオシティ値はラジオシティマップの最近傍点から算出することになるが、これでは正確なラジオシティ値が得られない。そのため、ラジオシティ補間処理部106でラジオシティ値の補間処理を行う。
【0176】
複数の図形描画部92は、こうして分割した図形の頂点にラジオシティ値を割り付けて、その図形をグーロー(Gouraud)シェーディングによりラジオシティ描画を行う。図形描画部92は、描画制御部91から分割された三角形ストリップデータ毎に送出される図形データを並列に描画処理し、高速にラジオシティ描画を行う。
【0177】
次に、図19のように構成された描画システムの動作を図20を参照して説明する。
描画制御部91で処理される図形データに対応するラジオシティマップが、ラジオシティ描画の対象とすべきか否かが表裏判定部101で判定される(ステップS61)。ここでは、世界座標系WC上に設定されているラジオシティマップの法線ベクトルを正規化投影座標系NPC上に変換する。ここで、現在設定されている視点と比較し、可視か不可視かを判定する。この判定を行うことにより、不要なラジオシティ処理を削減することができる。判定の結果、ラジオシティマップが可視対象でない場合は、処理を終了し(ラジオシティ描画は行われない)、ラジオシティマップが可視対象ならば次の処理を行う。
【0178】
図形分割処理部102で、分割数算出部105で求められる分割数に基づいて、図形データを、設定されているラジオシティマップの解像度で分割する処理を行う(ステップS62およびS63)。
【0179】
分割する図形の頂点毎の頂点データは、図21に示すようなデータ形式の情報を持つ。すなわち、図形の頂点データは図形の頂点座標、描画時の図形の色、および図形の頂点に対応するラジオシティマップのst値を有する。ラジオシティマップは、2次元の画像データとして、ラジオシティマップの解像度に応じたサイズに構成されており、ラジオシティマップの各画素には図形に対応するラジオシティ値が設定されている。図形データには、各頂点に頂点st値が設定されており、該頂点st値はラジオシティマップ上の画素の位置に対応している。図22に示すように、st値は、ラジオシティマップ上で、SおよびTの各座標について0.0〜1.0であらわされる。また、一つのラジオシティマップには、図22のように複数の図形を割り付けることも可能である。
【0180】
図23を参照して、図形の分割方法を具体的に説明する。分割数算出部105は、図形がラジオシティマップ上でマップ解像度と同等になるように分割数を求める(ステップS62)。すなわち、まず、図形の分割数をマップの解像度と図形の頂点にあるラジオシティマップのst値に基づいて求める。そして、この分割数の逆数が図形の分割率となり、この分割率は、頂点と頂点との間を分割する計算で用いられる。
【0181】
次に、例えば、図形が三角形である場合(図23のA)、図形の第1頂点と第2頂点、第1頂点と第3頂点、および第2頂点と第3頂点のそれぞれの間のエッジについて、先に求めた分割率を乗算することによって頂点間のエッ上ジの分割頂点が求められる(図23のB)(ステップS63)。これらの分割頂点を用いて元の図形データを分割し(図23のC)、三角形ストリップが形成される(図23のD)。このような、分割に基づく三角形ストリップの設定は、三角形ストリップ設定部103で行われる。
【0182】
分割された三角形ストリップ(図24のA)の各頂点について、ラジオシティ計算処理部104でラジオシティ計算が行われる。図形の頂点に対応するラジオシティ値は、ラジオシティマップ上に設定されていて、頂点座標x,yから求められる(ステップS64)。しかしながら、分割した頂点は、分割数によっては逆数が整数にならない場合があるのに対し、ラジオシティマップは整数単位で設定されている。そのため、図形の頂点が整数値でない場合、ラジオシティ値はラジオシティマップの最近傍点から算出してしまい、これでは正確なラジオシティ値が得られず、ラジオシティ描画の品質にも影響が出る。そのため、補間処理の必要があるか否かを判定し(ステップS65)、必要な場合は、ラジオシティ値の補間処理を行う必要が生じる。
【0183】
ラジオシティの補間は、ラジオシティ計算処理部104内のラジオシティ補間処理部106で行われる。まず頂点のst値にマップの解像度を乗算した値を整数値にする。これが図形の頂点のラジオシティマップ上にあるラジオシティ値の位置となる(図24のB)。この時、頂点座標に小数点以下の数値があった場合に、ラジオシティ補間処理部106によるラジオシティの補間処理が必要となる。X方向について小数点以下の値がある場合、整数値から求めたラジオシティ値と次のラジオシティ値との2点の間を小数点値で補間することによってX方向の正確なラジオシティ値が求められる(図24のCおよびD)。さらに、X方向で求められたラジオシティと、そこからY方向にある次のラジオシティ値をX方向の場合と同様にして補間処理を行えば、実際の頂点に対応する正しいラジオシティ値が算出される(図24のE)(ステップS66)。また、図形の頂点が最初から整数値にある場合は、小数点以下の端数値による補間処理は不要となる。
【0184】
補間処理で求められた正確な頂点のラジオシティ値を、数3で図形の頂点に反映させることによって、その図形の色にラジオシティが反映されることになる(ステップS67)。
【0185】
【数3】
図形の頂点色R成分=(ラジオシティ値R成分+周囲項R成分)×図形の頂点色R成分
図形の頂点色G成分=(ラジオシティ値G成分+周囲項G成分)×図形の頂点色G成分
図形の頂点色R成分=(ラジオシティ値B成分+周囲項B成分)×図形の頂点色B成分
ラジオシティ描画では面相互の光のエネルギの放射と反射から面の輝度を計算して、ラジオシティ値を更新し、これを繰り返すことで写実的な描画を実現するが、ラジオシティ更新が初期の段階では光のエネルギの値が弱いため、この段階で表示させると輝度が低く、暗いものになってしまう。それを補うために周囲の光を近似させて表示させるために周囲項を用いている。よって、ラジオシティ更新を繰り返していくと、光のエネルギーが面に反映されていくので、ラジオシティ更新を繰り返すにつれて周囲項は徐々に減らしていく。
【0186】
こうして分割した図形の頂点にラジオシティ値を割り付けて、その図形をグーローシェーディングとして描画処理することによって、ラジオシティ描画を行うことができる。
【0187】
ラジオシティ描画を行うために、描画制御部91から複数の図形描画処理部92へ図形データを送出する(ステップS68)。複数の図形描画処理部92に対し、分割した三角形ストリップデータ毎に、図形データを各図形描画処理部92に送出するようにすれば、描画処理を並列に行うことができ、高速なラジオシティ描画を達成することができる。
【0188】
図形描画部92は、ラジオシティの描画処理を並列処理で行い、描画結果をディスプレイ6Aに供給して表示させる。
上述のように、図14の描画システムによれば、ラジオシティマップによるラジオシティ描画に際し、複数の分割図形に対する図形描画処理を並列に行えることにより、処理時間を削減することができ、ラジオシティ描画の性能向上に寄与する。
【0189】
【発明の効果】
以上説明したように、本発明によれば、複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法および装置において、前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における2次元座標上の前記各多角形の位置情報として、前記各多角形上の1以上の点の前記2次元座標上の位置を示す情報を設定し、前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成するとともに、前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するので、ラジオシティの計算結果の品質を向上するとともに、ラジオシティ計算の処理時間およびメモリ容量を低減し得るラジオシティ法を用いる描画方法および装置を提供することができる。
【0190】
さらに、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティマップの情報を更新するための複数個のマップ更新部を用意し、複数のラジオシティマップを選択的に前記複数のマップ更新部に割り付け、該ラジオシティマップを前記複数のマップ更新部で並列的に更新処理するようにすれば、ラジオシティマップを効率よく更新して、前記ラジオシティマップを形成することができる。
【0191】
さらにまた、本発明のラジオシティ法を用いる描画方法および装置では、前記ラジオシティ画像を描画するための複数個の図形描画部を用意し、前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画部において並列に図形を描画形成するようにすれば、前記ラジオシティマップを参照してラジオシティ画像を効率よく描画することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態による描画システムの構成を示すブロック図である。
【図2】図1のシステムのIDバッファ作成部の構成を示すブロック図である。
【図3】図1のシステムのマップ更新部の構成を示すブロック図である。
【図4】図1のシステムのマップ参照描画部の構成を示すブロック図である。
【図5】図1のシステムの動作を説明するためのフローチャートである。
【図6】1つの面が分割された多角形を示す図である。
【図7】複数の面が分割された多角形を示す図である。
【図8】本発明の第2の実施の形態による描画システムの構成を示すブロック図である。
【図9】図8のシステムの情報設定部の構成を示すブロック図である。
【図10】図8のシステムの動作を説明するためのフローチャートである。
【図11】面のグループ化を示す図である。
【図12】本発明の第3の実施の形態による描画システムの要部の構成を示すブロック図である。
【図13】図12のシステムの動作を説明するためのフローチャートである。
【図14】本発明の第4の実施の形態による描画システムの要部の構成を示すブロック図である。
【図15】図14のシステムの動作を説明するためのフローチャートである。
【図16】本発明の第5の実施の形態による描画システムの要部の構成を示すブロック図である。
【図17】図16のシステムの動作を説明するためのフローチャートである。
【図18】図16のシステムのラジオシティマップ割付情報の内容を説明するための模式図である。
【図19】本発明の第6の実施の形態による描画システムの要部の構成を示すブロック図である。
【図20】図19のシステムの動作を説明するためのフローチャートである。
【図21】図19のシステムの図形分割用頂点データの内容を説明するための模式図である。
【図22】図19のシステムのラジオシティマップを説明するための模式図である。
【図23】図19のシステムの図形分割を説明するための模式図である。
【図24】図19のシステムのラジオシティ補間処理を説明するための模式図である。
【図25】ラジオシティ法を説明するための模式図である。
【図26】形状の表現方法の多様さを説明するための模式図である。
【符号の説明】
1,81…マップ格納部
2…IDバッファ作成部
3…IDバッファ
4…マップ更新部
5,5A,5B…マップ参照描画部
6…イメージバッファ
7…情報設定部
8…マップ処理部
8A…マップ制御部
8B…マップ更新部
11…発光ラジオシティマップ
12…受光ラジオシティマップ
21…発光マップ選択部
22…変換行列算出部
23…座標変換部
24,52,55…画素展開部
41…受光マップ選択部
42…フォームファクタ算出部
43…ラジオシティ変化量算出部
44…変換行列算出部
45…画素st値算出部
51…座標変換部
53…マップ参照部
54…多角形分割部
71…面積計算部
72…多角形ソート部
73…ID設定部
74…マップ位置方向算出部
75…st値設定部
82…マップ割付部
83…割付情報格納部
84…発光体情報算出部
85…半立方体情報算出部
86…マップ更新制御部
87…マップ管理部
88…更新処理部
89…更新情報格納部
91…描画制御部
92…図形描画部
101…表裏判定部
102…図形分割処理部
103…三角形ストリップ設定部
104…ラジオシティ計算処理部
105…分割数算出部
106…ラジオシティ補間処理部

Claims (32)

  1. 複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画方法において、
    前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における2次元座標上の前記各多角形の位置情報として、前記各多角形上の点の前記2次元座標上の位置を示す情報を設定する位置情報設定ステップと、
    前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理ステップと、
    前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画ステップと
    を有することを特徴とするラジオシティ法を用いる描画方法。
  2. 前記位置情報設定ステップは、前記位置情報として、前記2次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定することを特徴とする請求項1に記載のラジオシティ法を用いる描画方法。
  3. 前記位置情報設定ステップは、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定ステップを含み、且つ
    前記マップ参照描画ステップは、前記識別子設定ステップで設定された識別子に対応する前記ラジオシティマップを選択するマップ選択ステップを含む
    ことを特徴とする請求項1に記載のラジオシティ法を用いる描画方法。
  4. 前記位置情報設定ステップは、
    前記複数の多角形の各々の面積を算出する面積計算ステップと、
    前記面積計算ステップの計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソートステップと、
    前記多角形ソートステップでソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い2以上の多角形を同一の識別子にグループ化する識別子設定ステップと、
    前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出ステップと、
    前記マップ情報算出ステップで算出されたラジオシティマップの位置、方向およびサイズに基づいて各多角形の頂点のマップ座標値を求めるマップ座標値設定ステップと
    を含む請求項1に記載のラジオシティ法を用いる描画方法。
  5. 前記マップ処理ステップは、
    1以上の発光ラジオシティマップおよび1以上の受光ラジオシティマップを含む複数のラジオシティマップを定義するマップ定義ステップと、
    前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記発光ラジオシティマップを視点とする2次元画面の画素毎の前記受光ラジオシティマップを識別するマップ識別子による識別子バッファを構成する各画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成ステップと、
    前記バッファデータ生成ステップで生成された各画素毎のマップ識別子を格納して前記識別子バッファを形成する識別子バッファ形成ステップと、
    前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新ステップと
    を含むことを特徴とする請求項3に記載のラジオシティ法を用いる描画方法。
  6. 前記バッファデータ生成ステップは、
    前記発光ラジオシティマップの1つを選択する発光ラジオシティマップ選択ステップと、
    前記発光ラジオシティマップ選択ステップで選択された1つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の2次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出ステップと、
    前記変換行列算出ステップで算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換ステップと、
    各多角形の頂点のマップ座標値および前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開ステップと
    を含むことを特徴とする請求項5に記載のラジオシティ法を用いる描画方法。
  7. 前記マップ更新ステップは、
    前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択ステップと、
    前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出ステップと、
    前記フォームファクタ算出ステップで求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出ステップと
    を含むことを特徴とする請求項5のラジオシティ法を用いる描画方法。
  8. 前記マップ処理ステップは、
    複数のラジオシティマップを選択的に複数のマップ更新部に割り付けて、該マップ更新部に転送するマップ制御ステップと、
    前記マップ制御ステップで割り付けられた複数のラジオシティマップを前記マップ更新部で並列的に更新処理する並列更新ステップと
    を含むことを特徴とする請求項1に記載のラジオシティ法を用いる描画方法。
  9. 前記マップ制御ステップは、
    複数のマップ更新部に割り付けたラジオシティマップを該マップ更新部に常駐させる常駐割付ステップと、
    前記マップ参照描画ステップで当該ラジオシティマップを参照する際に更新結果をラジオシティマップに書き戻す書き戻しステップと
    を含むことを特徴とする請求項8に記載のラジオシティ法を用いる描画方法。
  10. 前記マップ参照描画ステップは、
    前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、複数の図形描画部に供給する描画制御ステップと、
    前記描画制御ステップで供給される前記複数の図形のラジオシティ値を用いて、前記複数の図形描画部において並列に図形を描画形成する図形描画ステップとを含むことを特徴とする請求項1に記載のラジオシティ法を用いる描画方法。
  11. 前記描画制御ステップは、
    前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割ステップと、
    前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出ステップと
    を含むことを特徴とする請求項10に記載のラジオシティ法を用いる描画方法。
  12. 前記マップ処理ステップは、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成し、且つ前記描画制御ステップは、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるべく、前記ラジオシティマップの表裏判定を行う表裏判定ステップをさらに含むことを特徴とする請求項11に記載のラジオシティ法を用いる描画方法。
  13. 前記ラジオシティ値算出ステップは、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるべく、補間処理により前記ラジオシティ値を求める補間処理ステップさらにを含むことを特徴とする請求項11に記載のラジオシティ法を用いる描画方法。
  14. 複数の面の相互間で光エネルギのやりとりを所定回数繰り返すことにより各面の光エネルギの強度を示すラジオシティが収束する値を求め、該複数の面のラジオシティに輝度を対応させてラジオシティ画像を形成する描画装置において、
    前記複数の面の各々をそれぞれ複数の多角形に分割して定義し、且つ前記各面における2次元座標上の前記各多角形の位置情報として、前記各多角形上の1以上の点の前記2次元座標上の位置を示す情報を設定する位置情報設定手段と、
    前記複数の面について、それぞれ、前記各多角形の位置情報と当該位置における前記ラジオシティに相当する画素値との対応関係を示す複数のラジオシティマップを形成する処理を行うマップ処理手段と、
    前記マップ処理手段で処理された複数のラジオシティマップを格納するマップ格納手段と、
    前記複数のラジオシティマップを参照し、前記各面に対応するラジオシティマップから前記各位置情報に対応する前記画素値を読み出してラジオシティ画像を描画するマップ参照描画手段と
    を具備することを特徴とするラジオシティ法を用いる描画装置。
  15. 前記位置情報設定手段は、前記位置情報として、前記2次元座標上における前記各多角形の各頂点に対応して前記ラジオシティマップの座標におけるマップ座標値を設定する手段であることを特徴とする請求項14に記載のラジオシティ法を用いる描画装置。
  16. 前記位置情報設定手段は、前記各面の各多角形毎に、その多角形が参照すべき前記ラジオシティマップを識別するための識別子を設定する識別子設定手段を含み、且つ
    前記マップ参照描画手段は、前記識別子設定手段によって設定された識別子に対応する前記ラジオシティマップを選択するマップ選択手段を含む
    ことを特徴とする請求項14に記載のラジオシティ法を用いる描画装置。
  17. 前記識別子設定手段は、前記複数の面のうちの1以上の面を示す複数の多角形に対して同一の識別子を設定する手段であることを特徴とする請求項16に記載のラジオシティ法を用いる描画装置。
  18. 前記識別子設定手段は、前記複数の面の各面の位置および前記各面の向きのうちの少なくとも一方の情報に基づいて、前記複数の面のうち1以上の面を構成する複数の多角形をグループ化し、該グループ化された複数の多角形に対して同一の識別子を設定する手段であることを特徴とする請求項17に記載のラジオシティ法を用いる描画装置。
  19. 前記位置情報設定手段は、
    前記複数の多角形の各々の面積を求める面積計算手段と、
    前記面積計算手段の計算結果を用いて前記複数の多角形を面積の大きさの順にソートする多角形ソート手段と、
    前記多角形ソート手段でソートされた順に、前記複数の多角形を逐次取り出して、面の方向および位置が近い2以上の多角形を同一の識別子にグループ化する識別子設定手段と、
    前記同一の識別子にグループ化された同一のラジオシティマップを参照すべき面の位置および面の方向の情報に基づいて、ラジオシティマップの位置、方向およびサイズを算出するマップ情報算出手段と、
    前記マップ情報算出手段で算出されたラジオシティマップの位置、方向およびサイズに基づき各多角形の頂点のマップ座標値を求めるマップ座標値設定手段とを含むことを特徴とする請求項14に記載のラジオシティ法を用いる描画装置。
  20. 前記マップ参照描画手段は、
    与えられた視野データに基づき第1の座標系の前記複数の多角形の各頂点の座標値をを第2の座標系に座標変換する座標変換手段と、
    前記座標変換手段で座標変換された前記第2の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開して各画素に対応する画素マップ座標値を求める画素展開手段と、
    前記画素展開手段で求められた各画素マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を抽出する画素値抽出手段と
    を含むことを特徴とする請求項15に記載のラジオシティ法を用いる描画装置。
  21. 前記マップ参照描画手段は、
    与えられた視野データに基づき第1の座標系の前記複数の多角形の各頂点の座標値を第2の座標系に座標変換する座標変換手段と、
    前記視野データと多角形の頂点に対応する頂点マップ座標値および頂点座標値とに基づいて、前記複数の多角形の各々をさらに複数の微小多角形に分割し、それら細分化された各微小多角形の頂点マップ座標値および頂点座標値を求める多角形分割手段と、
    前記多角形分割手段で算出された各頂点マップ座標値について、前記ラジオシティマップから前記各画素マップ座標値に対応する前記画素値を読み出す画素値抽出手段と、
    前記座標変換手段で座標変換された第2の座標系の各頂点の座標値に基づいて、前記複数の多角形を画素に展開するとともに、前記画素値抽出手段で読み出された画素値に基づいて、展開された各画素に対応する輝度値を求める画素展開手段と
    を含むことを特徴とする請求項15に記載のラジオシティ法を用いる描画装置。
  22. 前記マップ処理手段は、
    前記複数のラジオシティマップを、1以上の発光ラジオシティマップおよび1以上の受光ラジオシティマップとして定義するマップ定義手段と、
    前記発光ラジオシティマップを視点とする2次元画面の画素毎に前記受光ラジオシティマップを識別する画素毎のマップ識別子を格納する識別子バッファと、
    前記各多角形の頂点座標値および頂点マップ座標値と前記多角形が参照すべき前記ラジオシティマップの識別子とに基づき、前記識別子バッファに格納すべき前記画素毎のマップ識別子を含む識別子バッファデータを生成するバッファデータ生成手段と、
    前記識別子バッファに格納された各画素毎のマップ識別子に基づき、前記発光ラジオシティマップのラジオシティ情報によって、前記各受光ラジオシティマップのデータを更新するマップ更新手段と
    をさらに含むことを特徴とする請求項16に記載のラジオシティ法を用いる描画装置。
  23. 前記識別子バッファデータ生成手段は、
    前記発光ラジオシティマップの1つを選択する発光ラジオシティマップ選択手段と、
    前記発光ラジオシティマップ選択手段により選択された1つの発光ラジオシティマップの位置を中心として複数の視野を構築する複数の2次元画面を設定し、それら複数の視野への変換行列を求める変換行列算出手段と、
    前記変換行列算出手段によって算出された変換行列を用いて各多角形の頂点座標値を座標変換する座標変換手段と、
    各多角形の頂点のマップ座標値、前記座標変換された頂点座標値に基づき各多角形を画素に展開する画素展開手段と
    を含むことを特徴とする請求項22に記載のラジオシティ法を用いる描画装置。
  24. 前記マップ更新手段は、
    前記識別子バッファに記憶された各画素識別子を読み出して、その画素識別子に対応する受光ラジオシティマップを選択する受光マップ選択手段と、
    前記画素識別子に対応する位置に応じて、前記発光ラジオシティマップに対応する面から前記受光ラジオシティマップに対応する面へのラジオシティの到達率をあらわすフォームファクタを求めるフォームファクタ算出手段と、
    前記フォームファクタ算出手段で求められたフォームファクタに前記発光ラジオシティマップに格納された画素値を乗算することにより、前記画素識別子に対応する受光ラジオシティマップにおけるラジオシティの変化量を得るラジオシティ変化量算出手段と
    を含むことを特徴とする請求項22に記載のラジオシティ法を用いる描画装置。
  25. 前記マップ更新手段は、
    前記発光ラジオシティマップの位置情報と前記受光ラジオシティマップの位置情報とに基づいて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換するための変換行列を求める変換行列算出手段と、
    前記変換行列算出手段で求められた変換行列を用いて、前記識別子バッファの画素位置を前記受光ラジオシティマップの画素マップ座標値に変換する画素マップ座標値算出手段と
    をさらに含むことを特徴とする請求項24に記載のラジオシティ法を用いる描画装置。
  26. 前記マップ処理手段は、
    それぞれ前記ラジオシティマップを更新処理する並列的な複数のマップ更新手段と、
    前記複数のマップ更新手段に、複数のラジオシティマップを選択的に且つ並列的に割り付けて供給するマップ制御手段と、
    を含むことを特徴とする請求項14に記載のラジオシティ法を用いる描画装置。
  27. 前記複数のマップ更新手段は、
    それぞれ更新処理のためにラジオシティマップを保持するマップ保持手段を含み、且つ
    前記マップ制御手段は、
    前記複数のマップ更新手段に割り付けたラジオシティマップを該マップ更新手段のマップ保持手段に常駐させる常駐割付手段と、
    前記マップ参照描画手段で当該ラジオシティマップを参照する際に更新結果を前記マップ格納手段に書き戻す書き戻し手段と
    を含むことを特徴とする請求項26に記載のラジオシティ法を用いる描画装置。
  28. 前記マップ制御手段は、前記マップ更新手段に空きがない場合、更新処理済みの前記マップ更新手段に常駐している少なくとも1つのラジオシティマップの更新結果を前記マップ格納手段に書き戻し、該マップ更新手段に新たなラジオシティマップを割り付ける手段であることを特徴とする請求項27に記載のラジオシティ法を用いる描画装置。
  29. 前記マップ参照描画手段は、
    それぞれラジオシティ値を用いて図形を描画形成する並列的な複数の図形描画手段と、
    前記複数の面の各々に対応する図形をそれぞれ複数の図形に分割し、且つ前記ラジオシティマップを参照して該複数の図形の座標情報に対応するラジオシティ値を求めて、前記複数の図形描画手段に並列的に供給する描画制御手段と
    を含むことを特徴とする請求項14に記載のラジオシティ法を用いる描画装置。
  30. 前記描画制御手段は、
    前記複数の面の各々に対応する図形を複数に分割してそれら複数の図形の座標情報を得る図形分割手段と、
    前記ラジオシティマップに基づいて前記複数の図形の座標情報に対応するラジオシティ値を求めるラジオシティ値算出手段と
    を含むことを特徴とする請求項29に記載のラジオシティ法を用いる描画装置。
  31. 前記マップ処理手段は、前記複数の面の各面の表裏のラジオシティマップを含む複数のラジオシティマップを形成する手段であり、且つ前記描画制御手段は、与えられた視野におけるラジオシティマップの表裏関係により裏面の図形描画に対応するラジオシティマップの処理をスキップさせるため、前記ラジオシティマップの表裏判定を行う表裏判定手段をさらに含むことを特徴とする請求項30に記載のラジオシティ法を用いる描画装置。
  32. 前記ラジオシティ値算出手段は、前記図形と前記ラジオシティマップとの対応関係の精度を向上させるため、補間処理により前記ラジオシティ値を求める補間処理手段をさらに含むことを特徴とする請求項30に記載のラジオシティ法を用いる描画装置。
JP22433695A 1994-12-13 1995-08-31 ラジオシティ法を用いる描画方法および装置 Expired - Fee Related JP3554616B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22433695A JP3554616B2 (ja) 1994-12-13 1995-08-31 ラジオシティ法を用いる描画方法および装置
US08/548,168 US5734385A (en) 1994-12-13 1995-10-25 Drawing method and apparatus using radiosity algorithm

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30866194 1994-12-13
JP6-308661 1994-12-13
JP22433695A JP3554616B2 (ja) 1994-12-13 1995-08-31 ラジオシティ法を用いる描画方法および装置

Publications (2)

Publication Number Publication Date
JPH08221594A JPH08221594A (ja) 1996-08-30
JP3554616B2 true JP3554616B2 (ja) 2004-08-18

Family

ID=26525991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22433695A Expired - Fee Related JP3554616B2 (ja) 1994-12-13 1995-08-31 ラジオシティ法を用いる描画方法および装置

Country Status (2)

Country Link
US (1) US5734385A (ja)
JP (1) JP3554616B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19606357A1 (de) * 1996-02-12 1997-08-14 Gmd Gmbh Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
US6226005B1 (en) * 1997-01-31 2001-05-01 LAFERRIèRE ALAIN M Method and system for determining and/or using illumination maps in rendering images
US5949424A (en) * 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
FR2775813B1 (fr) * 1998-03-06 2000-06-02 Symah Vision Procede et dispositif de remplacement de panneaux cibles dans une sequence video
US6496597B1 (en) 1999-03-03 2002-12-17 Autodesk Canada Inc. Generating image data
US6411297B1 (en) 1999-03-03 2002-06-25 Discreet Logic Inc. Generating image data
US6487322B1 (en) 1999-03-03 2002-11-26 Autodesk Canada Inc. Generating image data
US6313842B1 (en) * 1999-03-03 2001-11-06 Discreet Logic Inc. Generating image data
US6366283B1 (en) * 1999-03-03 2002-04-02 Discreet Logic Inc. Generating image data
US6697062B1 (en) * 1999-08-06 2004-02-24 Microsoft Corporation Reflection space image based rendering
GB2371460B (en) * 2001-01-19 2004-12-22 Pixelfusion Ltd Computer graphics
WO2004047426A2 (en) * 2002-11-15 2004-06-03 Esc Entertainment, A California Corporation Reality-based light environment for digital imaging in motion pictures
US7265753B1 (en) * 2002-12-09 2007-09-04 Bentley Systems, Inc. Particle tracing with on-demand meshing
JP4493401B2 (ja) * 2004-05-21 2010-06-30 株式会社マイクロネット 3dコンピュータ図形表示システム及びプログラム
JP4779479B2 (ja) * 2005-07-15 2011-09-28 大日本印刷株式会社 物体の三次元形状データの削減装置および削減方法
EP2261859A1 (en) 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
CN102804230B (zh) * 2009-06-23 2016-09-07 汤姆森特许公司 使用重复图案压缩3d网格
EP2529356A1 (en) 2010-01-25 2012-12-05 Thomson Licensing Method for encoding normals of a 3d mesh model, method for decoding normals of a 3d mesh model, encoder and decoder
FR2965652A1 (fr) * 2010-09-30 2012-04-06 Thomson Licensing Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
US10290148B2 (en) 2011-04-14 2019-05-14 Suntracker Technologies Ltd. System and method for real time dynamic lighting simulation
US10289094B2 (en) 2011-04-14 2019-05-14 Suntracker Technologies Ltd. System and method for the optimization of radiance modelling and controls in predictive daylight harvesting
US9078299B2 (en) 2011-04-14 2015-07-07 Suntracker Technologies Ltd Predictive daylight harvesting system
JP6202118B2 (ja) * 2016-03-09 2017-09-27 日本電気株式会社 描画装置、描画方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928250A (en) * 1986-07-02 1990-05-22 Hewlett-Packard Company System for deriving radiation images
GB2223384B (en) * 1988-07-14 1992-05-06 Daikin Ind Ltd Method and apparatus for applying shadowing operation to figures to be drawn for displaying on crt-display
US5058042A (en) * 1989-04-03 1991-10-15 Hewlett-Packard Company Method for employing a hierarchical display list in global rendering
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps

Also Published As

Publication number Publication date
JPH08221594A (ja) 1996-08-30
US5734385A (en) 1998-03-31

Similar Documents

Publication Publication Date Title
JP3554616B2 (ja) ラジオシティ法を用いる描画方法および装置
JP2669599B2 (ja) 陰影描画方法及び3次元グラフィック・コンピュータ・システム
US6567083B1 (en) Method, system, and computer program product for providing illumination in computer graphics shading and animation
US6208997B1 (en) Rapid production of optimal-quality reduced-resolution representations of very large databases
JP7344267B2 (ja) 光マップを決定するための重要度サンプリング
US5566283A (en) Computer graphic image storage, conversion and generating apparatus
US6384833B1 (en) Method and parallelizing geometric processing in a graphics rendering pipeline
JP2001092989A (ja) 画像処理方法及びその装置
JPH06223198A (ja) 光線追跡による画像生成装置及び方法
US6999078B1 (en) Method of forming a perspective rendering from a voxel space
JPH06223201A (ja) 並列画像生成装置
CN113593027B (zh) 一种三维航电显控界面装置
US8928661B2 (en) Representing a field over a triangular mesh
US9811944B2 (en) Method for visualizing freeform surfaces by means of ray tracing
CN112017254B (zh) 一种混合式光线跟踪绘制方法及***
US20050088450A1 (en) Texture roaming via dimension elevation
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
de Berg Visualization of TINS
Vardis et al. DIRT: deferred image-based ray tracing.
JPH0729034A (ja) 影付け処理装置および画像生成装置
JP2952585B1 (ja) 画像生成方法
JP4493401B2 (ja) 3dコンピュータ図形表示システム及びプログラム
JPH0773342A (ja) 画像生成装置
Zhou Based on basic graphic principles compare PEXlib 5.2 and OpenGL 1.0

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees