(57)【特許請求の範囲】
【請求項１】
環境照明から出射し、関与する均質な媒質によって散乱される光の量を推定する方法であって、
球関数の正規直交基底での第１の組の投影係数を推定するステップであって、前記第１の組の投影係数は、前記関与する均質な媒質が受け取る入射光度の関数を表す、ステップと、
球関数の前記正規直交基底での第２の組の投影係数を推定するステップであって、前記第２の組の投影係数は、前記関与する均質な媒質の位相関数を表す、ステップと、
前記第１の組の投影係数および第２の組の投影係数から、前記関与する均質な媒質によって前記光の少なくとも１つの拡散方向に沿って散乱される光の量を推定するステップとを含み、
前記散乱される光の量を推定するステップは、前記関与する均質な媒質中での前記少なくとも１つの光の方向に沿った光の拡散を表す積分を解析的に計算することを含む、前記方法。
【請求項２】
前記環境照明は複数の光源を備え、前記複数の光源は前記関与する均質な媒質に対して光学的な無限遠に位置する、請求項１に記載の方法。
【請求項３】
前記第１の組の投影係数を推定するステップは、前記環境照明を表す環境マッピングを球関数の前記正規直交基底に投影することによってなされる、請求項１または２に記載の方法。
【請求項４】
前記球関数は球面調和タイプのものである、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第１の組の投影係数および第２の投影係数は、少なくとも１つのグラフィックプロセッサに関連するメモリの少なくとも１つのテーブルに記憶される、請求項１から４のいずれか一項に記載の方法。
【請求項６】
環境照明から出射し、関与する均質な媒質によって散乱される光の量を算出するよう構成された装置であって、
球関数の正規直交基底での第１の組の投影係数を算出することであって、前記第１の組の投影係数は、前記関与する均質な媒質が受け取る入射光度の関数を表す、第１の組の投影係数を算出することと、
球関数の前記正規直交基底での第２の組の投影係数を算出することであって、前記第２の組の投影係数は、前記関与する均質な媒質の位相関数を表す、第２の組の投影係数を算出することと、
前記第１の組の投影係数および第２の組の投影係数から、前記関与する均質な媒質によって前記光の少なくとも１つの拡散方向に沿って散乱される光の量を算出することとを実現するよう構成された少なくとも１つのプロセッサを備え、
前記散乱される光の量を算出することは、前記関与する均質な媒質中での前記少なくとも１つの光の方向に沿った光の拡散を表す積分を解析的に計算するステップを含む、前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにより生成される画像を構成する分野に関し、より詳細には、関与する均質な媒質中の光の散乱をシミュレーションする分野に関する。また、本発明は、実行中に構成を行うための特殊効果の範囲に含まれる。
【背景技術】
【０００２】
水、霧、煙、ほこり、雲などの、関与する媒質中の光の散乱をシミュレーションする従来の技術による様々な方法が存在する。こうした関与する媒質は特に、光と相互作用してその光路および強度を改変する空中浮遊粒子からなる媒質に相当する。
【０００３】
関与する媒質は、２つの部分、すなわち、水などの均質な媒質と、煙、雲などの不均質な媒質とに分けることができる。関与する媒質が均質な場合、光源から出射する光の減衰を解析的に計算することが可能である。実際、こうした媒質では、その均質な性質のために、媒質の任意の点で、光の吸収係数や散乱係数などのパラメータが一定の値になる。一方、関与する媒質が不均質な場合、光の吸収および散乱の特性は、媒質中の２点間で変動する。
【０００４】
関与する均質な媒質を実行中にレンダリングするために、いくつかの方法では、関与する均質な媒質を表すいくつかのパラメータを事前に計算する。これらの方法は、例えばスタジオで作成した後に使用するのに最適であり、良質なレンダリングが実施されるが、対話形式の設計や、関与する均質な媒質の良質なレンダリングを実行中に行うという状況には適していない。このような方法は、例えば、マイクロソフト社が出願し２００８年１２月３１日に公開された特許文献１に記載されている。特許文献１で出願された発明の目的は、関与する媒質を実行中にレンダリングするソフトウエアを提供することであり、放射基底関数を用いる解法を説明することである。しかし、この解法を、実行中に行うことができるレンダリング解法とみなすことはできない。というのは、いくつかの事前処理操作を関与する媒質にオフラインで適用して、実行中に行うことができる画像合成計算に使用する、媒質を表す投影係数を計算することができるようにしなければならないからである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００９／００３１４３号パンフレット
【発明の概要】
【０００６】
ゲームや対話型シミュレーションアプリケーションの登場に伴い、特に３次元（３Ｄ）のものでは、関与する均質な媒質を良質かつ臨場感豊にレンダリングする、実行中に行うことができるシミュレーション法が必要となる。
【０００７】
本発明の目的は、従来技術のこれらの欠点の少なくとも１つを克服することである。
【０００８】
より詳細には、本発明の目的は、関与する均質な媒質中の光の散乱を実行中に臨場感豊にレンダリングするのに必要な計算時間および／または計算能力を最適化することである。
【０００９】
本発明は、環境照明から出射し、関与する均質な媒質によって散乱される光の量を推定する方法に関するものであり、この方法は、
球関数の正規直交基底での第１の組の投影係数を推定するステップであって、第１の組の投影係数は、関与する媒質が受け取る入射光度の関数を表す、ステップと、
球関数の正規直交基底での第２の組の投影係数を推定するステップであって、第２の組の投影係数は、関与する媒質の位相関数を表す、ステップと、
関与する媒質によって、少なくとも１つの光の散乱方向に沿って散乱される光の量を第１の組の投影係数および第２の組の投影係数から解析的に推定するステップとを含む。
【００１０】
有利には、散乱光量を解析的に推定するステップは、関与する均質な媒質中での少なくとも１つの光の方向に沿った光の拡散を表す積分を直接計算するステップを含む。
【００１１】
特定の特徴によれば、第１の組の投影係数を推定するステップは、環境照明を表す環境マッピングを球関数の正規直交基底に投影することによってなされる。
【００１２】
有利には、球関数は調和球面タイプのものである。
【００１３】
特定の特徴によれば、環境照明は複数の光源を備え、これら複数の光源は関与する媒質に対して光学的な無限遠に位置する。
【００１４】
特定の特徴によれば、第１の組の投影係数および第２の投影係数は、少なくとも１つのグラフィックプロセッサに付随するメモリの少なくとも１つのテーブルに記憶される。
【図面の簡単な説明】
【００１５】
添付の図面を参照してなされる以下の説明を読めば、本発明がよりよく理解され、他の特定の特徴および利点が想起されよう。
【００１６】
【図１】本発明の特定の実施形態による、光を散乱する均質な関与する媒質を模式的に示す図である。
【図２Ａ】本発明の特定の実施形態による、いくつかの光源を含む環境照明を示す図である。
【図２Ｂ】本発明の特定の実施形態による、いくつかの光源を含む環境照明を示す図である。
【図３】本発明の特定の実施形態による、図２Ａおよび図２Ｂの環境照明によって照明される図１の媒質によって散乱する光の量を推定する方法を模式的に示す図である。
【図４】本発明の特定の実施形態による、散乱光の量を推定する方法を実施する装置を示す図である。
【図５】本発明の特定の実施形態による、散乱光の量を推定する方法を示す図である。
【図６】本発明の別の特定の実施形態による、散乱光の量を推定する方法を示す図である。
【発明を実施するための形態】
【００１７】
図１に、例えば霧、煙、ほこりなどの、関与する均質な媒質１０で満たされた仮想環境または仮想シーンを示す。関与する媒質は、多数の空中浮遊粒子からなる媒質であり、これらの粒子は、光を吸収し、出射し、かつ／または散乱（拡散）する。関与する媒質は、その最も単純な形態では、例えば太陽などの光源１１から受け取った光を吸収するだけである。これは、媒質１０を通過する光が減衰することを意味し、減衰の程度は媒質の密度によって決まる。媒質１０は均質であり、すなわち、例えば媒質を構成する粒子の密度などの媒質の物理的特徴は、媒質中の２点間で一定である。関与する媒質は光と相互作用する微粒子からなるので、入射光、すなわち光源１１から出射し方向ωin１１０に沿う光は、吸収されるだけでなく散乱する。関与する媒質が光を等方的に散乱させる場合、光はあらゆる方向に均一に散乱する。図１に示す媒質１０のように、関与する媒質が光を異方的に散乱させる場合、光の散乱は、光の入射方向ωin１１０と光の散乱方向ωout１２０とがなす角度によって決まる。散乱方向ωout１２０は、媒質１０を見ている観察者の観察方向にも相当する。媒質１０の点Ｍ１３で散乱方向ωout１２０に散乱する光の量は、次式で計算される。
Ｑ（Ｍ，ωout）＝σs（Ｍ）・ｐ（Ｍ，ωout，ωin）・Ｌri（Ｍ，ωin）  式１
媒質の点Ｍ１３によって散乱し、方向ωout１２０の空間の点Ｃに位置する観察者１２の目に到達する光の量、すなわち、点Ｍで散乱し、媒質１０により経路Ｍ−Ｐにわたって減衰する光の量は、次式で表される。ここで、点Ｐは、媒質１０と観察者１２に向かう方向ωoutとの交点に位置する。
【００１８】
【数１】
0005848071.tif 000002
【００１９】
式中、
・σsは媒質の散乱係数であり、
・σaは媒質の吸収係数であり、
・σt＝σs＋σaは媒質の消光係数であり、
・ｐ（Ｍ，ωout，ωin）は、入射方向ωinからの光が点Ｍで散乱方向ωoutにどのように散乱するかを記述する位相関数であり、
・Ｌri（Ｍ，ωin）は、入射方向ωin１１０からの光の点Ｍでの減衰した光度であり、媒質１０中の光路にわたって散乱した後、点Ｍに到達する入射光の量を表し、
・
【００２０】
【数２】
0005848071.tif 000003
【００２１】
は、Ｐ１５からＭ１３への経路に沿った吸収および散乱による散乱光度減衰を表す。
【００２２】
式２により、点Ｍで散乱し、方向ωoutに沿って位置する観察者１２の目に到達する光の量を計算することが可能である。方向ωoutを見ている観察者が受け取る光の量を計算するには、軸ωout上に位置する媒質のすべての点、すなわち区間Ｐ−Ｍmaxに位置する点からの寄与をすべて加算する必要がある。ＰおよびＭmaxは、媒質１０と方向ωout１２０とが交わる２点である。単純散乱により方向ωout１２０に沿ってＰ１５に到達する散乱光の光度の和は次のようになる。
【００２３】
【数３】
0005848071.tif 000004
【００２４】
ここで、媒質１０の外側では光が減衰しないので、経路Ｃ−Ｐを進む光は減衰しないと仮定する。
【００２５】
この散乱光度の和は、方向としてωoutを有する範囲内のＰとＭmaxの間に位置するすべての点からの寄与を積分することによって得られる。
【００２６】
有利には、関与する均質な媒質１０は３次元要素であるが、図１では見やすいように２次元で表す。
【００２７】
一変形例によれば、媒質１０で満たされた仮想環境は、１つまたは複数の仮想物体を含む。これらの仮想物体は、図１には示されておらず、当業者には周知の任意の方法によりモデル化される。例えばポリゴンによるモデル化では、モデルは、構成要素である複数の頂点および辺によって定義される１組のポリゴンで近似される。ＮＵＲＢＳ（「非一様有理基底スプライン（ｎｏｎ−ｕｎｉｆｏｒｍ  ｒａｔｉｏｎａｌ  ｂａｓｉｃ  ｓｐｌｉｎｅ）」）タイプの曲線によるモデル化では、モデルは、制御頂点を用いて生成される１組の曲線によって定義される。さらに、表面細分割モデル化などがある。「仮想物体」は、実環境（例えば、地面、家屋または家屋の正面、自動車、木、すなわち、家屋の部屋、道路、街、郊外などの環境を構成する任意の要素）を構成する物体（実物体または架空物体）の（モデル化によって得られる）任意の仮想表現を意味すると理解される。仮想物体が媒質１０内にあり、また観察者の観察方向ωoutにある場合、点Ｍmaxは方向ωoutと仮想物体とが交わる点に相当する。
【００２８】
一変形例によれば、媒質１０は、例えば１００個、１，０００個、１００，０００個、または１，０００，０００個という複数の光源によって照明される。
【００２９】
別の変形例によれば、媒質１０は、連続した環境照明、すなわち無限個の光源からなる照明によって照明される。
【００３０】
図２Ａおよび図２Ｂに、いくつかの光源２３、２４、および２５を含む環境照明２を示す。図２Ａおよび図２Ｂの同じ要素には同じ参照記号を用いる。より具体的には、図２Ａは、３つの光源２３、２４、および２５によって照明されるＡ２１およびＢ２２の２点を示す。点Ａ２１は、第１の光源２３により方向ω1A２１１に沿って、第２の光源２４により方向ω2A２１２に沿って、第３の光源２５により方向ω3A２１３に沿って照明される。点Ｂ２２は、第１の光源２３により方向ω1B２２１に沿って、第２の光源２４により方向ω2B２２２に沿って、第３の光源２５により方向ω3B２２３に沿って照明される。このような複雑な環境照明がもたらす問題は、いくつかの光源が存在することによるもので、媒質中の入射光を推定する計算に極めてコストがかかることである。これは、光源と媒質の点との間の光の方向が媒質の各点で異なるからである。実際、第１の光源２３から出射する光が進む方向は、ＡとＢでは異なる。第２の光源２４から出射する光が進む方向は、ＡとＢでは異なる。第３の光源２５から出射する光が進む方向は、ＡとＢでは異なる。この問題を解決するために、いくつかの遠方光源からの光を、図２Ｂに示すように、本発明の特定の実施形態による環境マッピング法を用いて推定する。一方で点Ａと点Ｂの間の光の厳密な方向を考え、他方で（図２Ａに示すような）光源２３、２４、２５を考えるのではなく、環境マッピングとして知られる方法では、環境２の光源２３、２４、および２５がすべて点Ａおよび点Ｂに対して光学的に無限遠に位置すると考える。このように、光源２３、２４、または２５から出射する光が進む方向が、対象とする媒質の点Ａおよび点Ｂに無関係に同じと考えることが可能である。このようにして、互いに離れた点Ａと点Ｂの距離による視差効果を無視する。点Ａと第１の光源２３を結ぶ方向ω1A２１１は、点Ｂと第１の光源２３を結ぶ方向ω1B２２１と同じと考える。同様に、点Ａと第２の光源２４を結ぶ方向ω2A２１２は、点Ｂと第２の光源２４を結ぶ方向ω2B２２２と同じと考え、点Ａと第３の光源２５を結ぶ方向ω3A２１３は、点Ｂと第３の光源２３を結ぶ方向ω3B２２３と同じと考える。
【００３１】
一変形例によれば、環境照明は、２つまたは３つ以上、例えば１，０００個、１００，０００個、または１，０００，０００個の光源を備える。
【００３２】
図３に、本発明の特定の実施形態による、媒質１０によって散乱される光の量を推定する方法を示す。光は、多数の光源３１、３２、および３３を含む環境照明３から射出するものとする。媒質１０による散乱方向ωout１２０に沿う単純な光散乱の（式３に対応する）式を解析的に解くために、以下のように仮定する。
−複数回の相互反射および散乱により、「柔らかい」（すなわち低周波数の）照明が得られる。媒質１０のどの点での入射光も、媒質１０内のその点の位置に無関係に同じ環境マッピングを用いて表す。言い換えれば、媒質１０の環境マッピングによって記述される入射光度の関数は、入射光度を評価するための媒質１０中の点に無関係である。入射光度関数は、対象とする入射方向ωinのみによって決まる。さらに、仮想環境の物体を直接照明することによって生成される光束は生成されない。
−関与する媒質は均質である。例えば、霧や空中を浮遊するほこりのタイプの媒質、または水中環境での媒質ではそうである。媒質の任意の点で密度は一定であり、媒質の光学特性（例えば、媒質の散乱係数および吸収係数）は、媒質の任意の点で一定である。
【００３３】
先に図１を参照して説明したが、媒質１０によってＭ１３で散乱する光は、光源１１から媒質１０が受け取る光の減衰と、媒質１０が受け取った、この減衰した量の光の散乱との結果である。媒質１０の単純散乱を表す式３を単一光源によるものとし、式３を展開すると、以下の式４が得られる。
【００３４】
【数４】
0005848071.tif 000005
【００３５】
光は環境照明３の各方向ωinから入射するので、以下の式５が得られる。
【００３６】
【数５】
0005848071.tif 000006
【００３７】
式中、Ωは、点Ｍを中心とする単位球３６内の点Ｍでのすべての入射方向ωinを表す。環境照明３は連続的であるため、無限個の入射方向ωinが存在する。
【００３８】
関与する媒質は均質とみなせるので、関与する媒質の光学特性の平均値は一定である。すなわち、散乱係数σs（Ｍ）、吸収係数σa（Ｍ）、および消光係数σt（Ｍ）ならびに位相関数ｐ（Ｍ，ωout，ωin）は、関与する媒質１０の任意の点Ｍで一定であり、σs（Ｍ）＝σs、σa（Ｍ）＝σa、σt（Ｍ）＝σt、ｐ（Ｍ，ωout，ωin）＝ｐ（ωout，ωin）である。式５は以下の式６になる。
【００３９】
【数６】
0005848071.tif 000007
【００４０】
本発明者の仮定では、光は、関与する媒質１０中の照明される点の位置によらないとみなす。式６は、以下のように簡単になり、その結果、以下の式７が得られる。
【００４１】
【数７】
0005848071.tif 000008
【００４２】
ここで、上記式７の内部積分を考える。この内部積分は、入射光と媒質の位相関数との積を含む
【００４３】
【数８】
0005848071.tif 000009
【００４４】
関数空間の各関数は、基底関数の１次結合として記述し得る。ここで、基底関数は関数空間の基底の要素である。球関数の正規直交基底を用い、かつ、関数Ｌriおよび関数ｐを球関数の正規直交基底に投影することによって、関数Ｌriおよび関数ｐをそれぞれ次のように表すことが可能である。
【００４５】
【数９】
0005848071.tif 000010
【００４６】
式中、
【００４７】
【数１０】
0005848071.tif 000011
【００４８】
は、（全体でＮｃ個の係数のうち）ｊ次の投影係数（Ｎｃは所定のやり方で決めたいくつかの係数に対応する）であり、基底関数Ｙj（ωin）における入射光を表す。
【００４９】
【数１１】
0005848071.tif 000012
【００５０】
は、（全体でＮｃ個の係数のうち）ｊ次の投影係数（Ｎｃは所定のやり方で決めたいくつかの係数に対応する）であり、基底関数Ｙj（ωin）における位相関数を表す。
【００５１】
このように計算したそれぞれＮｃ個からなる２組の基底関数投影係数をＧＰＵメモリの１つまたは複数のテーブルに記憶する。第１の組の係数は、いくつかの光源を含む環境照明から出射した、媒質１０の点ごとの任意の方向からの光の単純な散乱による減衰を表す。第２の組の係数は、媒質１０の位相関数を表す。
【００５２】
有利には、位相関数および入射光度関数は、球関数の同じ単一の正規直交基底で表される。
【００５３】
基底関数は正規直交関数なので、以下の特性が得られる。
【００５４】
【数１２】
0005848071.tif 000013
【００５５】
そのため、式中のＬriおよびｐをＬiで置き換えることによって上記の特性を有利に用いることが可能である。
【００５６】
【数１３】
0005848071.tif 000014
【００５７】
上記最後の式を式７に代入することによって、以下の式が得られる。
【００５８】
【数１４】
0005848071.tif 000015
【００５９】
Ｍの位置と無関係の項を積分の外に出すことによって、以下の式が得られる。
【００６０】
【数１５】
0005848071.tif 000016
【００６１】
残りの積分を解析的に解くと、以下の式が得られる。
【００６２】
【数１６】
0005848071.tif 000017
【００６３】
媒質１０により散乱方向ωout１２０に沿って散乱する光の量を解析的に推定することが可能な最終式が得られる。
【００６４】
【数１７】
0005848071.tif 000018
【００６５】
式１８は、解析的に計算可能であり、関与する媒質１０で満たされた仮想環境を見ている観察者の視点、すなわち、観察方向に従ってその場の状態を表すという利点を有する。式１８（または等価には式１６）を解析的に解くと、数値的に解くよりも精度が高くなり有利である。実際、この式を解析的に解くとこの式の厳密な解が得られるが、数値的に解くとこの式の近似解しか得られない。式１８を解くことにより散乱光の量を推定することは、関与する均質な媒質中での光の方向に沿う光の拡散を表す積分（式１７）を直接計算するという点で解析的である。
【００６６】
図４に、関与する均質な媒質１０によって散乱する光の量を推定し、１枚または複数枚の画像を表示する信号を生成するのに適した装置４のハードウエアの実施形態を模式的に示す。装置４は、例えばパーソナルコンピュータＰＣ、ラップトップコンピュータ、またはゲーム機に相当する。
【００６７】
装置４は、アドレス／データバス４５によって互いに接続される以下の要素を備える。アドレス／データバス４５に沿ってクロック信号も送信される。
−マイクロプロセッサ４１（またはＣＰＵ）
−グラフィックカード４２、グラフィックカード４２は、
・いくつかのグラフィック処理ユニット４２０（またはＧＰＵ）と、
・ＧＲＡＭ（「グラフィックランダムアクセスメモリ」）タイプのランダムアクセスメモリ４２１とを備える。
−ＲＯＭ（「読出し専用メモリ」）タイプの不揮発性メモリ４６
−ランダムアクセスメモリまたはＲＡＭ４７
−１つまたは複数のＩ／Ｏ（「入出力」）装置４４、例えば、キーボード、マウス、ウェブカメラなど
−電源４８
【００６８】
装置４は、グラフィックカード４２に直接接続される表示スクリーンタイプの表示装置４３も備える。表示装置４３は、特に、グラフィックカードで計算され構成されるコンピュータ生成グラフィックをレンダリングしたものを、例えばライブ表示する。専用バスを使用して表示装置４３をグラフィックカード４２に接続すると、データ転送速度がはるかに速くなり、そのためグラフィックカードによって構成される画像を表示するまでの待ち時間が短くなるという利点がある。一変形例によれば、表示装置は、装置４に外付けとし、表示信号を送信するケーブルによって装置４に接続する。装置４、例えば、グラフィックカード４２は、ＬＣＤもしくはプラズマスクリーン、またはビデオプロジェクタなどの外部表示手段に表示信号を送信するのに適した送信媒体またはコネクタ（図４には不図示）を備える。
【００６９】
メモリ４２、４６、および４７の説明で用いた「レジスタ」という用語は、これら各メモリにおいて、小容量（いくつかのバイナリデータ）のメモリ区画および大容量の（プログラム全体を記憶したり、計算データを表すデータの全部または一部を表示したりすることができる）メモリ区画を指すことに留意されたい。
【００７０】
電源投入時、マイクロプロセッサ４１は、ＲＡＭ４７に記憶されたプログラムの指示をロードし実行する。
【００７１】
ランダムアクセスメモリ４７は特に以下のものを含む。
−レジスタ４３０の、装置４の立ち上げを司るマイクロプロセッサ４１のオペレーティングシステム
−関与する均質な媒質１０を表すパラメータ４７１（例えば、密度、光吸収係数、および光散乱係数といったパラメータ）
【００７２】
本発明に固有な方法のステップを実施する以下で説明するアルゴリズムは、これらのステップを実施する装置４に付随するグラフィックカード４２のＧＲＡＭメモリ４７に記憶される。電源投入後、媒体を表すパラメータ４７０がＲＡＭ４７にロードされると、グラフィックカード４２のグラフィック処理ユニット４２０は、これらのパラメータをＧＲＡＭ４２１にロードし、これらのアルゴリズムの指示を実行する。これらの指示は、ＨＬＳＬ（「高級シェーダ言語」）やＧＬＳＬ（「ＯｐｅｎＧＬシェーダ言語」）などの言語を使用する「シェーダ」タイプのマイクロプログラムの形式になっている。
【００７３】
ＧＲＡＭランダムアクセスメモリ４２１は特に以下のものを含む。
−レジスタ４２１０内の媒質１０を表すパラメータ
−媒質１０の任意の点での入射光を表す第１の投影係数４２１１
−媒質１０の任意の点での位相関数を表す第２の投影係数４２１２
−媒質１０により１つまたは複数の観察方向に沿って散乱される光の量を表す値４２１４
【００７４】
一変形例によれば、ＲＡＭ４７の一部は、ＧＲＡＭメモリ４２１内の利用可能なメモリ空間が不十分である場合、ＣＰＵ４１によって係数４２１１および４２１２ならびに値４２１４を記憶するように割り当てられる。ただし、この変形例では、ＧＰＵに記憶されたマイクロプログラムによって構成される媒質１０の表現を含む画像の構成に要する待ち時間が長くなる。というのは、ＧＰＵからＧＲＡＭに、またその逆にデータを送信するグラフィックカードで利用可能なものよりも送信能力が一般に低いバス４５を介して、グラフィックカードからランダムアクセスメモリ４７にデータを送信しなければならないからである。
【００７５】
別の変形例によれば、電源４８は装置４に外付けされる。
【００７６】
図５に、本発明の第１の特に有利で制限なく実施される実施形態による、装置４に実装される、関与する均質な媒質によって散乱される光の量を推定する方法を示す。
【００７７】
初期化ステップ６０で、装置４の様々なパラメータを更新する。特に、関与する均質な媒質１０を表すパラメータを必ず初期化する。
【００７８】
次いで、ステップ５１で、球関数の正規直交基底における基底関数の第１の組の第１の投影係数を推定する。これら第１の投影係数は、関与する均質な媒質１０の任意の点での入射光度を表す。第１の投影係数を推定するために、関与する媒質１０中で入射方向ωinに沿って光が散乱した後で媒質の点Ｍに到達する入射光の量を表す入射光度関数Ｌri（Ｍ，ωin）を球関数の正規直交基底上に投影する。媒質１０中の入射光を表す（入射光度関数として知られる）環境マッピング３を記述する関数は、球関数の正規直交基底を用いて表される。第１の投影係数を得るための無限個の入射方向ωinにより、仮想環境の任意の点Ｍを中心とする球Ωが形成される。第１の投影係数の個数は、これらの係数の計算に必要な計算能力と、装置４のユーザが望む散乱方向ωoutに沿って散乱する光の量の推定の精度とが最もよく折り合うように選択する。環境照明は関与する媒質１０に対して光学的な無限遠にあるとみなせるので、関与する媒質１０内の光の相互反射を無視すると、第１の係数の値は関与する媒質１０のどの点Ｍでも等しくなる。
【００７９】
次いで、ステップ５２で、球関数の正規直交基底における基底関数の第１の組の第１の投影係数を推定する。これら第１の投影係数は、関与する均質な媒質１０の任意の点での入射光度を表す。第１の投影係数を推定するために、媒質１０の位相関数を記述する関数を、先に入射光度関数を表すのに用いた球関数の正規直交基底を用いて表す。このように、位相関数は、球関数の基底の第２の組の第２の投影係数上に投影される。位相関数は、入射方向ωinからの光が点Ｍで散乱方向ωoutにどのように散乱するかを記述するものである。関与する媒質１０は均質なので、位相関数ｐは、関与する媒質１０の対象とする点Ｍの位置に無関係である。関数の位相ｐは、入射光の入射方向ωinおよび散乱光の散乱方向ωoutのみによって決まる。例えば、方向ωinと方向ωoutがなす角度によって決まる。第２の投影係数を得るための無限個の入射方向ωinにより、仮想環境の任意の点Ｍを中心とする球Ωが形成される。有利には、このようにして形成される球は、第１の投影係数に関連して入射方向によって形成される球に等しい。第２の投影係数の個数は、これらの係数の計算に必要な計算能力と、装置４のユーザが望む散乱方向ωoutに沿って散乱する光の量の推定の精度とが最もよく折り合うように選択する。有利には、第１の係数の個数は第２の係数の個数に等しい。
【００８０】
次いで、ステップ５３で、媒質１０により出射方向１２０に沿って散乱される光の量を、先に推定した第１の投影係数および第２の投影係数を用いて推定する。そのために、式１８を解析的に解く。その際、関与する均質な媒質での光の散乱をレンダリングするための事前計算は必要なく、それによって、このような媒質を実行中にレンダリングすることが、例えば１つまたは複数の関与する均質な媒質を含む空間にユーザが仮想的にいざなわれるビデオゲームタイプの対話型アプリケーションにおいて可能になる。
【００８１】
有利には、媒質１０によって散乱される光の量をいくつかの出射方向について推定する。複数の出射方向について推定された光量を加算することによって、媒質１０によって散乱され、媒質１０を見ている観察者１２が知覚する光の総量が得られる。
【００８２】
観察者１２が媒質１０の周りを移動した後すぐにステップ５３を反復すると有利である。それによって、観察者１２が媒質１０の周りを段階的に移動するごとに、媒質１０をレンダリングしたものを示す画像が再構築される。第１の投影係数は媒質１０の各点Ｍで用いることができ、これは第２の投影係数もまったく同様で、そのため、観察者１２の視点が変化したとき、すなわち、（散乱方向ωoutと等価な）観察方向が変化したときに第１の投影係数および第２の投影係数を再計算する必要はない。観察者１２の視点が変化したときには、ステップ５３だけを反復する。
【００８３】
図６に、本発明の第２の特に有利で制限なく実施される実施形態による、装置４で実施される、関与する均質な媒質によって散乱される光の量を推定する方法を示す。
【００８４】
初期化ステップ６０で、装置４の様々なパラメータを更新する。特に、関与する均質な媒質１０を表すパラメータを必ず初期化する。
【００８５】
次いで、ステップ６１および６２で、関与する均質な媒質１０の任意の点が受け取る入射光の量を表す第１の投影係数と、媒質１０の位相関数を表す第２の投影係数とを、図５のステップ５１および５２に関して説明したのと同じやり方で推定する。したがって、ステップ６１および６２はここでは詳細には説明しない。
【００８６】
次いで、ステップ６３で、先に推定した第１の投影係数および第２の投影係数を、ＧＰＵに付随するメモリに記録されたテーブルからなるデータ構造に記録し記憶する。これらの記録値を、それぞれ光度記録値および位相記録値と呼ぶ。これらの光度および位相を記録するテーブルは、有利には、第１の投影係数および第２の投影係数をすべて含む。このように投影係数を記憶すると、媒質１０によって散乱され、観察者が知覚する光の量を推定する計算を速めるのに有利である。これら第１の投影係数および第２の投影係数はいつでも即座に利用可能であり、式１８で用いることができる。
【００８７】
最後に、ステップ６４で、図５のステップ５３に関して説明したのと同じやり方で散乱光の量を推定する。
【００８８】
当然のことながら、本発明はこれまで説明した実施形態に限定されるものではない。
【００８９】
特に、本発明は、関与する均質な媒質によって散乱される光の量を推定する方法に限定されるものではなく、本方法を実施する任意の装置、特に少なくとも１つのＧＰＵを備えるあらゆる装置に拡張して適用される。第１の投影係数および第２の投影係数ならびに散乱光の量を推定するために図１から図３を参照して説明した式は、シェーダタイプのマイクロプログラムで実施する他に、任意のタイプのプログラム、例えばＣＰＵタイプのマイクロプロセッサが実行可能なプログラムで実施してもよい。
【００９０】
有利には、投影係数の推定に用いる基底関数は、球面調和タイプの関数または球波面タイプの関数である。
【００９１】
本発明の適用範囲は、実行中に使用することに限定されるものではなく、例えばコンピュータ生成画像をレンダリングしたものに、録音スタジオでいわゆる作成後処理をかけるなど、任意の他の使用形態にも拡張される。作成後に本発明を実施すると、必要な計算時間を短くしながら、特に臨場感に関して視覚的に優れたレンダリングが得られるという利点がある。
【００９２】
本発明は、関与する均質な媒質によって散乱される光の量を計算するための２次元または３次元のビデオ映像を構成する方法にも関するものであり、散乱光の量による光度を表す情報を用いて、それぞれ観察方向に対応する複数の画素を観察方向ωoutに沿って表示する。各画素が表示する光度の計算値は、観察者の様々な視点に適合するように再計算される。
【００９３】
本発明は、例えばビデオゲームアプリケーションにおいて、ＰＣまたはラップトップタイプのコンピュータで実行可能なプログラムによって、または、ライブ画像を生成し表示する専用ゲーム機で利用することができる。図４を参照して説明した装置４は、有利には、キーボードおよび／またはジョイスティックなどの対話手段を有し、音声認識などの命令を入力する他のモードも可能である。
（付記１）
環境照明（３）から出射し、関与する均質な媒質（１０）によって散乱される光の量を推定する方法であって、
球関数の正規直交基底での第１の組の投影係数を推定するステップ（５１、６１）であって、前記第１の組の投影係数は、前記関与する媒質（１０）が受け取る入射光度の関数を表す、ステップと、
球関数の前記正規直交基底での第２の組の投影係数を推定するステップ（５２、６２）であって、前記第２の組の投影係数は、前記関与する媒質（１０）の位相関数を表す、ステップと、
前記関与する媒質（１０）によって、前記光の少なくとも１つの拡散方向に沿って散乱される光の量を前記第１の組の投影係数および第２の組の投影係数から解析的に推定するステップ（５３、６４）とを含むことを特徴とする方法。
（付記２）
前記環境照明（３）は複数の光源（３１、３２、３３）を備え、前記複数の光源は前記関与する媒質（１０）に対して光学的な無限遠に位置することを特徴とする付記１に記載の方法。
（付記３）
前記散乱光量を解析的に推定するステップは、前記関与する均質な媒質中での前記少なくとも１つの光の方向に沿った光の拡散を表す積分を直接計算するステップを含むことを特徴とする付記１から２の一項に記載の方法。
（付記４）
前記第１の組の投影係数を推定するステップは、前記環境照明（３）を表す環境マッピングを球関数の前記正規直交基底に投影することによってなされることを特徴とする付記１から３の一項に記載の方法。
（付記５）
前記球関数は球面調和タイプのものであることを特徴とする付記１から４の一項に記載の方法。
（付記６）
前記第１の組の投影係数および第２の投影係数は、少なくとも１つのグラフィックプロセッサに付随するメモリの少なくとも１つのテーブルに記憶されることを特徴とする付記１から５の一項に記載の方法。
【図１】
0005848071.tif 000019
【図２Ａ】
0005848071.tif 000020
【図２Ｂ】
0005848071.tif 000021
【図３】
0005848071.tif 000022
【図４】
0005848071.tif 000023
【図５】
0005848071.tif 000024
【図６】
0005848071.tif 000025