JP4122379B2 - ラジオシティの並列処理方法及びその装置 - Google Patents
ラジオシティの並列処理方法及びその装置 Download PDFInfo
- Publication number
- JP4122379B2 JP4122379B2 JP2002151536A JP2002151536A JP4122379B2 JP 4122379 B2 JP4122379 B2 JP 4122379B2 JP 2002151536 A JP2002151536 A JP 2002151536A JP 2002151536 A JP2002151536 A JP 2002151536A JP 4122379 B2 JP4122379 B2 JP 4122379B2
- Authority
- JP
- Japan
- Prior art keywords
- patch
- node
- radiosity
- nodes
- parallel processing
- 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
Links
Images
Landscapes
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、ラジオシティの並列処理方法及びその装置に関し、さらに詳しくは、ラジオシティ3次元コンピュータ・グラフィックス処理の高速処理化を可能とするラジオシティの並列処理方法及びその装置に関する。
【0002】
【従来の技術】
BSデジタル放送では、HD(ハイビジョン)画像処理通信技術(放送技術)が中核技術となっており、高精細な実画像処理通信(放送)を実現している。一方、「実画像」に比べて、コンピュータ・グラフィックス(CG)の高画質化・リアルタイム処理化技術はあまり進んでいない。
【0003】
ネットワーク技術は、ギガビットレベルからテラレベルに数年内に移行するであろう。すなわち、次世代の通信では、HDを超える超高精細画像が、現在の放送のような無線だけではなく、広帯域のネットワークを用いてデータ通信されるであろう。このような次世代の超高精細画像データ通信では、実画像はもちろん、CGに関しても超高画質化かつリアルタイム処理伝送が強く求められるであろう。
【0004】
近年の工業製品のデザイン・設計は、CGなしでは考えられない。しかしながら、現在のCGシステムでは、画質(解像度)、処理速度等、まだまだいろんな点で不十分である。例えば、自動車設計の場合、CGモデルと、実物をスチルカメラで取った写真とを比較すると、前者の方がリアリティ、質感の点でまだまだかなり劣る。また、建築分野においては、高いリアリティを持つ光のシミュレーション機能を利用した、建築物等の景観シミュレーション、インテリアデザイン機能が強く望まれている。
【0005】
さらに、最近では、遠隔地間で3次元CGデータを伝送し、工業製品のデザイン・設計を行うことが増えているが、データ量が大きいためリアルタイムでこれを行うレベルにはまだ達していない。
【0006】
リアルな3次元CG空間を生成するには、光の物理的な振る舞いを計算機上でシミュレーションし、実写映像に迫るリアリティを追求することが必要不可欠である。このようなリアルな3次元CG空間を生成する技術であるラジオシティ法は、光の物理的な振る舞い(反射、拡散、写り込み、陰影 等)を計算機上の数理物理モデルを用いて計算し、間接光による光をシミュレーションすることにより、フォトリアリスティックな空間を生成する手法である。
【0007】
【発明が解決しようとする課題】
3次元CGのレンダリング手法の一つであるラジオシティ法は、伝熱工学を応用した大域照明モデルによる画像生成手法であり、室内照明の高品位CGを生成する際などによく用いられている方法である。ラジオシティ法では、光源からの直接光だけでなく物体間の相互拡散反射も考慮に入れて画像を計算するため、線光源・面光源が作る不均一な影や、間接照明が多い室内などの表現に適し、非常に現実感の高い画像を生成できるのが特徴である。しかし、ラジオシティ法では、フォームファクタを求めるのに計算時間の大部分を占めている。フォームファクタ計算の並列化による高速化が重要である。
【0008】
本発明が解決しようとする課題は、ラジオシティ法を用いてシミュレーションする際に、処理中の通信データ量を少なくし、効率の良い負荷分散を実現することができるラジオシティの並列処理方法及びその装置を提供することにある。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るラジオシティの並列処理方法は、ホストがシーン中の物体モデルの表面をパッチとして定義する工程と、前記ホストが前記シーン中の形状モデルを複数のノードを有するプロセッサの全ての前記ノードに伝送する工程と、前記ホストが前記定義されたパッチを複数のノードを有するプロセッサの前記各ノードに割り当てる工程と、前記ホストが前記各ノードに既に割り当てられた前記パッチの総面積の大小関係を判断する工程と、前記ホストが既に割り当てられた前記パッチの総面積が最小であるノードに次のパッチを割り当てる工程と、を備えるとともに、前記各工程の後に各ノードが伝送された前記シーン中の物体モデルに基づいて割り当てられた前記パッチのフォームファクタ計算を行う工程とをさらに備えていることを要旨とする。
【0010】
また、本発明に係るラジオシティの並列処理装置は、複数のノードを有するプロセッサと、前記複数のノードが並列処理を行うよりも前にシーン中の形状モデルの表面をパッチとして定義する手段と、前記複数のノードが並列処理を行うよりも前に前記各ノードに既に割り当てられた前記パッチの総面積の大小関係を判断する手段と、前記複数のノードが並列処理を行うよりも前に既に割り当てられた前記パッチの総面積が最小であるノードに次のパッチを割り当てる手段とを備えていることを要旨とする。
【0011】
本発明は、形状を構成する面をグループ化し、この面グループを各CPUに分配し並列処理する方法及び装置に関する。この並列処理手法の特徴は、CPU間のデータ通信量が少なくて済むことである。すなわち、各CPU間で通信されるのは、各面グループ(各CPU)において、受光面のエネルギー値が最大となる面データ(1面)のみである。
【0012】
本発明は、この演算量の均等化基準として、合計面積同一化基準を採用した。この基準は、各面グループに含まれる面の面積の総和が、他の面グループとできる限り同一となるように、面をグループ化する方法である。そのため、各CPUの演算量が均等化され、高い並列処理度を実現することができる。
【0013】
【発明の実施の形態】
以下に、本発明の一実施の形態について図面を参照しながら詳細に説明する。本発明では、負荷分散を考慮に入れたラジオシティ法の並列計算モデルを提案し、その特性を明らかにする。基本となるアルゴリズムは、フォームファクタの計算の際に物体を構成する形状の面(以下:パッチ)を均等に分散する方法を用いる。この方法は、各プロセッサ間の通信量がすくなくて良いため、PCクラスタ計算機システムのように通信速度が比較的遅い分散メモリ型の並列計算機で有効であると考えられる。
【0014】
ただし、単純に初期面を各プロセッサに分割したのでは、ラジオシティ計算のための細分割のメッシュ(以下:エレメント)の偏りが原因となり各プロセッサ間の処理時間に差が生じる。そのため、各プロセッサの処理時間を均等になるように割り当てる必要がある。このアルゴリズムを超並列計算機PC−クラスタに実装し、アルゴリズムの有効性と超並列計算上で実行する際の問題点について検討を行う。
【0015】
1. 超並列計算機PC−クラスタ
並列計算機では、CPUとメモリの位置関係によって、共有メモリ型と分散メモリ型に大別される。 共有メモリ型(図1)では、1つのメモリを中心として複数のプロセッサがこれにつながっている。 この型の利点は、プログラミング時にデータ分割を考慮に入れる必要がないため、自動並列化を容易に行うことができる点である。さらに、メモリ間通信が必要ないため、プロセッサ数が少ない場合は性能が高まるのも利点である。しかし、プロセッサ数が多くなると、他タスク・他ジョブとのメモリアクセス競合により通信が混み合い、性能が低下してしまうという欠点もある。
【0016】
分散メモリ型(図2)では、1つのメモリと1つのプロセッサを1つの節(ノード)として、このノードを相互結合網で複数接続している。 この型の利点は、他タスク・他ジョブとのメモリアクセス競合により通信が混み合うことがないため、全体的に性能が高まる点である。しかし、複数あるメモリの管理が難しい問題もある。
【0017】
ラジオシティ法の並列処理を行うために図3のような超並列計算機PC−クラスタに実装した。また,並列化ライブラリとしてMPICHを用いた。実装した超並列計算機PC−クラスタシステムの仕様を表1に示す。
【0018】
【表1】
【0019】
2. 面分配による並列処理
本発明ではパッチを分割し、それを各ノードに分散して並列化する手法を考案した。この手法ではデータ管理を行うホストとラジオシティ計算を行うノードによって並列に処理を行う。
【0020】
まず、ホストはシーンを構成している物体モデルの入力データを読み込みそれをパッチとしての部分領域に分割し、それによって出来た各部分領域のデータを作る。そして各部分領域のラジオシティ計算する担当ノードを決める。次に、各部分領域のラジオシティ計算に必要なデータを作成しそしてラジオシティ計算用データをそれぞれの決められたノードに送信する。データを送信した後はラジオシティ計算結果が戻って来るのを待つ。そしてすべての部分領域のラジオシティ計算結果を受信した後、ラジオシティの値を更新して、ラジオシティの値が収束しているかどうかを判定する。収束していれば計算は終了、していなければ各部分領域のラジオシティ計算を作成するところに戻り同じ計算を行う。
【0021】
一方、部分領域のラジオシティ計算を担当する各ノードはラジオシティ計算用データを受信して計算を行い、計算終了後、計算結果をホストとほかのノードに送信する。これを収束するまで繰り返し行う。 ラジオシティの処理には計算効率のよい漸進法を用いる。
【0022】
2.1 各プロセッサへのデータ配置処理
シーンデータの配置では、ポリゴンデータのコピーを全ノードに持たせ、パッチデータを各ノードに面積の均等化に分散させる。エレメントデータは、それを含むパッチデータが置かれるプロセッサが保持する。この方法では、全プロセッサがシーンへの描画に必要なポリゴンデータを保持するため、並列フォームファクタ計算の際に座標のデータをノード間で転送する必要なない。
【0023】
さらに、パッチデータとエレメントデータを各ノードに分散して配置し、各ノードは分散されたパッチ内の最大ラジオシティ値を持つパッチの検索や各エレメントのラジオシティ値の更新を、保持するノードに分散して行わせることで通信時間とメモリの節約できる。
【0024】
2.2 分散パッチの面積均等化
シーン中の形状モデルの表面を四角形と三角形のパッチとして定義し、このパッチを各ノードに割り当てる時、各々ノードのパッチの総面積が均等になるように各パッチを分散する。例えば、図4のようなシーンのパッチデータをノード数が3台で並列化する場合のプロセッサへの割り当て方法を考える。ただし、
(1) パッチAからKまで順に分散させることにする。
(2) この処理は全てホストプロセッサのみで処理を行う。
【0025】
ステップ1. 図5のように最初はデータ配列の順番にパッチを1つずつ各ノードへ割り当てる。
ステップ2. 次は各ノードに割り当てられたパッチの総面積の小さいものから次のパッチを割り当てていく(図6参照)。
以上処理を繰り返すと、大まかに図7の様な結果となるとする。
【0026】
この時点でどのパッチをどのノードに分散計算処理させるかが決定されるのでパッチの情報を保持するパッチデータの構造体に表2のように反映する。
【0027】
【表2】
【0028】
ここまでの処理が終わったら「data.rad」としてその他の全ての情報を含めてファイルに保持する。この「data.rad」ファイルをホストプロセッサから全てのノードプロセッサにブロードキャストする(図8参照)。以上から、各ノードは担当させたパッチのみについてラジオシティの計算処理を行えばよい。
【0029】
2.3 並列フォームファクタ計算
まず、最初はホストから最大の未放射エネルギーを持つパッチ、すなわち光源パッチ(以下、Shoot Patch)について各ノードにShoot Patchの情報をブロードキャストする。次に各ノードは受けとったShoot Patchの情報を基に担当のパッチのみフォームファクタ計算を行う。
【0030】
フォームファクタ計算処理後、各ノードで担当したパッチが保持しているエネルギーを求める。各ノードから「担当のパッチの総エネルギー:En」と「担当のパッチの最大エネルギー:Emaxn」をホストに送信する。ホストは受けとったEnを全て加算する事で「総エネルギー:Etotal」を求める(数1の式)。
【0031】
【数1】
Etotal=E1+E2+…+En
【0032】
ホストはEtotalからどれだけエネルギーが減衰したかがわかる。また、Emaxnを比較することにより最大未放射エネルギー値と次回のShoot Patchを担当させるかのノードのIDを取得する。例(図9)としてEmax3<Emax1<Emax2となると、ノード2が次回のShoot Patchを担当することになる。
【0033】
次にShoot Patchを担当しているノードはShoot Patchの情報を各ノードに送信する。Shoot Patchを担当していないノードはShoot Patchの情報を受信する。この作業を未放射エネルギーが閾値以下になるまで繰り返す。その結果得られたラジオシティ値をホストプロセッサに送信して、ホストプロセッサは各ノードプロセッサから送信されてきたデータをレンダリングし結果を表示させる。
【0034】
【実施例】
本実験ではCornelBox、TestModel01、TestModel02の3種類のデータを用いて、考案したラジオシティ法の並列処理の評価を行う。CornelBoxの場合、シーンデータが非常に単純なのである領域からラジオシティ処理時間よりもノード数が増えたために必要になる部分フォームファクタ送信時間の負荷のほうが大きくなってきて、ノード数が8台以上になると、全体の処理時間が遅くなっている(図10参照)。
【0035】
図11と図12より、シーンデータが複雑になるほど多くの放射回数が必要となるので、通信時間が占める割合が少ないため、ノード数にしたがって速度向上がよくなっていると考えられる。しかし、ノードが増えても線形的に、速度向上が見られないことがわかる。
【0036】
図13は全ノードの中の最短の処理時間Tminを、最長の処理時間Tmaxをとしたときの負荷均衡度を示している。負荷均衡が完全にとれていると1となり、不均衡になるにつれて値が小さくなる。本発明で用いた方法は、形状面(パッチ)を各ノードに分散させておき、各ノードが自分が担当する部分についてラジオシティ計算処理を行う。この際に、パッチの場所によって、細分化メッシュ(エレメント)の数に大きい偏りがあるため、図13のように各ノードごとの処理時間が不均衡になる。この問題を解決するために、本発明では、単純4分木分割で初期パッチを負荷分散に最適な大きさまで分割してから、ラジオシティの並列処理を行ってみた。図14はその結果を示す。
【0037】
形状面(パッチ)の面積を基準とする本手法で並列処理した結果、16台で約8.5倍の速度向上を得られた。しかし、負荷分散の問題によってノード数が増えても線形的な速度向上が得られなかった。
【0038】
以上の結果から、ラジオシティ法の並列計算をするために、パッチの面積を基準とし、面積が均等に分散する手法を用いることにより、通常のラジオシティ計算における逐次計算より、約8.5の速度向上が得られることがわかった。しかし、負荷分散をうまく均衡にすることができなかったことで線形的な高速化は得られなかった。
【0039】
以上、本発明の実施の形態について詳細に説明したが、本発明は、上記実施の形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改変が可能である。
【0040】
【発明の効果】
本発明は、ラジオシティ法の並列計算をするために、パッチの面積を基準とし、面積が均等に分散する手法を用いているので、効率の良い負荷分散を実現することができ、従来の方法に比して高速処理が可能となるという効果がある。
【図面の簡単な説明】
【図1】 共有メモリ型並列計算機の概略構成図である。
【図2】 分散メモリ型並列計算機の概略構成図である。
【図3】 実装した超並列計算機PC−クラスタシステムを示す図である。
【図4】 形状モデルの一例を示す図である。
【図5】 最初の各パッチの各ノードへの割り当て方法を示す概略構成図である。
【図6】 2回目以降の各パッチの各ノードへの割り当て方法を示す概略構成図である。
【図7】 各パッチの各ノードへの割り当て結果を示す概略構成図である。
【図8】 保持する情報をブロードキャストする方法を示すブロック図である。
【図9】 3台のノードによる並列処理の例を示すブロック図である。
【図10】 Cornel Boxの実験結果を示す図である。
【図11】 Test Model 01の実験結果を示す図である。
【図12】 Test Model 02の実験結果を示す図である。
【図13】 ノード数による負荷均衡の評価を示す図である。
【図14】 単純4分木追加による負荷分散の結果を示す図である。
Claims (2)
- ホストがシーン中の物体モデルの表面をパッチとして定義する工程と、前記ホストが前記シーン中の形状モデルを複数のノードを有するプロセッサの全ての前記ノードに伝送する工程と、前記ホストが前記定義されたパッチを複数のノードを有するプロセッサの前記各ノードに割り当てる工程と、前記ホストが前記各ノードに既に割り当てられた前記パッチの総面積の大小関係を判断する工程と、前記ホストが既に割り当てられた前記パッチの総面積が最小であるノードに次のパッチを割り当てる工程と、を備えるとともに、前記各工程の後に各ノードが伝送された前記シーン中の物体モデルに基づいて割り当てられた前記パッチのフォームファクタ計算を行う工程とをさらに備えたラジオシティの並列処理方法。
- 複数のノードを有するプロセッサと、前記複数のノードが並列処理を行うよりも前にシーン中の形状モデルの表面をパッチとして定義する手段と、前記複数のノードが並列処理を行うよりも前に前記各ノードに既に割り当てられた前記パッチの総面積の大小関係を判断する手段と、前記複数のノードが並列処理を行うよりも前に既に割り当てられた前記パッチの総面積が最小であるノードに次のパッチを割り当てる手段とを備えたラジオシティの並列処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002151536A JP4122379B2 (ja) | 2002-05-24 | 2002-05-24 | ラジオシティの並列処理方法及びその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002151536A JP4122379B2 (ja) | 2002-05-24 | 2002-05-24 | ラジオシティの並列処理方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003346178A JP2003346178A (ja) | 2003-12-05 |
JP4122379B2 true JP4122379B2 (ja) | 2008-07-23 |
Family
ID=29769112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002151536A Expired - Fee Related JP4122379B2 (ja) | 2002-05-24 | 2002-05-24 | ラジオシティの並列処理方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4122379B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9250966B2 (en) * | 2011-08-11 | 2016-02-02 | Otoy, Inc. | Crowd-sourced video rendering system |
JP2018036830A (ja) * | 2016-08-31 | 2018-03-08 | 日本電信電話株式会社 | 処理システム、処理方法、処理サーバ、処理プログラム、評価サーバおよび評価プログラム |
EP3301572B1 (en) * | 2016-09-30 | 2023-05-24 | Dassault Systèmes | Method, program and system for simulating a 3d scene with a set of computing resources running in parallel |
-
2002
- 2002-05-24 JP JP2002151536A patent/JP4122379B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003346178A (ja) | 2003-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7421585B2 (ja) | 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット | |
US8373699B2 (en) | Method and apparatus for parallel ray-tracing employing modular space division | |
US9741160B2 (en) | Shadowing method for ray tracing based on geometrical stencils | |
CN109978751A (zh) | 多gpu帧渲染 | |
CN205193879U (zh) | 一种云计算渲染系统 | |
JP2013037691A (ja) | 加速構造を構築するためのシステム、方法、及びコンピュータプログラムプロダクト | |
US8957902B2 (en) | Method and apparatus for interprocessor communication employing modular space division | |
EP3161793B1 (en) | Adaptive partition mechanism with arbitrary tile shape for tile based rendering gpu architecture | |
US11463272B2 (en) | Scalable in-network computation for massively-parallel shared-memory processors | |
US9007372B2 (en) | System for primary ray shooting having geometrical stencils | |
US20180211435A1 (en) | Split frame rendering | |
Navrátil et al. | Exploring the spectrum of dynamic scheduling algorithms for scalable distributed-memoryray tracing | |
CN112288619A (zh) | 用于在渲染图形时预加载纹理的技术 | |
EP3422709A1 (en) | Stereo rendering | |
US9196077B1 (en) | Efficient inter-processor communication in ray tracing | |
CN110222410B (zh) | 一种基于Hadoop MapReduce的电磁环境仿真方法 | |
US9558530B2 (en) | Method and apparatus for an inter-cell shortest communication | |
JP4122379B2 (ja) | ラジオシティの並列処理方法及びその装置 | |
US20140375640A1 (en) | Ray shadowing method utilizing geometrical stencils | |
CN116883576A (zh) | 一种基于tbr+pt的协同渲染方法及装置 | |
Feng et al. | A parallel hierarchical radiosity algorithm for complex scenes | |
CN110379005B (zh) | 一种基于虚拟资源管理的三维重建方法 | |
Debattista et al. | Accelerating the irradiance cache through parallel component-based rendering | |
US9123154B2 (en) | Distributed element rendering | |
Koholka et al. | MPI-parallelized Radiance on SGI CoW and SMP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040513 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040517 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050523 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050610 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080107 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080218 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080221 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |