JP4785605B2 - ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム - Google Patents

ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム Download PDF

Info

Publication number
JP4785605B2
JP4785605B2 JP2006121510A JP2006121510A JP4785605B2 JP 4785605 B2 JP4785605 B2 JP 4785605B2 JP 2006121510 A JP2006121510 A JP 2006121510A JP 2006121510 A JP2006121510 A JP 2006121510A JP 4785605 B2 JP4785605 B2 JP 4785605B2
Authority
JP
Japan
Prior art keywords
value
lzminb
coordinates
lzmaxb
density
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.)
Active
Application number
JP2006121510A
Other languages
English (en)
Other versions
JP2007293648A (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.)
Digital Media Professionals Inc
Original Assignee
Digital Media Professionals Inc
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 Digital Media Professionals Inc filed Critical Digital Media Professionals Inc
Priority to JP2006121510A priority Critical patent/JP4785605B2/ja
Publication of JP2007293648A publication Critical patent/JP2007293648A/ja
Application granted granted Critical
Publication of JP4785605B2 publication Critical patent/JP4785605B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

本発明は,ライトファクタなどを計算するための3次元コンピュータグラフィックシステムに用いられるレンダリングシステムなどに関する。より詳しく説明すると,本発明は,そのような回路や,チップや3次元コンピュータグラフィック回路などに関する。
ライトファクタ(Light factor)は,粒子の強度を表現するためのシェーディング要素のひとつであり,雲,煙及び火などのガス状物体,すなわち自然界における現象を粒子の集合体モデルとして表現する際に,シェーディングとレンダリングを実現するために用いられる。
“D. Ebert et al. Texturing 及びmodeling: a procedural approach, third edition, Morgan Kaufmann Publishers, ISBN 1-55860-848-6, 2003.” (非特許文献 1)には,主にテクスチャと内部表面の組合せとして,ガス状物体を定義するためのレンダリングに関する一般的な概要が記載されている。しかし,この技術は,リアルタイムにレンダリングするためには,大きなコストがかかることとなる。
上記とは別のレンダリング技術は,“M.J. Harris 及び A. Lastra. Real-time cloud rendering. コンピュータグラフィックス Forum , (Eurographics 2001 Proceedings), 20(3):76-84, September 2001. http://www.markmark.net/clouds/”, (非特許文献 2) 及び “Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, 及び T. Nishita.A simple, efficient method for realistic animation of clouds. International Conference on コンピュータグラフィックス 及び Interactive Techniques, pages 19-28, 2000.”(非特許文献 3)に開示されている。そこでは,2つのパスを有するアルゴリズムが開示されている。それら2つの文献は,いくつかの共通点を有する。すなわち,それらはともに粒子に基づいたモデリングシステムを開示し,さらに2つのパスによるレンダリングアルゴリズムを開示する。
池戸教授による米国特許第5864344号明細書 (特許文献 1)には, ガス状物体から反射した光をレンダリングするためのコンピュータ回路が開示されている。その回路は,ガス状物体をレンダリングするための3つのフェーズからなるアルゴリズムに基づくものである。最初のフェーズでは,シェーディングに関する情報が計算されて,記憶される。第二のフェーズでは,最初のフェーズの結果をシェーディングにおけるパラメータを定義するために用い,ガス状物体がレンダリングされる。アルゴリズムの最後のフェーズは,シェーディング結果を色値に変換し,このフェーズの間に,ガス状物体は表面物体(surface object)と結合される。
日本国特許公開公報平10-21421号公報 (特許文献 2)には, ガス状物体を表示するための回路が開示されている。その回路では,モデリングとガス状物体のレンダリングとが密接に関係している。ガス状物体を定義するため,ガウシアンランダム数(Gaussian random number)生成器と機能が用いられている。
これは,本発明のように,ガス状物体を粒子の集合としてレンダリングするものではない。本発明では,ガス状物体のモデリング段階と,レンダリングされる段階とには,明確に分離される。このように分離されていることによって,内部表面,ソリッドモデリング,物理的要素に基づくモデリング,粒子に基づくモデリングや,いくつかの公知の技術に基づいてガス状物体を定義するために利点をもたらす。
日本国特許公開公報平 9-16811号公報 (特許文献 3)には, シェーディングされたガス状物体をレンダリングするためのシェーディング技術が提供されている。 また,日本国特許公開公報平 9-16811号公報 (特許文献 3)には, ガウシアン関数を用いてガス状物体が定義されている。提案されたシェーディングの式は,ガス状物体の反射光を計算する手段を提供している。粒子の位置,法線,視覚方向,及びその他のベクトルの間の異なる角度が計算される。この先行技術文献では,粒子間のライトアッテネーション(光減衰)は考慮されずに,たとえば,各々の粒子のシェーディングが別々に計算されている。
日本国特許公開公報平 9-282484号公報 (特許文献 4)は,現在では特許されているが,その公報には, ガス状物体のイメージと他のイメージ,つまり三角形の集合体として定義される表面物体を含むレンダリングシーンに相当するイメージを結合する技術が開示されている。この回路の主な欠点は,ガス状物体のzの最小値と最大値を保存するために,zバッファを2つ多く要求されることである。さらに,早期インターセクション(交差)テストが行われておらず,すべての粒子がレンダリングされなければならない。それゆえ,回路は,第一に必要とされるバッファの数を減らさなければならないだけではなく(2つのzバッファ以下),さらなる視覚的効果を必要とする。
日本国特許公開公報平11-102448号公報 (特許文献 5)は, 表面のイメージとガスのイメージが結合する技術を提供する。この文献に開示される蓄積密度を不透明な(α:アルファ)値に変換するための関数は,ハードウェアにより実装するためには費用が高くなるものである。この文献で提案された式1は,指数関数を含む。そして,指数関数xy, すなわちxのy乗,は,ハードウェアにおけるサイズとスピードの観点からとても不利である。
日本国特許公開公報2001-188923号公報 (特許文献 6)では,3次元コンピュータグラフィックスを実装する回路が開示され, そこに開示された回路は優れている。しかしながら, たとえ先行技術文献にシェーディング式が開示されていたとしても, それは視覚的に正しくシェーディングされたガス状物体をリアルタイムに表現するためには,多くのハードウェア資源と時間を必要とする。
前記日本国特許公開公報2001-188923 号公報(特許文献 6) は,密度,zの最小値,及びzの最大値として定義されるガス状物体に関連するが, 本発明のある実施形態は,これとは異なる。つまり,本発明のある実施形態において, シェーディングフェーズの間,密度やzの最小値,及びzの最大値を保存する必要があり,第二のフェーズの間,前記ガス状物体は単に密度値としてのみ定義される。そして,zの値はインターセクションテスト(本願の図1のモジュール14)に用いられるが, 好ましくは,保存されない。このことは,本発明がzの最小値とzの最大値を保存するために必要とする2つのバッファを不要とすることを意味する。
また,前記日本国特許公開公報2001-188923号公報 (特許文献 6) では,前記合成段階後においてガス状物体と表面物体を結合する。この文献の合成後の段階において,両方の表面物体由来のzバッファとガスカメラzバッファが必要とされる。前記日本国特許公開公報2001-188923 (特許文献 6)は,ガス状物体の密度減衰に関する視点が必要とされる。
米国特許5864344号明細書 日本国特許公開公報平10-21421号公報 日本国特許公開公報平9-16811号公報 日本国特許公開公報平11-102448号公報 日本国特許公開公報平9-282484号公報 日本国特許公開公報2001-188923号公報 D. Ebert et al. Texturing 及び modeling: a procedural approach, third edition, Morgan Kaufmann Publishers, ISBN 1-55860-848-6, 2003 M.J. Harris 及び A. Lastra. Real-time cloud rendering. コンピュータグラフィックス Forum , (Eurographics 2001 Proceedings), 20(3):76-84, September 2001. http://www.markmark.net/clouds/ Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, 及び T. Nishita.A simple, efficient method for realistic animation of clouds. International Conference on コンピュータグラフィックス 及び Interactive Techniques, pages 19-28, 2000.
本発明の第一の目的は,グラフィックチップの回路として容易に使用することができる,一または複数の新たなシェーディング式に基づいた新規なグラフィック回路(例えば,ライトファクタを求める回路)などのシステムを提供することである。
また,本発明の別の目的は,メモリコスを抑え,少ないバッファと少ない処理で動作することができる新規なグラフィック回路(例えば,ライトファクタを求める回路)などのシステムを提供することである。
また,本発明の別の目的は,コンピュータ用のチップとして実装される上記のシステムを提供することである。
また,本発明の別の目的は,上記のシステムを具備するコンピュータを提供することである。
また,本発明の別の目的は,上記のシステムを具備するゲーム機を提供することである。
また,本発明の別の目的は,上記のシステムを具備する携帯電話を提供することである。
また,本発明の別の目的は,上記のシステムを具備するナビゲーションシステムを提供することである。
また,本発明の別の目的は,上記のシステムを具備するスロットマシーンを提供することである。
本発明は,基本的には,所定の方程式に基づく回路などの設計することで,少ないハードウェア容量で,例えば,シェーディングに用いられるライトファクタを求めることができる新規なグラフィック回路などのシステムを提供できるという知見に基づくものである。すなわち,本発明は,主に本明細書における第1の側面に係るシステム,やそのシステムを用いた様々なデバイスに関する。後述するように,第1の側面に係るシステム及び第2の側面に係るシステムで求められたライトファクタなどの値は,コンピュータグラフィックスのために,第3の側面に係るシステム及び第4の側面に係るシステムなどで適宜用いられる。
すなわち,本発明は,基本的には,デバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置を得るための手段と;座標(xi,yi)と関連してzの最小値を保存するための手段と;座標(xi,yi)と関連してzの最大値を保存するための手段と; 座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段と;前記デバイス座標(xi,yi,Zp),前記zの最小値,前記zの最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得るための手段と;前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段と;を具備する粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するためのシステムなどに関する。
本発明によれば,グラフィックチップの回路として容易に使用することができる,一または複数の新たなシェーディング式に基づいた新規なグラフィック回路などのシステムを提供することができる。
また,本発明によれば,メモリコスを抑え,少ないバッファと少ない処理で動作することができる新規なグラフィック回路などのシステムを提供することができる。
また,本発明によれば,コンピュータ用のチップとして実装される上記のシステムを提供することができる。
また,本発明によれば,上記のシステムを具備するコンピュータを提供することができる。
また,本発明によれば,上記のシステムを具備するゲーム機を提供することができる。
また,本発明によれば,上記のシステムを具備する携帯電話を提供することができる。
また,本発明によれば,上記のシステムを具備するナビゲーションシステムを提供することができる。
また,本発明によれば,上記のシステムを具備するスロットマシーンを提供することができる。
[本発明の概要]
以後説明する本発明のある実施形態では,ライトニング式(the lighting 式)は,ガス状物体を通過する光の強度の減衰を考慮している。本発明では,新規なライトニング式に基づく,雲などのシェーディングを計算するための新規な回路を提供する。本発明は,均質ではない(non−homogeneous)内部の色分布を含む,レンダリング及びシェーディングされたガス状物体を表現するためのシステムなどに関する。
第1の側面に係るシステムは,次式に基づきライトファクタを計算するシステムに関する。
[I]
上記式中,L.S.はスカッタリングファクタ(分散要素)であり,計算されるか,あらかじめ定義される。L.A.pは粒子のアッテネーションファクタ(減衰要素)を示し,モデリングの段階で計算されるか,事前に定義される。LZMinB[xi][yi], LZMaxB[xi][yi] 及びLAB[xi][yi] は,それぞれ,xi及びyiと関連したzの最小値, zの最大値,及び(1又は複数の)蓄積密度を示す。xi及びyiは,たとえば,ガス状物体を構成する粒子の光デバイス空間座標への射影によって得られるデスクリート座標(デバイス空間座標)である。添え字“i”は,離散空間(デバイス空間)において定義されることを示す。LZMinB, LZMaxB及びLABなどの光バッファは,公知の手段によって初期化できる。たとえば,日本国特許出願2001-188923 (特許文献 6)に開示される方法に従って初期化できる。
第2の側面に係るシステムは, 減衰係数ZDFと減衰密度DZを計算するためのシステムに関する。そのシステムは次式に基づく。
式中, (XMin,YMin), (XMax, YMax) は,カメラ空間におけるビルボード(billboard)粒子の射影結果であり, zpは前記粒子のz値, SurfaceBZは表面物体のz値が保存されるバッファであり, そして前記z 値SurfaceBZ[xi][yi]は計算される表面のz値であり,Wは (XMax-XMin) として定義され, Hは (YMax-YMin)として定義される。“W x H”は矩形面積を意味する。D は,他のどこかで計算されるか,又は定義される密度値である。
第3の側面に係るシステムは,RGBイリュミネーションファクタと蓄積密度を計算するためのシステムに関する。このシステムは次式に基づく。
[III]
式中,Dは粒子密度であり,Tuvはテクスチャ値, ZDFは式II に従って計算された減衰係数である。また,CAB[xi][yi]は蓄積密度であり, L.Factorは式Iに従って計算されたライトファクタであり, (Rp, Gp,Bp) は粒子の色である。IRed[xi][yi], IGreen[xi][yi]及びIBlue[xi][yi]は前記デバイス座標 (xi,yi)と関連するイリュミネーションファクタである。
第4の側面に係るシステムは,レンダリングシステムに関する。このシステムは次式IV又はVに基づく。
[IV]
式中,CAB[xi][yi]は蓄積密度, IRed[xi][yi], IGreen[xi][yi]及びIBlue[xi][yi]は前記式IIIに基づいて計算される前記デバイス座標 (xi,yi) に関連するイリュミネーションファクタである。
[V]
式中,IRg, IGg及びIBgは上記式IVに従って求められる。Rg, Gg 及びBgは,それぞれガス状物体のRGBカラーである。RAmbient, GAmbient 及びBAmbientは,それぞれRGBの背景色である。Agは上記式Vで定義される,いわゆるアルファ値であり, AttZは距離に基づく減衰要素であり,CAB[xi][yi]は前記式IIIで定義される蓄積密度である。
本発明のシステムは,基本的にこれらの式に基づくので,少ない加算器や乗算器,テーブル(tables)で実装でき,このシステムは簡単に実装でき,メモリコストを削減でき,バッファへの少ないアクセスを実現でき,少ない処理を達成できる。さらに,本発明のテーブルは,ルックアップテーブル,すなわち小さなハードウェア,により実現してもよいので,早くてよい結果を得ることができる。
[画像形成のための工程]
図1は,ガス状物体と表面物体とのレンダリングするためのシーケンス例を示す図である。図1に示されるように,対象物の表面は,レンダリングされて,レンダリングされた結果は,フレームバッファや深さバッファ(depth buffer)に入力される。フレームバッファに入力された情報は,後の合成段階において利用される。一方,深さバッファに入力された情報は,ガス状物体のレンダリング(第二のフェーズ)において用いられる。
ガス状物体は,シェーディング(第1のフェーズ)においてシェーディングされ,その結果は光バッファに入力される。ガス状物体のレンダリング(第二のフェーズ)において, 深さバッファに入力された情報や,ガス状物体に関して入力された情報,及び光バッファに入力された情報が用いられる。
第2のフェーズの結果は,カメラバッファに入力される。後の合成段階において,カメラバッファに入力された情報,ガス状物体に関する入力された情報及びフレームバッファに入力された情報が用いられる。後の合成段階の結果は,フレームバッファに入力される。
図1に示されるように,第1の表面物体(通常は,三角形を用いて定義される)は,レンダリングされる。得られたイメージは,いわゆるフレームバッファに蓄えられ,関連する深さに関する情報は,いわゆる深さバッファに蓄えられる。そのようにして,ガス状物体がレンダリングされる。ガス状物体は,いくつかの粒子の集合体として表現される。ガス状物体の像は,以下説明するような工程を経て得られる。
まずは,シェーディング段階のアルゴリズムにしたがって,ガス状物体のシェーディング情報が求められる。その段階では,粒子は,光空間座標として表される。シェーディングフェーズの結果は,いわゆる光バッファとよばれるバッファに蓄えられる。その後,レンダリングフェーズ(第2段階)が実行される。その段階では,光バッファや深さバッファに保存される,表面物体に関するシェーディング段階の結果が用いられる。第二段階の結果は,いわゆるカメラバッファに記憶される。
ガス状物体のレンダリングアルゴリズムにおける最後の段階は,後の合成段階(post-synthesis step)である。フレームバッファに保存される表面物体イメージと,カメラバッファに保存された結果が,ともに用いられる。それらは,結合され,その結果はフレームバッファに蓄えられる(上書きされる)。後の合成ステップが終わったら,イメージが表示できる状態とされている。上記した本発明のシステムは,主に上記の第2の段階すなわち,レンダリング段階において用いられる。
図2は,第2のレンダリング段階における工程と,データフローの例を示す図である。図2に示されるように,グラフィックスを実現する例は,光空間座標に射影(projection)を行うステップ(10)と,光分散(scattering)ステップ(11)と, ライトファクタ計算ステップ(12)と,カメラ空間(camera space)座標に射影を行うステップ (13)と,Z交差(intersection)ステップ(14)と,サンプリングプロセッサを用いてサンプリングするステップ(15)と,テクスチャステップ(16)と,そして,蓄積ステップ(17)とを含む。
本発明の好ましい態様は, 視点距離による減衰が図1に示されるダイヤグラムにより達成されるものである。本発明の好ましい態様は, 距離の設定(defining)が後の合成段階においてのみ起こるものであり,この場合において,距離に応じた減衰要素(アッテネーションファクタ)は蓄積密度をアルファ値に変換するために用いられる。このような演算処理を行う利点は,計算速度や回路のサイズを小さくできることなどである。
図2は,第2段階であるレンダリング段階を示す。ガス状物体は,粒子の集合として定義される。そして,粒子は,ワールド座標系での中心(X,Y,Z),単位法線(primary normal)(Nx, Ny, Nz), 2つの半径(Rx,Ry), 密度D, RGB(赤緑青の)色, 光分散(light scattering)係数及び光減衰(light attenuation)係数などによって表現される。それらすべてのパラメータは,ガス状物体をモデリングするステージにおいてユーザによって定義されてもよい。
シェーディングを行うために,ここでは,光がワールド座標と方向によって定義されると仮定する。光の位置と方向を用いて,光空間座標系とデバイス座標系とを定義できる。
レンダリングを行うために,ここでは,カメラの位置とカメラの向く方向が定義されると仮定する。カメラ位置と方向を用いて,デバイスのカメラ空間座標を定義することができる。
図2に示されるように,レンダリング段階は,光空間座標に射影する工程と,分散を計算する工程と,ライトファクタを計算する工程と,カメラ座標に射影する工程と,zを交差(intersection)する工程と,サンプリング工程と,テクスチャ工程と,蓄積工程とを含む。それぞれの工程は,光空間座標における射影を計算する回路(10)と,ライトスカッタリングファクタ(光分散要素)を計算する回路 (11)と,ライトファクタを計算する回路 (12)と,カメラ空間座標にいて射影を計算する回路 (13)と,zの交差を計算する回路(14)と,サンプリング回路(15)と,テクスチャユニット(16)と,蓄積計算をする回路(17)によって達成される。
[第1の側面に係るシステム]
第1の側面に係るシステムは,レンダリングのためのライトファクタを求めるための回路などに関する。このライトファクタを用いて,RGBイリュミネーションファクタなどのイリュミネーションファクタが求められる。また,最終的なRGBもこのライトファクタを用いて表現される。このライトファクタは,ガス状物体を粒子の集合として表現する場合の,粒子を表現するためなどに用いられる。第1の側面に係るシステムは,基本的には,上記した式[I]を実現するためのシステムに関する。
第1の側面に係るシステムは,基本的にはデバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置(又はデバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.)を得るための手段と;座標(xi,yi)と関連してzの最小値を保存するための手段と;座標(xi,yi)と関連してzの最大値を保存するための手段と;座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段と;前記デバイス座標(xi,yi,Zp),前記zの最小値,前記zの最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得るための手段と;前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段と;を具備する,粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するためのシステムに関する。そして,基本的には,デバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置を入力されるか読み出すなどして得て,前記デバイス座標(xi,yi,Zp)のうち座標(xi,yi)を用いて, zの最小値,zの最大値及びガス状物体の蓄積密度を読み出して,前記zの最小値,前記zの最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得て,得られた前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得ることにより,粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するものである。このシステムを用いれば,式[I]に基づくライトファクタを計算でき,少ない回路構成で簡便にライトファクタを計算するシステムを実装できることとなる。なお,デバイス座標(xi,yi,Zp)は,粒子の位置に関する情報であるが,これは粒子の中心位置(xi,yi,zp)であってもよいが,粒子を特定できる位置情報であれば特に限定されない。本明細書においては,Zpとzpとを適宜読み替えて用いることができるものである。また,前提となる各種値は,適宜システムに入力される。
第1の側面に係るシステムの好ましい態様は,前記座標(xi,yi)と関連してzの最小値を保存するための手段,前記座標(xi,yi)と関連してzの最大値を保存するための手段,及び前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,バッファであり;前記粒子のライトファクタの指数要素を得るための手段は,前記デバイス座標(xi,yi,Zp),前記zの最小値,前記zの最大値,前記蓄積密度及び前記減衰要素L.A.pを用い,下記式[Ia]で示される値を計算し (式[Ia]中,L.A.pは減衰要素を示し;LZMinB[xi][yi],LZMaxB[xi][yi]及びLAB[xi][yi]は,それぞれ,xi及びyiと関連して前記バッファに記憶される,zの最小値,zの最大値及び蓄積密度を示す。);そして,前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段は,前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて,加算器と1-exp(x)テーブルとにより下記式[I]で示されるライトファクタ(LightFactor: L.Factor)を計算する上記に記載されるシステムに関する。
[Ia]



[I]
上記のシステムは,式[I]に基づくので,少ない回路構成で簡便にライトファクタを計算するシステムを実装できることとなる。なお,前記粒子のライトファクタの指数要素を得るための手段は,システムに入力された座標(xi,yi)を用いて,それぞれ各種記憶手段から前記zの最小値,前記zの最大値,及び前記蓄積密度を読み出すとともに,システムに入力された前記減衰要素L.A.pを用い,式[Ia]で示される値を求めればよい。具体的には,当業者に公知な方法に従って,四則演算や逆数演算などを行い式[Ia]で示される値を求めればよい。
第1の側面に係るシステムの好ましい上記とは別の態様は, 前記座標(xi,yi)と関連してzの最小値を保存するための手段,前記座標(xi,yi)と関連してzの最大値を保存するための手段,及び前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,バッファであり;前記粒子のライトファクタの指数要素を得るための手段は,前記デバイス座標(xi,yi,Zp),zの最小値,zの最大値,前記蓄積密度及び前記減衰要素L.A.pを用い,乗算器,加算器及び逆数テーブルにより,上記式[Ia]で示される値を計算し;そして,前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段は,前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて,加算器と1-exp(x)テーブルとにより上記式[I]で示されるライトファクタ(LightFactor: L.Factor)を計算する上記いずれかに記載されるシステムに関する。このようなシステムは,具体的には,各種回路と回路を接続する導線などのハードウェアにより実装することができ,ハードウェアで実装できるので,迅速にライトファクタを計算でき,リアルタイムな画像を提供できることとなる。
第1の側面に係るシステムの好ましい上記とは別の態様は,前記座標(xi,yi)と関連してzの最小値を保存するための手段は,座標(xi,yi)と関連してzの最小値であるLZMinB[xi][yi]の値を記憶するバッファ(LZMinB(31))であり;前記座標(xi,yi)と関連してzの最大値を保存するための手段は,座標(xi,yi)と関連してzの最大値であるLZMaxB[xi][yi]の値を記憶するバッファ(LZMaxB(32))であり;前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,粒子の座標(xi,yi)と関連してガス状物体の蓄積密度であるLAB[xi][yi]の値を記憶するバッファ(LAB(33))であり;前記粒子のライトファクタの指数要素を得るための手段は,(xi,yi)値をアドレスとして用いて,前記バッファLZMinB(31)から前記粒子のz値の最小値であるLZMinB[xi][yi]を得るための手段と; (xi,yi)値をアドレスとして用いて,前記バッファLZMaxB(32)から前記粒子のz値の最大値であるLZMaxB[xi][yi]を得るための手段と;(xi,yi)値をアドレスとして用いて,前記バッファLAB(33)から前記ガス状物体の蓄積密度であるLAB[xi][yi]を得るための手段と;前記Zp値と前記LZMinB[xi][yi]値とを用いて“Zp-LZMinB[xi][yi]”を計算するための手段と; 前記Zp値と前記LZMinB[xi][yi]値とを用いて“Zp-LZMinB[xi][yi]”を計算するための手段と;前記LZMinB[xi][yi]値と前記LZMaxB[xi][yi]値とを用いて“LZMaxB[xi][yi]-LZMinB[xi][yi]”を計算するための手段と;入力値である前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”を用いて“1/(LZMaxB[xi][yi]-LZMinB[xi][yi])”を計算するための手段と;前記“Zp-LZMinB[xi][yi]”値と前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”値とを用いて[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]を計算するための手段と; 前記“L.A.p”値と[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]値とを用いて{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算するための手段と;前記{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}値とLAB[xi][yi]値とを用いて{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算する手段と;前記{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を用いて “1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”を計算するための手段と;を含み;前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記ライトファクタを得るための手段は;前記“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”値とL.S.とを用いて “1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}+L.S.”を計算するための手段を含む,上記いずれかに記載されるシステムに関する。このようなシステムは,具体的には,各種回路と回路を接続する導線などのハードウェアにより実装することができ,ハードウェアで実装できるので,迅速にライトファクタを計算でき,リアルタイムな画像を提供できることとなる。
第1の側面に係るシステムの好ましい上記とは別の態様は,前記座標(xi,yi)と関連してzの最小値を保存するための手段は,座標(xi,yi)と関連してzの最小値であるLZMinB[xi][yi]の値を記憶するバッファ(LZMinB(31))であり;前記座標(xi,yi)と関連してzの最大値を保存するための手段は,座標(xi,yi)と関連してzの最大値であるLZMaxB[xi][yi]の値を記憶するバッファ(LZMaxB(32))であり;前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,座標(xi,yi)と関連してガス状物体の蓄積密度であるLAB[xi][yi]の値を記憶するバッファ(LAB(33))であり;前記ライトファクタの指数要素を得るための手段は;前記Zp値とLZMinB[xi][yi]値とを用いて“Zp-LZMinB[xi][yi]”を計算する加算器(又は減算器)(34)と;前記LZMinB[xi][yi]値と前記LZMaxB[xi][yi]値とを用いて“LZMaxB[xi][yi]-LZMinB[xi][yi]”を計算する加算器(35)と;入力値である前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”を用いて“1/(LZMaxB[xi][yi]-LZMinB[xi][yi])”を計算する1/tテーブル(36)と;前記“Zp-LZMinB[xi][yi]”値と前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”値とを用いて[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]を計算する乗算器(37)と;前記“L.A.p”値と前記[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]値とを用いて,{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算する乗算器(38)と;前記{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}値と前記LAB[xi][yi]値とを用いて{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算する乗算器(39)と;前記{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}値を用いて,“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”を得る “1-exp(-t)テーブル”(40)と,を含み;前記ライトファクタを得るための手段は; 前記“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”値と前記L.S.とを用いて,“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}+L.S.”値を求める加算器(41)である,上記いずれかに記載されるシステムに関する。
第1の側面に係るシステムの好ましい上記とは別の態様は,前記ガス状物体の蓄積密度は,デバイス座標(xi-,yi)で定義される粒子の位置,減衰された密度であるDz,及びテクスチャ値Tuvを得るための手段と;デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段と;蓄積密度,前記減衰された密度Dz,及び前記テクスチャ値Tuvを用いて新たな蓄積密度を求めるための手段と;前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段に,前記新たに求められた蓄積密度を書き換えるための手段と;を具備する,3次元コンピュータグラフィックスに用いられる,ガス状物体の蓄積密度を計算するためのシステムにより計算される,上記いずれかに記載されるシステムに関する。すなわち,本発明は,デバイス座標(xi-,yi),デバイス座標(xi-,yi)で定義される粒子の位置,減衰された密度であるDz,及びテクスチャ値Tuvを得るための手段と;デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段と;蓄積密度,前記減衰された密度Dz,及び前記テクスチャ値Tuvを用いて新たな蓄積密度を求めるための手段と;前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段に,前記新たに求められた蓄積密度を書き換えるための手段とを具備し;前記入力されたデバイス座標(xi-,yi)に基づいて蓄積密度を読み出すとともに,得られた値から3次元コンピュータグラフィックスに用いられるガス状物体の蓄積密度を計算し,デバイス座標(xi-,yi)に基づく蓄積密度を更新するためのシステムをも提供するものである。
上記第1の側面に係るシステムの好ましい利用態様は,コンピュータ用のチップとして実装されるものである。
上記第1の側面に係るシステムの好ましい利用態様は,コンピュータ用の回路として実装されるものである。
上記第1の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するコンピュータである。
上記第1の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するゲーム機である。
上記第1の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備する携帯電話である。
上記第1の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するナビゲーションシステムである。
上記第1の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するスロットマシーンである。
図3は,ライトファクタを計算するためのシステムのブロック図である。図3に示される回路は,粒子のシェーディングファクタ(強度)すなわちLightFactor,短縮して “L. Factor”, を計算するために用いられる。その回路は,以下の値を計算する。
[I]
上記式中,L.S. は分散要素であり,たとえば図2の光分散計算モジュール(11)により計算される。L.A.pは粒子の減衰要素を示し,たとえばモデリングの段階で定義される。LZMinB[xi][yi], LZMaxB[xi][yi] 及びLAB[xi][yi] は,それぞれ,xi及びyiと関連して前記バッファに記憶される,zの最小値, zの最大値,及び(1又は複数の)蓄積密度を示す。xi及びyiは,たとえば,粒子の光デバイス空間座標への射影によって得られるデスクリート座標(デバイス空間座標)である。添え字“i”は,離散空間(デバイス空間)にいて定義されることを示す。LZMinB, LZMaxB及びLABなどの光バッファは,公知の手段によって初期化できる。
ライトファクタは,たとえば,日本国特許公開公報No. 2001-188923 (特許文献 6)などにおいても開示されている。ただし,この公知文献に開示されているライトファクタ は,光分散の要素(light scattering component)を取り入れていない。しかしながら,光分散の要素は,ガス状物体を実現するうえで,主に2つの理由から重要である。第一に,それは,ガス状物体のリアルさという視覚の観点を向上する。第二に,それは,光が放出される様子を描画可能とし,さらに火を描画する場合など,煙や雲以外のガス状効果によるモデルを可能とする。そのような効果は,この公知技術において開示された回路では達成できないものである。さらなる重要な相違は,シェーディングの式である。本発明の好ましい態様では,イルミネーションファクタが,第二のレンダリング工程において計算され,それぞれの(R, G及びB) が独立している。さらに,従来技術と本発明の好ましい態様では,情報を蓄積する方法が異なっている。従来技術では,単なる合計により蓄積がなされていた。しかしながら,本発明の好ましい態様では,基本となるレンダリング蓄積式と指数関数要素があわせて用いられている。
上記式[I]は,図3に示されるシステム(回路)によって実現される。図3に示す回路は,3つの光バッファ,LZMinB(31), LZMaxB(32) 及びLAB(33)と;2つの減算器(加算器)(34及び35) (本明細書において,加算器は減算器であってもよい。);I.T.で示される逆数テーブル(36); 3つの乗算器(それらは除算器としても機能しうる。本明細書において乗算器は除算器であってもよいが,好ましくは乗算器である。) (37, 38及び39); 1-exp(x)テーブル(40);加算器(41);各要素をつなぐライン(42-47)。ラインは,たとえばバスがあげられる。
前記LZMinBとLZMaxBは, それぞれが座標 (xi, yi)と関連してzの最小値とzの最大値であるLZMinB[xi][yi] と LZMaxB[xi][yi]を蓄積するバッファである。前記 LABは,座標 (xi, yi)と関連して密度値を蓄積するバッファである。
それぞれ比較器を含んでもよい2つの減算器,及びシフトレジスタによって,差の値を計算することができる。前記逆数テーブル, I.T.,は逆数を記憶し,値xが前記I.T.に入力された場合, 前記I.T.は前記1/x 値を出力する。前記1-Exp(-x) テーブルは前記1-Exp(-x)値を記憶し,xの値が前記テーブルに入力されると,1-Exp(-x)の値を出力する。ここで,Exp は,指数関数である。たとえば,値1が1-Exp(-x) テーブルに入力されると,そのテーブルは,入力値1と関連してテーブルに記憶される値1-e-1,を読み出して,その値を出力する。
光空間への粒子の射影結果は,デバイス座標 (xi, yi, Zp)となる。座標, xi, yi 及びZp, L.S. 及び L.A.p は本発明の回路に入力される。すなわち,その回路は,デバイスの光空間座標で定義される粒子の座標 (xi, yi, Zp) ,ユーザが定義しうる減衰要素, L.A.p, 及び事前に求められるスカッタリングファクタ(L.S)の3つ値が入力される。
座標 (xi, yi)は, LABに記憶された蓄積密度,LZMinB及びLZMaxBに記憶されたzの最小値と最大値など,光バッファに記憶されたデータを引き出すために用いられる。たとえば,LZMinB (31)は,ライン(42)から入力された座標値xi及び yiを用いてLZMinB[xi][yi] 値を読み出す。
LZMaxB (32)は,ライン(42)から入力された座標値xi 及び yiを用いてLZMaxB[xi][yi] 値を読み出す。さらに, LAB (33)は,ライン(42)から入力された座標値xi及び yiを用いてLAB[xi][yi]値を読み出す。Zp 値とLZMinB[xi][yi]値は,ライン(43)から減算器 (34) に入力され,そのラインはLZMinB(31) と減算器 (34)とにそれぞれ接続される。その後,“Zp- LZMinB[xi][yi]”値が計算され,減算器 (34) と乗算器(37)とに接続されるラインに出力される。
LZMinB[xi][yi]値とLZMaxB[xi][yi]値は,減算器(35)に入力され,減算器はLZMaxB[xi][yi] - LZMinB[xi][yi]値を計算し,その値を減算器(35)とI.T.(36)とを接続するラインに出力する。I.T.は,LZMaxB[xi][yi] - LZMinB[xi][yi]を入力値として,テーブルから1/ (LZMaxB[xi][yi] - LZMinB[xi][yi])値を読み出し,その値をI.T.と乗算器(37)とをつなぐラインに出力する。
乗算器(37) は,入力値“Zp- LZMinB[xi][yi]” 及び “LZMaxB[xi][yi] - LZMinB[xi][yi]”を用いて,[(Zp- LZMinB[xi][yi])/ (LZMaxB[xi][yi]- LZMinB[xi][yi])] を計算し,その値を2つの乗算器 (37)と(38)とをつなぐラインに出力する。その乗算器 (38)は,ライン(44)から入力されるL.A. p,と,[(Zp- LZMinB[xi][yi])/ (LZMaxB[xi][yi]- LZMinB[xi][yi])]とを用いて,{[(Zp- LZMinB[xi][yi]) x L.A. p] / (LZMaxB[xi][yi] - LZMinB[xi][yi])}を計算し,2つの乗算器 (38)及び(39)を接続するラインへ出力する。
乗算器 (39) は,乗算器 (38) からの{[(Zp- LZMinB[xi][yi]) x L.A. p] / (LZMaxB[xi][yi] - LZMinB[xi][yi])}と,バッファLAB (33)からのLAB[xi][yi] とを用いて{[(Zp- LZMinB[xi][yi]) x LAB[xi][yi]x L.A. p] / (LZMaxB[xi][yi] - LZMinB[xi][yi])}の値を計算する。
乗算器 (39)は,{[(Zp- LZMinB[xi][yi]) x LAB[xi][yi]x L.A. p] / (LZMaxB[xi][yi] - LZMinB[xi][yi])}を 乗算器 (39) と1-Exp(-x) テーブル (40)とをつなぐラインに出力する。LAB (33) が乗算器 (38)と接続され,L.A.pを含むラインが乗算器 (39)と接続されてもよいことは明らかである。
1- Exp(-x) テーブル(40) は,入力値 {[(Zp- LZMinB[xi][yi]) x LAB[xi][yi]x L.A. p] / (LZMaxB[xi][yi] - LZMinB[xi][yi])}, すなわち, L.Aを用いて,テーブルに記憶された1 - exp {-[(Zp- LZMinB[xi][yi]) x LAB[xi][yi]x L.A. p] / (LZMaxB[xi][yi] - LZMinB[xi][yi])} を読み出す。ここで,1-Exp(-x) テーブルの替わりに,加算器,+と-の交換器,及びExp(x) テーブルを用いてもよいことは明らかである。
1 - Exp(-x) テーブル (40)は,テーブルと加算器 (41) とをつなぐラインにL.A. を出力する。加算器(41)は,1-Exp(-x) テーブルからの入力値L.A.とライン(46)からの入力値L.S.を用いて,L.A. + L.S., すなわち L. Factor,を計算する。これまで説明したとおり,図2に示される回路を用いてライトファクタが計算される。このようにして,シェーディングに関する情報が計算され記憶される。
上述した回路は,3つの乗算器と3つの加算器を具備するものであり,これは回路を実装するコストを抑え,ハードウェア資源のサイズを抑えることができたことを意味する。
それぞれのバッファへのアクセスを制限するために,特別なデータパッキングが必要とされる。処理速度と画像の質とを比較考量すると,それぞれのガス粒子に関する64ビットの情報を光バッファとカメラバッファにつめることを意味する。これは,光バッファについては,zの最小値,zの最大値及び蓄積密度値が,64ビットの情報として,すなわち,それぞれ16ビットの情報(16ビット分は使用されなていない)として記憶される。同様に,カメラバッファについて,蓄積密度は,赤,緑,青のそれぞれが16ビットに割り当てられ,全体として64ビットとされるものがあげられる。
上記の回路は,コンピュータ用のチップ上に搭載でき,上記の回路を含むコンピュータは,コストとハードウェア資源のサイズを小さくできる。
[第2の側面に係るシステム]
第2の側面に係るシステムは,たとえばガス状物体のように粒子の集合体として定義される物体や,通常三角形の組として表現されるコンピュータグラフィックス上の物体の交点(intersection)を表現するためのシステムなどに関する。第2の側面に係るシステムは,基本的には,3次元コンピュータグラフィックスに用いられる粒子や表面物体の交点演算の結果を反映した減衰要素及び減衰密度を計算するためのシステムなどに関する。第2の側面に係るシステムは,基本的には,上記した式[II]を実現するためのシステムに関する。
本発明のシステムでは,レンダリングにおいて,減衰要素を求め,その減衰要素を取り入れたRGBイリュミネーションファクタや,RGB色を用いるので,効果的に粒子の集合体としてのガス状物体を表現できる。そのほか,第2の側面に係るシステムを採用することで,減衰係数を求めて,ガス状物体が減衰する様子を適格かつ迅速に表現できるので,ガス状物体とある表面物体との交差をもリアルに表現できることとなる。
第2の側面に係るシステムは,基本的には,デバイス座標(xi,yi,zp)で定義されるビルボード粒子の中心位置を得るための手段と;前記ビルボード粒子をカメラ空間へ射影し,前記粒子に対応する矩形領域を得るための手段と;前記矩形の領域の左下と右上に対応するデバイス座標 (XMin, YMin, zp) 及び (XMax, YMax, zp)によって定義される粒子に対応する矩形面積を得るための手段と; 座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段と; 前記深さの値とzpを比較するための手段と;上記の比較結果と,前記矩形の面積とを用いて,減衰係数ZDFを計算するための手段と;を具備する,3次元コンピュータグラフィックスに用いられる減衰係数ZDFを計算するためのシステムに関する。そして,入力等されたビルボード粒子の中心位置であるデバイス座標 (xi,yi,zp)を用いて,ビルボード粒子をカメラ空間へ射影することで射影する。すると,カメラ空間への射影は公知の方法に従って適宜行うことができる。ビルボード粒子をカメラ空間へ射影するので,得られた粒子に対応する領域は,矩形領域となる。この矩形領域を得た後に,矩形の領域の左下と右上に対応するデバイス座標 (XMin, YMin, zp) 及び (XMax, YMax, zp)によって定義される粒子に対応する矩形領域の面積を得る。そして,座標 (xi, yi)を用いて,表面物体の深さの値を読み出す。読み出した深さの値と前記zpを比較する。上記の比較結果(例えば,深さの値がzpより小さい又はzp以下である場合は0とし,それ以外は1とする結果)と,前記矩形の面積とを用いて,減衰係数ZDFを計算する。これにより,3次元コンピュータグラフィックスに用いられる減衰係数ZDFを計算することができる。具体的には,前記矩形領域に含まれる全ての座標値を求め,それぞれの座標値について深さの値を読み出して,zpと比較し,その比較結果(0か1)を合計し,合計した値を,前記矩形領域の面積で割ることにより,減衰係数ZDFを計算することができる。そして,入力等された粒子の密度Dに,得られた減衰係数ZDFをかけることで減衰密度を得ることができる。
第2の側面に係るシステムの好ましい態様は,前記座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段は,座標(xi, yi)と関連して深さの値を記憶するバッファである表面深度バッファ(Surface Depth Buffer)を含み,前記減衰係数ZDFを計算するための手段は,前記矩形の領域(XMin, YMin, zp) , (XMax, YMax, zp)の中にある離散した座標値である座標(xi,yi)を得るための手段と;前記離散した座標値(xi,yi)に関連して前記表面深度バッファに保存されるz値であるzsを得るための手段と,前記zsと前記zpとを比較するための手段と,前記zsと前記zpとの比較結果と,前記矩形の面積とを用いて,前記減衰係数ZDFを計算するための手段と,を具備する上記いずれかに記載のシステムに関する。そして,前記減衰係数ZDFを計算するための手段は,前記矩形の領域(XMin, YMin, zp) , (XMax, YMax, zp)の中にある離散した座標値である座標(xi,yi)を得て,それぞれの離散した座標値(xi,yi)に関連して前記表面深度バッファに保存されるz値であるzsを読み出し,それぞれのzsと前記zpとを比較し,それらの比較結果と前記矩形の面積とを用いて,前記減衰係数ZDFを計算する。具体的には,比較結果は,例えば,zsがzpより小さい又はzp以下である場合は0とし,それ以外は1とするものであり,各座標(xi,yi)における比較結果を求めてそれらを加算器などで加算し,加算された値を矩形の面積(矩形の面積は加算器で,XMax−XMin及びYMax−YMinを求め,それらを乗算器で乗算することで容易に求められる。)とを乗算器などで乗算することにより,減衰密度を得ることができる。
第2の側面に係るシステムの好ましい上記とは別の態様は,前記座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段は,座標(xi,yi)と関連して深さの値を記憶するバッファである表面深度バッファを含み,前記減衰係数ZDFを計算するための手段は, 前記矩形の領域(XMin, YMin, zp) , (XMax, YMax, zp)の中にある離散した座標値である座標(xi,yi)を得るための手段として機能する,(XMin, YMin)×(XMax, YMax)の中にある離散した座標値である座標(xi,yi)を順に数えるループ反復回路(loop iterator 回路)(50)と;離散した座標値(xi,yi)に関連した表面深度バッファに保存されるz値であるzsを得るための手段と,前記“zp”と前記“zs”とを比較し,前記“zp”が前記“zs”より小さい場合に0を出力し,それ以外の場合は1を出力するか;又は前記“zp”と前記“zs”が同じか又は前記“zp”が前記“zs”より小さい場合に0を出力し,それ以外の場合に1を出力する計算を行うための比較器 (52) と,前記比較器 (52)からの出力である0又は1と,初期値が0である減衰係数とを加え,修正された減衰係数を得るための加算器 (53)と,すべての前記離散した座標(xi-,yi)について前記修正された減衰係数を求めた後の前記修正された減衰係数と,Wを(XMax-XMin)とし,Hを(YMax-YMin)としたときの1/WHの値とをかける第1の乗算器 (54) を具備する,上記いずれかに記載のシステムに関する。なお,W及びHの値は,加算器(加減算器)を用いて容易に求めることができる。このようなシステムを用いれば,式[II]を回路などのハードウェアにより実装でき,その結果迅速に減衰係数を求めることができるので,リアルタイムに3DCG画像を得ることができることとなる。
第2の側面に係るシステムの好ましい上記とは別の態様は,密度値(D)を得るための手段と;デバイス座標 (xi,yi,zp)で定義されるビルボード粒子の中心位置を得るための手段と;前記ビルボード粒子をカメラ空間へ射影し,前記粒子に対応する矩形領域を得るための手段と;前記矩形の領域の左下と右上に対応するデバイス座標 (XMin, YMin, zp) 及び (XMax, YMax, zp)によって定義される粒子に対応する矩形面積を得るための手段と; 座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段と; 前記深さの値とzpを比較するための手段と;上記の比較結果と,前記矩形の面積とを用いて,減衰係数ZDFを計算するための手段と;を具備する3次元コンピュータグラフィックスに用いられる減衰密度DZを計算するためのシステムに関する。すなわち,先に説明したようにして減衰係数ZDFを計算し,この減衰係数ZDFと,システムに入力された密度値(D)とを乗算するなどして,減衰密度DZを計算するものである。
第2の側面に係るシステムの好ましい上記とは別の態様は,前記座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段は,座標 (xi, yi)と関連して表面物体の深さの値を記憶するバッファである, 表面深度バッファを含み,前記減衰密度DZを計算するための手段は,前記矩形の領域(XMin, YMin, zp) , (XMax, YMax, zp)の中にある離散した座標値である座標(xi,yi)を得るための手段と,前記離散した座標値である(xi,yi)と関連して前記表面深度バッファに記憶されたz値であるzsを得るための手段と,前記zsと前記zpとを比較するための手段と,前記zsと前記zpとの比較結果,前記矩形の面積,及び前記密度値Dを用いて減衰密度DZの値を計算するための手段とを含む,上記いずれかに記載のシステムに関する。このシステムも,基本的には,先に説明したようにして減衰係数ZDFを計算し,この減衰係数ZDFと,システムに入力された密度値(D)とを乗算するなどして,減衰密度DZを計算するものである。
第2の側面に係るシステムの好ましい上記とは別の態様は,前記座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段は,座標 (xi, yi)と関連して表面物体の深さの値を記憶するバッファである, 表面深度バッファを含み,前記減衰係数ZDFを計算するための手段は,矩形の領域(XMin, YMin, zp) , (XMax, YMax, zp)の中にある離散した座標値である座標(xi,yi)を得るための手段として機能する,(XMin, YMin)×(XMax, YMax)の中にある離散した座標値である座標(xi,yi)を順に数えるループ反復回路(loop iterator 回路)(50)と;前記離散した座標値(xi,yi)に関連した表面深度バッファに保存されるz値である“zs”を得るための手段と,前記“zp”と前記“zs”とを比較し,前記“zp”が前記“zs”より小さい場合に0を出力し,それ以外の場合は1を出力するか;又は前記“zp”と前記“zs”が同じか又は前記“zp”が前記“zs”より小さい場合に0を出力し,それ以外の場合に1を出力する計算を行うための比較器 (52) と,前記比較器 (52)からの出力である0又は1と,初期値が0である減衰係数とを加え,修正された減衰係数を得るための加算器 (53)と,すべての前記離散した座標(xi-,yi)について前記修正された減衰係数を求めた後の前記修正された減衰係数と,Wを(XMax-XMin)とし,Hを(YMax-YMin)としたときの1/WHの値とをかける第1の乗算器 (54) と,前記第1の乗算器の計算結果と,前記密度値(D)とを乗算するための第2の乗算器(55)を具備する,上記いずれかに記載のシステムに関する。先に説明したようにして減衰係数ZDFを計算し,この減衰係数ZDFと,システムに入力された密度値(D)とを乗算するなどして,減衰密度DZを計算するものである。
第2の側面に係るシステムの好ましい上記とは別の態様は,ガス状物体を粒子の集合として描画するために用いられる上記に記載されるシステムである。
上記第2の側面に係るシステムの好ましい利用態様は,コンピュータ用のチップとして実装されるものである。
上記第2の側面に係るシステムの好ましい利用態様は,コンピュータ用の回路として実装されるものである。
上記第2の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するコンピュータである。
上記第2の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するゲーム機である。
上記第2の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備する携帯電話である。
上記第2の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するナビゲーションシステムである。
上記第2の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するスロットマシーンである。
図4は,第2の側面に係るシステムのブロック図である。図4に示されるシステムは,上記式[II]にしたがって,減衰係数及び減衰要素を計算できる。図4は,粒子と事前にレンダリングされた表面物体との交差を考慮した計算することができる回路に関する。そして,その回路は,以下の値を計算する。
[II]
ここで,(XMin,YMin),及び(XMax,YMax)は,ビルボード粒子のカメラ空間への射影結果を示し,zpは前記粒子のz値であり,SurfaceBZは(xi,yiと関連して)前記表面物体のz値が格納されるバッファであり,z値であるSurfaceBZ[xi][yi]は求められた表面のz値であり,Wは(XMax-XMin)で定義され,Hは(YMax-YMin)で定義され,Dは前記粒子の密度である。また,項(SurfaceBZ[xi][yi]<zp)は,ブール関数値であり,真であれば1であり,偽であれば0となる。
回路に入力される値は,前記粒子のz値であるzp,前記粒子の密度であるD,前記矩形の座標(XMin,YMin)及び(XMax,YMax),及び1/(WH)値(それは1/((XMax-XMin)×(YMax-YMin)と同じであって事前に計算された値である)である。回路からの出力値は,前記減衰密度DZである。
図4に示されるように,このシステムは,(XMin, YMin)及び(XMax, YMax)が入力されるループ反復回路(loop iterator 回路)(50)と,座標(xi,yi)と関連して深さの値を記憶するバッファである表面深度バッファ(51)と,比較器 (52)と,加算器 (53)と,第1の乗算器 (54)及び第2の乗算器(55)を具備する。図4において,符号56から59は,電気的な情報を伝達するラインを示し,それらのラインは,好ましくは,バスとして実装される。
ループ反復回路(loop iterator 回路)(50)は,(XMin,YMin)×(XMax,YMax)の中にある離散した座標値であるすべての座標(xi,yi)を順に数え,矩形の領域(XMin,YMin,zp),(XMax,YMax,zp)の内部にある中間の離散値である(xi,yi)をバス(56)に出力する。そして,バス(56)は,ループ反復回路(50)と表面深度バッファ(51)とを接続する。
表面深度バッファ(51)は,(xi,yi)をアドレスとして用いて,表面物体の深さの値“zs”を出力する。
比較器(52)は,“zp”と“zs”とを比較し,“zp”が“zs”より小さい場合に0を出力し,それ以外の場合は1を出力するか;又は“zp”と“zs”が同じか又は“zp”が“zs”より小さい場合に0を出力し,それ以外の場合に1を出力する計算を行う。
加算器(53)は,前記比較器(52)からの出力である0又は1と,初期値が0である減衰係数とを加え,修正された減衰係数を得る。
第1の乗算器(54)は,すべての離散した座標(xi-,yi)について前記修正された減衰係数を求めた後の前記修正された減衰係数と,Wを(XMax-XMin)とし,Hを(YMax-YMin)としたときの1/WHの値とをかける。これにより修正された減衰係数ZDFが求められる。
第2の乗算器(55)は,前記第1の乗算器の計算結果である修正された減衰係数ZDFと,前記密度値(D)とを乗算する。これにより,減衰要素DZが得られる。
式(II)は,表面物体によって異なる粒子密度の減衰係数を計算することを意味する。ビルボード粒子は,カメラ空間座標系へと射影される。ビルボードとして定義されるので,射影の結果は,(XMin,YMin)(XMax,YMax)で定義される矩形(長方形)の領域となり,(XMin,YMin)(XMax,YMax)は,それぞれ左下の角と右上の角に対応する。その矩形に含まれるすべての離散した座標値(xi,yi)は,表面深度バッファに格納されたz値をフェッチするために用いられる。すべての前記離散した座標値が計算された場合,その結果は以下の式で表される。
結果の値は,[0,W×H]の中間値をとる。ここでWはXMax-XMin,で定義される矩形の幅であり,HはYMax-YMinで定義される矩形の高さであり,ZDF-は[0,1]の中間値として定義される。この値は,前記粒子密度Dの減衰を求めるために用いられる。もしもZDFが1の場合,前記粒子は完全に表面物体の前にあることを意味し,前記粒子密度は減衰されない。もしZDF-が0であれば,前記粒子は完全に表面物体の後にあることを意味し,その粒子密度は0にまで減衰される。その他の場合は,前記粒子密度は多かれ少なかれ減衰される。たとえば,ZDFが0.5であれば前記粒子の半分が表面物体に隠れ,前記粒子密度は半分減衰される。
その回路における最初の演算段階は,修正された減衰係数を求める段階である。ループ反復モジュール(50)は,(XMin,YMin)及び(XMax,YMax)を入力として用いて,[(XMin,YMin),(XMax,YMax)]に含まれる全ての(xi,yi)値を求める。ループ反復モジュール(50)の振る舞いはとても簡単であるので,詳細には説明しないが,以下のように表現できる。
それぞれの(xi,yi)値は,表面深度バッファ(51)に送られる,そして,(xi,yi)に対応するzs値がフェッチされる。比較器(52)は,表面物体のz値であるzsと,粒子のz値であるzpとを比較する。この比較器は,加算器(又は減算器)を含み,(zs-zp)を計算するものであってもよい。そして,(zs-zp)の値がプラスであれば,この比較器(52)は1を出力し,そうでなければ0を出力するようにすればよい。この0値又は1値は,加算器(53)への入力値として用いられる。次に加算器(58)に入力される値は,減衰係数である。この段階のはじめにおいて,すなわち,ループ反復モジュール(50)に数値が入るはじめにおいて,減衰係数は0に設定される。そして,比較器(53)からの0又は1の値が,減衰係数に加算される。この工程は,ループ反復モジュール(50)から出力される.全ての(xi,yi)について行われる。
全ての(xi,yi)についての演算が終わったら,最終的な減衰係数が,修正された減衰係数とよばれ,その値が出力される。乗算器(54)が修正された減衰係数と値1/(WH)とを掛け合わす間に,式IIのZDFが計算される。乗算器(54)からの出力であるZDFは乗算器(55)によって,密度Dを修正するために用いられ,前記減衰密度DZが得られる。式IIにしたがって,乗算器(54)は,ループ反復モジュール(50),比較器(52),加算器(53)及びライン(56,57及び58)からの出力結果である修正された減衰係数,及び値1/(WH)とを乗算する。最終的な減衰密度は,乗算器(56)の出力として得られ,乗算器(56)には,乗算器(54)の出力であるZDFと,前記粒子密度Dとが入力される。
本側面に関するシステムは,粒子と他の表面物体との交差に関する簡潔な解法を提供できる効果がある。本発明者らは,文献として,日本国特許公開公報2001-188923号(特許文献6)を除いて,本システムと少しでも関連する文献を知らない。一方,日本国特許公開公報2001-188923号(特許文献6)では,カメラ空間におけるzの最小値とzの最大値を記憶するために追加のバッファを必要とする。そして,表面物体との交差は後の合成段階とよばれる後の段階で定義される。本側面に関するシステムは,そのような余計なバッファを使用しなくて済むという利点があり,交差は粒子ごとにレンダリングの段階で定義されるという利点がある。
この回路の利点は,第一に,演算処理がとても少なくて済み,複雑化を解消できることである。この演算処理が少ないのは,式(II)を採用し,これを実現する回路を実装したことによる。
ひとつの問題は,ループ反復モジュール(50)かもしれない。好ましくは,各々の粒子について,すべての部分座標(xi,yi)が,図3に示される回路であって,図2のモジュール(14)に対応する回路によって,はじめに求められ,その後にモジュール(15-17)によって,実際のレンダリングが行われることである。このような計算方法は,実際に全体的なレンダリング速度の大きな影響がない。ループ反復モジュールとモジュール(14及び15)では,出力される部分座標(断片)の数が同じである。それゆえ,本側面にかかる回路は,交差を計算するために,レンダリングプロセスにおける待ち時間のみを増加させることとなるが,それは無視できる程度であると考えられる。
[第3の側面に係るシステム]
第3の側面に係るシステムは,RGBイリュミネーションファクタと蓄積密度を計算するためのシステムに関する。このシステムは次式に基づく。
[III]
式中,Dは粒子の密度値であり,Tuvはテクスチャ値, ZDFは式II に従って計算された減衰係数である。また,CAB[xi][yi]は蓄積密度であり, L.Factorは式Iに従って計算されたライトファクタであり, (Rp,Gp及びBp) は粒子の色である。IRed[xi][yi], IGreen[xi][yi]及びIBlue[xi][yi]は前記デバイス座標 (xi,yi)と関連するイリュミネーションファクタである。
上記のとおり,このRGBイリュミネーションファクタは,減衰係数及び減衰要素を考慮したものであり,しかもRGBそれぞれ別のものとして計算される。そして,これら減衰係数及び減衰要素を考慮しRGBイリュミネーションファクタは,最終的なガス状物体の色を表現するために用いられる。このような減衰を考慮してガス状物体の色を求めるので,リアルなガス状物体を表現できることとなる。
第3の側面に係るシステムは,基本的には,デバイス座標(xi-,yi) ,減衰密度Dz,テクスチャ値Tuv,ライトファクタLightFactor及び粒子のRGB色(Rp,Gp,及びBp)を得るための手段と;デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段と;前記取得されたデバイス座標(xi-,yi),前記減衰密度Dz,及び前記テクスチャ値Tuv,前記ライトファクタLightFactor及び前記粒子のRGB色(Rp,Gp,及びBp),及び前記蓄積密度を用いて,RGBイリュミネーションファクタを計算するための手段と;を含むRGBイリュミネーションファクタを計算するための3次元コンピュータグラフィックスに用いられるシステムに関する。そして,基本的には,このシステムに,デバイス座標(xi-,yi) ,減衰密度Dz,テクスチャ値Tuv,ライトファクタLightFactor及び粒子のRGB色(Rp,Gp,及びBp)が入力される。これらの値を用いると,粒子を表現できる。粒子の位置は,例えば,座標(xi-,yi)として入力される。そして,座標(xi-,yi)を用いて蓄積密度を読み出すとともに,前記入力された値を用いて,RGBイリュミネーションファクタを計算する。このRGBイリュミネーションファクタは,具体的には,式[III]に示されるものがあげられる。このシステムは,好ましくは,後述するように(修正された)蓄積密度をも求めることができるものである。
第3の側面に係るシステムの好ましい態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファであるCAB(60)により実装され;前記RGBイリュミネーションファクタを計算するための手段は,前記蓄積密度CAB[xi][yi]を得て,前記デバイス座標(xi-,yi),前記減衰密度Dz,及び前記テクスチャ値Tuv,前記ライトファクタLightFactor及び前記粒子のRGB色(Rp,Gp,及びBp),及び前記蓄積密度CAB[xi][yi]を用いて,デバイス座標(xi-,yi)と関連する下記式[III]で示されるRGBイリュミネーションファクタ(IRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi])を計算する。この計算は,例えば,加算器,乗算器,及び1-exp(-x)テーブルを用いるか,又は加算器,乗算器,及びexp(-x)テーブルを用いることで容易に行うことができる。詳細は後述するとおりである。
第3の側面に係るシステムの好ましい態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファであるCAB(60)により実装され;前記RGBイリュミネーションファクタを計算するための手段は,前記蓄積密度CAB[xi][yi]を得て,前記デバイス座標(xi-,yi),前記減衰密度Dz,及び前記テクスチャ値Tuv,前記ライトファクタLightFactor及び前記粒子のRGB色(Rp,Gp,及びBp),及び前記蓄積密度CAB[xi][yi]を用いて,デバイス座標(xi-,yi)と関連する式[III]で示されるRGBイリュミネーションファクタ(IRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi])を計算する;上記に記載のシステムに関する。システムは,竜力された座標(xi-,yi)に基づいて,CAB(60)から,座標(xi-,yi)と関連する粒子の蓄積密度CAB[xi][yi]を読み出す。そして,前記デバイス座標(xi-,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記ライトファクタLightFactor及び前記粒子のRGB色(Rp,Gp,及びBp)及び前記蓄積密度CAB[xi][yi]を用いて,上記式[III]で示されるRGBイリュミネーションファクタ(IRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi])を計算する。この計算は,加算器,乗算器,及び1-exp(-x)テーブルを用いるか,又は加算器,乗算器,及びexp(-x)テーブルを用いることで容易に行うことができる。詳細は後述するとおりである。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記LightFactorは,デバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置を得るための手段と;座標(xi,yi)と関連してzの最小値を保存するための手段と;座標(xi,yi)と関連してzの最大値を保存するための手段と;座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段と;前記デバイス座標(xi,yi,Zp),前記zの最小値,前記zの最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得るための手段と;前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段と;を具備する,粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するためのシステムによって計算される;上記いずれかに記載のシステムに関する。すなわち,この態様に係るシステムは,本発明の第1の側面に係るシステムを用いてLightFactorを求め,第1の側面に係るシステムからの出力であるLightFactorが入力されるものである。なお,第1の側面に係るシステムとして,上記した好ましい態様のものなどを適宜用いることができる。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記減衰密度DZは,密度値(D)を得るための手段と;デバイス座標 (xi,yi,zp)で定義されるビルボード粒子の中心位置を得るための手段と;前記ビルボード粒子をカメラ空間へ射影し,前記粒子に対応する矩形領域を得るための手段と;前記矩形の領域の左下と右上に対応するデバイス座標 (XMin, YMin, zp) 及び (XMax, YMax, zp)によって定義される粒子に対応する矩形面積を得るための手段と; 座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段と; 前記深さの値とzpを比較するための手段と;上記の比較結果と,前記矩形の面積とを用いて,減衰係数ZDFを計算するための手段と;を具備する3次元コンピュータグラフィックスに用いられる減衰密度DZを計算するためのシステムにより計算される;上記いずれかに記載のシステムに関する。この態様に係るシステムは,本発明の第2の側面に係るシステムを用いて減衰密度DZを求め,第2の側面に係るシステムからの出力である減衰密度DZが入力されるものである。なお,第2の側面に係るシステムとして,上記した好ましい態様のものなどを適宜用いることができる。
第3の側面に係るシステムの好ましい上記とは別の態様は,デバイス座標(xi-,yi) ,減衰密度Dz,テクスチャ値Tuv,ライトファクタLightFactor及び粒子のRGB色(Rp,Gp及びBp)を得るための手段と;座標(xi,yi)に関連してガス状物体の蓄積密度を記憶するための手段と;座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタを記憶するための手段と;前記取得された座標(xi,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記ライトファクタLightFactor及び前記粒子のRGB色(Rp,Gp及びBp),前記座標(xi-,yi)と関連する蓄積密度,及び前記粒子のRGBイリュミネーションファクタを記憶するための手段から読み出したRGBイリュミネーションファクタを用いて,修正されたRGBイリュミネーションファクタを得るための手段と;前記修正されたRGBイリュミネーションファクタを用いて,前記粒子のRGBイリュミネーションファクタを記憶するための手段に記憶される粒子のRGBイリュミネーションファクタを書き換えるための手段と;を具備する,RGBイリュミネーションファクタを計算するための3次元コンピュータグラフィックスに用いられるシステムに関する。そして,基本的には,上記式[III]にしたがって,RGBイリュミネーションファクタを計算し,計算する前に求められ記憶されたRGBイリュミネーションファクタと加算等することで修正されたRGBイリュミネーションファクタを求め,その修正されたRGBイリュミネーションファクタを,新たなRGBイリュミネーションファクタとして記憶するものである。そして,記憶されたRGBイリュミネーションファクタは,3DCGのために他の回路へ出力され,適宜用いられる。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)により実装され;前記座標(xi,yi)と関連して粒子のRGBイリュミネーションファクタを記憶するための手段は,座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi]を記憶するバッファIRed(61),IGreen(62),及びIBlue(63)により実装され;前記修正されたRGBイリュミネーションファクタを得るための手段は,前記蓄積密度CAB[xi][yi],並びに,前記IRed[xi][yi],前記IGreen[xi][yi]及び前記IBlue[xi][yi]を取得し,前記デバイス座標(xi-,yi),前記減衰密度Dz, 前記テクスチャ値Tuv,前記ライトファクタLightFactor,前記粒子のRGB色(Rp,Gp,及びBp)及び前記蓄積密度CAB[xi][yi]を用いて,以下のデバイス座標(xi,yi)に関連したRGBイリュミネーションファクタを計算し,新しい(修正された)RGBイリュミネーションファクタを得るために,計算されたRGBイリュミネーションファクタと,粒子に関するRGBイリュミネーションファクタを記憶するための手段から読み出されたRGBイリュミネーションファクタとを加算し;前記粒子のRGBイリュミネーションファクタを記憶するための手段に記憶される粒子のRGBイリュミネーションファクタを書き換えるための手段は,前記新たに計算されたRGBイリュミネーションファクタを用いて,RGBイリュミネーションファクタを書き換える;上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)により実装され;前記座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタを記憶するための手段は,座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi]を記憶するバッファIRed(61),IGreen(62),及びIBlue(63)により実装され;前記修正されたRGBイリュミネーションファクタを得るための手段は,前記蓄積密度CAB[xi][yi],並びに,前記IRed[xi][yi],前記IGreen[xi][yi]及び前記IBlue[xi][yi]を取得し,前記デバイス座標(xi-,yi),前記減衰密度Dz, 前記テクスチャ値Tuv,前記ライトファクタLightFactor,前記粒子のRGB色(Rp,Gp,及びBp)及び前記蓄積密度CAB[xi][yi]を用いて,加算器(66,68),乗算器(64,69及び70),及び1-exp(-x)テーブル(67a及び67b)を用いて,上記式[III]で示されるRGBイリュミネーションファクタを計算し,新しい(修正された)RGBイリュミネーションファクタを得るために,前記計算されたRGBイリュミネーションファクタと,粒子に関するRGBイリュミネーションファクタを記憶するための手段から読み出されたRGBイリュミネーションファクタとを加算し;前記粒子のRGBイリュミネーションファクタを記憶するための手段に記憶される粒子のRGBイリュミネーションファクタを書き換えるための手段は,前記新たに計算されたRGBイリュミネーションファクタを用いて,RGBイリュミネーションファクタを書き換える;上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記LightFactorは,デバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置を得るための手段と;座標(xi,yi)と関連してzの最小値を保存するための手段と;座標(xi,yi)と関連してzの最大値を保存するための手段と;座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段と;前記デバイス座標(xi,yi,Zp),前記zの最小値,前記zの最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得るための手段と;前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段と;を具備する,粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するためのシステムによって計算される;上記いずれかに記載のシステムに関する。すなわち,この態様に係るシステムは,本発明の第1の側面に係るシステムを用いてLightFactorを求め,第1の側面に係るシステムからの出力であるLightFactorが入力されるものである。なお,第1の側面に係るシステムとして,上記した好ましい態様のものなどを適宜用いることができる。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記減衰密度DZは,密度値(D)を得るための手段と;デバイス座標 (xi,yi,zp)で定義されるビルボード粒子の中心位置を得るための手段と;前記ビルボード粒子をカメラ空間へ射影し,前記粒子に対応する矩形領域を得るための手段と;前記矩形の領域の左下と右上に対応するデバイス座標 (XMin, YMin, zp) 及び (XMax, YMax, zp)によって定義される粒子に対応する矩形面積を得るための手段と; 座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段と; 前記深さの値とzpを比較するための手段と;上記の比較結果と,前記矩形の面積とを用いて,減衰係数ZDFを計算するための手段と;を具備する3次元コンピュータグラフィックスに用いられる減衰密度DZを計算するためのシステムにより計算される;上記いずれかに記載のシステムに関する。この態様に係るシステムは,本発明の第2の側面に係るシステムを用いて減衰密度DZを求め,第2の側面に係るシステムからの出力である減衰密度DZが入力されるものである。なお,第2の側面に係るシステムとして,上記した好ましい態様のものなどを適宜用いることができる。
第3の側面に係るシステムの好ましい上記とは別の態様は,デバイス座標(xi,yi),減衰密度(Dz),テクスチャ値(Tuv),ライトファクタ(LightFactor)及びRGB粒子色(Rp,Gp及びBp)を得るための手段と;座標(xi,yi)に関連してガス状物体の蓄積密度を記憶するための手段と;座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタを記憶するための手段と;前記デバイス座標(xi-,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記RGB色(Rp,Gp,及びBp),前記蓄積密度,及び,前記粒子のRGBイリュミネーションファクタを記憶するための手段から読み出されたRGBイリュミネーションファクタを用いて,修正されたRGBイリュミネーションファクタを計算するための手段と;前記粒子のRGBイリュミネーションファクタを記憶するための手段に記憶される粒子のRGBイリュミネーションファクタを書き換えるための手段と;前記修正されたRGBイリュミネーションファクタ,前記蓄積密度,前記減衰密度Dz,及び前記テクスチャ値Tuvを用いて修正された蓄積密度を求めるための手段と;前記蓄積密度,減衰密度Dz,及びテクスチャ値Tuvを用いて,修正された蓄積密度を計算するための手段と;前記修正された蓄積密度を用いて,蓄積密度を記憶するための手段の蓄積密度を書き換えるための手段と;を具備する,RGBイリュミネーションファクタと蓄積密度を求めるための3次元コンピュータグラフィックスに用いられるシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)により実装され;前記座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタを記憶するための手段は,座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi]を記憶するバッファIRed(61),IGreen(62),及びIBlue(63)により実装され;前記修正されたRGBイリュミネーションファクタを得るための手段は,前記蓄積密度CAB[xi][yi],及び前記IRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi]を取得し,前記デバイス座標(xi-,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記ライトファクタLightFactor及び前記粒子のRGB色(Rp,Gp,及びBp)及び前記蓄積密度CAB[xi][yi]を用いて,上記式[III]で示されるデバイス座標(xi,yi)に関連したRGBイリュミネーションファクタを計算し,修正されたRGBイリュミネーションファクタを得るために,計算されたRGBイリュミネーションファクタと,粒子に関するRGBイリュミネーションファクタを記憶するための手段から読み出されたRGBイリュミネーションファクタとを加算し;粒子のRGBイリュミネーションファクタを記憶するための手段に記憶される粒子のRGBイリュミネーションファクタを書き換えるための手段は,前記新たに計算されたRGBイリュミネーションファクタを用いて,RGBイリュミネーションファクタを書き換え;前記修正された蓄積密度を計算するための手段は,新たな蓄積密度CAB[xi][yi]+DzxTuvを得るために,乗算器(64)により前記蓄積密度Dz及び前記テクスチャ値Tuvを用い,DzxTuvを計算し,加算器(66)により前記CAB[xi][yi]及び前記DzxTuvを用いて,CAB[xi][yi]+DzxTuvを計算し;前記蓄積密度を記憶するための手段の蓄積密度を書き換えるための手段が,前記新たな蓄積密度を用いて,前記蓄積密度を書き換える;上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)により実装され;前記座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタを記憶するための手段は,座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi]を記憶するバッファIRed(61),IGreen(62),及びIBlue(63)により実装され;前記修正されたRGBイリュミネーションファクタを得るための手段は,前記蓄積密度CAB[xi][yi],並びに,前記IRed[xi][yi],前記IGreen[xi][yi]及び前記IBlue[xi][yi]を取得し,前記デバイス座標(xi-,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記ライトファクタLightFactor,前記粒子のRGB色(Rp,Gp,及びBp),及び蓄積密度CAB[xi][yi]を用いて,加算器(66,68),乗算器(64,69及び70),及び1-exp(-x)テーブル(67a及び67b)を用いて,上記式[III]で示されるデバイス座標(xi,yi)に関連したRGBイリュミネーションファクタを計算し,修正されたRGBイリュミネーションファクタを得るために,計算されたRGBイリュミネーションファクタと,粒子に関するRGBイリュミネーションファクタを記憶するための手段から読み出されたRGBイリュミネーションファクタとを加算し;前記粒子のRGBイリュミネーションファクタを記憶するための手段に記憶される粒子のRGBイリュミネーションファクタを書き換えるための手段は,前記新たに計算されたRGBイリュミネーションファクタを用いて,RGBイリュミネーションファクタを書き換える,上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記LightFactorは,デバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置を得るための手段と;座標(xi,yi)と関連してzの最小値を保存するための手段と;座標(xi,yi)と関連してzの最大値を保存するための手段と;座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段と;前記デバイス座標(xi,yi,Zp),前記zの最小値,前記zの最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得るための手段と;前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段と;を具備する,粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するためのシステムによって計算される;上記いずれかに記載のシステムに関する。すなわち,この態様に係るシステムは,本発明の第1の側面に係るシステムを用いてLightFactorを求め,第1の側面に係るシステムからの出力であるLightFactorが入力されるものである。なお,第1の側面に係るシステムとして,上記した好ましい態様のものなどを適宜用いることができる。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記減衰密度DZは,密度値(D)を得るための手段と;デバイス座標 (xi,yi,zp)で定義されるビルボード粒子の中心位置を得るための手段と;前記ビルボード粒子をカメラ空間へ射影し,前記粒子に対応する矩形領域を得るための手段と;前記矩形の領域の左下と右上に対応するデバイス座標 (XMin, YMin, zp) 及び (XMax, YMax, zp)によって定義される粒子に対応する矩形面積を得るための手段と; 座標 (xi, yi)と関連して表面物体の深さの値を保存するための手段と; 前記深さの値とzpを比較するための手段と;上記の比較結果と,前記矩形の面積とを用いて,減衰係数ZDFを計算するための手段と;を具備する3次元コンピュータグラフィックスに用いられる減衰密度DZを計算するためのシステムにより計算される;上記いずれかに記載のシステムに関する。この態様に係るシステムは,本発明の第2の側面に係るシステムを用いて減衰密度DZを求め,第2の側面に係るシステムからの出力である減衰密度DZが入力されるものである。なお,第2の側面に係るシステムとして,上記した好ましい態様のものなどを適宜用いることができる。
第3の側面に係るシステムの好ましい上記とは別の態様は,デバイス座標(xi,yi),減衰密度(Dz),テクスチャ値(Tuv),ライトファクタ(LightFactor)及びRGB粒子色により定義される粒子の位置を得るための手段と;前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段であるCAB(60)と;座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタであるIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を記憶するための手段であるIRed(61),Igreen(62)及びIBlue(63)と;前記(xi,yi)値をアドレスとして用いて,前記バッファCAB(60)から,蓄積密度CAB[xi][yi]を取得するための手段と;前記減衰密度Dzと前記テクスチャ値Tuvとを用いて“Dz×Tuv”を計算するための手段と;前記“Dz×Tuv”と前記CAB[xi][yi]とを用いて“Dz×Tuv+CAB[xi][yi]”を計算するための手段と;前記“Dz×Tuv+CAB[xi][yi]”を入力として用いて,“1-exp(-(Dz×Tuv+CAB[xi][yi]))”を計算するための手段と;前記“CAB[xi][yi]”を入力として用いて,“1-exp(-CAB[xi][yi])”を計算するための手段と;前記“1-exp(-(Dz×Tuv+CAB[xi][yi]))”と“1-exp(-CAB[xi][yi])”とを用いて,“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}”を計算するための手段と;前記“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}”と前記LightFactorとを用いて,“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor”を計算するための手段と;前記“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor”と前記(Rp,Gp,Bp)とを用いて,ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)を計算するための手段と;前記“[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)”及び 前記(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を用いて,ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)+(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を計算するための手段と;前記ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)+(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を用いて前記IRed(61),Igreen(62)及びIBlue(63)を書き換える手段と;前記“Dz×Tuv+CAB[xi][yi]”を用いて,前記CAB(60)を書き換える手段と;を具備する,上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,デバイス座標(xi,yi),減衰密度(Dz),テクスチャ値(Tuv),ライトファクタ(LightFactor)及びRGB粒子色(Rp,Gp及びBp)により定義される粒子の位置を得るための手段と;前記デバイス座標(xi-,yi)と関連して蓄積密度CAB[xi][yi]を保存するバッファCAB(60)と;座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を記憶する3つのバッファIRed(61),IGreen(62)及びIBlue(63)と;入力値である,前記減衰密度Dzと前記テクスチャ値Tuvとを用いて“Dz×Tuv”を計算する乗算器(64)と;前記“Dz×Tuv”と前記バッファCAB(60)からのCAB[xi][yi]とを用いて“Dz×Tuv+CAB[xi][yi]”を計算する加算器(66)と;前記“Dz×Tuv+CAB[xi][yi]”を入力として用いて,“1-exp(-CAB[xi][yi])”を計算する1-exp(-x)テーブル(67a)と;前記“Dz×Tuv+CAB[xi][yi]”を入力として用いて,“1-exp(-(Dz×Tuv+CAB[xi][yi]))”を計算する1-exp(-x)テーブル(67b)と;前記“1-exp(-(Dz×Tuv+CAB[xi][yi]))”と“1-exp(-CAB[xi][yi])”とを入力値として用いて,“-[1-exp(-CAB[xi][yi])-{1-exp(-(Dz×Tuv+CAB[xi][yi]))}]”,すなわち,“exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))”を計算する加算器(68)と;前記“exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))”と前記LightFactorとを入力値として用いて,“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor”を計算するた乗算器(69)と;前記“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor”と前記(Rp,Gp,Bp)とを入力値として用いて,ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)を計算する乗算器(70)と;前記ベクトル値“[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)”及び 前記(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を用いて,ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)+(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を計算する加算器(71)と;を具備する,上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,デバイス座標(xi,yi),減衰密度Dz及び及びテクスチャ値Tuvにより定義される粒子の位置を得るための手段と;デバイス座標(xi,yi)に関連して蓄積された粒子の密度を記憶するための手段と,前記蓄積密度,前記減衰密度Dz,及び前記テクスチャ値Tuvを用いて,修正された蓄積密度を計算するための手段と;前記修正された蓄積密度を用いて,蓄積密度を記憶するための手段の蓄積密度を書き換えるための手段と;を含む,3次元コンピュータグラフィックスに用いられる蓄積密度を計算するためのシステムに関する。このシステムは,基本的には,デバイス座標(xi,yi),減衰密度Dz及び及びテクスチャ値Tuvがこのシステムに入力される。すると,入力された座標(xi,yi)値を用いて,蓄積された粒子の密度(CAB[xi][yi])を読み出して,例えば,CAB[xi][yi]+DzxTuvを計算し,これを修正された蓄積密度(CAB[xi][yi])として,蓄積された粒子の密度を記憶するための手段に記憶する。この修正された蓄積密度は,適宜読み出されて,他の回路に出力され,3DCGのために用いられる。
第3の側面に係るシステムの好ましい上記とは別の態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)により実装され;前記修正された蓄積密度を計算するための手段は,新たな蓄積密度CAB[xi][yi]+DzxTuvを得るために,乗算器(64)により前記蓄積密度Dz及び前記テクスチャ値Tuvを用い,DzxTuvを計算し,加算器(66)により前記CAB[xi][yi]及び前記DzxTuvを用いて,CAB[xi][yi]+DzxTuvを計算し;前記蓄積密度を記憶するための手段の蓄積密度を書き換えるための手段が,前記新たな蓄積密度を用いて,前記蓄積密度を書き換える;上記いずれかに記載のシステムに関する。
第3の側面に係るシステムの好ましい上記とは別の態様は,ガス状物体を粒子の集合として描画するために用いられる上記いずれかに記載されるシステムに関する。
上記第3の側面に係るシステムの好ましい利用態様は,コンピュータ用のチップとして実装されるものである。
上記第3の側面に係るシステムの好ましい利用態様は,コンピュータ用の回路として実装されるものである。
上記第3の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するコンピュータである。
上記第3の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するゲーム機である。
上記第3の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備する携帯電話である。
上記第3の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するナビゲーションシステムである。
上記第3の側面に係るシステムの好ましい利用態様は,上記いずれかに記載されるシステムを具備するスロットマシーンである。
図5は,第3の側面に係るシステムを示すブロック図である。図5に示されるように,第3の側面に係るシステムを実現する回路は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)と,座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を記憶する3つのバッファIRed(61),IGreen(62)及びIBlue(63)と,加算器(66)と,1-exp(-x)テーブル(67a,67b)と,加算器(減算器)(68)と,乗算器(69)と,乗算器(70)と,加算器(71)とを具備する。図中,72〜84はラインを示し,好ましくはバスとして実装される。
この回路には,ライン(72)を通して,座標(xi,yi)がバッファ(60〜64)に入力され,ライン(73)を通して,たとえば図4に示す回路で求められたDZが乗算器(64)に入力され,ライン(74)を通して,Tuvが乗算器(64)に入力され,ライン(83)を通して,たとえば図3に示す回路により求められたライトファクタが乗算器(69)に入力され,ライン(84)を通して,ガス状物体を構成する粒子のRGBであるRGB粒子色(Rp,Gp,Bp)が乗算器(70)に入力される。この回路に入力される各値は,シェーディング段階で求められてもよいし,上記した第1の側面に係るシステム,又は第2の側面に係るシステムにより求められて,図4に示す回路に入力されてもよい。
CAB(60)は,座標(xi-,yi)と関連して蓄積密度CAB[xi][yi]を保存するためのバッファ(カメラバッファ)である。ライン(72)を通して,座標(xi,yi)がバッファ(60)に入力されると,その入力された座標に対応する蓄積密度CAB[xi][yi]を読み出して,ライン(77及び78)に出力し,その出力は,テーブル(67b)及び加算器(66)にそれぞれ届けられる。
IRed(61),IGreen(62)及びIBlue(63)は,それぞれ座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を記憶する3つのバッファ(カメラバッファ)である。ライン(72)を通して,座標(xi,yi)がバッファ(61〜64)に入力されると,その入力された座標に対応する蓄積密度IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]をそれぞれのバッファが読み出して,ライン(80)に出力し,その出力は,加算器(71)にそれぞれ届けられる。
乗算器(64)には,ライン(73)を通して入力されるDZ及び,ライン(74)を通して入力されるTuvを,入力値である,前記減衰密度Dzと前記テクスチャ値Tuvとを用いて“Dz×Tuv”を計算する。その出力は,ライン(76)を通して,加算器(66)に伝えられる。
加算器(66)は,ライン(76)を通して,入力される“Dz×Tuv”と前記バッファCAB(60)から伝えられるCAB[xi][yi]とを用いて“Dz×Tuv+CAB[xi][yi]”を計算し,出力する。その出力はテーブル(67a)に伝えられる他,ライン(81)を通して,バッファCAB(60)に伝えられる。
1-exp(-x)テーブル(67a)は,加算器(66)から伝えられる“Dz×Tuv+CAB[xi][yi]”を入力として用いて,“1-exp(-(Dz×Tuv+CAB[xi][yi]))”を読み出し,出力する。その出力は,加算器(68)に伝えられる。
1-exp(-x)テーブル(67b)は,CAB(60)から伝えられるCAB[xi][yi]を入力として用いて1-exp(-CAB[xi][yi])を読み出し,出力する。その出力は,加算器(68)へ伝えられる。
加算器(68)は,“1-exp(-(Dz×Tuv+CAB[xi][yi]))”と“1-exp(-CAB[xi][yi])”とを入力値として用いて,“-[1-exp(-CAB[xi][yi])-{1-exp(-(Dz×Tuv+CAB[xi][yi]))}]” すなわち,“exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))”を計算し,出力する。その計算の際,“1-exp(-CAB[xi][yi])”の符号が反転され,加算されればよい。その出力は,乗算器(69)へ伝えられる。
乗算器(69)は,“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}”と前記LightFactorとを入力値として用いて,“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor”を計算し,出力する。出力は,乗算器(70)へと伝えられる。
乗算器(70)は,前記“{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor”と前記(Rp,Gp,Bp)とを入力値として用いて,ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)を計算し,出力する。出力は,加算器(71)へと伝えられる。
加算器(71)は,前記ベクトル値“[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)”及び前記(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を用いて,ベクトル値[{exp(-CAB[xi][yi])-exp(-(Dz×Tuv+CAB[xi][yi]))}×LightFactor]×(Rp,Gp,Bp)+(IRed[xi][yi],IGreen[xi][yi],IBlue[xi][yi])を計算し,出力する。出力は,バッファ(61〜63)へと伝えられる。それぞれのバッファは,この値を受けて,IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を更新する。
[第4の側面に係るシステム]
第4の側面に係るシステムは,レンダリングシステムに関する。このシステムは次式IV又は次式Vに基づく。そして,本側面においては,上記した各側面に係るシステム及びそれらの好ましい態様に係るシステムを適宜用いることができる。
[IV]
式中,CAB[xi][yi]は蓄積密度, IRed[xi][yi], IGreen[xi][yi]及びIBlue[xi][yi]は,前記式IIIに基づいて計算される前記デバイス座標 (xi,yi) に関連するイリュミネーションファクタである。
[V]
式中,IRg, IGg及びIBgは上記式IVに従って求められる。Rg, Gg 及びBgは,それぞれガス状物体のRGBカラーである。RAmbient, GAmbient 及びBAmbientは,それぞれRGBの背景色である。Agは上記式Vで定義される,いわゆるアルファ値であり, AttZは距離に基づく減衰要素であり,CAB[xi][yi]は前記式IIIで定義される蓄積密度である。
第4の側面に係るシステムは,基本的には,粒子のRGBイリュミネーションファクタであるIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]と,蓄積密度CAB[xi][yi]とを得るための手段と;前記CAB[xi][yi]を入力として,1-exp(-CAB[xi][yi])を求めるための1-exp(x) テーブルと;前記1-exp(-CAB[xi][yi])を入力として,1/{1-exp(-CAB[xi][yi])}を求めるための逆数テーブルと;前記IRed[xi][yi],前記IGreen[xi][yi],及び前記IBlue[xi][yi]と,前記1/{1-exp(-CAB[xi][yi])}とを用いて,上記式[IV]で定義されるIRg, IGg 及びIBgを求めるための乗算器と;を具備する,蓄積密度とRGBイルミネーションファクタとで表現された粒子の集合体として表現されるガス状物体を,RGB色に変換するために,上記式[IV]で定義されるIRg, IGg 及びIBgを求めるための,3次元コンピュータグラフィックスに用いられるシステムに関する。このシステムは,座標(xi,yi)を受取り,IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]と,蓄積密度CAB[xi][yi]とを読み出して用いてもよい。また,IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]と,蓄積密度CAB[xi][yi]が入力されてもよい。そして,CAB[xi][yi]を用いて,1-exp(x) テーブルから,1-exp(-CAB[xi][yi])を読み出す。そして,読み出した1-exp(-CAB[xi][yi])を用いて,逆数テーブルから,1/{1-exp(-CAB[xi][yi])}をえる。そして,得られた1/{1-exp(-CAB[xi][yi])}と,IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]とをそれぞれ乗算することで,IRg, IGg 及びIBgを求めることができる。
第4の側面に係るシステムの好ましい態様は,前記1-exp(x) テーブル及び前記逆数テーブルの替わりに,前記CAB[xi][yi]を用いて1/{1-exp(-CAB[xi][yi])}を求めるための1/(1-exp(x))テーブルか,又は exp(x)テーブル及び加減算器及び逆数テーブルを具備する上記に記載のシステムに関する。1/{1-exp(-CAB[xi][yi])}テーブルを用いれば,CAB[xi][yi]を用いて,直接1/{1-exp(-CAB[xi][yi])}の値を読み出すことができる。一方,exp(x)テーブルを用いて,exp(-CAB[xi][yi])}を読み出し,加減算器に1及びexp(-CAB[xi][yi])}を入力し,1-exp(-CAB[xi][yi])}を求め,逆数テーブルにより1/{1-exp(-CAB[xi][yi])}の値を求めてもよい。
第4の側面に係るシステムの好ましい上記とは別の態様は,前記RGBイリュミネーションファクタであるIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を得るための手段は, デバイス座標(xi-,yi) ,減衰密度Dz,テクスチャ値Tuv,ライトファクタLightFactor及び粒子のRGB色(Rp,Gp,及びBp)で定義される粒子の位置を得るための手段と;デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段と;前記取得されたデバイス座標(xi-,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記ライトファクタLightFactor,前記粒子のRGB色(Rp,Gp,及びBp),及び前記蓄積密度を用いて,RGBイリュミネーションファクタを計算するための手段と;を含む上記いずれかに記載のシステムに関する。
第4の側面に係るシステムの好ましい上記とは別の態様は,前記デバイス座標(xi-,yi)と関連して蓄積密度を保存するための手段は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)により実装され;前記RGBイリュミネーションファクタを計算するための手段は,前記蓄積密度CAB[xi][yi]を得て,前記デバイス座標(xi-,yi),前記減衰密度Dz,前記テクスチャ値Tuv,前記ライトファクタLightFactor,前記粒子のRGB色(Rp,Gp,及びBp),及び前記蓄積密度CAB[xi][yi]を用いて,デバイス座標(xi-,yi)と関連する上記式[III]で示されるRGBイリュミネーションファクタ(IRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi])を計算する;上記いずれかに記載のシステムに関する。
第4の側面に係るシステムの好ましい上記とは別の態様は,式[IV]で示される係数であるIRg, IGg 及びIBgを得るための手段と;RGBアンビエントカラーRAmbient, GAmbient 及びBAmbientを定義するための手段と;前記IRg, 前記IGg 及び前記IBgを用いて1-IRg, 1-IGg及び1-IBgを計算するための加算器(又は除算器)と;前記1-IRg, 前記1-IGg 及び前記1-IBg並びに前記RAmbient,前記GAmbient 及び前記BAmbient gを入力として用いて(1-IRg)xRAmbient, (1-IGg)xGAmbient 及び (1-IBg)xBAmbientを計算するための乗算器と;前記IRg, 前記IGg及び前記IBg並びに前記(1-IRg)xRAmbient, 前記(1-IGg)xGAmbient 及び前記(1-IBg)xBAmbientを入力として用いてIRg+(1-IRg)xRAmbient, IGg+(1-IGg)xGAmbient及びIBg+ (1-IBg)xBAmbientを計算するための加算器と;を具備する蓄積密度とRGBイルミネーションファクタとで表現された粒子の集合体として定義されるガス状物体を,ガス状物体のRGB色であるRg, Gg及び Bgに変換するための3次元コンピュータグラフィックスに用いられるシステムに関する。これにより,下記[Va] で示される値が求められる。
[Va]
第4の側面に係るシステムの好ましい上記とは別の態様は,前記IRg,IGg及びIBgを得るための手段は,粒子のRGBイリュミネーションファクタであるIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]と,蓄積密度CAB[xi][yi]とを得るための手段と;前記CAB[xi][yi]を入力として,1-exp(-CAB[xi][yi])を求めるための1-exp(x) テーブルと; 前記1-exp(-CAB[xi][yi])を入力として,1/{1-exp(-CAB[xi][yi])}を求めるための逆数テーブルと;前記IRed[xi][yi], 前記IGreen[xi][yi],及び前記IBlue[xi][yi]と,前記1/{1-exp(-CAB[xi][yi])}とを用いて,前記IRg, 前記IGg 及び前記IBgを求めるための乗算器と;を具備する,上記いずれかに記載のシステムに関する。
第4の側面に係るシステムの好ましい上記とは別の態様は,ガス状物体に含まれるすべてのピクセル(又は断片)座標(xi-,yi)をサンプリングするための手段と;距離に応じた減衰係数DAttを定義するための手段と;RGBアンビエントカラーRAmbient, GAmbient 及びBAmbienを定義するための手段と;前記断片(xi-,yi)に関連した蓄積密度にアクセスするための手段と;前記断片(xi-,yi)に関連したイリュミネーションファクタIRed[xi][yi], IGreen[xi][yi], 及びIBlue[xi][yi]にアクセスするための手段と;前記イリュミネーションファクタをRGB色に変換するための手段と;前記距離に応じた減衰係数に基づいて前記蓄積密度を減衰するための手段と;前記蓄積密度をアルファ値に変換するための手段と;RGBA色を他のRGBA色と組み合わせるための手段と;具備する,蓄積密度とRGBイルミネーションファクタとで表現された粒子の集合体として定義されるガス状物体を,RGBA色に変換するための3次元コンピュータグラフィックスに用いられるシステムに関する。
第4の側面に係るシステムの好ましい上記とは別の態様は,座標(xi-,yi)と関連してガス状物体の蓄積密度CAB[xi][yi]を記憶するための手段CAB(60)と;前記座標(xi,yi)と関連して粒子のRGBイリュミネーションファクタを記憶するための手段IRed(61),IGreen(62),及びIBlue(63)と;ガス状物体に含まれるすべてのピクセル(又は断片)座標(xi-,yi)をサンプリングするための手段と;前記断片座標(xi-,yi)に関連した蓄積密度CAB[xi][yi]を取得するための手段と;前記フラグメント座標(xi,yi)と関連したRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi]及びIBlue[xi][yi]を取得するための手段と;前記CAB[xi][yi]を入力として,1/(1-exp(-CAB[xi][yi]))を求めるための手段と;前記“1/(1-exp(-CAB[xi][yi]))”と前記IRed[xi][yi], IGreen[xi][yi], 及びIBlue[xi][yi]とを入力値としてベクトル値である“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”を求めるための手段と;前記“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”を入力値として用いて“(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}”を計算するための手段と;前記(RAmbient, GAmbient, BAmbient)と前記[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]とを入力値として用いて“(RAmbient, GAmbient, BAmbient) ×[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]”を計算するための手段と;前記(RAmbient, GAmbient, BAmbient) ×((1,1,1)-1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])]と前記{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}とを入力値として用いて“(RAmbient, GAmbient, BAmbient) ×((1,1,1)-1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])]+ {1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}”を計算するための手段と;前記CAB[xi][yi]と前記DAttとを入力値として用いて“CAB[xi][yi] ×DAtt”を計算するための手段と;前記CAB[xi][yi] ×DAttを入力値として用いて“1-exp(-CAB[xi][yi] ×DAtt)”を計算するための手段と;前記出力されたベクトル値と表面物体像とを結合させるための手段と;を具備する,3次元コンピュータグラフィックスに用いられるシステムに関する。
第4の側面に係るシステムの好ましい上記とは別の態様は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するためのバッファCAB(60)と;前記座標(xi,yi)と関連して粒子のRGBイリュミネーションファクタを記憶するための3つのバッファIRed(61),IGreen(62),及びIBlue(63)と;ガス状物体に含まれるすべてのピクセル(又は断片)座標(xi-,yi)をサンプリングするための手段と;前記CAB[xi][yi]を入力として,1/(1-exp(-CAB[xi][yi]))を求めるための1/(1-exp(-x))テーブルと;前記“1/(1-exp(-CAB[xi][yi]))”と前記IRed[xi][yi], IGreen[xi][yi], 及びIBlue[xi][yi]とを入力値としてベクトル値である“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”を求めるための乗算器と;前記“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”を入力値として用いて“(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}”を計算するための加算器と;前記(RAmbient, GAmbient, BAmbient)と前記[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]とを入力値として用いて“(RAmbient, GAmbient, BAmbient,) ×[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]”を計算するための乗算器と;前記(RAmbient, GAmbient, BAmbient) ×((1,1,1)-1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])]と前記{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}とを入力値として用いて“(RAmbient, GAmbient, BAmbient) ×((1,1,1)-1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])]+ {1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}”を計算するための乗算器と;前記CAB[xi][yi]と前記DAttとを入力値として用いて“CAB[xi][yi] ×DAtt”を計算するための乗算器と;前記CAB[xi][yi] ×DAttを入力値として用いて“1-exp(-CAB[xi][yi] ×DAtt)”を計算するための1-exp(-x)テーブルと;前記出力されたベクトル値と表面物体像とを結合させるための手段と;を具備する,3次元コンピュータグラフィックスに用いられるシステムに関する。
図6は,第4の側面に係るシステムを示すブロック図である。図6に示されるように,第4の側面に係るシステムを実現する回路は,座標(xi-,yi)と関連して粒子の蓄積密度CAB[xi][yi]を記憶するバッファCAB(60)と,座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を記憶する3つのバッファIRed(61),IGreen(62)及びIBlue(63)と,1-exp(-x)テーブル(101)と1/(1-exp(-x))テーブル(102)と,加算器(104,106)と,乗算器(100,103,105)を具備する。図中,109〜114はラインを示し,好ましくはバスとして実装される。
この回路には,ライン(107)を通して,座標(xi,yi)がバッファ(60〜64)に入力され,ライン(111)を通して,RGBアンビエントカラーRAmbient, GAmbient及びBAmbientが乗算器(105)に入力され,距離に応じた減衰係数DAttが乗算器(100)に入力される。そして,RGBアンビエントカラーRAmbient, GAmbient 及びBAmbientは,図示しない定義手段により定義されるか,又は適宜求められて,回路に入力される。また,距離に応じた減衰係数DAttは,距離に応じた減衰係数DAttを定義するための手段により定義されるか,又は適宜求められて,回路に入力される。
CAB(60)は,座標(xi-,yi)と関連して蓄積密度CAB[xi][yi]を保存するためのバッファ(カメラバッファ)である。なお,蓄積密度CAB[xi][yi]は,好ましくは上記した第3の側面に係るシステムにより修正(更新)された値とされる。そして,ライン(107)を通して,座標(xi,yi)がバッファ(60)に入力されると,その入力された座標に対応する蓄積密度CAB[xi][yi](好ましくは上記した第3の側面に係るシステムにより修正(更新)された値)を読み出して,ライン(109及び91)に出力し,その出力は,テーブル(102)及び乗算器(100)にそれぞれ届けられる。
IRed(61),IGreen(62)及びIBlue(63)は,それぞれ座標(xi,yi)に関連して粒子のRGBイリュミネーションファクタIRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]を記憶する3つのバッファ(カメラバッファ)である。なお,IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi]は,好ましくは上記した第3の側面に係るシステムにより修正(更新)された値とされる。ライン(107)を通して,座標(xi,yi)がバッファ(61〜64)に入力されると,その入力された座標に対応する蓄積密度IRed[xi][yi],IGreen[xi][yi],及びIBlue[xi][yi] (好ましくは上記した第3の側面に係るシステムにより修正(更新)された値)をそれぞれのバッファが読み出して,ライン(110)に出力し,その出力は,乗算器(103)にそれぞれ届けられる。
1/(1-exp(-x))テーブル(102)は,CAB[xi][yi]を入力として,1/(1-exp(-CAB[xi][yi]))を読み出して,出力する。出力は,ライン(112)を通して,乗算器(103)に伝えられる。
乗算器(103)は,1/(1-exp(-x))テーブル(102)からの“1/(1-exp(-CAB[xi][yi]))”と,バッファ(61〜63)からのIRed[xi][yi], IGreen[xi][yi], 及びIBlue[xi][yi]とを入力値として,ベクトル値である“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”を求め,出力する。出力は,ライン(113)を通して,加算器(104)に伝えられる他,ライン(114)を通して,加算器(106)へ伝えられる。
加算器(104)は,乗算器(103)からの“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”と,(1,1,1)とを入力値として用いて“(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}”を計算し,出力する。出力は,ライン(112)を通して,乗算器(105)に伝えられる。
乗算器(105)は,ライン(111)を通して入力される(RAmbient, GAmbient, BAmbient)と前記[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]とを入力値として用いて“(RAmbient, GAmbient, BAmbient) ×[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]”を求め,出力する。出力は,ライン(115)を通して,加算器(106)に伝えられる
加算器(106)は,ライン(114)を通じて入力される乗算器(103)の出力である“{1/(1-exp(-CAB[xi][yi]))} × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])”と,
ライン(115)を通じて入力される乗算器(105)の出力である“(RAmbient, GAmbient, BAmbient) ×[(1,1,1)-{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}]”とを受け取り,前記(RAmbient, GAmbient, BAmbient) ×((1,1,1)-1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])]と前記{1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}とを入力値として用いて“(RAmbient, GAmbient, BAmbient) ×((1,1,1)-1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])]+ {1/(1-exp(-CAB[xi][yi])) × (IRed[xi][yi], IGreen[xi][yi], IBlue[xi][yi])}”を求め,出力する。出力は,ガス状物体のRGB色として,出力され,図示しないフレームバッファなどに伝えられ,ガス状物体を表現するために用いられる。
一方,乗算器(100)は,ライン(91)を通じて入力された前記CAB[xi][yi]と,前記DAttとを入力値として用いて“CAB[xi][yi] ×DAtt”を出力する。出力は,ライン(106)を通して,テーブル(101)に伝えられる
1-exp(-x)テーブル(101)は,ライン(108)を通して,乗算器(100)からの“CAB[xi][yi] ×DAtt”を受け取り,CAB[xi][yi] ×DAttを入力値として用いて“1-exp(-CAB[xi][yi] ×DAtt)”を読み出し,出力する。この値はいわゆるアルファ値として,不透明さなどを表現するために用いられる。
上記した回路を用いることで,変換後のガス状物体を表面物体に関する像と結合させるために,蓄積密度,RGBイルミネーションファクタとで表現された粒子の集合体として定義されるガス状物体を,RGB色,アンビエントカラー,距離に応じた減衰係数DAttを用いたアルファ値を用いた像に変換することができる。
[コンピュータの構成]
図7は,本発明のある実施態様(コンピュータ)を示すブロック図である。この実施態様は,コンピュータグラフィックスによるコンピュータ(グラフィック用コンピュータなど)に関する。図7に示されるとおり,符号100はコンピュータ,符号101は中央演算装置(CPU),符号102はメモリ,符号103は入出力装置(I/O),符号104はグラフィックデバイス,符号105はディスプレイ,符号106はバスをそれぞれ示している。このコンピュータ100は,中央演算装置(CPU)101
,ジオメトリ演算回路などのジオメトリ演算部,レンダラーなどの描画部,テクスチャ生成回路などのテクスチャ生成部,照光処理回路などの照光処理部,表示回路などの表示情報作成部,フレームバッファ,及びモニターを具備する。これらの要素は,バス106などにより接続され,相互にデータを伝達できる。そのほか,図示しないメインメモリや,各種テーブル,ワーク領域となるワークメモリ,テクスチャを格納するテクスチャメモリなどを具備する記憶部などを有しても良い。各部を構成するハードウェアは,例えばバス106などを介して連結されている。なお,記憶部は,VRAMなどのRAMや,CR−ROM,DVD,ハードディスクなどにより構成されても良い。
中央演算装置(CPU)101は,画像を生成するためのプログラムなどを制御するための装置である。ワークメモリは,CPU101で使用するデータ及びディスプレイリストなどを記憶してもよい。そして,CPU101は,メインメモリに記憶されたプログラムなどを読み出して,所定の処理を行ってもよい。ただし,ハードウェア処理のみにより所定の処理を行っても良い。CPU101は,たとえばワークメモリから,ワールド座標の3次元オブジェクトデータとしてのポリゴンデータを読出し,ポリゴンデータをジオメトリ演算回路へ出力する。具体的には,メインプロセッサ,コプロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などを適宜有するものがあげられる。これらはバス106などにより連結され,信号の授受が可能とされる。また,圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
ジオメトリ演算回路は,入力されたポリゴンデータに対して,視点を原点とする視点座標系のデータに座標変換などを行うための回路である。ジオメトリ演算回路は,処理したポリゴンデータを,レンダラーへ出力する。具体的なジオメトリ演算回路として,前記メインプロセッサとバス106などで連結された,ジオメトリプロセッサ,コプロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
レンダラーは,ポリゴン単位のデータをピクセル単位のデータに変換するための回路又は装置である。レンダラーは,ピクセル単位のデータをテクスチャ生成回路へ出力する。具体的なレンダラーとして,前記メインプロセッサとバス106などで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
テクスチャ生成回路は,テクスチャメモリに記憶されるテクスチャデータに基づき,ピクセル単位のテクスチャカラーを生成するための回路である。テクスチャ生成回路は,テクスチャカラー情報を有するピクセル単位のデータを,照光処理回路へ出力する。具体的なテクスチャ生成回路として,前記メインプロセッサとバス106などで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
照光処理回路は,テクスチャカラー情報を有するポリゴンに対し,ピクセル単位で法線ベクトル,重心座標などを利用して陰影付けなどを行うための回路である。照光処理回路は,陰影付けした画像データを,表示回路へ出力する。具体的な照光処理回路として,前記メインプロセッサとバス106などで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。そして,メモリ102に格納されたテーブルなどから適宜光に関する情報を読み出して陰影付けを行えばよい。
表示回路は,照光処理回路から入力された画像データをフレームバッファに書き込み,またフレームバッファに書き込まれた画像データを読み出し,制御して表示画像情報を得るための回路である。表示回路は,表示画像情報をモニターへ出力する。具体的な表示回路として,前記メインプロセッサとバス106などで連結された描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
モニターは,入力された表示画像情報にしたがって,コンピュータグラフィックス画像を表示するための装置である。
本発明のコンピュータは,照光処理回路などの照光処理部に,本発明の画像生成装置を具備するので,シェーディング画像などを効果的に生成できる。
[コンピュータの動作]
以下,コンピュータ100を用いて画像を生成する動作例を説明する。CPU101は,ワークメモリから,ポリゴンデータを読出し,ポリゴンデータをジオメトリ演算回路へ出力する。ジオメトリ演算回路は,入力されたポリゴンデータに対して,視点を原点とする視点座標系のデータに座標変換するなどの処理を行う。ジオメトリ演算回路は,処理したポリゴンデータを,レンダラーへ出力する。レンダラーは,ポリゴン単位のデータをピクセル単位のデータに変換する。レンダラーは,ピクセル単位のデータをテクスチャ生成回路へ出力する。テクスチャ生成回路は,テクスチャメモリに記憶されるテクスチャデータに基づき,ピクセル単位のテクスチャカラーを生成する。テクスチャ生成回路は,テクスチャカラー情報を有するピクセル単位のデータを,照光処理回路へ出力する。照光処理回路は,テクスチャカラー情報を有するポリゴンに対し,ピクセル単位で法線ベクトル,重心座標などを利用して陰影付けを行う。照光処理回路は,陰影付けした画像データを,表示回路へ出力する。表示回路は,照光処理回路から入力された画像データをフレームバッファに書き込み,またフレームバッファに書き込まれた画像データを読み出し,表示画像情報を得る。表示回路は,表示画像情報をモニターへ出力する。モニターは,入力された表示画像情報にしたがって,コンピュータグラフィックス画像を表示する。
本発明のコンピュータは,照光処理回路などの照光処理部に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができるので,高速に陰影などを演算することができる。
[ゲーム機の構成]
図8は,本発明のある実施形態(ゲーム機)のブロック図である。このブロック図で表される実施形態は,特に携帯用,家庭用又は業務用のゲーム機として好適に利用されうる。そこで,以下では,ゲーム機として説明する。なお,同図に示されるゲーム機は,少なくとも処理部200を含めばよく(又は処理部200と記憶部270,又は処理部200と記憶部270と情報記憶媒体280を含んでもよく),それ以外のブロック(例えば操作部260,表示部290,音出力部292,携帯型情報記憶装置294,通信部296)については,任意の構成要素とすることができる。
処理部200は,システム全体の制御,システム内の各ブロックへの命令の指示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。処理部200の機能は,各種プロセッサ(CPU,DSP等),又はASIC(ゲートアレイ等)などのハードウェアや,所与のプログラム(ゲームプログラム)により実現できる。
操作部260は,プレーヤが操作データを入力するためのものである。操作部260は,の機能は,例えば,レバー,ボタン,外枠,及びハードウェアを備えたコントローラにより実現できる。なお,特に携帯用ゲーム機の場合は,操作部260は,ゲーム機本体と一体として形成されても良い。コントローラからの処理情報は,シリアルインターフェース(I/F)やバスを介してメインプロセッサなどに伝えられる。
記憶部270は,処理部200や通信部296などのワーク領域となるものである。また,プログラムや各種テーブルなどを格納しても良い。記憶部270は,例えば,メインメモリ272,フレームバッファ274,及びテクスチャ記憶部276を含んでもよく,そのほか各種テーブルなどを記憶しても良い。記憶部270の機能は,ROMやRAMなどのハードウェアにより実現できる。 RAMとして,VRAM,DRAM又はSRAMなどがあげられ,用途に応じて適宜選択すればよい。フレームバッファ274を構成するVRAMなどは,各種プロセッサの作業領域として用いられる。
情報記憶媒体(コンピュータにより使用可能な記憶媒体)280は,プログラムやデータなどの情報を格納するものである。情報記憶媒体280は,いわゆるゲームカセットなどとして販売されうる。そして,情報記憶媒体280の機能は,光ディスク(CD,DVD),光磁気ディスク(MO),磁気ディスク,ハードディスク,磁気テープ,又はメモリ(ROM)などのハードウェアにより実現できる。処理部200は,この情報記憶媒体280に格納される情報に基づいて種々の処理を行う。情報記憶媒体280には,本発明(本実施形態)の手段(特に処理部200に含まれるブロック)を実行するための情報(プログラム又はプログラム及びデータ)が格納される。なお,上記記憶部にプログラムやデータなどの情報を格納した場合は,情報記憶媒体280は必ずしも必要ない。情報記憶媒体280に格納される情報の一部又は全部は,例えば,システムへの電源投入時等に記憶部270に転送されることになる。また,情報記憶媒体280に記憶される情報として,所定の処理を行うためのプログラムコード,画像データ,音データ,表示物の形状データ,テーブルデータ,リストデータ,本発明の処理を指示するための情報,その指示に従って処理を行うための情報等の少なくとも2つを含むものがあげられる。
表示部290は,本実施形態により生成された画像を出力するものであり,その機能は,CRT(ブラウン管),LCD(液晶),OEL(有機電界発光素子),PDP(プラズマディスプレイパネル)又はHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
音出力部292は,音を出力するものである。音出力部292の機能は,スピーカなどのハードウェアにより実現できる。音出力は,例えばバスを介してメインプロセッサなどと接続されたサウンドプロセッサにより,音処理が施され,スピーカなどの音出力部から出力される。
携帯型情報記憶装置294は,プレーヤの個人データやセーブデータなどが記憶されるものである。この携帯型情報記憶装置294としては,メモリカードや携帯型ゲーム装置などがあげられる。携帯型情報記憶装置294の機能は,メモリカード,フラッシュメモリ,ハードディスク,USBメモリなど公知の記憶手段により達成できる。
通信部296は,外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行う任意のものである。通信部296の機能は,各種プロセッサ,又は通信用ASICなどのハードウェアや,プログラムなどにより実現できる。
ゲーム機を実行するためのプログラム又はデータは,ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部296を介して情報記憶媒体280に配信するようにしてもよい。
処理部200は,ゲーム処理部220,画像処理部230,及び音処理部250を含むものがあげられる。具体的には,メインプロセッサ,コプロセッサ,ジオメトリプロセッサ,描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。これらは適宜バスなどにより連結され,信号の授受が可能とされる。また,圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
ここでゲーム処理部220は,コイン(代価)の受け付け処理,各種モードの設定処理,ゲームの進行処理,選択画面の設定処理,オブジェクトの位置や回転角度(X,Y又はZ軸回り回転角度)を求める処理,オブジェクトを動作させる処理(モーション処理),視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理,マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理,ヒットチェック処理,ゲーム結果(成果,成績)を演算する処理,複数のプレーヤが共通のゲーム空間でプレイするための処理,又はゲームオーバー処理などの種々のゲーム処理を,操作部260からの操作データや,携帯型情報記憶装置294からの個人データ,保存データや,ゲームプログラムなどに基づいて行う。
画像処理部210は,ゲーム処理部220からの指示等にしたがって,各種の画像処理を行うものである。また,音処理部250は,ゲーム処理部220からの指示等にしたがって,各種の音処理を行う。
ゲーム処理部220,画像処理部210,音処理部250の機能は,その全てをハードウェアにより実現してもよいし,その全てをプログラムにより実現してもよい。又は,ハードウェアとプログラムの両方により実現してもよい。画像処理部210は,ジオメトリ演算部232(3次元座標演算部),描画部240(レンダリング部)を含むものがあげられる。
ジオメトリ演算部232は,座標変換,クリッピング処理,透視変換,又は光源計算などの種々のジオメトリ演算(3次元座標演算)を行う。そして,ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)は,例えば,記憶部270のメインメモリ272に格納されて,保存される。
描画部240は,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記憶部276に記憶されるテクスチャなどに基づいて,オブジェクトをフレームバッファ274に描画する。
描画部240は,例えば,テクスチャマッピング部242,シェーディング処理部244を含むものがあげられる。具体的には,描画プロセッサにより実装できる。描画プロセッサは,テクスチャ記憶部,各種テーブル,フレームバッファ,VRAMなどとバスなどを介して接続され,更にディスプレイと接続される。
テクスチャマッピング部242は,環境テクスチャをテクスチャ記憶部276から読み出し,読み出された環境テクスチャを,オブジェクトに対してマッピングする。
シェーディング処理部244は,オブジェクトに対するシェーディング処理を行う。例えば,ジオメトリ処理部232が光源計算を行い,シェーディング処理用の光源の情報や,照明モデルや,オブジェクトの各頂点の法線ベクトルなどに基づいて,オブジェクトの各頂点の輝度(RGB)を求める。シェーディング処理部244は,この各頂点の輝度に基づいて,プリミティブ面(ポリゴン,曲面)の各ドットの輝度を例えば,ホンシェーディングや,グーローシェーディングなどにより求める。
ジオメトリ演算部232は,法線ベクトル処理部234を含むものがあげられる。法線ベクトル処理部234は,オブジェクトの各頂点の法線ベクトル(広義にはオブジェクトの面の法線ベクトル)を,ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行ってもよい。
本発明のゲーム機は,たとえば,シェーディング処理部244に,本発明の画像生成装置を具備する。
[ゲーム機の基本動作]
システムの電源がONになると,情報記憶媒体280に格納される情報の一部又は全部は,例えば,記憶部270に転送される。そして,ゲーム処理用のプログラムが,例えばメインメモリ272に格納され,様々なデータが,テクスチャ記憶部276や,図示しないテーブルなどに格納される。
操作部260からの操作情報は,例えば,図示しないシリアルインターフェースやバスを介して,処理部200へ伝えられ,音処理や,様々な画像処理が行われる。音処理部250により処理された音情報は,バスを介して音出力部292へ伝えられ,音として放出される。また,メモリカードなどの携帯型情報記憶装置194に記憶されたセーブ情報なども,図示しないシリアルインターフェースやバスを介して,処理部200へ伝えられ所定のデータが記憶部170から読み出される。
画像処理部230が,ゲーム処理部220からの指示等にしたがって,各種の画像処理を行う。具体的には,ジオメトリ演算部232が,座標変換,クリッピング処理,透視変換,又は光源計算などの種々のジオメトリ演算(3次元座標演算)を行う。そして,ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)は,例えば,記憶部270のメインメモリ272に格納されて,保存される。次に,描画部240が,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記憶部276に記憶されるテクスチャなどとに基づいて,オブジェクトをフレームバッファ274に描画する。
フレームバッファ274に格納された情報は,バスを介して表示部290へ伝えられ,描画されることとなる。このようにして,コンピュータグラフィックを有するゲーム機として機能する。
本発明のゲーム機は,たとえば,シェーディング処理部244に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができるので,高速に陰影などを演算することができる。
[携帯電話機の構成]
図9は,本発明のある実施形態(コンピュータグラフィック機能つき携帯電話機)のブロック図である。このブロック図で表される実施形態は,特に3次元コンピュータグラフィック機能つき携帯電話機,特にゲーム機能付携帯電話や,ナビゲーション機能付形態電話として好適に利用されうる。
図9に示されるように,この携帯電話は,制御部301と,制御部301のためのプログラムや画像データなどが格納され,制御部301や通信部などのワーク領域となるメモリ部302と,無線通信を行うための解読通信機能部303と,静止画や動画を撮影してデジタル信号に変換するCCDカメラなどの任意要素である撮像部304と,画像や文字を表示するためのLCDなどの表示部305と,テンキーや各種機能キーなどを含む操作部306と,音声通話のためのマイクなどの音声入力部307と,レシーバやスピーカなど音を出力するための音声出力部308と,当該携帯電話端末を動作させるための電池309と,電池309を安定化し各機能部へ分配する電源部310を含む。
制御部301は,携帯電話システム全体の制御,システム内の各ブロックへの命令の指示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。制御部301の機能は,各種プロセッサ(CPU,DSP等),又はASIC(ゲートアレイ等)などのハードウェアや,所与のプログラム(ゲームプログラム)により実現できる。
より具体的には,制御部301は,図示しない画像処理部を具備し,画像処理部は,ジオメトリ演算回路などのジオメトリ演算部と,描画部(レンダラー)とを具備する。さらに,テクスチャ生成回路,照光処理回路,又は表示回路などを具備してもよい。更には,先に説明したコンピュータやゲーム機における描画処理回路を適宜具備すればよい。
本発明の携帯電話は,たとえば,描画部(レンダラー)に,本発明の画像生成装置を具備する。
[携帯電話機の動作例]
まず,音声による通信動作について説明する。例えば音声入力部307に入力された音声は,インターフェイスによりデジタル情報に変換され,制御部301によって,所定の処理が施され,解読通信機能部303から無線信号として出力される。また,相手の音情報を受信する場合は,解読通信機能部303が無線信号を受信し,所定の変換処理が施された後,制御部301の制御を受けて,音声出力部308から出力される。
次に,画像を処理するための動作や処理は,基本的には先に説明したコンピュータやゲーム機における動作や処理と同様である。操作部306から,図示しないインターフェイスやバスを介して処理情報が入力されると,例えば,制御部301中の画像処理部の指令に基づき,ジオメトリプロセッサなどが,RAMなどの作業領域,各種テーブルなどを適宜利用し,ジオメトリ演算を行う。さらに,制御部301のレンダラーは,制御部301中の画像処理部の指令に基づき,レンダリング処理を行う。カリング処理やクリッピング処理,アンチエイリアス処理などが適宜施された画像情報は,描画プロセッサにより所定の描画処理を施され,フレームバッファに記憶され,表示部に画像として表示される。このようにして,3次元コンピュータグラフィックスが表示される。
本発明の携帯電話は,たとえば,描画部(レンダラー)に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができるので,高速に陰影などを演算することができる。携帯電話におけるコンピュータグラフィックス,特に3次元コンピュータグラフィックス,のレベルはそれほど高くはないので,本発明のようなシェーディング技術は要求されていないが,あえて本発明の画像生成装置を盛り込むことで,陰影の美しい画像を効果的に表示できることとなる。
[カーナビの構成]
図10は,本発明のある実施形態(ナビゲーションシステム)のブロック図である。このブロック図で表される実施形態は,特に3次元コンピュータグラフィック機能つきカーナビゲーションとして好適に利用されうる。図10に示されるように,このナビゲーションシステムは,GPS部401と,任意要素としての自律測位部402と,地図記憶部403と,制御部404と,表示部405と,任意要素としてのマップマッチング部406とを含むものがあげられる。
GPS部401は,GPS受信機を備え,複数のGPS衛星からの電波を同時に受信して車両の測位データを得るGPS部である。GPS部401は,GPS受信機において受信したデータから車両の絶対位置を得るものであるが,この測位データには車両の位置情報の他に車両の進行方向情報,仰角情報が含まれている。
自律測位部402は,自律型センサを備え,自律型センサの出力データから車両の移動距離,移動方位を算出する自律測位部である。自律型センサとしては,車輪の回転数に応じた信号を検出する車輪側センサ,車両の加速度を検出する加速度センサ,車両の角速度を検出するジャイロセンサなどが含まれる。この例では,ジャイロセンサとして,さらに車両のピッチ動作方向における姿勢角度(以下「ピッチ角」と称する)も検出できる3次元ジャイロセンサが使用されており,したがって,自律測位部402から出力される測位データには車両のピッチ角が含まれている。
地図記憶部403は,2次元地図情報,3次元道路情報,及び3次元建物情報を有するデジタル地図データが記憶された地図記憶部である。地図記憶部403を構成する記憶媒体として,CD−ROM,ハードディスクがあげられる。地図データは,データ量が大きいと読み込み時間を要するため,好ましくは複数のブロックに分割されて記憶される。また,道路情報とは,交差点や屈曲点などの主要な地点(ノード)を示す情報を有したものであってもよく,ノード情報はその地点における座標データなどを備え,道路は各ノードを結ぶ直線(リンク)として近似されてもよい。このシステムでの3次元道路情報とは,ノード情報が3次元の座標データを備えていることを意味している。
制御部404は,GPS部401または自律測位部402から得られた車両の位置情報に基づいて,地図記憶部403から車両の位置が該当する所定領域の地図データを読み出すなど所定の制御を行うためのものである。
表示部405は,測位制御部404により読み出された地図データを表示するためのものである。
マップマッチング部406は,車両の測位データおよび地図データの3次元道路情報を基に,車両の位置を道路上に補正するためのものである。
本発明のカーナビは,たとえば,制御部に幾何演算部と描画部とを具備し,描画部(レンダラー)に,本発明の画像生成装置を具備する。
[カーナビの動作例]
GPS部401が,複数のGPS衛星からの電波を同時に受信し車両の測位データを得る。自律測位部402は,自律型センサの出力データから車両の移動距離,移動方位を算出する。制御部404は,GPS部401または自律測位部402から得られたデータに所定の処理を施して車両の位置情報を得る。そして,車両の位置情報に基づいて,地図記憶部403から車両の位置に関連する所定領域の地図データを読み出す。また,図示しない操作部からの操作情報を受けて表示モードを変え,表示モードに応じた地図データを読み出す。また,制御部404は,位置情報に基づいて,所定の描画処理を行い建物の立体画像,地図の立体画像,車の立体画像などを表示する。さらに,Z値に基づいて,カリング処理などを行う。表示部405が,制御部404により読み出された地図データを表示する。
本発明のカーナビは,たとえば,描画部(レンダラー)に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができる。これにより,本発明のカーナビは,高速に陰影などを演算することができる。カーナビにおけるコンピュータグラフィックス,特に3次元コンピュータグラフィックス,のレベルはそれほど高くはないので,本発明のようなシェーディング技術は要求されていないが,あえて本発明の画像生成装置を盛り込むことで,陰影の美しい画像を効果的に表示できることとなる。
図11は,パチスロ機の主制御回路561を示すブロック図である。図11に示されるとおり,主制御回路561はマイクロコンピュータ(以下,「マイコン」という。)563を主な構成要素とし,これに乱数サンブリングのための回路を加えて構成されている。マイコン563は,予め設定されたプログラムに従って制御動作を行うメインCPU(中央演算処理装置)564と,プログラム(画像演出プログラムなどを含む)や各種のテーブルデータなどを格納しているROM565およびバックアップ機能付き制御RAM(以下,単にRAMと称する)566とを含んで構成されている。
メインCPU564には,基準クロックパルスを発生するクロックパルス発生回路567および分周器568と,一定範囲の乱数を発生する乱数発生器569および発生した乱数の1つを特定するサンプリング回路570とが接続されている。さらに,メインCPU564には,後述する周辺装置(アクチュエータ)との間で信号を授受するI/Oポート571が接続されている。
ここで,R0M565は,入賞確率テーブル,図柄テーブル,入賞シンボル組合せテーブル,シーケンスプログラム,告知演出テーブルおよび演出画像プログラムを格納するように記憶部が区分され,さらに,スタートレバー528を操作(スタート操作)する毎に行われる乱数サンプリングの判定に用いられる確率抽選テーブル,停止ボタンの操作に応じてリールの停止態様を決定するための停止テーブル等が格納されている。
マイコン563からの制御信号により動作が制御される主要なアクチュエータとしては,各リール505506507を回転駆動するステッピングモータ545L,545C,545R,各種ランプ(賭数表示ランプ519521,スタートランプ529,WINランプ530,インサートランプ532),各種表示部(クレジット表示ランプ523,遊技状態表示ランプ524527,ボーナスカウント表示ランプ518,配当枚数表示ランプ522),およびメダルを収納するホッパー572がある。これらはそれぞれモータ駆動回路573,各ランプ駆動回路574,各表示部駆動回路575およびホッパー駆動回路576によって駆動される。これら駆動回路573576は,マイコン563のI/Oポート571を介してメインCPU564に接続されている。
また,マイコン563が制御信号を生成するために必要な入力信号を発生する主な入力信号発生手段としては,メダル投入口から投入されたメダルを検出する投入メダルセンサ531S,スタートレバーの操作を検出するスタートスイッチ528S,前述したBETスイッチ533,およびクレジットメダル精算スイッチ534がある。さらに,フォトセンサからの出力パルス信号を受けて各リール505506507の回転位置を検出するリール位置検出回路577がある。なお,フォトセンサは各リール505507の駆動機構に含まれており,同図では図示されていない。
さらに,上記の入力信号発生手段としては,停止ボタン535537が押されたときに対応するリールを停止させる信号を発生するリール停止信号回路578と,ホッパー572から払い出されるメダル数を計数するメダル検出部572Sと,図示しない払出完了信号発生回路とがある。
また,I/Oポート571には副制御回路581が接続されている。図12は,パチスロ機の副制御回路を示すブロック図である。
副制御回路581は,主制御回路561からの制御指令(コマンド)に基づいて表示装置550の表示制御およびスピーカ582L,582Rからの音の出力制御を実行する。この副制御回路581は,好ましくは,主制御回路561を構成する基板とは別の基板上に構成され,サブマイクロコンピュータ583を主たる構成要素とし,表示装置550の表示制御手段としての画像制御回路591,スピーカ582L,582Rからの出力音を制御する音源IC588,増幅器としてのパワーアンプ589で構成されている。
サブマイクロコンピュータ583は,主制御回路561から送信された制御指令に従って制御動作を行うサブCPU584と,記憶手段としてのプログラムROM585およびワークRAM586とを含む。この例では,副制御回路581は,クロックパルス発生回路,分周器,乱数発生器及びサンプリング回路を備えていないが,サブCPU584の動作プログラム上で乱数サンプリングを実行するように構成されている。
プログラムROM585は,サブCPU584で実行する制御プログラムを格納する。ワークRAM586は,上記制御プログラムをサブCPU584で実行するときの一時記憶手段として構成される。
画像制御回路591は,画像制御CPU592,画像制御プログラムROM594,画像制御ワークRAM593,画像制御IC598,画像ROM596,ビデオRAM597で構成される。
ここで,画像制御CPU592は,サブマイクロコンピュータ583で設定されたパラメータに基づき,画像制御プログラムROM594内に格納する画像制御プログラムに沿って表示装置550での表示内容を決定する。画像制御プログラムROM594は,表示装置550での表示に関する画像制御プログラムや各種選択テーブルを格納する。画像制御ワークRAM593は,上記画像制御プログラムを画像制御CPU592で実行するときの一時記憶手段として構成される。画像制御IC598は,画像制御CPU592で決定された表示内容に応じた画像を形成し,表示装置550に出力する。画像ROM596は,画像を形成するためのドットデータを格納する。ビデオRAM597は,画像制御IC598で画像を形成するときの一時記憶手段として構成される。
なお,主制御回路561からの出力はINポート595を介してサブCPU584に入力され,サブCPU584からの出力はOUTポート590およびINポート595を介して画像制御CPU592に入力される。
次に,本実施の形態のパチスロ機の動作について説明する。遊技者がメダル投入口にメダルを投入すると,投入メダルセンサ531Sから検知信号がメインCPU564へ送られ,メインCPU564はメダルの投入を検知し,賭数に応じた賭数表示ランプ519521が点灯する。遊技者がスタートレバー528を押すと,スタートスイッチ528Sから操作信号がメインCPU564へ伝えられ,メインCPU564はスタートレバー528の操作を検知し,I/Oポート571を介してモータ駆動部573へスタート信号を送り,リール505506507を一斉に回転させる。
また,スタートスイッチ528Sがスタートレバーの操作を検出すると,メインCPU564は乱数発生器569より発生された乱数値をサンプリング回路570により取り込み,取り込んだ乱数値とROM565に格納された判定値とを比較して,当選,落選を決定する内部抽選を行う。その抽選結果はRAM566の所定領域に格納されるが,内部当選すると,当選の種類に応じたフラグがRAM566の所定領域に立てられる。ここで,当該ゲームで立てられたフラグは当該ゲームが終了すると消滅するのが基本であるが,内部当選確率が低いBBやRBに限って,立てられたフラグが対応する図柄が揃って入賞するまで複数ゲームにわたって持ち越される場合がある。
さらに,スタートスイッチ528Sがスタートレバーの操作を検出すると,メインCPU564はROM565から複数ゲームにわたって表示装置550に演出画像を表示するための演出指示コマンドを読み出し,これをI/Oポート571を介して副制御回路581に送出する。なお,メインCPU564は副制御回路581に送出する演出指示コマンドをRAM566の所定領域に保持しておく。
副制御回路581はメインCPU564から入力された演出指示コマンドに従った演出内容の画像を表示装置550に表示し,内部当選の契機となるスタートレバー528の有効な操作毎に入力される演出指示コマンドに従って画像を表示させる。
次にメインCPU564は,RAM566上の内部抽選結果をチェックして,内部抽選の判定結果に対応する停止テーブルを選択決定し,それぞれに対応する停止テーブルをROM565からRAM566上に読み出す。
その後,遊技者が,停止ボタン535556537のいずれかを操作すると,リール停止信号回路578から操作信号がメインCPU564へ伝えられ,メインCPU564はリール位置検出回路577からの各リール505506507の位置とRAM566上の停止テーブルに基づいてリール505506507を停止させる制御を行う。
これにより,内部抽選で当選していない限り,遊技者はどのようなタイミングで停止ボタン535556537を操作しても,当選図柄が揃わないように各リール505506507の停止制御が行われる。一方,内部抽選で当選し且つ,内部当選結果に対応する図柄が揃えられる停止テーブルが選択されている場合,遊技者の停止ボタン535556537の操作タイミング如何によっては内部当選に対応した図柄が揃う停止制御が存在することになる。
すなわち,内部抽選結果が当選の場合には,メインCPU564は引き込み停止制御に基づくストップ信号をモータ駆動部573へ送り,操作された停止ボタン535556537に対応するリール505506507を停止させるが,このとき,このリール505506507上の入賞に係るシンボルが有効な停止ライン上で停止するようなリール停止制御を行う。
内部抽選結果が外れの場合,メインCPU564は,停止ボタン535556537の操作にて,入賞に係るシンボルが有効な停止ライン上で止まらないように,操作された停止ボタン535556537に対応するリール505506507を停止させる。
本発明のパチスロ機は,たとえば,副制御回路581に含まれる画像制御プログラムや画像制御CPUとして,本発明の画像生成装置を具備するので,回路素子などを共有することで,ハードウェア規模を縮減でき,ベクタ・2D・3D画像処理部を一元化することにより,システムが複雑になる事態を防止できる。これにより,無駄なハードウェア・制御処理を少なくすることができる。前記したとおり,開発・製造コスト,消費電力を低減することができるため,パチスロ機などにおいても好適に利用される。
以下,本発明を実施例を用いて具体的に説明する。なお,実施例1で用いた回路は,図3〜図6に示される回路を用いた。この回路に搭載されるチップのゲート数は100,000個より小さい。この回路は,シンプルなので,空間的スペースをセーブできることが示された。
図13から図17は,上記回路を用いた,内部の色分布を用いたガス状物体のレンダリング結果である。本明細書中に記載した回路を用いて,これらの像を得ることができた。図1に示されるチャートに従って,レンダリングを行い,それぞれの像を得るために以下に説明する各工程を行った。たとえば,図13(a)と図13(b)に示す球,又は,図15(a)と図15(b)に示すブロックなどの表面物体を,最初にレンダリングした。
その後,ビルボード粒子の集合体として定義されるガス状物体を求めた。全てのイメージにおいて,ガス状物体はシェーディングされた。ライトバッファに記憶されるシェーディング特性を得るために,本実施例では日本国特許公開公報平2001-188923号公報(特許文献6)に開示される回路を用いた。最初の段階の後,本明細書において提供される回路において,レンダリングを行うために用いられるすべての情報が,光バッファに蓄積された。
シェーディング段階が終わった後に,図1に示されるフローや図に従って,第二の段階が始まる。はじめに,モジュール10,11及び12により,いくつかのライトファクタが計算される。最後のモジュール12は,図3に示される回路に相当する。
ライトファクタが計算された後,z交差(intersection)テスト段階が,モジュール14に従って行われる。モジュール14は図3に示される回路に相当する。最後に,情報の蓄積が行われる。この際に,モジュール15,16,及び17が用いられる。これらのモジュールは図2に示される回路に相当する。モジュール10からモジュール17への処理手続きは,すべての粒子について繰り返し行われる。すべての粒子について,情報が蓄積された後に,最後の段階,すなわち後の合成段階が始まる(この段階の時間の流れ及びシーケンスについては,図3を参照のこと。)。この段階で,ガス状物体のすべての断片が計算され,表面物体がレンダリングされた後,結合され,フレームバッファに記憶される。この最終段階を行うための回路は,図5に示される回路である。この最後の段階の後に,ガス状物体と表面物体とは,表示される準備が整うこととなる。図13〜図11は,本明細書において開示された回路を用いて得られた画像の結果を示す図である。
図13は,本明細書において開示される回路を用いて計算された,赤と青の異なる色の2つのハイライトを有する雲を示す図である。図13(a)は,球体がハイライト位置にある場合を示し,図13(b)は,雲のみがハイライト位置にある図を示す。図13(a)及び図13(b)は,特に内部の色分散が実現された,明瞭なガス状物体の像が,本明細書において開示される回路によって実現されることを示す。
図14は,方向性のあるハイライトが雲の内部にあり回転している場合の,2つのアニメーションシーケンスにおける2つのフレームを示す。図14(a)と図14(b)は,ともに,リアルな3次元コンピュータグラフィックスのアニメーションを実現するものの図である。さらに,本明細書において開示される回路を用いているので,アニメーションは自然な速度で実現できた。
図15は,火を表現するための数値シミュレーションの結果を示す図である。色や内部のガス状物体からの分散光は,温度に従って定義される。図15(a)は,高温の物体から低温の物体への熱移動を示し,熱移動は粒子により表現される。図15(b)は,箱の中の火を示す。図15(a)及び図15(b)により,本明細書において開示される回路により,火を表現できることが示された。
[粒子交差]
図16及び図17は,粒子の集合体と,表面物体との交差の結果を示す図である。それらの図において,z交差を行うための2つの方法が比較される。図16は,日本国特許公開公報平2001−188923号公報(特許文献6)に開示された回路に基づいて得られた粒子の集合体と,表面物体との交差の結果を示す図である。一方,図17は,本明細書における回路に基づいて得られた粒子の集合体と,表面物体との交差の結果を示す図である。
図16(a)は,ガス状物体と球とブロックとしての定義される2つの表面物体を示す図である。図16(b)は,ガス状物体と結合される球表面を示す図である。図16(a)では,ガス状物体と表面物体との交差が,やや人工的に(たとえば,水平線として)見える。図16(b)に示す例では,交差領域が明らかに見られ,また粒子の密度の不連続さも明らかに視認できる。これらの,不自然さは,日本国特許公開公報平2001-188923号公報(特許文献6)で提案される回路を定めるのに用いられるアルゴリズムによるものと考えられる。
図17(a)は,ガス状物体と球とブロックとしての定義される2つの表面物体を示す図である。図17(b)は,ガス状物体と結合される球表面を示す図である。図17(a)と図17(b)は,図16(a)及び図16(b)と同じシーンを示す図である。図17(a)と図17(b)から,本明細書において提供される回路を用いることにより,図16に示されるような不自然さが解消されることがわかる。
本明細書において提示されるシステムなどは,3次元コンピュータグラフィックなどの分野で,特にハードウェアとして,好適に利用できる。
図1は,ガス状物体と表面物体とのレンダリングするためのシーケンス例を示す図である。 図2は,第2のレンダリング段階における工程と,データフローの例を示す図である。 図3は,ライトファクタを計算するための第1の側面に係るシステムのブロック図である。 図4は,第2の側面に係るシステムのブロック図である。 図5は,第3の側面に係るシステムを示すブロック図である。 図6は,第4の側面に係るシステムを示すブロック図である。 図7は,本発明のある実施態様(コンピュータ)を示すブロック図である。 図8は,本発明のある実施形態(ゲーム機)のブロック図である。 図9は,本発明のある実施形態(コンピュータグラフィック機能つき携帯電話機)のブロック図である。 図10は,本発明のある実施形態(ナビゲーションシステム)のブロック図である。 図11は,本発明のある実施態様(スロットマシーン)のブロック図である。 図12は,本発明のある実施態様(スロットマシーン)のブロック図である。 図13は,本明細書において開示される回路を用いて計算された,赤と青の異なる色の2つのハイライトを有する雲を示す図である。図13(a)は,球体がハイライト位置にある場合を示し,図13(b)は,雲のみがハイライト位置にある図を示す。 図14は,方向性のあるハイライトが雲の内部にあり回転している場合の,2つのアニメーションシーケンスにおける2つのフレームを示す。図14(a)と図14(b)は,ともに,リアルな3次元コンピュータグラフィックスのアニメーションを実現するものの図である 図15は,火を表現するための数値シミュレーションの結果を示す図である。色や内部のガス状物体からの分散光は,温度に従って定義される。図15(a)は,高温の物体から低温の物体への熱移動を示し,熱移動は粒子により表現される。図15(b)は,箱の中の火を示す。 図16は,日本国特許公開公報平2001-188923号公報に開示された回路に基づいて得られた粒子の集合体と,表面物体との交差の結果を示す図である。 図16(a)は,ガス状物体と球とブロックとしての定義される2つの表面物体を示す図である。図16(b)は,ガス状物体と結合される球表面を示す図である。 図17は,本明細書における回路に基づいて得られた粒子の集合体と,表面物体との交差の結果を示す図である。図17(a)は,ガス状物体と球とブロックとしての定義される2つの表面物体を示す図である。図17(b)は,ガス状物体と結合される球表面を示す図である。
符号の説明
31 光バッファ, LZMinB
32 光バッファ, LZMaxB
33 光バッファ, LAB
36 1/t テーブル
40 1-exp(-t) テーブル
50 ループ反復回路
51 表面深度バッファ
52 比較器
60 バッファ, CAB
61 バッファ, IRed
62 バッファ, IGreen
63 バッファ, IBlue
66 加算器
67 1-exp(-x)テーブル(67a,67b)
68加算器(減算器)
69乗算器
70乗算器
71加算器
100乗算器
101 1-exp(-x)テーブル
102 1/(1-exp(-x))テーブル
103乗算器
104加算器
105乗算器
106加算器

Claims (13)

  1. デバイス座標(xi,yi,Zp),減衰要素L.A.p及び分散要素L.S.により定義される粒子の位置を得るための手段と;
    座標(xi,yi)と関連して前記粒子の深さの値であるz値の最小値を保存するための手段と;
    座標(xi,yi)と関連して前記粒子の深さの値であるz値の最大値を保存するための手段と;
    座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段と;
    前記デバイス座標(xi,yi,Zp),前記z値の最小値,前記z値の最大値,前記蓄積密度,及び前記減衰要素L.A.pを用いて前記粒子のライトファクタ(LightFactor)の指数要素を得るための手段と;
    前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段と;
    を具備する,
    粒子の集合体として定義されるガス状物体を表現する3次元コンピュータグラフィックスに用いられるライトファクタを計算するためのシステム。
  2. 前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最小値を保存するための手段,前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最大値を保存するための手段,及び前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,バッファであり;
    前記粒子のライトファクタの指数要素を得るための手段は,前記デバイス座標(xi,yi,Zp),前記z値の最小値,前記z値の最大値,前記蓄積密度及び前記減衰要素L.A.pを用い,下記式[Ia]で示される値を計算し
    [Ia]
    (上記式中,L.A.pは減衰要素を示し;LZMinB[xi][yi],LZMaxB[xi][yi]及びLAB[xi][yi]は,それぞれ,xi及びyiと関連して前記バッファに記憶される,z値の最小値, z値の最大値及び蓄積密度を示す。);そして,
    前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段は,前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて,加算器と1-exp(x)テーブルとにより下記式[I]で示されるライトファクタ(LightFactor: L.Factor)を計算する
    [I]
    請求項1に記載されるシステム。
  3. 前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最小値を保存するための手段,前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最大値を保存するための手段,及び前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,バッファであり;
    前記粒子のライトファクタの指数要素を得るための手段は,前記デバイス座標(xi,yi,Zp),前記z値の最小値,前記z値の最大値,前記蓄積密度及び前記減衰要素L.A.pを用い,乗算器,加算器及び逆数テーブルにより,上記式[Ia]で示される値を計算し;そして,
    前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記粒子のライトファクタを得るための手段は,前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて,加算器と1-exp(x)テーブルとにより上記式[I]で示されるライトファクタ(LightFactor: L.Factor)を計算する
    請求項1に記載されるシステム。
  4. 前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最小値を保存するための手段は,座標(xi,yi)と関連して前記z値の最小値であるLZMinB[xi][yi]の値を記憶するバッファ(LZMinB(31))であり;
    前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最大値を保存するための手段は,座標(xi,yi)と関連して前記z値の最大値であるLZMaxB[xi][yi]の値を記憶するバッファ(LZMaxB(32))であり;
    前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,粒子の座標(xi,yi)と関連してガス状物体の蓄積密度であるLAB[xi][yi]の値を記憶するバッファ(LAB(33))であり;
    前記粒子のライトファクタの指数要素を得るための手段は,
    (xi,yi)値をアドレスとして用いて,前記バッファLZMinB(31)から前記粒子のz値の最小値であるLZMinB[xi][yi]を得るための手段と;
    (xi,yi)値をアドレスとして用いて,前記バッファLZMaxB(32)から前記粒子のz値の最大値であるLZMaxB[xi][yi]を得るための手段と;
    (xi,yi)値をアドレスとして用いて,前記バッファLAB(33)から前記ガス状物体の蓄積密度であるLAB[xi][yi]を得るための手段と;
    前記Zp値と前記LZMinB[xi][yi]値とを用いて“Zp-LZMinB[xi][yi]”を計算するための手段と;
    前記Zp値と前記LZMinB[xi][yi]値とを用いて“Zp-LZMinB[xi][yi]”を計算するための手段と;
    前記LZMinB[xi][yi]値と前記LZMaxB[xi][yi]値とを用いて“LZMaxB[xi][yi]-LZMinB[xi][yi]”を計算するための手段と;
    入力値である前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”を用いて“1/(LZMaxB[xi][yi]-LZMinB[xi][yi])”を計算するための手段と;
    前記“Zp-LZMinB[xi][yi]”値と前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”値とを用いて[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]を計算するための手段と; 前記“L.A.p”値と[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]値とを用いて{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算するための手段と;
    前記{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}値とLAB[xi][yi]値とを用いて{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算する手段と;
    前記{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を用いて “1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”を計算するための手段と;を含み;
    前記ライトファクタの前記指数要素及び前記分散要素L.S.を用いて前記ライトファクタを得るための手段は;
    前記“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”値とL.S.とを用いて “1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}+L.S.”を計算するための手段を含む,
    請求項1に記載されるシステム。
  5. 前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最小値を保存するための手段は,座標(xi,yi)と関連して前記z値最小値であるLZMinB[xi][yi]の値を記憶するバッファ(LZMinB(31))であり;
    前記座標(xi,yi)と関連して前記粒子の深さの値であるz値の最大値を保存するための手段は,座標(xi,yi)と関連して前記z値の最大値であるLZMaxB[xi][yi]の値を記憶するバッファ(LZMaxB(32))であり;
    前記座標(xi,yi)と関連してガス状物体の蓄積密度を保存するための手段は,座標(xi,yi)と関連してガス状物体の蓄積密度であるLAB[xi][yi]の値を記憶するバッファ(LAB(33))であり;
    前記ライトファクタの指数要素を得るための手段は;
    前記Zp値とLZMinB[xi][yi]値とを用いて“Zp-LZMinB[xi][yi]”を計算する加算器(又は減算器)(34)と;
    前記LZMinB[xi][yi]値と前記LZMaxB[xi][yi]値とを用いて“LZMaxB[xi][yi]-LZMinB[xi][yi]”を計算する加算器(35)と;
    入力値である前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”を用いて“1/(LZMaxB[xi][yi]-LZMinB[xi][yi])”を計算する1/tテーブル(36)と;
    前記“Zp-LZMinB[xi][yi]”値と前記“LZMaxB[xi][yi]-LZMinB[xi][yi]”値とを用いて[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]を計算する乗算器(37)と;
    前記“L.A.p”値と前記[(Zp-LZMinB[xi][yi])/(LZMaxB[xi][yi]-LZMinB[xi][yi])]値とを用いて,{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算する乗算器(38)と;
    前記{[(Zp-LZMinB[xi][yi])xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}値と前記LAB[xi][yi]値とを用いて{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}を計算する乗算器(39)と;
    前記{[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}値を用いて,“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”を得る “1-exp(-t)テーブル”(40)と,
    を含み;
    前記ライトファクタを得るための手段は;
    前記“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}”値と前記L.S.とを用いて,“1-exp{-[(Zp-LZMinB[xi][yi])xLAB[xi][yi]xL.A.p]/(LZMaxB[xi][yi]-LZMinB[xi][yi])}+L.S.”値を求める加算器(41)である,
    請求項1に記載されるシステム。
  6. 前記ガス状物体の蓄積密度は,
    デバイス座標(x i ,y i )で定義される粒子の位置,減衰された密度であるDz,及びテクスチャ値Tuvを得るための手段と;
    デバイス座標(x i ,y i )と関連して蓄積密度を保存するための手段と;
    蓄積密度,前記減衰された密度Dz,及び前記テクスチャ値Tuvを用いて新たな蓄積密度を求めるための手段と;
    前記デバイス座標(x i ,y i )と関連して蓄積密度を保存するための手段に,前記新たに求められた蓄積密度を書き換えるための手段と;
    を具備する,3次元コンピュータグラフィックスに用いられる,ガス状物体の蓄積密度を計算するためのシステムにより計算される,
    請求項1に記載されるシステム。
  7. コンピュータ用のチップとして実装される請求項1に記載されるシステム。
  8. コンピュータ用の回路として実装される請求項1に記載されるシステム。
  9. 請求項1に記載されるシステムを具備するコンピュータ。
  10. 請求項1に記載されるシステムを具備するゲーム機。
  11. 請求項1に記載されるシステムを具備する携帯電話。
  12. 請求項1に記載されるシステムを具備するナビゲーションシステム。
  13. 請求項1に記載されるシステムを具備するスロットマシーン。

JP2006121510A 2006-04-26 2006-04-26 ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム Active JP4785605B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006121510A JP4785605B2 (ja) 2006-04-26 2006-04-26 ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006121510A JP4785605B2 (ja) 2006-04-26 2006-04-26 ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム

Publications (2)

Publication Number Publication Date
JP2007293648A JP2007293648A (ja) 2007-11-08
JP4785605B2 true JP4785605B2 (ja) 2011-10-05

Family

ID=38764220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006121510A Active JP4785605B2 (ja) 2006-04-26 2006-04-26 ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム

Country Status (1)

Country Link
JP (1) JP4785605B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3483967B2 (ja) * 1995-01-05 2004-01-06 株式会社東芝 雲状現象可視化装置
JP3720890B2 (ja) * 1995-12-12 2005-11-30 株式会社ルネサステクノロジ 画像生成装置
JP3453119B2 (ja) * 2000-12-11 2003-10-06 株式会社ナムコ 情報記憶媒体及びゲーム装置
US6744435B2 (en) * 2001-04-26 2004-06-01 Mitsubishi Electric Research Laboratories, Inc. Rendering discrete sample points projected to a screen space with a continuous resampling filter

Also Published As

Publication number Publication date
JP2007293648A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
US6580430B1 (en) Method and apparatus for providing improved fog effects in a graphics system
US8803879B1 (en) Omnidirectional shadow texture mapping
US6664958B1 (en) Z-texturing
US7176919B2 (en) Recirculating shade tree blender for a graphics system
US6903741B2 (en) Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US7755626B2 (en) Cone-culled soft shadows
JP4941934B2 (ja) 画像生成装置および画像生成プログラム
US6738061B2 (en) Method, apparatus, storage medium, program, and program product for generating image data of virtual three-dimensional space
JP4527853B2 (ja) ゲームシステム及び情報記憶媒体
US7479961B2 (en) Program, information storage medium, and image generation system
JP2011053737A (ja) プログラム、情報記憶媒体及び画像生成装置
JP4832152B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP2009110362A (ja) 画像生成装置および画像生成プログラム
JP4761541B2 (ja) 画像生成装置
JP4785605B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP4787661B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP4787662B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP2004073241A (ja) ゲームシステム、プログラム及び情報記憶媒体
JPWO2007034822A1 (ja) 画像生成装置
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2002042162A (ja) ゲームシステム及び情報記憶媒体
JP2010134671A (ja) 画像生成システム、プログラム及び情報記憶媒体
US7724255B2 (en) Program, information storage medium, and image generation system
JP5007991B2 (ja) 細分割曲面描画用レンダリング装置
JP5535729B2 (ja) 3次元コンピュータグラフィックス描画システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

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: 20110705

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: 20110712

R150 Certificate of patent or registration of utility model

Ref document number: 4785605

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250