(57)【特許請求の範囲】
【請求項１】
リフラクション・マッピングを実行する装置において、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成する手段と、
前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する手段とを備え、
前記屈折済みテクスチャ・アドレスを決定する手段は、前記テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて該屈折済みテクスチャ・アドレスとする、装置。
【請求項２】
請求項１に記載のリフラクション・マッピングを実行する装置において、
少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎ、視線単位ベクトルをｖとしたとき、法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和(ｎ＋ｋｖ)が前記テクスチャ平面に平行になるように変数ｋを決定して、前記テクスチャ・アドレスを(ｎ＋ｋｖ)の定数倍、即ちＬ・(ｎ＋ｋｖ)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することを特徴とする、装置。
【請求項３】
請求項１に記載のリフラクション・マッピングを実行する装置において、
少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎとしたとき、該法線ベクトルｎのテクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたものＬ・(ｎx，ｎy) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定することを特徴とする、装置。
【請求項４】
請求項１に記載のリフラクション・マッピングを実行する装置において、更に、
前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させる手段と、
この変位させたテクスチャを用いて、スクリーン上に透視変換する手段とを備えた、装置。
【請求項５】
請求項１に記載のリフラクション・マッピングを実行する装置において、
前記物体が水面から飛び出している部分と、水中の没している部分とを有し、
前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する、装置。
【請求項６】
請求項１に記載のリフラクション・マッピングを実行する装置において、
前記リフラクション・マッピングを実行する装置が、ビデオゲーム装置に備えられている、装置。
【請求項７】
リフラクション・マッピングを実行する方法において、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成し、
前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、
前記屈折済みテクスチャ・アドレスは、前記テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する、方法。
【請求項８】
請求項７に記載のリフラクション・マッピングを実行する方法において、
少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎ、視線単位ベクトルをｖとしたとき、法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和(ｎ＋ｋｖ)が前記テクスチャ平面に平行になるように変数ｋを決定して、テクスチャ・アドレスを(ｎ＋ｋｖ)の定数倍、即ちＬ・(ｎ＋ｋｖ)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することを特徴とする、方法。
【請求項９】
請求項７に記載のリフラクション・マッピングを実行する方法において、
少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎとしたとき、該法線ベクトルｎのテクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたものＬ・(ｎx，ｎy)だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定する、方法。
【請求項１０】
請求項７に記載のリフラクション・マッピングを実行する方法において、更に、
前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させ、
この変位させたテクスチャを用いて、スクリーン上に透視変換する、方法。
【請求項１１】
請求項７に記載のリフラクション・マッピングを実行する方法において、
前記物体が水面から飛び出している部分と、水中の没している部分とを有し、
前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する、方法。
【請求項１２】
コンピュータを、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成する手段、及び
少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎ、視線単位ベクトルをｖとしたとき、法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和(ｎ＋ｋｖ)が前記テクスチャ平面に平行になるように変数ｋを決定して、テクスチャ・アドレスを(ｎ＋ｋｖ)の定数倍、即ちＬ・(ｎ＋ｋｖ)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、
として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体。
【請求項１３】
コンピュータを、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成する手段、及び
少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎとしたとき、該法線ベクトルｎのテクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたものＬ・(ｎx，ｎy)だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、
として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ビデオゲーム装置等のエンタテイメント・システムを含む情報機器において、物体を屈折現象を介して見たように画像を生成するリフラクション・マッピング技術に関する。
【０００２】
【発明の背景】
例えば、ビデオゲーム装置において、水面を透して水底を見ると、水底が屈折により歪んで見える。このような現象をシミュレートして、リアルな映像を作る方法として、リフラクション・マッピングが知られている。
【０００３】
従来のリフラクション・マッピングは、水面から飛び出している陸地部分と水中に没している部分とを、水面に垂直方向への平行投影レンダリングを別個に行う必要があり、中央演算処理装置(ＣＰＵ)、画像処理装置(ＧＰＵ)等の負担が大きいものとなっている。
【０００４】
【課題を解決するための手段】
本発明は、上記課題に鑑みて、簡易な方法でリフラクション・マッピングを実行する装置及び方法並びにこの方法を記録媒体を提供することを目的とする。
【０００５】
本発明に係るリフラクション・マッピングを実行する装置は、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成する手段と、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する手段とを備え、前記屈折済みテクスチャ・アドレスを決定する手段は、前記テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて該屈折済みテクスチャ・アドレスとする。
【０００６】
上述のリフラクション・マッピングを実行する装置では、少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎ、視線単位ベクトルをｖとしたとき、法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和(ｎ＋ｋｖ)が前記テクスチャ平面に平行になるように変数ｋを決定して、前記テクスチャ・アドレスを(ｎ＋ｋｖ)の定数倍、即ちＬ・(ｎ＋ｋｖ)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【０００７】
上述のリフラクション・マッピングを実行する装置では、少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎとしたとき、該法線ベクトルｎのテクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたものＬ・(ｎx，ｎy) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【０００９】
このとき、前記少なくとも２つの相異なる媒質は、空気、水又はガラスのように屈折率の異なるものを表している。
【００１０】
上述のリフラクション・マッピングを実行する装置では、更に、前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させる手段と、この変位させたテクスチャを用いて、スクリーン上に透視変換する手段とを備えることもできる。
【００１１】
上述のリフラクション・マッピングを実行する装置では、前記物体が水面から飛び出している部分と、水中の没している部分とを有し、前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定することもできる。
【００１２】
上述のリフラクション・マッピングを実行する装置をビデオゲーム装置に備えることもできる。
【００１３】
上述のリフラクション・マッピングを実行する装置では、視点座標系の視線方向であるＺ軸に垂直な面にテクスチャ平面を規定し、例えば、地形の水面から飛び出している陸地部分の透視投影と同じ手順で水面に没している部分(水底部分)をレンダリング可能にし、その結果、陸地部分と水底部分とを一括して一方向のレンダリングだけで、屈折用テクスチャの生成を行うことが出来る。
【００１４】
このレンダリングを実行する装置によれば、水中に没した水底部分の映像に関して、屈折現象によって生じる変位量が正確にスネルの法則を満足しているわけではない。しかし、簡易的な方法を用いて、スネルの法則に近似した変位量を求めることにより、定性的に水中に没した水底部分をレンダリングすることが出来る。
【００１５】
本発明に係るリフラクション・マッピングを実行する方法は、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成し、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、前記屈折済みテクスチャ・アドレスは、前記テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する。
【００１６】
上述のリフラクション・マッピングを実行する方法では、少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎ、視線単位ベクトルをｖとしたとき、法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和(ｎ＋ｋｖ)が前記テクスチャ平面に平行になるように変数ｋを決定して、テクスチャ・アドレスを(ｎ＋ｋｖ)の定数倍、即ちＬ・(ｎ＋ｋｖ)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【００１７】
上述のリフラクション・マッピングを実行する方法では、少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎとしたとき、該法線ベクトルｎのテクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたものＬ・(ｎx，ｎy)だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【００１８】
上述のリフラクション・マッピングを実行する方法では、更に、前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させ、この変位させたテクスチャを用いて、スクリーン上に透視変換することもできる。
上述のリフラクション・マッピングを実行する方法では、前記物体が水面から飛び出している部分と、水中の没している部分とを有し、前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定することもできる。
更に、本発明に係る記録媒体は、コンピュータを、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成する手段、及び少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎ、視線単位ベクトルをｖとしたとき、法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和(ｎ＋ｋｖ)が前記テクスチャ平面に平行になるように変数ｋを決定して、テクスチャ・アドレスを(ｎ＋ｋｖ)の定数倍、即ちＬ・(ｎ＋ｋｖ)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体である。
更に、本発明に係る記録媒体は、コンピュータを、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の２次元のテクスチャを作成する手段、及び少なくとも２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをｎとしたとき、該法線ベクトルｎのテクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたものＬ・(ｎx，ｎy)だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、２つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体である。
【００１９】
【発明の実施の形態】
［本発明を実施する装置］
【００２０】
まず最初に、本発明係るリフラクション・マッピングを実行し得るエンタテインメント・システムについて図面を参照しながら簡単に説明する。
【００２１】
図１は、エンタテインメント・システムの一例として、ビデオゲーム装置の外観を示している。このビデオゲーム装置１は、例えば光ディスク等に記録されているゲームプログラムを読み出して、使用者(ゲームプレイヤ)からの指示に応じて実行するためのものである。なお、ゲームの実行とは、主としてゲームの進行、及び表示や音声を制御することをいう。
【００２２】
ビデオゲーム装置１の本体２は、その中央部にビデオゲーム等のアプリケーション・プログラムを供給するための記録媒体であるＣＤ−ＲＯＭ等の光ディスクが装着されるディスク装着部３と、ゲームを任意にリセットするためのリセットスイッチ４と、電源スイッチ５と、光ディスクの装着を操作するためのディスク操作スイッチ６と、例えば２つのスロット部７Ａ，７Ｂを備えて構成されている。
【００２３】
スロット部７Ａ，７Ｂには、２つの操作装置２０を接続することができ、２人の使用者が対戦ゲーム等を行うことができる。また、このスロット部７Ａ，７Ｂには、ゲーム・データをセーブ(記憶)したり、また読み出すことが出来るメモリカード装置や、本体と切り離してゲームを実行できる携帯用電子機器を挿着することもできる。
【００２４】
操作装置２０は、第１、第２の操作部２１，２２と、Ｌボタン２３Ｌ，Ｒボタン２３Ｒと、スタートボタン２４、選択ボタン２５とを有し、さらに、アナログ操作が可能な操作部３１，３２と、これらの操作部３１，３２の操作モードを選択するモード選択スイッチ３３と、選択された操作モードを表示するための表示部３４とを有している。
【００２５】
図２は、ビデオゲーム装置１の本体２の前面に設けられているスロット部７Ａ、７Ｂの様子を示している。スロット部７Ａ，７Ｂは、それぞれ２段に形成されており、その上段にはメモリカード１０や、携帯用電子機器１００が挿着されるメモリカード挿入部８Ａ，８Ｂが設けられ、その下段にはコントローラ２０の接続端子部(コネクタ)２６が接続されるコントローラ接続部(ジャック)９Ａ，９Ｂが設けられている。
【００２６】
メモリカード挿入部８Ａ，８Ｂの挿入孔(スロット)は、幾分、非対称形に形成され、メモリカードが誤挿入されない構造になっている。一方、コントローラ接続部９Ａ，９Ｂも、幾分、非対称形に形成され、コントローラ２０の接続端子部２６が誤接続されない構造になっており、かつメモリカードが誤挿入されないようにメモリカード挿入部８Ａ，８Ｂとは挿入孔の異なる形状にされている。
【００２７】
図３は、ビデオゲーム機１の前面のスロット部７Ａのメモリカード挿入部８Ａに、携帯用電子機器１００が挿入された状態を示している。
【００２８】
次に、図４は、ビデオゲーム装置１の主要部の概略的な回路構成の一例を示すブロック図である。
【００２９】
このビデオゲーム装置１は、中央演算処理装置(ＣＰＵ：Central Processing Unit )５１及びその周辺装置等からなる制御系５０と、フレーム・バッファ６３に描画を行なう画像処理装置(ＧＰＵ：Graphic Processing Unit )６２等からなるグラフィック・システム６０と、楽音，効果音等を発生する音声処理装置(ＳＰＵ：Sound Processing Unit)等からなるサウンド・システム７０と、アプリケーション・プログラムが記録されている光ディスクの制御を行なう光ディスク制御部８０と、使用者からの指示が入力されるコントローラ２０からの信号及びゲームの設定等を記憶するメモリカード１０や、後述する携帯用電子機器１００からのデータの入出力を制御する通信制御部９０と、上記の各部が接続されているバスＢＵＳ等を備えて構成されている。
【００３０】
制御系５０は、ＣＰＵ５１と、割り込み制御やダイレクト・メモリ・アクセス(ＤＭＡ：Dynamic Memory Access) 転送の制御等を行なう周辺装置制御部５２と、ランダム・アクセス・メモリ(ＲＡＭ：Random Access Memory)からなるメインメモリ(主記憶装置)５３と、メインメモリ５３，グラフィック・システム６０，サウンド・システム７０等の管理を行なういわゆるオペレーティング・システム等のプログラムが格納されたリード・オンリー・メモリ(ＲＯＭ)５４とを備えている。なお、ここでいうメインメモリは、そのメモリ上でプログラムを実行できるものをいう。
【００３１】
ＣＰＵ５１は、ＲＯＭ５４に記憶されているオペレーティング・システムを実行することにより、このビデオゲーム装置１の全体を制御するもので、例えば３２ビットのＲＩＳＣ−ＣＰＵからなる。
【００３２】
そして、このビデオゲーム装置１は、電源が投入されると、制御系５０のＣＰＵ５１がＲＯＭ５４に記憶されているオペレーティング・システムを実行することにより、ＣＰＵ５１が、グラフィック・システム６０、サウンド・システム７０等の制御を行なうようになっている。
【００３３】
また、オペレーティング・システムが実行されると、ＣＰＵ５１は、動作確認等のビデオゲーム装置１全体の初期化を行った後、光ディスク制御部８０を制御して、光ディスクに記録されているゲーム等のアプリケーション・プログラムを実行する。このゲーム等のプログラムの実行により、ＣＰＵ５１は、使用者からの入力に応じてグラフィック・システム６０、サウンド・システム７０等を制御して、画像の表示、効果音、楽音の発生を制御する。
【００３４】
また、グラフィック・システム６０は、座標変換等の処理を行なうジオメトリ・トランスファ・エンジン(ＧＴＥ：Geometry Transfer Engine)６１と、ＣＰＵ５１からの描画指示に従って描画を行なうＧＰＵ６２と、このＧＰＵ６２により描画された画像を記憶するフレーム・バッファ６３と、離散コサイン変換等の直交変換により圧縮されて符号化された画像データを復号する画像デコーダ６４とを備えている。
【００３５】
ＧＴＥ６１は、例えば複数の演算を並列に実行する並列演算機構を備え、ＣＰＵ５１からの演算要求に応じて座標変換，光源計算，行列あるいはベクトル等の演算を高速に行なうことができるようになっている。具体的には、このＧＴＥ６１は、例えば１つの三角形状のポリゴンに同じ色で描画するフラット・シェーディングを行なう演算の場合では、１秒間に最大１５０万程度のポリゴンの座標演算を行なうことができるようになっており、これによって、このビデオゲーム装置では、ＣＰＵ５１の負荷を低減するとともに、高速な座標演算を行なうことができるようになっている。
【００３６】
また、ＧＰＵ６２は、ＣＰＵ５１からの描画命令に従って、フレーム・バッファ６３に対して多角形(ポリゴン)等の描画を行なう。このＧＰＵ６２は、１秒間に最大３６万程度のポリゴンの描画を行なうことができるようになっている。
【００３７】
さらに、フレーム・バッファ６３は、いわゆるデュアル・ポートＲＡＭからなり、ＧＰＵ６２からの描画あるいはメインメモリからの転送と、表示のための読み出しとを同時に行なうことができるようになっている。このフレーム・バッファ６３は、例えば１Ｍバイトの容量を有し、それぞれ１６ビットの、横が１０２４画素、縦が５１２画素からなるマトリックスとして扱われる。また、このフレーム・バッファ６３には、ビデオ出力として出力される表示領域の他に、ＧＰＵ６２がポリゴン等の描画を行なう際に参照するカラー・ルックアップテーブル(ＣＬＵＴ：Color Look Up Table )が記憶されるＣＬＵＴ領域と、描画時に座標変換されてＧＰＵ６２によって描画されるポリゴン等の中に挿入(マッピング)される素材(テクスチャ)が記憶されるテクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は、表示領域の変更等に従って動的に変更されるようになっている。
【００３８】
なお、ＧＰＵ６２は、上述のフラット・シェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーロー・シェーディングと、テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャ・マッピングを行なうことができるようになっている。これらのグーロー・シェーディングまたはテクスチャ・マッピングを行なう場合には、ＧＴＥ６１は、１秒間に最大５０万程度のポリゴンの座標演算を行なうことができる。
【００３９】
さらに、画像デコーダ６４は、ＣＰＵ５１からの制御により、メインメモリ５３に記憶されている静止画あるいは動画の画像データを復号してメインメモリ５３に記憶する。
【００４０】
また、この再生された画像データは、ＧＰＵ６２を介してフレーム・バッファ６３に記憶することにより、上述のＧＰＵ６２によって描画される画像の背景として使用することができるようになっている。
【００４１】
サウンド・システム７０は、ＣＰＵ５１からの指示に基づいて、楽音，効果音等を発生するＳＰＵ７１と、このＳＰＵ７１により、波形データ等が記録されるサウンド・バッファ７２と、ＳＰＵ７１によって発生される楽音，効果音等を出力するスピーカ７３とを備えている。
【００４２】
ＳＰＵ７１は、例えば１６ビットの音声データを４ビットの差分信号として適応予測符号化(ＡＤＰＣＭ：Adaptive Differential PCM)された音声データを再生するＡＤＰＣＭ復号機能と、サウンド・バッファ７２に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンド・バッファ７２に記憶されている波形データを変調させて再生する変調機能等を備えている。
【００４３】
このような機能を備えることによって、このサウンド・システム７０は、ＣＰＵ５１からの指示によってサウンド・バッファ７２に記録された波形データに基づいて楽音，効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【００４４】
光ディスク制御部８０は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置８１と、例えばエラー訂正符号(ＥＣＣ：Error Correction Code )が付加されて記録されているプログラム，データ等を復号するデコーダ８２と、光ディスク装置８１からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ８３とを備えている。デコーダ８２には、サブＣＰＵ８４が接続されている。
【００４５】
また、光ディスク装置８１で読み出される、光ディスクに記録されている音声データとしては、上述のＡＤＰＣＭデータの他に音声信号をアナログ／デジタル変換したいわゆるＰＣＭデータがある。
【００４６】
ＡＤＰＣＭデータとして、例えば１６ビットのデジタルデータの差分を４ビットで表わして記録されている音声データは、デコーダ８２で復号された後、上述のＳＰＵ７１に供給され、ＳＰＵ７１でデジタル／アナログ変換等の処理が施された後、スピーカ７３を駆動するために使用される。
【００４７】
また、ＰＣＭデータとして、例えば１６ビットのデジタルデータとして記録されている音声データは、デコーダ８２で復号された後、スピーカ７３を駆動するために使用される。
【００４８】
さらに、通信制御部９０は、バスＢＵＳを介してＣＰＵ５１との通信の制御を行なう通信制御機９１を備え、使用者からの指示を入力するコントローラ２０が接続されるコントローラ接続部９と、ゲームの設定データ等を記憶する補助記憶装置としてメモリカード１０や後述する携帯用電子機器１００が接続されるメモリカード挿入部８Ａ，８Ｂが通信制御機９１に設けられている。
【００４９】
コントローラ接続部９に接続されたコントローラ２０は、使用者からの指示を入力するために、例えば１６個の指示キーを有し、通信制御機９１からの指示に従って、この指示キーの状態を、同期式通信により、通信制御機９１に毎秒６０回程度送信する。そして、通信制御機９１は、コントローラ２０の指示キーの状態をＣＰＵ５１に送信する。
【００５０】
これにより、使用者からの指示がＣＰＵ５１に入力され、ＣＰＵ５１は、実行しているゲームプログラム等に基づいて、使用者からの指示に従った処理を行なう。
【００５１】
ここで、メインメモリ５３、ＧＰＵ６２、画像デコーダ６４及びデコーダ８２等の間では、プログラムの読み出し、画像の表示あるいは描画等を行なう際に、大量の画像データを高速に転送する必要がある。そこで、このビデオゲーム装置では、上述のようにＣＰＵ５１を介さずに周辺装置制御部５２からの制御によりメインメモリ５３、ＧＰＵ６２、画像デコーダ６４及びデコーダ８２等の間で直接データの転送を行なういわゆるＤＭＡ転送を行なうことができるようになっている。これにより、データ転送によるＣＰＵ５１の負荷を低減させることができ、高速なデータの転送を行なうことができる。
【００５２】
また、ＣＰＵ５１は、実行しているゲームの設定データ等を記憶する必要があるときに、その記憶するデータを通信制御機９１に送信し、通信制御機９１はＣＰＵ５１からのデータをメモリカード挿入部８Ａまたはメモリカード挿入部８Ｂのスロットに挿着されたメモリカード１０や携帯用電子機器１００に書き込む。
【００５３】
ここで、通信制御機９１には、電気的な破壊を防止するための保護回路が内蔵されている。メモリカード１０や携帯用電子機器１００は、バスＢＵＳから分離されており、装置本体の電源を入れた状態で、着脱することができる。従って、メモリカード１０や携帯用電子機器１００の記憶容量が足りなくなった場合等に、装置本体の電源を遮断することなく、新たなメモリカードを挿着できる。このため、バックアップする必要があるゲームデータが失われてしまうことなく、新たなメモリカードを挿着して、必要なデータを新たなメモリカードに書き込むことができる。
【００５４】
また、パラレルＩ／Ｏインタフェース(ＰＩＯ)９６、及びシリアルＩ／Ｏインタフェース(ＳＩＯ)９７は、メモリカード１０や携帯用電子機器１００と、ビデオゲーム装置１とを接続するためのインタフェースである。
【００５５】
上述したようなエンタテインメント・システムにおいて、本実施形態に係るリフラクション・マッピングは実行される。
【００５６】
［リフラクション・マッピング］
【００５７】
次に、本実施形態に係るエンタテインメント・システムにおいて、リフラクション・マッピングを実行する装置及び方法の実施形態について、添付の図面を参照しながら詳細に説明する。
【００５８】
マッピングに関しては、種々の技術が知られている。人間が、池やプールのような水辺に立って、水面を通して水底WBを見ると、水底WBにある物体は屈折により歪んで見える。このような現象をシミュレートして、水底WBにある物体のリアルな映像を作る方法を、リフラクション・マッピング(refraction mapping)と称している。
【００５９】
水面だけでなく、透明なガラス等を透して物体を観察する場合にも、同じような屈折現象が生じる。即ち、透明又は半透明な２種以上の媒質を透して、物体を見た場合に、これらの媒質の境界面で生じる光の屈折現象の影響により物体は変位して見える。従って、このような物体の映像を作るときにも、リフラクション・マッピング技術が利用される。
【００６０】
リフラクション・マッピングは、視点VPと物体の間の視線上に屈折現象が介在する場合に、物体がどのように見えるかを計算して、マッピングするＣＧ技術である。
【００６１】
(現在実施されているリフラクション・マッピング)
【００６２】
本実施形態に関するリフラクション・マッピングを容易に理解できるようにするため、まず最初に、現在実施されているリフラクション・マッピングの手順について、簡単に説明する。
【００６３】
ＣＧ画像では、物体形状を２次元スクリーンに投射し(レンダリング：rendering)、得られた物体形状に対してテクスチャ(生地：texture)をマッピングしている(テクスチャの貼付：texture mapping)。
【００６４】
図５には、水面WLと、水底WBとが示されている。水面と水底WBの間隔だけ、水深DPTの水が貯まっている。水の上方は、空気である。ここで、空気の屈折率をｎ１、水の屈折率をｎ２とする。
【００６５】
視点VPを左上とし、その前方にスクリーンSCがあるとする。視点VPとは、この箇所に人間の眼があり、ここから水底WB(物体)を見ていることを意味している。図５は、視点VPから水面上の点Ａに向けて視線VLがあり、この点Ａを見ている状態が示されている。図には、水が存在しない場合に視線VLが直進する場合と、水が存在して視線VLが屈折する場合とが、示されている。なお、ここの説明では、水底WBが平坦であると仮定している。
【００６６】
図５において、水が存在しない場合には、視点VPから点Ａに向かう視線VLはそのまま直進して、水底WBにある点Ｄに到達する。即ち、点Ｄを見ることになる。従って、水底WBをスクリーンSC上に描画するとき、３次元の物体を構成する点ＤをスクリーンSCに２次元図形として表示するために透視変換して、レンダリングし、テクスチャ・マッピングしている。即ち、テクスチャ・マップするとき、視線VLが水底WBと交差する点Ｄのテクスチャを、スクリーンSC上のＰに描画する。
【００６７】
次に、水が水底WBから水深DPTだけ貯えられている場合、視点VPから点Ａに向けられた視線VLは、空気と水面の境界面の点Ａで屈折が起こり、水底WBにある点Ｃに到達する。視点VPから水面上の点Ａを見たとき、水底WBの点Ｃが見えることになる。従って、点ＣのテクスチャがスクリーンSC上の点Ｐにマッピングされなければならない。
【００６８】
換言すると、水底WBに存在する点Ｃ(水底WBにある物体を構成する点Ｃ)から発せられた光線は、水面WLの点Ａの箇所で屈折して視線VLを辿って視点VPに入る。人間の眼は、この屈折を感覚的に理解できないため、視点VPから点Ａに向けられた視線VLはそのまま直進するように錯覚して、水底WBにある点Ｃが、あたかも点Ｄに存在するかのように見えるのである。
【００６９】
ここで、視点VPから水面上の点Ａを見たときに見える点Ｃの位置を定量的に計算する。点Ｃの位置は、スネルの法則から次のように算出される。ここで、点Ａにおいて水面WLから垂直に法線ｎを規定する。視線VLと法線ｎとのなす角度をαとする。屈折した視線VL-1と法線ｎのなす角度をβとする。また、水の深さＡＢをDPTとする。このとき、スネルの法則により、次式が成り立つ。
【数１】
0003661167.tif 000002
ここで、三角形ＡＤＢと三角形ＡＣＢとを考えると、次のの関係が成り立つ。
【数２】
0003661167.tif 000003
【数３】
0003661167.tif 000004
これらの関係から、式(1)を変形して、式(2)を代入すると次式となる。
【数４】
0003661167.tif 000005
また、sinとcosの間には、次の関係がある。
【数５】
0003661167.tif 000006
式(3)を変形して、式(4)と式(5)を代入すると、次のようになる。
【数６】
0003661167.tif 000007
式(6)を見ると、DPTは水の深さであり、n1,n2は夫々空気と水の屈折率であり、ＢＤとＡＤは視線VLにより決まる値であるので、ＢＣの値を計算することができる。従って、式(6)により、水が存在する場合の水底WBの物体を構成する点Ｃの位置を決定することが出来る。
【００７０】
これにより、水が存在しない場合に点Ｄが描画されるスクリーンSC上の点Ｐには、水が存在する場合には、点Ｄに代わって点Ｃが描画される。従って、水底WBのレンダリングが可能になる。
【００７１】
以上の説明は、水底WBが平坦であると仮定した場合である。しかし、一般に、実際の地形は単純な平面でなく、その表面には凹凸があるのが通常である。このような水底WBを３次元グラフィックスで描画する必要がある。このような凹凸から出来ている地形をレンダリングする場合、地形テクスチャは１枚のテクスチャでなく、３次元的に構成された多面体になる。
【００７２】
この場合、図６において、水底WBの下方に、水面WLと平行な位置にある地形テクスチャ平面を規定する。
【００７３】
次に、予め、水が存在しないとした場合の地形に対して、このテクスチャ平面に２次元のテクスチャを作成する。具体的には、凹凸のある地形に対して、３次元の計算をして、シェーディングを施し、水面WLに垂直な方向から平行投影してテクスチャ平面に貼付して、この地形の２次元の(平坦な)テクスチャを作成する。
【００７４】
そして、この２次元の地形テクスチャを用いて、リフラクション・マッピングを実行する。
【００７５】
このとき、この地形が水面WLより高い陸地とつながっていることがある。水面WLから飛び出している陸地に対しては、屈折が起こらないので、視点VPの方向から、回転と座標変換を用いた透視変換の計算を行って、レンダリングをしなければならない。
【００７６】
一方、水中の没している地形(水底WB)に対しては、屈折現象による変位が生じるので、水底WBを構成する各点に関して式(6)を用いてその変位量を算出し、屈折済みのテクスチャ・アドレスを求める。
【００７７】
このように、現在実施されている方法は、このような複雑な手順によっている。図７は、実際のリフラクション・マッピングの一例を示す図である。
【００７８】
まず第１段階で、地形全体を水面WLに平行なテクスチャ平面に対して、平行投影又は平行貼付を行う。図７(Ａ)は、水が存在しない水底WBを平行投影でレンダリングした状態を示したものである。このレンダリングは、ＧＰＵ６２で実行され、得られたデータにより、フレーム・バッファ６３の表示領域以外のテクスチャ領域に描画される。
【００７９】
第２段階で、水中に没している地形部分を空気中から見ると屈折して見えるので、上述したスネルの法則を用いて、屈折済みのテクスチャ・アドレスを求めて、レンダリングする。図７(Ｂ)は、図７(Ａ)のメモリ・イメージをテックスチャとして、リフラクション・マッピングを実行して、水面のイメージ(水を透して見える水底WBのイメージ)を、フレーム・バッファ６３の表示領域に作成される。
【００８０】
第３段階で、水面WLから飛び出している地形部分には屈折現象が生じないので、この地形部分は透視変換技術を用いてテクスチャ・アドレスを求め、レンダリングする。図７(Ｃ)は、水が陸地部分を透視投影でレンダリングしたものを、図７(Ｂ)で説明した表示領域に作られた水面のイメージに描画して、重ね合わせる。
【００８１】
従って、平行投影の後で、透視投影との２つの方向のレンダリングを行う必要がある。この現状の描画方法は、２方向のレンダリングを行って、これを重ね合わせているので、作業が複雑になり、ＣＰＵ及びＧＰＵの負担が重くなり、また、描画時間が長くなる。
【００８２】
(本実施形態によるリフラクション・マッピング)
【００８３】
次に、本実施形態によるリフラクション・マッピングを行う方法について説明する。このリフラクション・マッピングを行う方法はプログラム化され、光ディスク等の記録媒体に単独で記録された状態でも、或いはゲームソフトウェアの一部としてそのゲームソフトウェアと共に、提供することが可能である。このリフラクション・マッピングを行うためのプログラムは、エンタテインメント・システム上で起動し、そのＣＰＵ５１によって実行される。
【００８４】
リフラクション・マッピングを行うためのプログラムが単独で記録媒体に記録されて提供されることの意味は、ゲームソフトウェア等のアプリケーション・プログラム開発用に、予めソフトウェア開発者にライブラリとして用意されることを意味する。よく知られているように、ソフトウェアの開発に際して、そのソフトウェアの全ての機能を新規に作成すると膨大な時間を必要となる。
【００８５】
しかし、一般に、或るソフトウェアを構成する機能を機能の種類に分解すると、例えばオブエクトの平行移動のように様々なソフトに共通して使用される機能が多く含まれていることが分かる。
【００８６】
そこで、本実施形態によるリフラクション・マッピングを行う機能を、ライブラリプログラムとして、ソフトウェア開発者に対して、予め提供することが重要となる。ソフトウェア開発者は、このような共通化した機能については、予め外部からプログラムとして提供を受けることにより、共通化した機能部分以外のそのプログラム特有の本質的な部分のみの制作に集中することか出来る。
【００８７】
図８は、図５と比較して、視線VLと法線ｎのなす角度α１が、相対的に小さい場合を示している。このような場合、水面WLでの屈折は、図５の場合に比較して小さいものとなる。本実施形態では、視線VLと法線ｎのなす角度αが大きければ、空気と水との境界で生じる屈折量も大きく、反対に、視線VLと法線ｎのなす角度αが小さければ、屈折量も小さいという性質に注目し、これを定性的にまねて、簡易な計算方法でリフラクション・マッピングを実現しようとするものである。
【００８８】
このレンダリングの方法は、水中に没した水底部分の映像に関して、厳密に言えばスネルの法則に合致していない。即ち、レンダリングの際に、屈折現象によって生じる変位量が正確にスネルの法則を満足しているわけではない。しかし、以下に説明する簡易的な方法を用いて、スネルの法則に近似した変位量を求めることにより、定性的に水中に没した水底部分をレンダリングすることが可能となる。
【００８９】
図９において、視点座標系は、図面の紙面に図示するようにＹ−Ｚ平面とし、Ｘ軸を紙面に対して垂直方向とする。
【００９０】
本実施形態は、図９に示すように、Ｚ軸に垂直な面にテクスチャ平面を規定し、地形の水面WLから飛び出している陸地部分の透視投影と同じ手順で水面WLに没している部分(水底部分)をレンダリング可能にし、その結果、陸地部分と水底部分とを一括して一回のレンダリングだけで行う方法である。
【００９１】
図９に示すように、予め、地形全体を視線方向に透視変換して描画したものを地形テクスチャとする。地形テクスチャは、視点座標系のＺ軸に対して垂直に置かれている。また、地形テクスチャ平面とスクリーン面SCは平行な位置関係にある。
【００９２】
まず最初に、水が存在しない状態で、地形をテクスチャ平面に透視投影する。３次元の地形は、視点VPからテクスチャ平面に対して透視投影される。具体的には、地形を構成する点ａのテクスチャ・アドレスは地形テクスチャ平面上の点Ａとなり、地形の点ｂのテクスチャ・アドレスは地形テクスチャ平面上の点Ｂとなり、地形の点ｃのテクスチャ・アドレスは地形テクスチャ平面上の点Ｃとなる。
【００９３】
次の段階で、この地形に対して、水が存在し、図９に示す地形のうちの一部分が水中に没する状態を考える。図１０Ａに示すように、水面WLまで水が存在し、地形の一部分が陸地として残っている場合である。このような場合、水中に没した地形（水底部分）は、空気と水の境界で生じる屈折現象により、変位して見えることになる。本実施形態では、この変位量を、簡便な計算方法によって算出している。
【００９４】
図１０Ｂに示すモデルにおいて、視線ベクトルと水面WLとの交点における、水面WLに対する法線ベクトルをｎ、視線ベクトルを正規化したものを視線単位ベクトルｖとする。法線ベクトルｎと視線単位ベクトルｖに変数ｋを乗じた値ｋｖとの和（ｎ＋ｋｖ）が、Ｚ軸に対して垂直になるように、変数ｋを決定する。
【００９５】
図１０を用いて説明すると、ベクトル(ｎ＋ｋｖ)がテクスチャ平面に平行になるような変数ｋを決定する。
【００９６】
テクスチャ平面はＺ軸に垂直に配置されているので、ベクトル(ｎ＋ｋｖ)がテクチャ面に平行である(即ち、テクスチャ平面にある)ことは、ベクトル(ｎ＋ｋｖ)のＺ座標がゼロとなる。従って、式(7)が成立する。
【数７】
0003661167.tif 000008
ここで、ｎzは法線ベクトルｎのＺ値(スカラー量)を表し、ｋｖzはベクトルｋｖのＺ値(スカラー量)を表している。式(7)を変形すると、式(8)が得られる。
【数８】
0003661167.tif 000009
式(8)を見ると、ｎzは法線ベクトルのＺ値であり、ｖzは視線単位ベクトルのＺ値であり、いずれも既知の値である。従って、式(8)からｋを決定することが出来る。
【００９７】
空気から水中への視線VLは、図５に関連して説明したように、その境界面で時計方向に屈折する。従って、このようなｋを使って、(ｎ＋ｋｖ)を求め、これに負(−)の符号を付した−(ｎ＋ｋｖ)をテクスチャの変位アドレスとする。
【００９８】
ここで、一般的には、２種類の屈折率の大小に応じて定数Ｌを乗じたＬ・(ｎ＋ｋｖ)を使用する。また、更に簡便な方法としては、法線ベクトルｎの３成分(ｎx，ｎy，ｎz)の内、テクスチャ平面に平行な２成分(ｎx，ｎy)に定数Ｌを乗じたＬ・(ｎx，ｎy)を変位アドレスとして使用してもよい。
【００９９】
このように求めた変位アドレスを使って、水底WBをマッピングすると、屈折した水底部分がレンダリングされる。陸地部分は、テクスチャ平面への透視投影したときにレンダリングを終わっているので、この画像と重ねることにより、水底部分と陸地部分の両方をレンダリングできる。
【０１００】
上述したように、このレンダリングの方法は、水中に没した水底部分の映像に関して、屈折現象によって生じる変位量が正確にスネルの法則を満足しているわけではない。しかし、簡易的な方法を用いて、スネルの法則に近似した変位量を求めることにより、定性的に水中に没した水底部分をレンダリングすることが出来る。
【０１０１】
上述した現在実施されているリフラクション・マッピングでは、平行投影と透視投影の２つの方向のレンダリングを行う必要があった。しかし、本実施例に記載するリフラクション・マッピングは、透視投影で作成した水底テクスチャと、水面WLの法線と視線ベクトルから計算できるテクスチャ変位量を使ってリフラクション・マッピングを行うことにより、１方向のレンダリングだけで行うことが出来る。
【０１０２】
更に、水面WLは、図１０Ａに示したように、常時、平坦な面を形成しているとは限らない。海面などの水面WLは、波を打っている状態が普通である。図１１は、このような波を打っている水面WLを図示したものである。
【０１０３】
この場合、水面WLが波を打っているときも、法線ｎが視線VLに対して平行に近づくほど両者のなす角度αは小さくなり、従って変位アドレス−(ｎ＋ｋｖ)の変位量が小さくなり、反対に法線が視線VLに対して直角に近づくほど両者のなす角度αは大きくなり、従って変位アドレス−(ｎ＋ｋｖ)の変位量が大きくなる。この結果、空気と水の境界に発生する屈折現象による変位と近似したものが得られる。
【０１０４】
図１１は、この関係を説明する図である。法線ベクトルは、波の状態によってその方向が変化する。ここでは、視線VLに対して垂直に近い法線ベクトルｎ１と、平行に近い法線ベクトルｎ２を例示している。法線ベクトルｎ１に対し、ベクトル(ｎ１＋ｋ１ｖ)がテクスチャ平面に平行になるようにｋ１を決定する。同様に、法線ベクトルｎ２に対し、ベクトル(ｎ２＋ｋ２ｖ)がテクスチャ平面に平行になるようにｋ２を決定する。このように、波の状態によって、変位量を−(ｎ１＋ｋ１ｖ)，−(ｎ２＋ｋ２ｖ)とすることで、視線VLに対して垂直に近い法線ベクトルｎ１では変位量を比較的大きく、平行に近い法線ベクトルｎ２では変位量を比較的小さくすることが出来る。
【０１０５】
視線VLに対して垂直に近い法線ベクトルｎ１の状態は、図５に示すような角度αが比較的大きいため屈折量が大きい場合であり、一方、平行に近い法線ベクトルｎ２の状態は、図８に示すような角度αが比較的小さいため屈折量が小さい場合である。この結果、波を打っている水面WLにおいても、定性的にスネルの法則に準じたリフラクション・マッピングを行うことが出来る。
【０１０６】
図１２は、本実施形態に係るフラクション・マッピングの一例を示す図である。図１２(Ａ)は、水が存在しない状態で、地形を透視投影でレンダリングしたものを、フレーム・バッファ６３のビデオ出力として出力される表示領域に描画されたものを示している。図１２(Ｂ)は、図１２(Ａ)で作った表示領域のイメージをテクスチャとして、水面WLに没している水底WBに対して、上述した簡便な方法で屈折による変位量を求めて、リフラクション・マッピングを行って作成された水面のイメージ(水面WLから没している水底WBのイメージ)を、図１２(Ａ)で描画した表示領域のイメージと重ね合わせた状態を示している。
【０１０７】
従って、リフラクション・マッピングを実行する際に、屈折して表示される画像の正投影を用意することなく、スクリーンSCに透視投影された画像を変調することにより、簡単な手段で表現することが出来る。
【０１０８】
本発明によれば、簡易な方法でリフラクション・マッピングを実行する装置及び方法並びにこの方法を記録した記録媒体を提供することが出来る。
【図面の簡単な説明】
【図１】  図１は、親機(ビデオゲーム装置)と子機(携帯用電子機器)から成るエンタテインメント・システムの外観を示す平面図である。
【図２】  図２は、親機(ビデオゲーム装置)の背面図である。
【図３】  図３は、親機(ビデオゲーム装置)の外観斜視図である。
【図４】  図４は、親機(ビデオゲーム装置)の主要部の構成を示すブロック図である。
【図５】  図５は、視点からの視線が、空気と水の境界で屈折現象を生じる状況を説明する図である。
【図６】  図６は、現在実施されているリフラクション・マッピングを説明する図である。
【図７】  図７は、現在実施されているリフラクション・マッピングの手順に沿って、テクスチャのイメージを示したものである。
【図８】  図８は、図５に比較して、視線と法線のなす角度αが比較的小さい場合に、視点からの視線が、空気と水の境界で屈折現象を生じる状況を説明する図である。
【図９】  図９は、図１０と共に、部分的に水中の没した凹凸がある物体をリフラクション・マッピングする技術を説明する図である。
【図１０】  図１０は、図９と共に、部分的に水中の没した凹凸がある物体をリフラクション・マッピングする技術を説明する図である。
【図１１】  図１１は、水面に波が立っている場合のリフラクション・マッピングを説明する図である。
【図１２】  図１２は、水面の法線と、屈折により生じる変位量との関係を説明する図である。
【図１３】  図１３は、本実施形態に係るリフラクション・マッピングの手順に沿って、テクスチャのイメージを示したものである。
【図１】
0003661167.tif 000010
【図２】
0003661167.tif 000011
【図３】
0003661167.tif 000012
【図４】
0003661167.tif 000013
【図５】
0003661167.tif 000014
【図６】
0003661167.tif 000015
【図７】
0003661167.tif 000016
【図８】
0003661167.tif 000017
【図９】
0003661167.tif 000018
【図１０】
0003661167.tif 000019
【図１１】
0003661167.tif 000020
【図１２】
0003661167.tif 000021
【図１３】
0003661167.tif 000022