(57)【要約】      （修正有）【課題】水面効果を作り出すために、水面における高低の起伏といった外形的変化に水面の陰影の変化を加えリアルな水の感覚を再現する。【解決手段】水波マップの各々の可視範囲内で水波格子点を生成し、水波格子点の二次元座標に基づいて、水波の実際の高さに対応した対応する三次元座標を生成し、最終的にこの三次元座標に基づいて、波変化を有する水面を生成する。また本発明では水面の高さ情報を動的に得ることができるとともに、得られた水面の高さ情報に基づいて陰影変化を有する水面を生成する。このうち屈折および反射効果が含まれることで、生成された水面画像がよりリアルになる。【選択図】図４
2008152747.tif 000002
【特許請求の範囲】
【請求項１】
複数の水波マップ（Ｗａｔｅｒ  Ｗａｖｅ  Ｍａｐ）を合成して合成水波マップを生成するマップ合成モジュールと、
前記複数の水波マップ上の各々の可視範囲内で複数の第１の水波格子点を生成し、前記合成水波マップ上の前記可視範囲内で複数の第２の水波格子点を生成するものであり、前記複数の第１の水波格子点および前記複数の第２の水波格子点の各々はいずれも二次元座標を有している第１の生成モジュールと、
前記複数の第１の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成する座標生成モジュールと、
前記複数の三次元座標および前記複数の第２の水波格子点の二次元座標に基づいて前記水面を生成するマップ生成モジュールと、を備えたことを特徴とする水面描画装置。
【請求項２】
前記座標生成モジュールは、更に頂点シェーダ技術により変換された物体の頂点の二次元世界（Ｗｏｒｌｄ）座標に基づいて、前記物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成することを特徴とする請求項１に記載の装置。
【請求項３】
前記マップ生成モジュールは、更に前記物体の頂点の二次元世界座標と、前記物体の頂点の三次元世界座標と、頂点シェーダ技術により変換された物体の頂点の高さ座標とに基づいて、屈折マップおよび反射マップを生成するとともに、前記屈折マップと、前記反射マップと、前記複数の三次元座標と、前記複数の第２の水波格子点の前記二次元座標とに基づいて水面画像を生成することを特徴とする請求項２に記載の装置。
【請求項４】
前記第１の生成モジュールは、
前記複数の水波マップ上の各々の前記可視範囲周囲の複数の第１の基準点をピックアップし、前記合成水波マップ上の前記可視範囲周囲の複数の第２の基準点をピックアップするピックアップモジュールと、
前記複数の第１の基準点に基づいて前記複数の第１の水波格子点を生成し、前記複数の第２の基準点に基づいて前記複数の第２の水波格子点を生成する格子点生成モジュールと、を備えたことを特徴とする請求項１に記載の装置。
【請求項５】
前記複数の第１の基準点および前記複数の第２の基準点が前記可視範囲の頂点であることを特徴とする請求項４に記載の装置。
【請求項６】
前記複数の水波マップが正弦波マップ（Ｓｉｎｅ  Ｗａｖｅ  Ｍａｐ）、余弦波マップ（Ｃｏｓｉｎｅ  Ｗａｖｅ  Ｍａｐ）および高速フーリエ変換の波マップ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ  Ｗａｖｅ  Ｍａｐ）のうちの一つ、または組合わせであることを特徴とする請求項１に記載の装置。
【請求項７】
複数の水波マップを合成して合成水波マップを取得するステップと、
前記複数の水波マップの各々の可視範囲内で、各々が二次元座標を有する複数の第１の水波格子点を生成するステップと、
前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第２の水波格子点を生成するステップと、
前記複数の第１の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、
前記複数の三次元座標および前記複数の第２の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含むことを特徴とする水面描画方法。
【請求項８】
前記三次元座標を生成するステップでは、更に頂点シェーダ技術により変換された物体の頂点の二次元世界座標に基づいて、前記物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成することを特徴とする請求項７に記載の方法。
【請求項９】
前記水面生成ステップでは、更に前記物体の頂点の二次元世界座標と、前記物体の頂点の三次元世界座標と、頂点シェーダ技術により変換された物体の頂点の高さ座標とに基づいて、屈折マップおよび反射マップを生成することを特徴とする請求項８に記載の方法。
【請求項１０】
前記水面生成ステップでは、更に前記屈折マップと、前記反射マップと、前記複数の三次元座標と、前記複数の第２の水波格子点の前記二次元座標とに基づいて前記水面画像を生成することを特徴とする請求項９に記載の方法。
【請求項１１】
前記第１の水波格子点生成ステップは、
前記複数の水波マップ上の各々の前記可視範囲周囲の複数の第１の基準点をピックアップするステップと、
前記複数の第１の基準点に基づいて前記複数の第１の水波格子点を生成するステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項１２】
前記第２の水波格子点生成ステップは、
前記合成水波マップ上の前記可視範囲周囲の複数の第２の基準点をピックアップするステップと、
前記複数の第２の基準点に基づいて前記複数の第２の水波格子点を生成するステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項１３】
前記複数の第１の基準点が前記可視範囲の頂点であることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記複数の第２の基準点が前記可視範囲の頂点であることを特徴とする請求項１２に記載の方法。
【請求項１５】
水面描画方法を水面描画装置で実行するためのアプリケーションプログラムを記憶するコンピュータ読取り可能媒体であって、前記水面描画方法は、
マップ合成モジュールが複数の水波マップを合成して合成水波マップを取得するステップと、
第１の生成モジュールが前記複数の水波マップの各々の可視範囲内で、各々が二次元座標を有する複数の第１の水波格子点を生成するステップと、
前記第１の生成モジュールが前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第２の水波格子点を生成するステップと、
前記座標生成モジュールが前記複数の第１の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、
前記マップ合成モジュールが前記複数の三次元座標および前記複数の第２の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項１６】
前記複数の三次元座標を生成するステップでは、更に前記座標生成モジュールが、頂点シェーダ技術により変換された物体の頂点の二次元世界座標に基づいて、前記物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成することを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１７】
前記水面生成ステップでは、更に前記マップ生成モジュールが、前記物体の頂点の二次元座標と、前記物体の頂点の三次元世界座標と、頂点シェーダ技術により変換された物体の頂点の高さ座標とに基づいて、屈折マップおよび反射マップを生成することを特徴とする請求項１６に記載のコンピュータ読取り可能媒体。
【請求項１８】
前記水面生成ステップでは、更に前記マップ生成モジュールが、前記屈折マップと、前記反射マップと、前記複数の三次元座標と、前記複数の第２の水波格子点の前記二次元座標とに基づいて水面画像を生成することを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記第１の水波格子点生成ステップは、
ピックアップモジュールが前記複数の水波マップ上の各々の前記可視範囲周囲の複数の第１の基準点をピックアップするステップと、
格子点生成モジュールが前記複数の第１の基準点に基づいて前記複数の第１の水波格子点を生成するステップと、を含むことを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項２０】
前記第２の水波格子点生成ステップは、
前記ピックアップモジュールが前記合成水波マップ上の前記可視範囲周囲の複数の第２の基準点をピックアップするステップと、
前記格子点生成モジュールが前記複数の第２の基準点に基づいて前記複数の第２の水波格子点を生成するステップと、を含むことを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項２１】
前記複数の第１の基準点が前記可視範囲の頂点であることを特徴とする請求項１９に記載のコンピュータ読取り可能媒体。
【請求項２２】
前記複数の第２の基準点が前記可視範囲の頂点であることを特徴とする請求項２０に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は水面描画装置、方法およびコンピュータ読取り可能媒体に関し、特に、まず水面の実際の高さ情報を生成した後に、水面の実際の高さ情報に基づいて水面を描画する装置、方法およびコンピュータ読取り可能媒体に関するものである。
【背景技術】
【０００２】
科学技術の進歩に伴って、人々の日常生活も科学技術との関係が密接となっている。映画およびコンピュータゲームにおいても、いわゆる３Ｄ動画がよく見られるようになっており、映像技術の成熟により、３Ｄ動画も実生活における場面にますます近づきつつある。３Ｄ動画では水面画像を生成するに際して、水面効果を作り出すために、水面における高低の起伏といった外形的変化以外にも、多くの場合、水面の陰影の変化を加えて始めてリアルな水の感覚が再現できることから、よって水面の反射マップおよび屈折マップを生成することは、かなり重要なステップである。
【０００３】
通常、水面の陰影の効果は下記式により表される。
【０００４】
【数１】
2008152747.tif 000003
式中、Ｃresultは水面に最後に現われる色であり、ＣreflectおよびＣrefractはそれぞれ周囲環境による倒立像および水中の物体が水を透過して現われる色を表し、Ｆ（θ）はこの二種類の陰影を混合するフレスネル係数を表す。また水面の倒立像には通常、遠距離周囲環境の倒立像Ｃenvironmentおよび近距離物体の倒立像Ｃlocalreflectの二つの大きな部分が含まれている。
【０００５】
【数２】
2008152747.tif 000004
ＣenvironmentおよびＣlocalreflectはそれぞれ反射ベクトルおよび投影ベクトルをサンプリング座標とすることで水面に反映させる。水の深さの変化が感じられるように、同様に水中物体が水を透過して現われる色を考慮しなければならない。その計算式は下記のとおりとなる。
【０００６】
【数３】
2008152747.tif 000005
式中、Ｃobjectcolorは物体本来の色であり、Ｃwatercolorは水の深みに伴って現われる色であり、ｅ-f(y)は水深に基づいてこの上記二種類の色を混合させる比率係数である。この部分も同様に投影ベクトルをサンプリング座標とすることで水面に反映させるとともに、通常これらサンプリング座標はいずれも適度に乱すことにより更に細かな波紋の効果を増加させている。
【０００７】
図１は従来の水面画像描画装置１を示しており、この装置１はデータベース１０と、反射マップ生成モジュール１１と、屈折マップ生成モジュール１２と、マップ合成モジュール１３とを備えている。データベース１０には水波マップ１６が記憶されており、反射マップ生成モジュール１１および屈折マップ生成モジュール１２は固定された水面の高さに基づいて反射マップ１４および屈折マップ１５を生成する。このうち、固定された水面の高さは水面を平静で波がないものと見なしたものであるので、水面の高さは一定の所定値であると見なしている。この後、マップ合成モジュール１３により[数１]を用いて、データベース１０に記憶されている水波マップ１６と反射マップ１４および屈折マップ１５とを合成して、波と陰影変化のある水面画像１７を生成する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の技術では、近距離物体の倒立像Ｃlocalreflect（反射マップ１４）および水中物体の屈折効果Ｃrefract（屈折マップ１５）を計算する過程で、実際の水面の高さの変化を考慮しておらず、通常は水面が高さ（Ｙ軸）のゼロの位置にあると仮定して上記した陰影マップを生成しているが、このような方法では平静または微小波を有する水面に対応できるのみであり、比較的大きな振幅の波を持つ水面（例えば海辺）については、図２に示すような不具合が生じてしまいがちである。岸辺の泡２１は岩礁２０を囲んでおらず、しかも水面下の岩礁の屈折陰影２２は実際の岩礁の所在位置から明らかにずれすぎており、また図３に示すように屈折部分が反射部分３０として誤認されてしまう。図３の誤認が生じてしまうのは、水面高さを固定し（水面が高さゼロの位置にあると仮定している）、しかもこの基準位置で反射マップおよび屈折マップを生成して、実際の水面高さを参考にしなかったため屈折部分を反射部分と誤認されてしまうからである。逆もまた然りである。
【０００９】
よって水の感覚をより一層リアルに表現し、より視覚的に真に迫った感覚を３Ｄ動画に持たせて、ひいては３Ｄ動画関連産業の価値を高めることは、業界において努力して解決すべき目標である。
【課題を解決するための手段】
【００１０】
本発明の目的は、複数の水波マップ（Ｗａｔｅｒ  Ｗａｖｅ  Ｍａｐ）を合成して合成水波マップを生成するマップ合成モジュールと、前記複数の水波マップの各々の可視範囲内で複数の第１の水波格子点を生成し、前記合成水波マップ上の前記可視範囲内で複数の第２の水波格子点を生成するものであり、前記複数の第１の水波格子点および前記複数の第２の水波格子点の各々はいずれも二次元座標を有している第１の生成モジュールと、前記複数の第１の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成する座標生成モジュールと、前記複数の三次元座標および前記複数の第２の水波格子点の二次元座標に基づいて前記水面を生成するマップ生成モジュールと、を備えた水面描画装置を提供するところにある。
【００１１】
本発明の他の目的は、複数の水波マップを合成して合成水波マップを取得するステップと、前記複数の水波マップの各々の可視範囲内で、各々がいずれも二次元座標を有する複数の第１の水波格子点を生成するステップと、前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第２の水波格子点を生成するステップと、前記複数の第１の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、前記複数の三次元座標および前記複数の第２の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含む水面描画方法を提供するところにある。
【００１２】
本発明の更に他の目的は、マップ合成モジュールが複数の水波マップを合成して合成水波マップを取得するステップと、第１の生成モジュールが前記複数の水波マップの各々の可視範囲内で、各々が二次元座標を有する複数の第１の水波格子点を生成するステップと、前記第１の生成モジュールが前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第２の水波格子点を生成するステップと、前記座標生成モジュールが前記複数の第１の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、前記マップ合成モジュールが前記複数の三次元座標および前記複数の第２の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含む水面描画方法を水面描画装置で実行するためのアプリケーションプログラムを記憶するコンピュータ読取り可能媒体を提供するものである。
【発明の効果】
【００１３】
本発明では、水面画像を生成するに際して、実際の水面に近似した陰影変化が可能となるよう水面の高さ情報を動的に得ることができ、しかも水面または水面下に物体があった場合（例えば岩礁、船舶および水面に浮上した鯨など）、本発明では更に実際の水面の高さ情報に基づいて屈折マップおよび反射マップを生成するとともに、屈折マップおよび反射マップを波の変化を有する水面に結合させて、より実際の水面に近似した屈折および反射現象のある水面画像を生成し、ひいては３Ｄ動画関連産業の価値を高めることができる。
【００１４】
図面および後述の実施形態を参照することで、当業者においては本発明のその他目的、および本発明の技術手法および実施態様を理解することが可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明の第１の実施例は図４に示すとおりである。これは、マップ合成モジュール４００と、第１の生成モジュール４０１と、座標生成モジュール４０２と、マップ生成モジュール４０３とを備えた水面描画装置４である。まずマップ合成モジュール４００が複数の水波マップ（Ｗａｔｅｒ  Ｗａｖｅ  Ｍａｐ）４０４を受け取るわけであるが、この水波マップ４０４は予め生成されたものであって、従来技術においてＣＰＵで生成した水波マップの多くは正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップなどとなっている。もし水波マップ４０４が正弦波マップであるならば、水波マップ４０４の水波は単に規則性のある単調な正弦波となる。図５に示すように、正弦波５００および正弦波５０１は異なる水波マップ４０４中にそれぞれ保存されており、もしその中の一つの水波マップのみで水面の波を表現するとなると、明らかにかなり単調になってしまい、現実には水波がこのように規則的になることはあり得ない。もし正弦波５００と正弦波５０１とを合成波５０２として合成すると、視覚的に実際の波の変化に近似するので、マップ合成モジュール４００は異なる振幅または位相の正弦波マップを合成するか、または正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップとを混合して合成して、実際の水波に近似した合成水波マップ４０５を生成する。このうちこの合成水波マップ４０５は図２Ｄである。
【００１６】
図６に示すように、人の目６００が上から下に向けて水面６０２を俯瞰したとき、視野角の関係から、実際の水面６０７が見えるだけである。人の目６００の方向で見ると、実際の水面６０７の形状は、四つの頂点６０３、６０４、６０５および６０６により形成される台形（近くが狭く遠くが広い）に近くなる。台形の水面マップ内挿で内部グリッド点を求めるのは簡単ではないので、内挿計算処理を行いやすくするために、第１の生成モジュール４０１はこの台形を長方形の格子マップ６０８にマッピングしており、更に言えば、この格子マップ６０８の四つの頂点６０９、６１０、６１１および６１２は頂点６０３、６０４、６０５および６０６にそれぞれ対応している。格子マップ６０８中には数多くの格子点が含まれ、各々の格子点はいずれも二次元座標を有しており、ここで言うところの二次元座標は水面のＸ軸座標およびＺ軸座標を指している。
【００１７】
より詳細に言えば、第１の生成モジュール４０１はピックアップモジュール４０８と、格子点生成モジュール４０９とを備えており、ピックアップモジュール４０８は水波マップ４０４の各々の実際の水面６０７周囲に四つの第１の基準点を生成するものであり、この四つの第１の基準点はこの水波マップの実際の水面６０７における頂点（図６における頂点６０３、６０４、６０５および６０６に同じ）であり、すべての水波マップ４０４の第１の基準点４１０は格子点生成モジュール４０９に送られる。またピックアップモジュール４０８は合成水波マップ４０５上の実際の水面６０７周囲にも四つの第２の基準点４１１を生成するものであり、この四つの第２の基準点４１１は合成水波マップ４０５の実際の水面６０７における頂点（図６における頂点６０３、６０４、６０５および６０６に同じ）であり、第２の基準点４１１もまた格子点生成モジュール４０９に送られる。したがって、ピックアップモジュール４０８は水波マップ４０４および合成水波マップ４０５上にそれぞれ図６のような台形の実際の水面６０７を生成するともに、台形の四つの頂点をそれぞれピックアップすると言える。
【００１８】
格子点生成モジュール４０９はまず水波マップ４０４および合成水波マップ４０５中における台形の実際の水面６０７を格子マップ６０８に変換するとともに、ピクセルシェーダ技術（Ｐｉｘｅｌ  Ｓｈａｄｅｒ）を用いて、全ての第１の基準点４１０に基づいて、対応する長方形上に、各々がいずれも自身の二次元座標（Ｘ軸座標およびＺ軸座標）を含んでいる第１の水波格子点４０６を生成する（格子マップ６０８中の格子点に同じ）。また、第２の基準点４１１を利用して、対応する長方形上に、各々が自身の二次元座標（Ｘ軸座標およびＺ軸座標）を含んでいる第２の水波格子点４０６を生成する（格子マップ６０８中の格子点に同じ）。
【００１９】
座標生成モジュール４０２は第１の水波格子点４０６の各々の二次元座標に基づいて、下記関係式により第１の水波格子点４０６の各々の三次元座標４１２を生成する。
【００２０】
【数４】
2008152747.tif 000006
式中、Ｈwは三次元座標（つまりＹ軸座標、水波の水面の実際の高さ）であり、ｗａｖｅiは対応する水波マップであり、Ｖpos．ｘｚは第１の水波格子点４０６の二次元座標であり、ｓｃａｌｅiは生成した波紋の周波数を調節するための使用者により定義された所定定数である。また、水波が水際にある場合には、水際では物体（例えば岩礁、船舶および水面に浮上した鯨など）の水中および水面への屈折および反射があることが常であり、何らかの物体を随時水面マップ中に挿入できるようにするため、座標生成モジュール４０２は物体（上記した岩礁、船舶および水面に浮上した鯨など）の頂点の二次元世界（ｗｏｒｌｄ）座標４１３（物体の頂点の二次元世界座標とは物体における頂点の元のＸ軸およびＹ軸の座標を頂点シェーダ技術（Ｖｅｒｔｅｘ  Ｓｈａｄｅｒ）により変換したものである）に基づいて、この物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成する。
【００２１】
続いて、マップ生成モジュール４０３が頂点シェーダ技術（Ｖｅｒｔｅｘ  Ｓｈａｄｅｒ）を用いるとともに、第２の水波格子点４０７の二次元座標および第１の水波格子点４０６の各々の三次元座標４１２に基づいて水面を生成し、かつマップ生成モジュール４０３は更に物体の頂点の二次元世界座標４１３と、物体の頂点の高さ座標と、水の高さに対応する物体の頂点の三次元世界座標４１４とに基づいて、この頂点が実際の水面の上または下に位置しているかを判断し、ひいてはこの物体が水中にもたらす屈折マップおよび反射マップを生成し、最終的にマップ生成モジュール４０３はピクセルシェーダ技術を用いて、波変化を有する水面と以前に生成した屈折マップおよび反射マップとを合成して、波と陰影変化を有する水面画像４１５を生成する。
【００２２】
本発明の第２の実施例は、水面描画方法のフローチャートである図７に示すとおりである。まずステップ７００を実行し、予め生成しておいた複数の水波マップを受け取る。ここでの水波マップは第１の実施例における水波マップと同じであるので、説明は省略する。もしその中の一つの水波マップのみで水面の波を表現するとなると、明らかにかなり単調になってしまい、現実には水波がこのように規則的になることはあり得ないので、複数の水波マップ中の正弦波を合成して、合成波を生成しているが、この合成波は視覚的に実際の水波変化に近似しているので、ステップ７０１において、異なる振幅または位相の正弦波マップを合成するか、または正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップとを混合して合成して、実際の水波に近似した合成水波マップを生成する。このうちこの合成水波マップは図２Ｄである。
【００２３】
同様に、図６に示すように、人の目６００が上から下に向けて水面６０２を俯瞰したとき、視野角の関係から、実際の水面６０７が見えるだけである。人の目６００の方向で見ると、実際の水面６０７の形状は、四つの頂点６０３、６０４、６０５および６０６により形成される台形（近くが狭く遠くが広い）に近くなる。台形の水面マップ内挿で内部グリッド点を求めるのは簡単ではないので、内挿計算処理を行いやすくするために、この台形を長方形の格子マップ６０８にマッピングしており、更に言えば、この格子マップ６０８の四つの頂点６０９、６１０、６１１および６１２は頂点６０３、６０４、６０５および６０６にそれぞれ対応している。格子マップ６０８中には数多くの格子点が含まれ、各々の格子点はいずれも二次元座標を有しており、ここで言うところの二次元座標は水面のＸ軸座標およびＺ軸座標を指している。
【００２４】
ステップ７０２およびステップ７０３を実行する際に、それぞれ複数の第１の水波格子点および第２の水波格子点を生成するが（格子マップ６０８上の格子点に同じ）、より詳細には、図８に示すように、ステップ７０２は、水波マップの各々の実際の水面の周囲に、この水波マップの実際の水面の頂点（図６における頂点６０３、６０４、６０５および６０６に同じ）である四つの第１の基準点を生成するとともにピックアップするステップ８００と、その後に、ピクセルシェーダ技術を用いて、全ての第１の基準点に基づいて、対応する長方形上に、各々がいずれも自身の二次元座標（Ｘ軸座標およびＺ軸座標）を含んでいる第１の水波格子点（格子マップ６０８中の格子点に同じ）を生成するステップ８０１と、を含む。したがってステップ８０１も同じように水波マップ中の台形の実際の水面を格子マップに変換する。ステップ７０３はステップ７０２同様、合成水波マップの実際の水面の頂点（図６における頂点６０３、６０４、６０５および６０６に同じ）である四つの第２の基準点を生成するとともにピックアップし、更に第２の基準点に基づいて、対応する長方形上に、各々がまた自身の二次元座標（Ｘ軸座標およびＺ軸座標）を含んでいる第２の水波格子点（格子マップ６０８中の格子点に同じ）を生成する。
【００２５】
続いて、第１の水波格子点の各々の二次元座標に基づいて、下記関係式により第１の水波格子点の各々の三次元座標を生成するステップ７０４を実行する。
【００２６】
【数５】
2008152747.tif 000007
式中、Ｈwは三次元座標（つまりＹ軸座標、水波の水面の実際の高さ）であり、ｗａｖｅiは対応する水波マップであり、Ｖpos．ｘｚは第１の水波格子点の二次元座標であり、ｓｃａｌｅiは生成した波紋の周波数を調節するための使用者により定義された所定定数である。また、水波が水際にある場合には、水際では物体（例えば岩礁、船舶および水面に浮上した鯨など）の水中および水面への屈折および反射があることが常であり、何らかの物体を随時水面マップ中の画像中に挿入できるようにするため、物体（上記した岩礁、船舶および水面に浮上した鯨など）の頂点の二次元世界座標に基づいて、この点が水の高さに対応する物体の頂点の三次元世界座標４１４を生成するステップ７０５を実行する。
【００２７】
続いて、第２の水波格子点の二次元座標および第１の水波格子点の各々の三次元座標に基づいて、波変化を有する水面を生成するステップ７０６を実行し、ピクセルシェーダ技術を用いるとともに、物体の頂点の二次元世界座標４１３と、物体の頂点の高さ座標と、物体の頂点の三次元座標とに基づいて、この物体が水中にもたらす屈折マップおよび反射マップを生成するステップ７０７を実行した後、最終的にこの水面と、屈折マップおよび反射マップとを合成して、波と陰影変化を有する水面画像を生成するステップ７０８を実行する。
【００２８】
本発明の第３の実施例は図９に示すとおりである。これは、水面描画装置４に用いるこの水面画像描画方法のフローチャートである。
【００２９】
まず、ステップ９００を実行して、マップ合成モジュール４００が、予め生成しておいた複数の水波マップを受け取るが、ここでの水波マップは第１の実施例における水波マップと同じであるので、説明は省略する。もしその中の一つの水波マップのみで水面の波を表現するとなると、明らかにかなり単調になってしまい、現実には水波がこのように規則的になることはあり得ないので、複数の水波マップ中の正弦波を合成して、合成波を生成している。この合成波は視覚的に実際の水波変化に近似しているので、ステップ９０１において、マップ合成モジュール４００が異なる振幅または位相の正弦波マップを合成するか、または正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップとを混合して合成して、実際の水波に近似した合成水波マップ４０５を生成する。このうちこの合成水波マップ４０５は図２Ｄである。
【００３０】
同様に、図６に示すように、人の目６００が上から下に向けて水面６０２を俯瞰したとき、視野角の関係から、実際の水面６０７が見えるだけである。人の目６００の方向で見ると、実際の水面６０７の形状は、四つの頂点６０３、６０４、６０５および６０６により形成される台形（近くが狭く遠くが広い）に近くなる。台形の水面マップ内挿で内部グリッド点を求めるのは簡単ではないので、内挿計算処理を行いやすくするために、この台形を長方形の格子マップ６０８にマッピングしており、更に言えば、この格子マップ６０８の四つの頂点６０９、６１０、６１１および６１２は頂点６０３、６０４、６０５および６０６にそれぞれ対応している。格子マップ６０８中には数多くの格子点が含まれ、各々の格子点はいずれも二次元座標を有しており、ここで言うところの二次元座標は水面画像のＸ軸座標およびＺ軸座標を指している。
【００３１】
したがってステップ９０２および９０３を実行して、第１の生成モジュール４０１がそれぞれ複数の第１の水波格子点４０６および第２の水波格子点４０７を生成するが（格子マップ６０８上の格子点に同じ）、より詳細には、第１の生成モジュール４０１はピックアップモジュール４０８と格子点生成モジュール４０９とを備えているので、ステップ９０２は図８に示すように、ピックアップモジュール４０８が水波マップ４０４の各々の実際の水面６０７の周囲に、この水波マップの実際の水面６０７の頂点（図６における頂点６０３、６０４、６０５および６０６に同じ）である四つの第１の基準点を生成するとともにピックアップするステップ１０００と、その後に、格子点生成モジュール４０９がピクセルシェーダ技術を用いて、全ての第１の基準点４１０に基づいて、対応する長方形上に、各々がいずれも自身の二次元座標（Ｘ軸座標およびＺ軸座標）を含んでいる第１の水波格子点４０６（格子マップ６０８中の格子点に同じ）を生成するステップ１００１と、を含む。したがってステップ１００１も同じように水波マップ４０４中の台形の実際の水面６０７を格子マップ６０８に変換する。ステップ９０３はステップ９０２同様、ピックアップモジュール４０８が、合成水波マップの実際の水面の頂点（図６における頂点６０３、６０４、６０５および６０６に同じ）である四つの第２の基準点を生成するとともにピックアップし、更に第２の基準点に基づいて、対応する長方形上に、各々がまた自身の二次元座標（Ｘ軸座標およびＺ軸座標）を含んでいる第２の水波格子点４０７（格子マップ６０８中の格子点に同じ）を生成する。
【００３２】
ステップ９０４にて、座標生成モジュール４０２が第１の水波格子点４１６の各々の二次元座標に基づいて、下記関係式により第１の水波格子点４０６の各々の三次元座標４１２を生成する。
【００３３】
【数６】
2008152747.tif 000008
式中、Ｈwは三次元座標（つまりＹ軸座標、水波の水面の実際の高さ）であり、ｗａｖｅiは対応する水波マップであり、Ｖpos．ｘｚは第１の水波格子点４０６の二次元座標であり、ｓｃａｌｅiは生成した波紋の周波数を調節するための使用者により定義された所定定数である。また、水波が水際にある場合には、水際では物体（例えば岩礁、船舶および水面に浮上した鯨など）の水中および水面への屈折および反射があることが常であり、何らかの物体を随時水面マップ中の画像中に挿入できるようにするため、ステップ９０５で座標生成モジュール４０２でも物体（上記した岩礁、船舶および水面に浮上した鯨など）の頂点の二次元世界座標４１３に基づいて、この点の水の高さに対応する物体の頂点の三次元世界座標４１４を生成する。
【００３４】
続いて、ステップ９０６にてマップ生成モジュール４０３が第２の水波格子点４０７の二次元座標および第１の水波格子点４０６の各々の三次元座標４１２に基づいて、波変化を有する水面を生成し、ステップ９０７にてマップ生成モジュール４０３がピクセルシェーダ技術を用いるとともに、物体の頂点の二次元世界座標４１３と、物体の頂点の高さ座標と、物体の頂点の三次元座標４１４とに基づいて、この物体が水中にもたらす屈折マップおよび反射マップを生成した後、最終的にステップ９０８にて更にマップ生成モジュール４０３が波変化を有する水面と、屈折マップおよび反射マップとを合成して、波と陰影変化を有する水面画像４１５を生成する。
【００３５】
前記した方法では、前記ステップを実行するアプリケーションプログラムを記憶するコンピュータ読取り可能媒体を用いることができる。このコンピュータ読取り可能媒体はフロッピー（登録商標）ディスク、ハードディスク、光ディスク、携帯型メモリ、磁気テープ、ネットワークによりアクセス可能なデータベースまたは当業者により容易に想到される同様な機能を備えた記憶媒体とすることができる。
【００３６】
本発明は水面の高さ情報を動的に得ることができるとともに、得られた水面の高さ情報に基づいて波変化を有する水面を生成し、しかももし水面上または水面下に物体があった場合（岩礁、船舶および水面に浮上した鯨など）、本発明では実際の水面の高さ情報に基づいて屈折マップおよび反射マップを生成するとともに、屈折マップおよび反射マップを波の変化を有する水面に結合させて、実際の状態に近似した波および陰影変化を有する水面画像を生成し、図１１および図１２に示すように、泡が正確な高さ位置で岩礁を囲み、しかも屈折が反射として誤認されることはないので、本発明は従来技術における不具合を効果的に解決することができる。
【００３７】
上記実施例は、本発明の原理およびその効果を例示的に説明したものに過ぎず、本発明を限定するためのものではない。いかなる当業者でも、本発明の技術原理および技術思想に違えない状況下で、上記実施例に修正および改変を行うことができる。したがって、本発明の権利保護範囲は別紙の特許請求の範囲に記載されているものとする。
【図面の簡単な説明】
【００３８】
【図１】従来の水面画像描画装置の概略図である。
【図２】従来技術における概略的なマップである。
【図３】従来技術における概略的なマップである。
【図４】本発明の第１の実施例の概略図である。
【図５】正弦波形の波形図である。
【図６】人の目が上から下に向けて水面を俯瞰したときの概略図である。
【図７】本発明の第２の実施例のフローチャートである。
【図８】本発明の第２の実施例における水波格子点を生成するステップのフローチャートである。
【図９】本発明の第３の実施例のフローチャートである。
【図１０】本発明の第３の実施例における水波格子点を生成するステップのフローチャートである。
【図１１】本発明における概略的なマップである。
【図１２】本発明における概略的なマップである。
【符号の説明】
【００３９】
１      従来の水面画像描画装置
１０    データベース
１１    反射マップ生成モジュール
１２    屈折マップ生成モジュール
１３    マップ合成モジュール
１４    反射マップ
１５    屈折マップ
１６    水波マップ
１７    水面画像
２０    岩礁
２１    岸辺の泡
２２    岩礁の屈折陰影
３０    反射部分
４    水面描画装置
４００    マップ合成モジュール
４０１    第１の生成モジュール
４０２    座標生成モジュール
４０３    マップ生成モジュール
４０４    水波マップ
４０５    合成水波マップ
４０６    第１の水波格子点
４０７    第２の水波格子点
４０８    ピックアップモジュール
４０９    格子点生成モジュール
４１０    第１の基準点
４１１    第２の基準点
４１２    三次元座標
４１３    物体の頂点の二次元座標
４１４    物体の頂点の三次元座標
４１５    水面画像
５００    正弦波
５０１    正弦波
５０２    合成波
６００    目
６０２    水面
６０３    頂点
６０４    頂点
６０５    頂点
６０６    頂点
６０７    実際の水面
６０８    格子マップ
６０９    頂点
６１０    頂点
６１１    頂点
６１２    頂点
【図１】
2008152747.tif 000009
【図４】
2008152747.tif 000010
【図５】
2008152747.tif 000011
【図６】
2008152747.tif 000012
【図７】
2008152747.tif 000013
【図８】
2008152747.tif 000014
【図９】
2008152747.tif 000015
【図１０】
2008152747.tif 000016
【図２】
2008152747.tif 000017
【図３】
2008152747.tif 000018
【図１１】
2008152747.tif 000019
【図１２】
2008152747.tif 000020