JP2008152747A - 水面の実際の高さに応じて3d水面を描画する装置、方法およびコンピュータ読取り可能媒体 - Google Patents

水面の実際の高さに応じて3d水面を描画する装置、方法およびコンピュータ読取り可能媒体 Download PDF

Info

Publication number
JP2008152747A
JP2008152747A JP2007097074A JP2007097074A JP2008152747A JP 2008152747 A JP2008152747 A JP 2008152747A JP 2007097074 A JP2007097074 A JP 2007097074A JP 2007097074 A JP2007097074 A JP 2007097074A JP 2008152747 A JP2008152747 A JP 2008152747A
Authority
JP
Japan
Prior art keywords
map
water
water wave
wave
water surface
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.)
Pending
Application number
JP2007097074A
Other languages
English (en)
Inventor
Yung-Feng Chiu
邱永豐
Chun-Fa Chang
張鈞法
Yu-Jung Cheng
鄭育鎔
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.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
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 Institute for Information Industry filed Critical Institute for Information Industry
Publication of JP2008152747A publication Critical patent/JP2008152747A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】水面効果を作り出すために、水面における高低の起伏といった外形的変化に水面の陰影の変化を加えリアルな水の感覚を再現する。
【解決手段】水波マップの各々の可視範囲内で水波格子点を生成し、水波格子点の二次元座標に基づいて、水波の実際の高さに対応した対応する三次元座標を生成し、最終的にこの三次元座標に基づいて、波変化を有する水面を生成する。また本発明では水面の高さ情報を動的に得ることができるとともに、得られた水面の高さ情報に基づいて陰影変化を有する水面を生成する。このうち屈折および反射効果が含まれることで、生成された水面画像がよりリアルになる。
【選択図】図4

Description

本発明は水面描画装置、方法およびコンピュータ読取り可能媒体に関し、特に、まず水面の実際の高さ情報を生成した後に、水面の実際の高さ情報に基づいて水面を描画する装置、方法およびコンピュータ読取り可能媒体に関するものである。
科学技術の進歩に伴って、人々の日常生活も科学技術との関係が密接となっている。映画およびコンピュータゲームにおいても、いわゆる3D動画がよく見られるようになっており、映像技術の成熟により、3D動画も実生活における場面にますます近づきつつある。3D動画では水面画像を生成するに際して、水面効果を作り出すために、水面における高低の起伏といった外形的変化以外にも、多くの場合、水面の陰影の変化を加えて始めてリアルな水の感覚が再現できることから、よって水面の反射マップおよび屈折マップを生成することは、かなり重要なステップである。
通常、水面の陰影の効果は下記式により表される。
式中、Cresultは水面に最後に現われる色であり、CreflectおよびCrefractはそれぞれ周囲環境による倒立像および水中の物体が水を透過して現われる色を表し、F(θ)はこの二種類の陰影を混合するフレスネル係数を表す。また水面の倒立像には通常、遠距離周囲環境の倒立像Cenvironmentおよび近距離物体の倒立像Clocalreflectの二つの大きな部分が含まれている。
environmentおよびClocalreflectはそれぞれ反射ベクトルおよび投影ベクトルをサンプリング座標とすることで水面に反映させる。水の深さの変化が感じられるように、同様に水中物体が水を透過して現われる色を考慮しなければならない。その計算式は下記のとおりとなる。
式中、Cobjectcolorは物体本来の色であり、Cwatercolorは水の深みに伴って現われる色であり、e-f(y)は水深に基づいてこの上記二種類の色を混合させる比率係数である。この部分も同様に投影ベクトルをサンプリング座標とすることで水面に反映させるとともに、通常これらサンプリング座標はいずれも適度に乱すことにより更に細かな波紋の効果を増加させている。
図1は従来の水面画像描画装置1を示しており、この装置1はデータベース10と、反射マップ生成モジュール11と、屈折マップ生成モジュール12と、マップ合成モジュール13とを備えている。データベース10には水波マップ16が記憶されており、反射マップ生成モジュール11および屈折マップ生成モジュール12は固定された水面の高さに基づいて反射マップ14および屈折マップ15を生成する。このうち、固定された水面の高さは水面を平静で波がないものと見なしたものであるので、水面の高さは一定の所定値であると見なしている。この後、マップ合成モジュール13により[数1]を用いて、データベース10に記憶されている水波マップ16と反射マップ14および屈折マップ15とを合成して、波と陰影変化のある水面画像17を生成する。
従来の技術では、近距離物体の倒立像Clocalreflect(反射マップ14)および水中物体の屈折効果Crefract(屈折マップ15)を計算する過程で、実際の水面の高さの変化を考慮しておらず、通常は水面が高さ(Y軸)のゼロの位置にあると仮定して上記した陰影マップを生成しているが、このような方法では平静または微小波を有する水面に対応できるのみであり、比較的大きな振幅の波を持つ水面(例えば海辺)については、図2に示すような不具合が生じてしまいがちである。岸辺の泡21は岩礁20を囲んでおらず、しかも水面下の岩礁の屈折陰影22は実際の岩礁の所在位置から明らかにずれすぎており、また図3に示すように屈折部分が反射部分30として誤認されてしまう。図3の誤認が生じてしまうのは、水面高さを固定し(水面が高さゼロの位置にあると仮定している)、しかもこの基準位置で反射マップおよび屈折マップを生成して、実際の水面高さを参考にしなかったため屈折部分を反射部分と誤認されてしまうからである。逆もまた然りである。
よって水の感覚をより一層リアルに表現し、より視覚的に真に迫った感覚を3D動画に持たせて、ひいては3D動画関連産業の価値を高めることは、業界において努力して解決すべき目標である。
本発明の目的は、複数の水波マップ(Water Wave Map)を合成して合成水波マップを生成するマップ合成モジュールと、前記複数の水波マップの各々の可視範囲内で複数の第1の水波格子点を生成し、前記合成水波マップ上の前記可視範囲内で複数の第2の水波格子点を生成するものであり、前記複数の第1の水波格子点および前記複数の第2の水波格子点の各々はいずれも二次元座標を有している第1の生成モジュールと、前記複数の第1の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成する座標生成モジュールと、前記複数の三次元座標および前記複数の第2の水波格子点の二次元座標に基づいて前記水面を生成するマップ生成モジュールと、を備えた水面描画装置を提供するところにある。
本発明の他の目的は、複数の水波マップを合成して合成水波マップを取得するステップと、前記複数の水波マップの各々の可視範囲内で、各々がいずれも二次元座標を有する複数の第1の水波格子点を生成するステップと、前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第2の水波格子点を生成するステップと、前記複数の第1の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、前記複数の三次元座標および前記複数の第2の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含む水面描画方法を提供するところにある。
本発明の更に他の目的は、マップ合成モジュールが複数の水波マップを合成して合成水波マップを取得するステップと、第1の生成モジュールが前記複数の水波マップの各々の可視範囲内で、各々が二次元座標を有する複数の第1の水波格子点を生成するステップと、前記第1の生成モジュールが前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第2の水波格子点を生成するステップと、前記座標生成モジュールが前記複数の第1の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、前記マップ合成モジュールが前記複数の三次元座標および前記複数の第2の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含む水面描画方法を水面描画装置で実行するためのアプリケーションプログラムを記憶するコンピュータ読取り可能媒体を提供するものである。
本発明では、水面画像を生成するに際して、実際の水面に近似した陰影変化が可能となるよう水面の高さ情報を動的に得ることができ、しかも水面または水面下に物体があった場合(例えば岩礁、船舶および水面に浮上した鯨など)、本発明では更に実際の水面の高さ情報に基づいて屈折マップおよび反射マップを生成するとともに、屈折マップおよび反射マップを波の変化を有する水面に結合させて、より実際の水面に近似した屈折および反射現象のある水面画像を生成し、ひいては3D動画関連産業の価値を高めることができる。
図面および後述の実施形態を参照することで、当業者においては本発明のその他目的、および本発明の技術手法および実施態様を理解することが可能となる。
本発明の第1の実施例は図4に示すとおりである。これは、マップ合成モジュール400と、第1の生成モジュール401と、座標生成モジュール402と、マップ生成モジュール403とを備えた水面描画装置4である。まずマップ合成モジュール400が複数の水波マップ(Water Wave Map)404を受け取るわけであるが、この水波マップ404は予め生成されたものであって、従来技術においてCPUで生成した水波マップの多くは正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップなどとなっている。もし水波マップ404が正弦波マップであるならば、水波マップ404の水波は単に規則性のある単調な正弦波となる。図5に示すように、正弦波500および正弦波501は異なる水波マップ404中にそれぞれ保存されており、もしその中の一つの水波マップのみで水面の波を表現するとなると、明らかにかなり単調になってしまい、現実には水波がこのように規則的になることはあり得ない。もし正弦波500と正弦波501とを合成波502として合成すると、視覚的に実際の波の変化に近似するので、マップ合成モジュール400は異なる振幅または位相の正弦波マップを合成するか、または正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップとを混合して合成して、実際の水波に近似した合成水波マップ405を生成する。このうちこの合成水波マップ405は図2Dである。
図6に示すように、人の目600が上から下に向けて水面602を俯瞰したとき、視野角の関係から、実際の水面607が見えるだけである。人の目600の方向で見ると、実際の水面607の形状は、四つの頂点603、604、605および606により形成される台形(近くが狭く遠くが広い)に近くなる。台形の水面マップ内挿で内部グリッド点を求めるのは簡単ではないので、内挿計算処理を行いやすくするために、第1の生成モジュール401はこの台形を長方形の格子マップ608にマッピングしており、更に言えば、この格子マップ608の四つの頂点609、610、611および612は頂点603、604、605および606にそれぞれ対応している。格子マップ608中には数多くの格子点が含まれ、各々の格子点はいずれも二次元座標を有しており、ここで言うところの二次元座標は水面のX軸座標およびZ軸座標を指している。
より詳細に言えば、第1の生成モジュール401はピックアップモジュール408と、格子点生成モジュール409とを備えており、ピックアップモジュール408は水波マップ404の各々の実際の水面607周囲に四つの第1の基準点を生成するものであり、この四つの第1の基準点はこの水波マップの実際の水面607における頂点(図6における頂点603、604、605および606に同じ)であり、すべての水波マップ404の第1の基準点410は格子点生成モジュール409に送られる。またピックアップモジュール408は合成水波マップ405上の実際の水面607周囲にも四つの第2の基準点411を生成するものであり、この四つの第2の基準点411は合成水波マップ405の実際の水面607における頂点(図6における頂点603、604、605および606に同じ)であり、第2の基準点411もまた格子点生成モジュール409に送られる。したがって、ピックアップモジュール408は水波マップ404および合成水波マップ405上にそれぞれ図6のような台形の実際の水面607を生成するともに、台形の四つの頂点をそれぞれピックアップすると言える。
格子点生成モジュール409はまず水波マップ404および合成水波マップ405中における台形の実際の水面607を格子マップ608に変換するとともに、ピクセルシェーダ技術(Pixel Shader)を用いて、全ての第1の基準点410に基づいて、対応する長方形上に、各々がいずれも自身の二次元座標(X軸座標およびZ軸座標)を含んでいる第1の水波格子点406を生成する(格子マップ608中の格子点に同じ)。また、第2の基準点411を利用して、対応する長方形上に、各々が自身の二次元座標(X軸座標およびZ軸座標)を含んでいる第2の水波格子点406を生成する(格子マップ608中の格子点に同じ)。
座標生成モジュール402は第1の水波格子点406の各々の二次元座標に基づいて、下記関係式により第1の水波格子点406の各々の三次元座標412を生成する。

式中、Hwは三次元座標(つまりY軸座標、水波の水面の実際の高さ)であり、waveiは対応する水波マップであり、Vpos.xzは第1の水波格子点406の二次元座標であり、scaleiは生成した波紋の周波数を調節するための使用者により定義された所定定数である。また、水波が水際にある場合には、水際では物体(例えば岩礁、船舶および水面に浮上した鯨など)の水中および水面への屈折および反射があることが常であり、何らかの物体を随時水面マップ中に挿入できるようにするため、座標生成モジュール402は物体(上記した岩礁、船舶および水面に浮上した鯨など)の頂点の二次元世界(world)座標413(物体の頂点の二次元世界座標とは物体における頂点の元のX軸およびY軸の座標を頂点シェーダ技術(Vertex Shader)により変換したものである)に基づいて、この物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成する。
続いて、マップ生成モジュール403が頂点シェーダ技術(Vertex Shader)を用いるとともに、第2の水波格子点407の二次元座標および第1の水波格子点406の各々の三次元座標412に基づいて水面を生成し、かつマップ生成モジュール403は更に物体の頂点の二次元世界座標413と、物体の頂点の高さ座標と、水の高さに対応する物体の頂点の三次元世界座標414とに基づいて、この頂点が実際の水面の上または下に位置しているかを判断し、ひいてはこの物体が水中にもたらす屈折マップおよび反射マップを生成し、最終的にマップ生成モジュール403はピクセルシェーダ技術を用いて、波変化を有する水面と以前に生成した屈折マップおよび反射マップとを合成して、波と陰影変化を有する水面画像415を生成する。
本発明の第2の実施例は、水面描画方法のフローチャートである図7に示すとおりである。まずステップ700を実行し、予め生成しておいた複数の水波マップを受け取る。ここでの水波マップは第1の実施例における水波マップと同じであるので、説明は省略する。もしその中の一つの水波マップのみで水面の波を表現するとなると、明らかにかなり単調になってしまい、現実には水波がこのように規則的になることはあり得ないので、複数の水波マップ中の正弦波を合成して、合成波を生成しているが、この合成波は視覚的に実際の水波変化に近似しているので、ステップ701において、異なる振幅または位相の正弦波マップを合成するか、または正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップとを混合して合成して、実際の水波に近似した合成水波マップを生成する。このうちこの合成水波マップは図2Dである。
同様に、図6に示すように、人の目600が上から下に向けて水面602を俯瞰したとき、視野角の関係から、実際の水面607が見えるだけである。人の目600の方向で見ると、実際の水面607の形状は、四つの頂点603、604、605および606により形成される台形(近くが狭く遠くが広い)に近くなる。台形の水面マップ内挿で内部グリッド点を求めるのは簡単ではないので、内挿計算処理を行いやすくするために、この台形を長方形の格子マップ608にマッピングしており、更に言えば、この格子マップ608の四つの頂点609、610、611および612は頂点603、604、605および606にそれぞれ対応している。格子マップ608中には数多くの格子点が含まれ、各々の格子点はいずれも二次元座標を有しており、ここで言うところの二次元座標は水面のX軸座標およびZ軸座標を指している。
ステップ702およびステップ703を実行する際に、それぞれ複数の第1の水波格子点および第2の水波格子点を生成するが(格子マップ608上の格子点に同じ)、より詳細には、図8に示すように、ステップ702は、水波マップの各々の実際の水面の周囲に、この水波マップの実際の水面の頂点(図6における頂点603、604、605および606に同じ)である四つの第1の基準点を生成するとともにピックアップするステップ800と、その後に、ピクセルシェーダ技術を用いて、全ての第1の基準点に基づいて、対応する長方形上に、各々がいずれも自身の二次元座標(X軸座標およびZ軸座標)を含んでいる第1の水波格子点(格子マップ608中の格子点に同じ)を生成するステップ801と、を含む。したがってステップ801も同じように水波マップ中の台形の実際の水面を格子マップに変換する。ステップ703はステップ702同様、合成水波マップの実際の水面の頂点(図6における頂点603、604、605および606に同じ)である四つの第2の基準点を生成するとともにピックアップし、更に第2の基準点に基づいて、対応する長方形上に、各々がまた自身の二次元座標(X軸座標およびZ軸座標)を含んでいる第2の水波格子点(格子マップ608中の格子点に同じ)を生成する。
続いて、第1の水波格子点の各々の二次元座標に基づいて、下記関係式により第1の水波格子点の各々の三次元座標を生成するステップ704を実行する。

式中、Hwは三次元座標(つまりY軸座標、水波の水面の実際の高さ)であり、waveiは対応する水波マップであり、Vpos.xzは第1の水波格子点の二次元座標であり、scaleiは生成した波紋の周波数を調節するための使用者により定義された所定定数である。また、水波が水際にある場合には、水際では物体(例えば岩礁、船舶および水面に浮上した鯨など)の水中および水面への屈折および反射があることが常であり、何らかの物体を随時水面マップ中の画像中に挿入できるようにするため、物体(上記した岩礁、船舶および水面に浮上した鯨など)の頂点の二次元世界座標に基づいて、この点が水の高さに対応する物体の頂点の三次元世界座標414を生成するステップ705を実行する。
続いて、第2の水波格子点の二次元座標および第1の水波格子点の各々の三次元座標に基づいて、波変化を有する水面を生成するステップ706を実行し、ピクセルシェーダ技術を用いるとともに、物体の頂点の二次元世界座標413と、物体の頂点の高さ座標と、物体の頂点の三次元座標とに基づいて、この物体が水中にもたらす屈折マップおよび反射マップを生成するステップ707を実行した後、最終的にこの水面と、屈折マップおよび反射マップとを合成して、波と陰影変化を有する水面画像を生成するステップ708を実行する。
本発明の第3の実施例は図9に示すとおりである。これは、水面描画装置4に用いるこの水面画像描画方法のフローチャートである。
まず、ステップ900を実行して、マップ合成モジュール400が、予め生成しておいた複数の水波マップを受け取るが、ここでの水波マップは第1の実施例における水波マップと同じであるので、説明は省略する。もしその中の一つの水波マップのみで水面の波を表現するとなると、明らかにかなり単調になってしまい、現実には水波がこのように規則的になることはあり得ないので、複数の水波マップ中の正弦波を合成して、合成波を生成している。この合成波は視覚的に実際の水波変化に近似しているので、ステップ901において、マップ合成モジュール400が異なる振幅または位相の正弦波マップを合成するか、または正弦波マップ、余弦波マップおよび高速フーリエ変換の波マップとを混合して合成して、実際の水波に近似した合成水波マップ405を生成する。このうちこの合成水波マップ405は図2Dである。
同様に、図6に示すように、人の目600が上から下に向けて水面602を俯瞰したとき、視野角の関係から、実際の水面607が見えるだけである。人の目600の方向で見ると、実際の水面607の形状は、四つの頂点603、604、605および606により形成される台形(近くが狭く遠くが広い)に近くなる。台形の水面マップ内挿で内部グリッド点を求めるのは簡単ではないので、内挿計算処理を行いやすくするために、この台形を長方形の格子マップ608にマッピングしており、更に言えば、この格子マップ608の四つの頂点609、610、611および612は頂点603、604、605および606にそれぞれ対応している。格子マップ608中には数多くの格子点が含まれ、各々の格子点はいずれも二次元座標を有しており、ここで言うところの二次元座標は水面画像のX軸座標およびZ軸座標を指している。
したがってステップ902および903を実行して、第1の生成モジュール401がそれぞれ複数の第1の水波格子点406および第2の水波格子点407を生成するが(格子マップ608上の格子点に同じ)、より詳細には、第1の生成モジュール401はピックアップモジュール408と格子点生成モジュール409とを備えているので、ステップ902は図8に示すように、ピックアップモジュール408が水波マップ404の各々の実際の水面607の周囲に、この水波マップの実際の水面607の頂点(図6における頂点603、604、605および606に同じ)である四つの第1の基準点を生成するとともにピックアップするステップ1000と、その後に、格子点生成モジュール409がピクセルシェーダ技術を用いて、全ての第1の基準点410に基づいて、対応する長方形上に、各々がいずれも自身の二次元座標(X軸座標およびZ軸座標)を含んでいる第1の水波格子点406(格子マップ608中の格子点に同じ)を生成するステップ1001と、を含む。したがってステップ1001も同じように水波マップ404中の台形の実際の水面607を格子マップ608に変換する。ステップ903はステップ902同様、ピックアップモジュール408が、合成水波マップの実際の水面の頂点(図6における頂点603、604、605および606に同じ)である四つの第2の基準点を生成するとともにピックアップし、更に第2の基準点に基づいて、対応する長方形上に、各々がまた自身の二次元座標(X軸座標およびZ軸座標)を含んでいる第2の水波格子点407(格子マップ608中の格子点に同じ)を生成する。
ステップ904にて、座標生成モジュール402が第1の水波格子点416の各々の二次元座標に基づいて、下記関係式により第1の水波格子点406の各々の三次元座標412を生成する。

式中、Hwは三次元座標(つまりY軸座標、水波の水面の実際の高さ)であり、waveiは対応する水波マップであり、Vpos.xzは第1の水波格子点406の二次元座標であり、scaleiは生成した波紋の周波数を調節するための使用者により定義された所定定数である。また、水波が水際にある場合には、水際では物体(例えば岩礁、船舶および水面に浮上した鯨など)の水中および水面への屈折および反射があることが常であり、何らかの物体を随時水面マップ中の画像中に挿入できるようにするため、ステップ905で座標生成モジュール402でも物体(上記した岩礁、船舶および水面に浮上した鯨など)の頂点の二次元世界座標413に基づいて、この点の水の高さに対応する物体の頂点の三次元世界座標414を生成する。
続いて、ステップ906にてマップ生成モジュール403が第2の水波格子点407の二次元座標および第1の水波格子点406の各々の三次元座標412に基づいて、波変化を有する水面を生成し、ステップ907にてマップ生成モジュール403がピクセルシェーダ技術を用いるとともに、物体の頂点の二次元世界座標413と、物体の頂点の高さ座標と、物体の頂点の三次元座標414とに基づいて、この物体が水中にもたらす屈折マップおよび反射マップを生成した後、最終的にステップ908にて更にマップ生成モジュール403が波変化を有する水面と、屈折マップおよび反射マップとを合成して、波と陰影変化を有する水面画像415を生成する。
前記した方法では、前記ステップを実行するアプリケーションプログラムを記憶するコンピュータ読取り可能媒体を用いることができる。このコンピュータ読取り可能媒体はフロッピー(登録商標)ディスク、ハードディスク、光ディスク、携帯型メモリ、磁気テープ、ネットワークによりアクセス可能なデータベースまたは当業者により容易に想到される同様な機能を備えた記憶媒体とすることができる。
本発明は水面の高さ情報を動的に得ることができるとともに、得られた水面の高さ情報に基づいて波変化を有する水面を生成し、しかももし水面上または水面下に物体があった場合(岩礁、船舶および水面に浮上した鯨など)、本発明では実際の水面の高さ情報に基づいて屈折マップおよび反射マップを生成するとともに、屈折マップおよび反射マップを波の変化を有する水面に結合させて、実際の状態に近似した波および陰影変化を有する水面画像を生成し、図11および図12に示すように、泡が正確な高さ位置で岩礁を囲み、しかも屈折が反射として誤認されることはないので、本発明は従来技術における不具合を効果的に解決することができる。
上記実施例は、本発明の原理およびその効果を例示的に説明したものに過ぎず、本発明を限定するためのものではない。いかなる当業者でも、本発明の技術原理および技術思想に違えない状況下で、上記実施例に修正および改変を行うことができる。したがって、本発明の権利保護範囲は別紙の特許請求の範囲に記載されているものとする。
従来の水面画像描画装置の概略図である。 従来技術における概略的なマップである。 従来技術における概略的なマップである。 本発明の第1の実施例の概略図である。 正弦波形の波形図である。 人の目が上から下に向けて水面を俯瞰したときの概略図である。 本発明の第2の実施例のフローチャートである。 本発明の第2の実施例における水波格子点を生成するステップのフローチャートである。 本発明の第3の実施例のフローチャートである。 本発明の第3の実施例における水波格子点を生成するステップのフローチャートである。 本発明における概略的なマップである。 本発明における概略的なマップである。
符号の説明
1 従来の水面画像描画装置
10 データベース
11 反射マップ生成モジュール
12 屈折マップ生成モジュール
13 マップ合成モジュール
14 反射マップ
15 屈折マップ
16 水波マップ
17 水面画像
20 岩礁
21 岸辺の泡
22 岩礁の屈折陰影
30 反射部分
4 水面描画装置
400 マップ合成モジュール
401 第1の生成モジュール
402 座標生成モジュール
403 マップ生成モジュール
404 水波マップ
405 合成水波マップ
406 第1の水波格子点
407 第2の水波格子点
408 ピックアップモジュール
409 格子点生成モジュール
410 第1の基準点
411 第2の基準点
412 三次元座標
413 物体の頂点の二次元座標
414 物体の頂点の三次元座標
415 水面画像
500 正弦波
501 正弦波
502 合成波
600 目
602 水面
603 頂点
604 頂点
605 頂点
606 頂点
607 実際の水面
608 格子マップ
609 頂点
610 頂点
611 頂点
612 頂点

Claims (22)

  1. 複数の水波マップ(Water Wave Map)を合成して合成水波マップを生成するマップ合成モジュールと、
    前記複数の水波マップ上の各々の可視範囲内で複数の第1の水波格子点を生成し、前記合成水波マップ上の前記可視範囲内で複数の第2の水波格子点を生成するものであり、前記複数の第1の水波格子点および前記複数の第2の水波格子点の各々はいずれも二次元座標を有している第1の生成モジュールと、
    前記複数の第1の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成する座標生成モジュールと、
    前記複数の三次元座標および前記複数の第2の水波格子点の二次元座標に基づいて前記水面を生成するマップ生成モジュールと、を備えたことを特徴とする水面描画装置。
  2. 前記座標生成モジュールは、更に頂点シェーダ技術により変換された物体の頂点の二次元世界(World)座標に基づいて、前記物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成することを特徴とする請求項1に記載の装置。
  3. 前記マップ生成モジュールは、更に前記物体の頂点の二次元世界座標と、前記物体の頂点の三次元世界座標と、頂点シェーダ技術により変換された物体の頂点の高さ座標とに基づいて、屈折マップおよび反射マップを生成するとともに、前記屈折マップと、前記反射マップと、前記複数の三次元座標と、前記複数の第2の水波格子点の前記二次元座標とに基づいて水面画像を生成することを特徴とする請求項2に記載の装置。
  4. 前記第1の生成モジュールは、
    前記複数の水波マップ上の各々の前記可視範囲周囲の複数の第1の基準点をピックアップし、前記合成水波マップ上の前記可視範囲周囲の複数の第2の基準点をピックアップするピックアップモジュールと、
    前記複数の第1の基準点に基づいて前記複数の第1の水波格子点を生成し、前記複数の第2の基準点に基づいて前記複数の第2の水波格子点を生成する格子点生成モジュールと、を備えたことを特徴とする請求項1に記載の装置。
  5. 前記複数の第1の基準点および前記複数の第2の基準点が前記可視範囲の頂点であることを特徴とする請求項4に記載の装置。
  6. 前記複数の水波マップが正弦波マップ(Sine Wave Map)、余弦波マップ(Cosine Wave Map)および高速フーリエ変換の波マップ(Fast Fourier Transform Wave Map)のうちの一つ、または組合わせであることを特徴とする請求項1に記載の装置。
  7. 複数の水波マップを合成して合成水波マップを取得するステップと、
    前記複数の水波マップの各々の可視範囲内で、各々が二次元座標を有する複数の第1の水波格子点を生成するステップと、
    前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第2の水波格子点を生成するステップと、
    前記複数の第1の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、
    前記複数の三次元座標および前記複数の第2の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含むことを特徴とする水面描画方法。
  8. 前記三次元座標を生成するステップでは、更に頂点シェーダ技術により変換された物体の頂点の二次元世界座標に基づいて、前記物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成することを特徴とする請求項7に記載の方法。
  9. 前記水面生成ステップでは、更に前記物体の頂点の二次元世界座標と、前記物体の頂点の三次元世界座標と、頂点シェーダ技術により変換された物体の頂点の高さ座標とに基づいて、屈折マップおよび反射マップを生成することを特徴とする請求項8に記載の方法。
  10. 前記水面生成ステップでは、更に前記屈折マップと、前記反射マップと、前記複数の三次元座標と、前記複数の第2の水波格子点の前記二次元座標とに基づいて前記水面画像を生成することを特徴とする請求項9に記載の方法。
  11. 前記第1の水波格子点生成ステップは、
    前記複数の水波マップ上の各々の前記可視範囲周囲の複数の第1の基準点をピックアップするステップと、
    前記複数の第1の基準点に基づいて前記複数の第1の水波格子点を生成するステップと、を含むことを特徴とする請求項7に記載の方法。
  12. 前記第2の水波格子点生成ステップは、
    前記合成水波マップ上の前記可視範囲周囲の複数の第2の基準点をピックアップするステップと、
    前記複数の第2の基準点に基づいて前記複数の第2の水波格子点を生成するステップと、を含むことを特徴とする請求項7に記載の方法。
  13. 前記複数の第1の基準点が前記可視範囲の頂点であることを特徴とする請求項11に記載の方法。
  14. 前記複数の第2の基準点が前記可視範囲の頂点であることを特徴とする請求項12に記載の方法。
  15. 水面描画方法を水面描画装置で実行するためのアプリケーションプログラムを記憶するコンピュータ読取り可能媒体であって、前記水面描画方法は、
    マップ合成モジュールが複数の水波マップを合成して合成水波マップを取得するステップと、
    第1の生成モジュールが前記複数の水波マップの各々の可視範囲内で、各々が二次元座標を有する複数の第1の水波格子点を生成するステップと、
    前記第1の生成モジュールが前記合成水波マップ上の前記可視範囲内で、いずれも二次元座標を有する複数の第2の水波格子点を生成するステップと、
    前記座標生成モジュールが前記複数の第1の水波格子点の前記二次元座標に基づいて、対応する複数の三次元座標を生成するステップと、
    前記マップ合成モジュールが前記複数の三次元座標および前記複数の第2の水波格子点の前記二次元座標に基づいて前記水面を生成するステップと、を含むことを特徴とするコンピュータ読取り可能媒体。
  16. 前記複数の三次元座標を生成するステップでは、更に前記座標生成モジュールが、頂点シェーダ技術により変換された物体の頂点の二次元世界座標に基づいて、前記物体の頂点が水の高さに対応する物体の頂点の三次元世界座標を生成することを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  17. 前記水面生成ステップでは、更に前記マップ生成モジュールが、前記物体の頂点の二次元座標と、前記物体の頂点の三次元世界座標と、頂点シェーダ技術により変換された物体の頂点の高さ座標とに基づいて、屈折マップおよび反射マップを生成することを特徴とする請求項16に記載のコンピュータ読取り可能媒体。
  18. 前記水面生成ステップでは、更に前記マップ生成モジュールが、前記屈折マップと、前記反射マップと、前記複数の三次元座標と、前記複数の第2の水波格子点の前記二次元座標とに基づいて水面画像を生成することを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
  19. 前記第1の水波格子点生成ステップは、
    ピックアップモジュールが前記複数の水波マップ上の各々の前記可視範囲周囲の複数の第1の基準点をピックアップするステップと、
    格子点生成モジュールが前記複数の第1の基準点に基づいて前記複数の第1の水波格子点を生成するステップと、を含むことを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  20. 前記第2の水波格子点生成ステップは、
    前記ピックアップモジュールが前記合成水波マップ上の前記可視範囲周囲の複数の第2の基準点をピックアップするステップと、
    前記格子点生成モジュールが前記複数の第2の基準点に基づいて前記複数の第2の水波格子点を生成するステップと、を含むことを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  21. 前記複数の第1の基準点が前記可視範囲の頂点であることを特徴とする請求項19に記載のコンピュータ読取り可能媒体。
  22. 前記複数の第2の基準点が前記可視範囲の頂点であることを特徴とする請求項20に記載のコンピュータ読取り可能媒体。
JP2007097074A 2006-12-18 2007-04-03 水面の実際の高さに応じて3d水面を描画する装置、方法およびコンピュータ読取り可能媒体 Pending JP2008152747A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW095147440A TWI353559B (en) 2006-12-18 2006-12-18 Apparatus, method, application program and compute

Publications (1)

Publication Number Publication Date
JP2008152747A true JP2008152747A (ja) 2008-07-03

Family

ID=39526566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007097074A Pending JP2008152747A (ja) 2006-12-18 2007-04-03 水面の実際の高さに応じて3d水面を描画する装置、方法およびコンピュータ読取り可能媒体

Country Status (4)

Country Link
US (1) US7800612B2 (ja)
JP (1) JP2008152747A (ja)
KR (1) KR100856146B1 (ja)
TW (1) TWI353559B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090278852A1 (en) * 2008-05-09 2009-11-12 Production Resource Group L.L.C Control of 3D objects in a light displaying device
US8878856B1 (en) * 2010-06-29 2014-11-04 Nvidia Corporation System, method, and computer program product for depicting a body of water utilizing a height field and particles
US9123160B1 (en) 2011-10-30 2015-09-01 Lockheed Martin Corporation Concurrent mesh generation in a computer simulation
US9147283B1 (en) * 2011-10-30 2015-09-29 Lockhead Martin Corporation Water surface visualization during a simulation
CN102592297B (zh) * 2011-12-27 2015-01-07 Tcl集团股份有限公司 一种基于3d网格的实时水波纹理处理方法
US9019309B2 (en) * 2012-06-07 2015-04-28 Apple Inc. Adaptive image manipulation
CN103745491B (zh) * 2013-12-27 2017-03-15 江苏如意通动漫产业有限公司 软骨骼动画生成方法
CN105608727B (zh) * 2016-03-01 2018-08-10 中国科学院计算技术研究所 一种数据驱动的近岸涌浪动画合成方法及系统
CN106934093B (zh) * 2017-01-17 2019-05-21 南京大学 模拟三维地下水流运动的三重网格多尺度有限元方法
CN108830779A (zh) * 2017-11-13 2018-11-16 哈尔滨安天科技股份有限公司 三维模型数据的处理方法、装置、电子设备及存储介质
US11010963B2 (en) * 2018-04-16 2021-05-18 Nvidia Corporation Realism of scenes involving water surfaces during rendering
CN112017227B (zh) * 2020-08-27 2024-06-18 上海交通建设总承包有限公司 点云融合生成的地形模型与潮汐数据混合可视化的方法
CN112504182B (zh) * 2021-01-08 2022-06-10 浙江龙头机械有限公司 一种利用水位变化的合金铸件检测装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537641A (en) * 1993-11-24 1996-07-16 University Of Central Florida 3D realtime fluid animation by Navier-Stokes equations
JP3549871B2 (ja) * 2001-07-27 2004-08-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
US6985148B2 (en) * 2001-12-13 2006-01-10 Microsoft Corporation Interactive water effects using texture coordinate shifting
US7038694B1 (en) * 2002-03-11 2006-05-02 Microsoft Corporation Automatic scenery object generation
US6747649B1 (en) * 2002-03-19 2004-06-08 Aechelon Technology, Inc. Terrain rendering in a three-dimensional environment
US20050219249A1 (en) * 2003-12-31 2005-10-06 Feng Xie Integrating particle rendering and three-dimensional geometry rendering
US7692647B2 (en) * 2006-09-14 2010-04-06 Microsoft Corporation Real-time rendering of realistic rain

Also Published As

Publication number Publication date
US20080143713A1 (en) 2008-06-19
KR100856146B1 (ko) 2008-09-03
KR20080056617A (ko) 2008-06-23
US7800612B2 (en) 2010-09-21
TWI353559B (en) 2011-12-01
TW200828172A (en) 2008-07-01

Similar Documents

Publication Publication Date Title
JP2008152747A (ja) 水面の実際の高さに応じて3d水面を描画する装置、方法およびコンピュータ読取り可能媒体
Ebert et al. Texturing and modeling: a procedural approach
JP4680796B2 (ja) 映像基盤突出変位マッピング方法、及び該方法を用いる二重変位マッピング方法
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
CN111127623B (zh) 模型的渲染方法、装置、存储介质及终端
CN106228591B (zh) 虚拟现实超高速实时渲染方法
CN108182721A (zh) 扰动流体渲染方法及装置
Jeschke et al. A procedural model for interactive animation of breaking ocean waves
US20090080803A1 (en) Image processing program, computer-readable recording medium recording the program, image processing apparatus and image processing method
KR100897006B1 (ko) 실시간으로 영상 합성이 가능한 영상 합성기 및 그 방법
Semmo et al. Real-time rendering of water surfaces with cartography-oriented design
JP2020532022A (ja) 全視角方向の球体ライトフィールドレンダリング方法
JP5893142B2 (ja) 画像処理装置および画像処理方法
CN101226643B (zh) 可依水面实际高度绘制3d水面的装置及方法
JP5007633B2 (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
US11830125B2 (en) Ray-guided water caustics
JP4575937B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
Hall Nonphotorealistic Rendering by Q‐mapping
KR101056449B1 (ko) 카툰 애니메이션에서 유체의 렌더링 시스템 및 방법
Li et al. Simulation of shallow-water waves in coastal region for marine simulator
Curtis et al. Real-time non-photorealistic animation for immersive storytelling in “Age of Sail”
Weerasinghe et al. A novel approach to simulate wind-driven ocean waves in the deep ocean
JP2002092636A (ja) 水面の画像の形成方法、それを実現するためのコンピュータ読み取り可能な記憶媒体、及びゲームシステム
CN112767547B (zh) 一种海洋空间的态势可视化方法和装置
Litvak et al. Visual effects for real time ocean water rendering

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091020