(57)【要約】【課題】  ラジオシティ処理を何度も繰り返すことなくスムーズなウォークスルーあるいはアニメーション表示を可能にする。【解決手段】  この発明の３次元コンピュータ図形作成装置１００では、３次元コンピュータ図形をラジオシティ処理し、さらに多数のポリゴンを生成し、各ポリゴンに対してその頂点座標情報、色情報及び明度情報を設定して表示用３次元コンピュータ図形データ１１０を作成する。そして３次元コンピュータ図形表示ソフトウェア２００はブラウザ３００からの操作指令に応じてこの表示用３次元コンピュータ図形データ１１０に対して光源の明度の変化をポリゴンそれぞれの頂点ごとの色情報として反映させて３次元コンピュータ図形を表示させることで、３次元コンピュータ図形のアニメーション表示を高速化する。【選択図】      図１
2005332315.tif 000002
【特許請求の範囲】
【請求項１】
原始３次元コンピュータ図形データに対してラジオシティ処理するラジオシティ手段と、
前記ラジオシティ手段のラジオシティ処理結果から、頂点座標情報及び色情報を持つ多数のポリゴンを生成するポリゴンデータ生成手段とを備えた表示用３Ｄコンピュータ図形生成装置。
【請求項２】
前記ポリゴンは三角形であることを特徴とする請求項１に記載の表示用３Ｄコンピュータ図形生成装置。
【請求項３】
光源の座標、色光及び明度の設定情報を受け付け、該当光源の色光及び明度を設定する光源属性設定処理と、
請求項１又は２の表示用３Ｄコンピュータ図形生成装置が生成した多数のポリゴンそれぞれの頂点ごとに、前記光源属性設定処理にて設定した光源の光による影響度を該当頂点位置での色情報として割り付ける光源影響度割付処理と、
前記ポリゴンそれぞれの頂点ごとの色情報と前記光源影響度割付処理にて割り付けた光源の色情報とを加算し、各ポリゴンの頂点ごとの頂点座標情報と共に当該加算結果の色情報をベクトルデータとして保持するレンダリング処理とを行う３Ｄコンピュータ図形表示プログラム。
【請求項４】
前記光源は複数であることを特徴とする請求項３に記載の３Ｄコンピュータ図形表示プログラム。
【請求項５】
ウォークスルー表示処理を行うことを特徴とする請求項３又は４に記載の３Ｄコンピュータ図形表示プログラム。
【請求項６】
原始３次元コンピュータ図形データをラジオシティ処理するラジオシティ処理と、
前記ラジオシティ処理の結果から、頂点座標情報及び色情報を持つ多数のポリゴンを生成するポリゴンデータ生成処理とを行う表示用３Ｄコンピュータ図形生成プログラム。
【請求項７】
前記ポリゴンは三角形であることを特徴とする請求項６に記載の表示用３Ｄコンピュータ図形生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示用３Ｄコンピュータ図形生成装置、３Ｄコンピュータ図形表示プログラム及び表示用３Ｄコンピュータ図形生成プログラムに関する。
【背景技術】
【０００２】
従来、３次元コンピュータ図形を写真のようにリアルに描画するには、３次元コンピュータ図形に光源情報を設定し、ラジオシティ処理によって画素ごとに色情報、明度情報を算出して表示するようにしている。
【０００３】
しかしながら、ラジオシティ処理は計算に膨大な時間を要するため、いかに高性能のコンピュータを利用してもブラウザで３次元コンピュータ図形を実際に表示する段階でこれを行うことは現実的でないという問題があった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、このような従来の技術的課題に鑑みてなされたもので、計算に膨大な時間を要するラジオシティ処理を事前に行い、これを頂点ごとの色情報として埋め込んだポリゴンデータを生成する表示用３Ｄコンピュータ図形生成装置、生成したポリゴンデータから光源の明るさを変化させることも可能なラジオシティ品質のイメージを再現する３Ｄコンピュータ図形表示プログラム及び表示用３Ｄコンピュータ図形生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１の発明の表示用３Ｄコンピュータ図形生成装置は、原始３次元コンピュータ図形データに対してラジオシティ処理するラジオシティ手段と、前記ラジオシティ手段のラジオシティ処理結果から、頂点座標情報及び色情報を持つ多数のポリゴンを生成するポリゴンデータ生成手段とを備えたものである。
【０００６】
請求項２の発明は、請求項１の表示用３Ｄコンピュータ図形生成装置において、前記ポリゴンは三角形であることを特徴とするものである。
【０００７】
請求項３の発明の３Ｄコンピュータ図形表示プログラムは、光源の座標、色光及び明度の設定情報を受け付け、該当光源の色光及び明度を設定する光源属性設定処理と、請求項１又は２の表示用３Ｄコンピュータ図形生成装置が生成した多数のポリゴンそれぞれの頂点ごとに、前記光源属性設定処理にて設定した光源の光による影響度を該当頂点位置での色情報として割り付ける光源影響度割付処理と、前記ポリゴンそれぞれの頂点ごとの色情報と前記光源影響度割付処理にて割り付けた光源の色情報とを加算し、各ポリゴンの頂点ごとの頂点座標情報と共に当該加算結果の色情報をベクトルデータとして保持するレンダリング処理とをコンピュータに行わせることを特徴とするものである。
【０００８】
請求項４の発明は、請求項３の３Ｄコンピュータ図形表示プログラムにおいて、前記光源は複数であることを特徴とするものである。
【０００９】
請求項５の発明は、請求項３又は４の３Ｄコンピュータ図形表示プログラムにおいて、ウォークスルー表示処理を行うことを特徴とするものである。
【００１０】
請求項６の発明の表示用３Ｄコンピュータ図形生成プログラムは、原始３次元コンピュータ図形データをラジオシティ処理するラジオシティ処理と、前記ラジオシティ処理の結果から、頂点座標情報及び色情報を持つ多数のポリゴンを生成するポリゴンデータ生成処理とをコンピュータに行わせることを特徴とするものである。
【００１１】
請求項７の発明は、請求項６の３Ｄコンピュータ生成プログラムにおいて、前記ポリゴンは三角形であることを特徴とするものである。
【発明の効果】
【００１２】
本発明の表示用３Ｄコンピュータ図形生成装置及び表示用３Ｄコンピュータ図形生成プログラムによれば、３次元（３Ｄ）コンピュータ図形作成ソフトウェアにて作成された原始３次元コンピュータ図形に対してラジオシティ処理をし、さらに頂点座標情報及び色情報を持つ多数のポリゴンを生成するポリゴンデータ生成処理をすることによって３Ｄコンピュータ図形データを生成することができ、この３Ｄコンピュータ図形データに対して後述する３Ｄコンピュータ図形表示プログラムを用いてレンダリング処理をすれば、光源の明度の変化や色づけを高速に反映させた３Ｄコンピュータ図形を表示することができる。
【００１３】
本発明の３Ｄコンピュータ図形表示プログラムによれば、上記表示用３Ｄコンピュータ図形生成装置又は表示用３Ｄコンピュータ図形生成プログラムによって生成した３Ｄコンピュータ図形データに対して、レンダリング処理のために光源を設定し、多数のポリゴンそれぞれの頂点ごとに光源からの光による影響度を当該光源からの光による色情報として割り付け、ポリゴンそれぞれの頂点ごとの色情報と光源影響度割付処理によって割り付けた光源からの光による色情報とを加算し、各ポリゴンの頂点ごとの頂点座標情報と共に当該加算結果の色情報をベクトルデータとして作成し、このベクトルデータを用いて光源からの光の影響度を変化させた３次元コンピュータ図形をディスプレイに表示することにより、表示の際にラジオシティ処理を行う場合よりも必要な演算数を削減し、ひいてはコンピュータの演算時間も短縮しながらも、光源からの光の影響度を変化させた３次元コンピュータ図形を高速に描画処理できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図に基づいて詳説する。図１は本発明の表示用３Ｄコンピュータ図形生成装置１００、この表示用３Ｄコンピュータ図形生成装置１００の生成したポリゴンデータ（３ＤＸ）１１０に対して後述するレンダリング処理を行う３Ｄコンピュータ図形表示ソフトウェア２００と、この３Ｄコンピュータ図形表示ソフトウェア２００と協働して３Ｄコンピュータ図形を操作し、ウォークスルーやアニメーション表示を行うブラウザ３００との関係を示している。
【００１５】
表示用３Ｄコンピュータ図形生成装置１００はコンピュータであり、後述するポリゴンデータ１１０の生成のための表示用３Ｄコンピュータ図形生成プログラムがインストールされている。図２に示すように、この表示用３Ｄコンピュータ図形生成装置１００は、機能構成要素として、原始３次元コンピュータ図形を作成する原始３ＤＣＧ作成部１、原始３Ｄコンピュータ図形に対してラジオシティ処理を実行し、さらに多数のポリゴンを生成するポリゴンデータ生成部２、データ記憶部３を備えている。またＨＭＩインタフェースとして表示装置４、入力装置５が接続されている。
【００１６】
原始３ＤＣＧ作成部１は、３次元コンピュータ図形作成ソフトウェアを実行して原始３次元コンピュータ図形を作成する。例えば、室内のポリゴンデータを作成する場合、板、箱等の単純な３次元図形の加工、組み合わせ、２次元図形の回転、押出、掃引等によって床、壁、天井、窓、家具類等の３次元コンピュータ図形を作成し、かつ各３次元コンピュータ図形の特定の性質を持つポリゴンに対して、例えば床の場合には「フローリング」、「絨毯」、「畳」等の適当なアトリビュート名を付加し、データ記憶部３に保存する。
【００１７】
図３に示すように、ポリゴンデータ生成部２はラジオシティ処理部２１、ポリゴン切出し部２２、ポリゴンデータ保存部２３を備えている。ラジオシティ処理部２１は、原始３ＤＣＧ作成部１が作成してデータ記憶部３に保存されている３次元コンピュータ図形情報に対して、アトリビュート毎に色調、テクスチャ等の設定を行った後、後述するラジオシティ処理を実行して原始ラジオシティデータを得る。ポリゴン切出し部２２は、データ記憶部３に保存されている３次元コンピュータ図形から多数の３角形ポリゴンの切出し、かつ原始ラジオシティデータに対して各ポリゴンの３頂点それぞれの色情報を頂点座標情報と共に求め、ポリゴンデータ保存部２３によってベクトルデータとしてデータ記憶部３に保存する。この際、各光源の影響を個別に計算し、色情報と共に影響を受ける光源の識別情報を頂点ごとに設定する。
【００１８】
３Ｄコンピュータ図形表示ソフトウェア２００は、表示用３Ｄコンピュータ図形生成装置１の生成したポリゴンデータで構成される表示用３Ｄコンピュータ図形データ（３ＤＸ）１１０をレンダリングしてブラウザ３００を介して表示装置１１に表示させ、またブラウザ３００からの操作に応答して光源明度変更処理、ウォークスルー表示処理、アニメーション表示処理を実行するプログラムである。図４に示すように、この３Ｄコンピュータ図形表示ソフトウェア２００を機能構成に分けて示すと、ブラウザ３００に対してデータの授受を行う外部インタフェース部６、この外部インタフェース部６の受信した外部指令に対応して３ＤＸデータ１１０に対して適宜の処理を実行するデータ処理部７、そしてレンダリング処理を行うレンダリング処理部８を備えている。
【００１９】
ブラウザ３００は、例えばマイクロソフト社のインターネットエスクプローラ（商品名）、ネットスケープ社のネットスケープ（商品名）、Ｏｐｅｒａ  ＳｏｆｔｗａｒｅＡＳＡ社のＯｐｅｒａ（商品名）等のＨＴＭＬソフトウェアである。３Ｄコンピュータ図形表示ソフトウェア２００の外部インタフェース部６はこのブラウザ３００に対して関数設定用コンテンツ１５とパラメータ設定用コンテンツ１６とを提供し、ユーザに入力装置１２を用いて光源明度情報設定操作３１、アニメーションコントロール操作３２を行わせ、また３ＤＸファイルの指定操作３３、各種設定操作３４を行わせる。
【００２０】
なお、本ソフトウェア２００，３００を実行するコンピュータシステムには、３Ｄコンピュータ図形表示ソフトウェア２００のレンダリング処理部６による描画データを用いて表示装置４に高速に描画表示させるために、ＯｐｅｎＧＬ、ＤｉｒｅｃｔＸのような３Ｄ描画エンジンＡＰＩを高速で動作させるビデオグラフィックカード１３を搭載させてある。
【００２１】
３Ｄコンピュータ図形表示ソフトウェア２００とブラウザ３００とは連携して次のようなレンダリング処理を実行する。図５に示すように、ブラウザ３００側の関数設定用コンテンツ１５から光源明度設定関数を呼び出して光源明度設定操作を行い、光源明度設定情報を３Ｄコンピュータ図形表示ソフトウェア２００に送信し、３Ｄコンピュータ図形表示ソフトウェア２００の外部インタフェース部６はこの光源明度設定情報を取得する（ステップＳ３１）。
【００２２】
外部インタフェース６は取得した光源明度設定情報をデータ処理部７に渡し、データ処理部７では後述する処理によって光源テーブルを変更する（ステップＳ３２）。この処理では、光源ごとの明度指標、例えば、原始ラジオシティデータの生成の際の明度を１００％として５０％まで暗くなった、あるいは１５０％に明るくなったという指標により、光源ごとの明度指標を当該光源の影響を受けるポリゴンそれぞれの頂点ごとに再設定する。
【００２３】
原始ラジオシティデータによるあるポリゴンのある頂点の光源（１）に対する指標は１００％に設定したが、例えば、当該光源（１）が当初のものよりも暗くなり、明度が５０％に半減すれば、当該頂点の光源（１）に対する明度も５０％に半減させる処理を行う。
【００２４】
この変更した光源テーブルデータを用いてポリゴンデータの再計算を実行してレンダリング処理部８に渡す（ステップＳ３３）。このポリゴンデータ再計算は、変更された光源テーブルデータを参照し、再設定した光源ごとの影響度指標を反映させたポリゴンごとのベクトルデータを再計算する。
【００２５】
レンダリング処理部８３では、再計算されたベクトルデータをレンダリングしてブラウザ３００に渡し、３次元コンピュータ図形として表示装置１１の画面に表示させる（ステップＳ３４）。
【００２６】
次に、上記構成の３次元コンピュータ図形作成装置１００による表示用３次元コンピュータ図形の作成処理、また３次元コンピュータ図形ソフトウェア２００及びブラウザ３００によるレンダリング動作について説明する。
【００２７】
＜ラジオシティ＞
ラジオシティとは「３次元空間内の物体に当たる光と、各物体の反射光の相互作用を計算し、表面の明るさを決定する技法のこと」である。より具体的には、「一つの微小パッチ（ポリゴン）の明るさは、自身の明るさと他の微小パッチ（ポリゴン）から来た明るさとの総和である」という考え方を指す。これを数式化したのが、いわゆるラジオシティ方程式で、
【数１】
2005332315.tif 000003
【００２８】
ただし、Biはｉ番目のパッチが単位面積・単位時間当たりにどれだけのエネルギーを放射するか（ラジオシティ）、Eiはｉ番目のパッチ自身の発光エネルギー、ρiはｉ番目のパッチが他から来たエネルギーをどれだけ反射するか、Ajはｊ番目のパッチの面積、Bjはｊ番目のパッチのラジオシティ、Fijはｊ番目のパッチから出たエネルギーがどれだけｉ番目のパッチに到達するか（フォームファクタ）を表す指標である。
【００２９】
この方程式を解き、Biをパッチの明るさに利用する。その場合、
（ａ）ｉ番目のパッチのラジオシティを求めるためにｊ番目のパッチのラジオシティが必要であり、逆にｊ番目のパッチのラジオシティを求めるためにｉ番目のパッチのラジオシティが必要となり、このままではこの方程式は解けない、
（ｂ）フォームファクタを如何にして計算するか、
という２つの問題が存在する。
【００３０】
＜プログレッシブリファインメント＞
上の（ａ）の問題を解決する手法としてプログレッシブリファインメントと呼ばれる方法が利用される。これは以下のような反復処理である。
【００３１】
（ｉ）初期状態として全てのパッチのラジオシティBiは自身の発光エネルギーEiのみから成るとする。また、Biと同じ大きさで他のパッチへ一度だけエネルギーを放射し、その後０になるラジオシティbiを想定する。
【数２】
2005332315.tif 000004
【００３２】
（ii）全てのパッチの中で他のパッチへ放射するエネルギーbi×Aiが最も大きいパッチを選ぶ。
【００３３】
（iii）選んだパッチのエネルギーを他の全てのパッチに対して放射させる。このとき、他の全てのパッチはこのエネルギーを受け取り、ラジオシティ方程式に従ってラジオシティが増加する。また（ｉ）に従ってbiは０となる。
【数３】
2005332315.tif 000005
【００３４】
（iv）（ii）に戻って処理を繰り返す。全てのパッチを処理し終えるか、bi×Aiがある一定値より小さくなるまで繰り返す。
【００３５】
このプログレッシブリファインメントは、反復する度に選ばれるパッチの他のパッチへ放射するエネルギーが小さくなっていくため、収束の速い優れた方法であることが知られている。しかしながら、良好な結果を得るためにはパッチを十分細かくする必要があり、全てのパッチ（標準的な部屋のモデルでも数十万程度）を処理するのには大変な時間を要する。
【００３６】
＜フォームファクタ＞
次にフォームファクタについて述べる。あるパッチｉ上の微小面積dAiからパッチｊ上の微小面積dAjに到達するエネルギーは、次のように表わされる。
【数４】
2005332315.tif 000006
【００３７】
ここで、dEiはパッチｉから放射される単位面積当たりのエネルギー、dAiはパッチｉ上の微小面積、dAjはパッチｊ上の微小面積、Iiはパッチｉの明るさ、θiはdAiの法線ベクトルとdAj法線ベクトルのなす角、dωijはdAiから見たdAjの立体角、θjはdAiとdAjを結ぶベクトルとdAjの法線ベクトルのなす角、ｒはdAiとdAjを結ぶベクトルの長さである。
【００３８】
一方パッチｉ上のある地点からは半球状にエネルギーが拡散すると考えられ、その総量は、次のように表わされる。
【数５】
2005332315.tif 000007
【００３９】
ただし、dωは微小立体角、dEiはdωを通る光のエネルギー、Iiはパッチｉの輝度、θはdωの半球天頂からの角度である。
【００４０】
そこで、これらの比率は次の式のようになる。
【数６】
2005332315.tif 000008
【００４１】
このフォームファクタとは、「ｊ番目のパッチから出たエネルギーがどれだけｉ番目のパッチに到達するか」であったから、これをｉとｊで積分して単位面積当たりの値にするためにAiで除することによってフォームファクタが得られる。
【数７】
2005332315.tif 000009
【００４２】
このフォームファクタは、幾何学的に次のような意味を持っている。パッチｉの微小面積dAiからパッチAjを見るとき、パッチAjをdAiを中心とした単位半球面上（ヘミスフィア）へ投影した面積ωijは次の通りである。
【数８】
2005332315.tif 000010
【００４３】
ただし、θjはdAiとAjの中心を結ぶベクトルとAjの法線ベクトルのなす角、ｒはdAiとAjの中心を結ぶベクトルの長さである。
【００４４】
さらに、これをdAiを中心とした単位円に投影すると、その面積は、
【数９】
2005332315.tif 000011
【００４５】
となるから、単位円の面積πに対する比率は、
【数１０】
2005332315.tif 000012
【００４６】
となり、フォームファクタの被積分項そのものであることがわかる。これをヌッセルトの相似と呼ぶが、これによってフォームファクタを求めるという作業が、「ｊ番目のパッチから出たエネルギーがどれだけｉ番目のパッチに到達するか」という物理的、抽象的なものから「ｊ番目のパッチをｉ番目のパッチを中心としたヘミスフィア、さらに単位円に投影して単位円の面積との比率を求める」という幾何学的、具体的なものへと還元することができる。
【００４７】
ここではさらに、図６に示すようなｉ番目のパッチを中心とした単位半球面を内包する半立方体（ヘミキューブ）を考える。パッチAjを一旦このヘミキューブ上に投影してAj’を作り、このAj’をヘミスフィア、さらに単位円へと投影してもAjと全く同じ結果が得られることは図６からも自明である。つまり、式（３）においてAjの代わりにAj’を用い、cosθj、ｒもAj’に合わせて変更するのである。
【００４８】
ヘミキューブにパッチを投影するということは、視野角９０度のカメラをｉ番目のパッチの中心に据え、上・前・後・左・右に向けて計５回レンダリングすることに他ならず、これによってｉ番目のパッチから可視のパッチだけのフォームファクタを、環境によってはグラフィックカードのハードウエア描画支援機能も使って計算することが可能となる。
【００４９】
レンダリングしたイメージの各ピクセルがどのパッチに由来するものか区別できなければ意味がないが、あらかじめパッチの色としてパッチ番号をセットしておくという方法があり、レンダリングしたイメージから「glReadPixels」などのピクセルデータ取得関数を使ってピクセルの色としてパッチ番号を取得し、立方体であるため簡単なcosθi、cosθj、ｒといった幾何学要素を計算してパッチごとに足し合わせればよい。
【００５０】
上述のプログレッシブリファインメントと組み合わせる場合、ここまでが１回のループに相当し、収束するまで処理を繰り返すことになる。
【００５１】
ラジオシティ処理部２１では、以上の処理を行って原始ラジオシティデータを生成してデータ記憶部３に保存する。
【００５２】
＜ポリゴンデータ生成＞
上記ラジオシティの計算には大変な時間を要し、仮想空間を自由に歩き回るプレーヤーでその計算を行うことは現実的ではない。そこで、原始ラジオシティデータを得たなら、この原始ラジオシティデータからポリゴン（これまで述べたパッチに相当する）を切出し、ポリゴンそれぞれの頂点ごとの座標情報と共に頂点ごとの色情報を原始ラジオシティデータから取得し、多数のポリゴンごとのベクトルデータにしてデータ記憶部３に保存する。この色情報には、３次元コンピュータ図形において設定された各光源の影響を個別に計算し、その指標もベクトルデータに含めてポリゴンデータとし、後に述べる実行時調光を可能としてする。
【００５３】
図７〜図９はポリゴンデータの切出しとベクトルデータについて示している。原始３次元コンピュータ図形のラジオシティデータから図７に示すようにポリゴンを切り出す。そして、例えば三角形ポリゴンＡ，Ｂについてそれらの頂点（ａ１，ａ２，ａ３）；（ｂ１，ｂ２，ｂ３）とし、各頂点の座標を（ａ１：Ｘａ１，Ｙａ１，Ｚａ１）；（ａ２：Ｘａ２，Ｙａ２，Ｚａ２）；（ｂ１：Ｘｂ１，Ｙｂ１，Ｚｂ１）；（ｂ２：Ｘｂ２，Ｙｂ２，Ｚｂ２）；…等とする。さらにラジオシティデータから各頂点の色情報を、ディフューズ、スペキュラそれぞれについてＲＧＢにより、例えば、ポリゴンＡの頂点ａ１について光源１からは（ＤＲａ１１，ＤＧａ１１，ＤＢａ１１，ＳＲａ１１，ＳＧａ１１，ＳＢａ１１）、光源２からは（ＤＲａ１２，ＤＧａ１２，ＤＢａ１２，ＳＲａ１２，ＳＧａ１２，ＳＢａ１２）、光源３からは（ＤＲａ１３，ＤＧａ１３，ＤＢａ１３，ＳＲａ１３，ＳＧａ１３，ＳＢａ１３）等とする。また、頂点ａ２については同様に、例えば、（ＤＲａ２１，ＤＧａ２１，ＤＢａ２１，ＳＲａ２２，ＳＧａ２２，ＳＢａ２２）等とする。図９は、３頂点ａ１，ａ２，ａ３を持つポリゴンＡの原始ラジオシティベクトルデータを例示している。
【００５４】
なお、ラジオシティの設定を行う場合、特定の文字で始まるアトリビュートを持ったポリゴンを光源とみなし、例えば、“ｒａｄ”は点光源、“ｒａｄ？”は平行光源、“ｒａｄ？？”はスポット光源と解釈し、それぞれに応じて他の各ポリゴンに対する影響度を考慮する。また図１０に示すように、光源のディフーズ(拡散光)、スペキュラ（鏡面光）の明るさは、通常のマテリアルと同様に設定する。スポット光源のスポットアングルはグロシネスで設定する。加えて、光源の影響度の設定に際して、シーン全体の明るさ（バックグラウンドの明るさ）やアンビエントなども設定する。
【００５５】
＜レンダリング処理＞
３Ｄコンピュータ図形表示ソフトウェア２００は、ポリゴンデータ生成部２にて作成した３次元の仮想空間データである表示用３Ｄコンピュータ図形データ１１０に対して、ブラウザ３００上で表示するための処理を実行する。このソフトウェア２００は、ポリゴンデータである表示用３Ｄコンピュータ図形データ１１０を読み込んで３次元表示するだけでなく、入力装置１２であるポインティングデバイスの操作により表示装置１１の画面上にブラウザ３００によって表示された仮想空間内を歩き回ったり、仮想空間内で特定の操作を行って音を鳴らしたりアニメーションを再生するといったイベントを起こすことができる。図１１の表には、３Ｄコンピュータ図形表示ソフトウェア２００にて使用できる主なパラメータを示し、図１２の表にはブラウザ３００からの操作や設定が可能な外部コントロール用の関数が示してある。
【００５６】
原始ラジオシティデータである表示用３Ｄコンピュータ図形データ１１０は、先に述べたようにポリゴンの頂点の色情報をも含むものである。この色情報には上述したようにディフーズ（拡散光）、スペキュラ（鏡面反射光）の２つの成分が含まれている。
【００５７】
まず名前としてあらかじめ光源名として設定されているｒａｄ、ｒａｄ？またはｒａｄ？？で始まるラジオシティの光源を探し、テーブルにセットする。例えば、１つのラジオシティ光源テーブルは、図１３の表のようになる。光源強度は０〜１００であり、初期値として１００がセットされる。実施の形態では０〜７番まで８個の光源について設定できるとしている。この数は特に限定されず、演算処理装置の性能により増減させることが可能である。
【００５８】
図１４の表に示すように、データは光源バッファとポリゴン頂点色バッファに保持させる。表示用３次元コンピュータ図形データ１１０のポリゴンデータファイルのロード時には、光源データをまず読込み、光源バッファにセットする。
【００５９】
レンダリングの際は、各ポリゴンの頂点色バッファにある頂点色を有効な光源の強度を加味して加算することによって実際の頂点色を算出する。図１５に示すように、光源ごと、多数のポリゴンの頂点ごとに原始ポリゴンベクトルデータの色情報について光源情報を計算する。例えば、頂点（０）のディフューズは、光源（０），（１）のみから影響を受けるものであれば、図１６に示すように計算されて最終的な色情報を得る。スペキュラについても同様にレンダリング処理する。また、レンダリングは２段階で行い、最初の段階でディフーズによるテクスチャとの積算処理を行った後、次の段階でスペキュラによる加算処理を行う。最近の多くのグラフィックス表示装置のように、この２段階のレンダリングを１パスで行う機能を備えている場合は1パスでレンダリングを行うが、備えていない場合でも２パスでレンダリングを行うことによって同様の結果が得られるようにしている。図１７はレンダリング結果を示している。また図１８にはレンダリング処理のフローチャートを示してある。
【００６０】
＜実行時調光＞
３Ｄコンピュータ図形が仮想室内空間を表現するものであり、原始ラジオシティデータが日中の室内の状態を表現しているものであり、これを用いて日没時の仮想室内空間を表現する要求があったとする。この場合、日没になって外光が暗くなれば、窓からの光、つまり窓を光源とする光の明度を絞る処理が必要である。そのような場合、例えば、図１９に示したように、ブラウザ３００が表示している画面３１０に光源選択用のボックス３１１と明度調整用ボタン３１２を表示し、ユーザに入力装置１２であるマウスその他のポインティングデバイスの操作で光源選択と明度設定を行わせることによって設定することができる。このブラウザ３００での表示画面は、図２０に示すＨＴＭＬによって表示させている。
【００６１】
これにより、３Ｄコンピュータ図形表示ソフトウェア２００は、ラジオシティ光源テーブルからその名前を持つ光源を探し、その強度を指定された値に変更する。例えば、Ｌｉｇｈｔ０の光源を１５％まで絞る設定がされた場合、原始ポリゴンデータの各ポリゴンの色情報について、該当光源からの原始輝度を１５％まで絞る演算処理を実行する。これによって当該光源からの光の影響を受けている頂点群はその光源からの影響を１５％まで低下させることができ、レンダリング結果はそれを反映させたものとなる。先の例で、頂点（０）に対して、図２１のような結果が得られる。
【００６２】
以上のように本実施の形態の３Ｄコンピュータ図形作成装置１００、３Ｄコンピュータ図形表示ソフトウェア２００、ブラウザ３００を利用した３ＤＣＧシステムによれば、３Ｄコンピュータ図形作成装置１００で作成し、一度ラジオシティ処理をして得られた表示用３Ｄコンピュータ図形１１０に対して、ラジオシティ処理を繰り返すことなく明度が変化する光源の影響を反映させた３次元コンピュータ図形は高速に表示することができ、しかもラジオシティ処理を施した表示用３Ｄコンピュータ図形データ１１０を利用して３次元コンピュータ図形表示するので、アニメーション表示においても精緻な３次元空間図形の表示が可能である。加えて、光源ごとの明度変更の操作も簡単に行える。
【図面の簡単な説明】
【００６３】
【図１】本発明の１つの実施の形態の３次元（３Ｄ）コンピュータ図形作成装置、３次元（３Ｄ）コンピュータ図形表示ソフトウェア及びブラウザを示すブロック図。
【図２】上記実施の形態の３Ｄコンピュータ図形作成装置の機能ブロック図。
【図３】上記実施の形態の３Ｄコンピュータ図形作成装置におけるポリゴンデータ作成部の機能ブロック図。
【図４】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェア及びブラウザの機能ブロック図。
【図５】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェア及びブラウザ間の相互機能を示す説明図。
【図６】ラジオシティ処理の説明図。
【図７】上記実施の形態によるポリゴンデータ生成処理の説明図。
【図８】上記実施の形態におけるポリゴンデータ生成部による生成されたポリゴンデータの説明図。
【図９】上記実施の形態におけるポリゴンベクトルデータの説明図。
【図１０】上記実施の形態におけるポリゴンデータ生成操作画面の説明図。
【図１１】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアで使用するパラメータのテーブル。
【図１２】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアで使用する公開関数のテーブル。
【図１３】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアにより得た光源データのテーブル。
【図１４】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアにより得た光源バッファ及び頂点色バッファのテーブル。
【図１５】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアによる光源による影響を考慮したポリゴンの頂点の色情報演算方法の説明図。
【図１６】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアによる光源による影響を考慮したポリゴンの頂点の色情報演算結果のテーブル。
【図１７】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアによるレンダリング後の３次元コンピュータ図形の説明図。
【図１８】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアによる光源による影響を考慮したポリゴンの頂点の色情報演算方法のフローチャート。
【図１９】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアによる調光操作画面の説明図。
【図２０】上記実施の形態のブラウザが表示する調光操作画面のＨＴＭＬの説明図。
【図２１】上記実施の形態の３Ｄコンピュータ図形表示ソフトウェアによるポリゴンの頂点の調光後の色情報演算結果のテーブル。
【符号の説明】
【００６４】
１  ３ＤＣＧ作成部
２  ポリゴンデータ生成部
３  データ記憶部
４  表示装置
５  入力装置
６  外部インタフェース部
７  データ処理部
８  レンダリング処理部
１１  表示装置
１２  入力装置
１３  ビデオグラフィックカード
１５  関数設定部
１６  パラメータ設定部
２１  ラジオシティ処理部
２２  ポリゴン切出し部
２３  ポリゴンデータ保存部
１００  ３次元コンピュータ図形生成装置
１１０  表示用３次元コンピュータ図形データ
２００  ３次元コンピュータ図形表示ソフトウェア
３００  ブラウザ
【図１】
2005332315.tif 000013
【図２】
2005332315.tif 000014
【図３】
2005332315.tif 000015
【図４】
2005332315.tif 000016
【図５】
2005332315.tif 000017
【図６】
2005332315.tif 000018
【図７】
2005332315.tif 000019
【図８】
2005332315.tif 000020
【図９】
2005332315.tif 000021
【図１０】
2005332315.tif 000022
【図１１】
2005332315.tif 000023
【図１２】
2005332315.tif 000024
【図１３】
2005332315.tif 000025
【図１４】
2005332315.tif 000026
【図１５】
2005332315.tif 000027
【図１６】
2005332315.tif 000028
【図１７】
2005332315.tif 000029
【図１８】
2005332315.tif 000030
【図１９】
2005332315.tif 000031
【図２０】
2005332315.tif 000032
【図２１】
2005332315.tif 000033