JP3661167B2 - リフラクション・マッピングを実行する装置及び方法 - Google Patents
リフラクション・マッピングを実行する装置及び方法 Download PDFInfo
- Publication number
- JP3661167B2 JP3661167B2 JP2000600237A JP2000600237A JP3661167B2 JP 3661167 B2 JP3661167 B2 JP 3661167B2 JP 2000600237 A JP2000600237 A JP 2000600237A JP 2000600237 A JP2000600237 A JP 2000600237A JP 3661167 B2 JP3661167 B2 JP 3661167B2
- Authority
- JP
- Japan
- Prior art keywords
- texture
- vector
- address
- refraction
- line
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/04—Texture mapping
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/663—Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、例えば、ビデオゲーム装置等のエンタテイメント・システムを含む情報機器において、物体を屈折現象を介して見たように画像を生成するリフラクション・マッピング技術に関する。
【0002】
【発明の背景】
例えば、ビデオゲーム装置において、水面を透して水底を見ると、水底が屈折により歪んで見える。このような現象をシミュレートして、リアルな映像を作る方法として、リフラクション・マッピングが知られている。
【0003】
従来のリフラクション・マッピングは、水面から飛び出している陸地部分と水中に没している部分とを、水面に垂直方向への平行投影レンダリングを別個に行う必要があり、中央演算処理装置(CPU)、画像処理装置(GPU)等の負担が大きいものとなっている。
【0004】
【課題を解決するための手段】
本発明は、上記課題に鑑みて、簡易な方法でリフラクション・マッピングを実行する装置及び方法並びにこの方法を記録媒体を提供することを目的とする。
【0005】
本発明に係るリフラクション・マッピングを実行する装置は、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成する手段と、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する手段とを備え、前記屈折済みテクスチャ・アドレスを決定する手段は、前記テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて該屈折済みテクスチャ・アドレスとする。
【0006】
上述のリフラクション・マッピングを実行する装置では、少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをn、視線単位ベクトルをvとしたとき、法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和 ( n+kv ) が前記テクスチャ平面に平行になるように変数kを決定して、前記テクスチャ・アドレスを ( n+kv ) の定数倍、即ちL・ ( n+kv ) だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【0007】
上述のリフラクション・マッピングを実行する装置では、少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをnとしたとき、該法線ベクトルnのテクスチャ平面に平行な2成分 ( n x ,n y ) に定数Lを乗じたものL・ ( n x ,n y ) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【0009】
このとき、前記少なくとも2つの相異なる媒質は、空気、水又はガラスのように屈折率の異なるものを表している。
【0010】
上述のリフラクション・マッピングを実行する装置では、更に、前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させる手段と、この変位させたテクスチャを用いて、スクリーン上に透視変換する手段とを備えることもできる。
【0011】
上述のリフラクション・マッピングを実行する装置では、前記物体が水面から飛び出している部分と、水中の没している部分とを有し、前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定することもできる。
【0012】
上述のリフラクション・マッピングを実行する装置をビデオゲーム装置に備えることもできる。
【0013】
上述のリフラクション・マッピングを実行する装置では、視点座標系の視線方向であるZ軸に垂直な面にテクスチャ平面を規定し、例えば、地形の水面から飛び出している陸地部分の透視投影と同じ手順で水面に没している部分(水底部分)をレンダリング可能にし、その結果、陸地部分と水底部分とを一括して一方向のレンダリングだけで、屈折用テクスチャの生成を行うことが出来る。
【0014】
このレンダリングを実行する装置によれば、水中に没した水底部分の映像に関して、屈折現象によって生じる変位量が正確にスネルの法則を満足しているわけではない。しかし、簡易的な方法を用いて、スネルの法則に近似した変位量を求めることにより、定性的に水中に没した水底部分をレンダリングすることが出来る。
【0015】
本発明に係るリフラクション・マッピングを実行する方法は、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成し、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、前記屈折済みテクスチャ・アドレスは、前記テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する。
【0016】
上述のリフラクション・マッピングを実行する方法では、少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをn、視線単位ベクトルをvとしたとき、法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和 ( n+kv ) が前記テクスチャ平面に平行になるように変数kを決定して、テクスチャ・アドレスを ( n+kv ) の定数倍、即ちL・ ( n+kv ) だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【0017】
上述のリフラクション・マッピングを実行する方法では、少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをnとしたとき、該法線ベクトルnのテクスチャ平面に平行な2成分 ( n x ,n y ) に定数Lを乗じたものL・ ( n x ,n y ) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定することもできる。
【0018】
上述のリフラクション・マッピングを実行する方法では、更に、前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させ、この変位させたテクスチャを用いて、スクリーン上に透視変換することもできる。
上述のリフラクション・マッピングを実行する方法では、前記物体が水面から飛び出している部分と、水中の没している部分とを有し、前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定することもできる。
更に、本発明に係る記録媒体は、コンピュータを、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成する手段、及び少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをn、視線単位ベクトルをvとしたとき、法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和 ( n+kv ) が前記テクスチャ平面に平行になるように変数kを決定して、テクスチャ・アドレスを ( n+kv ) の定数倍、即ちL・ ( n+kv ) だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体である。
更に、本発明に係る記録媒体は、コンピュータを、物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成する手段、及び少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをnとしたとき、該法線ベクトルnのテクスチャ平面に平行な2成分 ( n x ,n y ) に定数Lを乗じたものL・ ( n x ,n y ) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体である。
【0019】
【発明の実施の形態】
[本発明を実施する装置]
【0020】
まず最初に、本発明係るリフラクション・マッピングを実行し得るエンタテインメント・システムについて図面を参照しながら簡単に説明する。
【0021】
図1は、エンタテインメント・システムの一例として、ビデオゲーム装置の外観を示している。このビデオゲーム装置1は、例えば光ディスク等に記録されているゲームプログラムを読み出して、使用者(ゲームプレイヤ)からの指示に応じて実行するためのものである。なお、ゲームの実行とは、主としてゲームの進行、及び表示や音声を制御することをいう。
【0022】
ビデオゲーム装置1の本体2は、その中央部にビデオゲーム等のアプリケーション・プログラムを供給するための記録媒体であるCD−ROM等の光ディスクが装着されるディスク装着部3と、ゲームを任意にリセットするためのリセットスイッチ4と、電源スイッチ5と、光ディスクの装着を操作するためのディスク操作スイッチ6と、例えば2つのスロット部7A,7Bを備えて構成されている。
【0023】
スロット部7A,7Bには、2つの操作装置20を接続することができ、2人の使用者が対戦ゲーム等を行うことができる。また、このスロット部7A,7Bには、ゲーム・データをセーブ(記憶)したり、また読み出すことが出来るメモリカード装置や、本体と切り離してゲームを実行できる携帯用電子機器を挿着することもできる。
【0024】
操作装置20は、第1、第2の操作部21,22と、Lボタン23L,Rボタン23Rと、スタートボタン24、選択ボタン25とを有し、さらに、アナログ操作が可能な操作部31,32と、これらの操作部31,32の操作モードを選択するモード選択スイッチ33と、選択された操作モードを表示するための表示部34とを有している。
【0025】
図2は、ビデオゲーム装置1の本体2の前面に設けられているスロット部7A、7Bの様子を示している。スロット部7A,7Bは、それぞれ2段に形成されており、その上段にはメモリカード10や、携帯用電子機器100が挿着されるメモリカード挿入部8A,8Bが設けられ、その下段にはコントローラ20の接続端子部(コネクタ)26が接続されるコントローラ接続部(ジャック)9A,9Bが設けられている。
【0026】
メモリカード挿入部8A,8Bの挿入孔(スロット)は、幾分、非対称形に形成され、メモリカードが誤挿入されない構造になっている。一方、コントローラ接続部9A,9Bも、幾分、非対称形に形成され、コントローラ20の接続端子部26が誤接続されない構造になっており、かつメモリカードが誤挿入されないようにメモリカード挿入部8A,8Bとは挿入孔の異なる形状にされている。
【0027】
図3は、ビデオゲーム機1の前面のスロット部7Aのメモリカード挿入部8Aに、携帯用電子機器100が挿入された状態を示している。
【0028】
次に、図4は、ビデオゲーム装置1の主要部の概略的な回路構成の一例を示すブロック図である。
【0029】
このビデオゲーム装置1は、中央演算処理装置(CPU:Central Processing Unit )51及びその周辺装置等からなる制御系50と、フレーム・バッファ63に描画を行なう画像処理装置(GPU:Graphic Processing Unit )62等からなるグラフィック・システム60と、楽音,効果音等を発生する音声処理装置(SPU:Sound Processing Unit)等からなるサウンド・システム70と、アプリケーション・プログラムが記録されている光ディスクの制御を行なう光ディスク制御部80と、使用者からの指示が入力されるコントローラ20からの信号及びゲームの設定等を記憶するメモリカード10や、後述する携帯用電子機器100からのデータの入出力を制御する通信制御部90と、上記の各部が接続されているバスBUS等を備えて構成されている。
【0030】
制御系50は、CPU51と、割り込み制御やダイレクト・メモリ・アクセス(DMA:Dynamic Memory Access) 転送の制御等を行なう周辺装置制御部52と、ランダム・アクセス・メモリ(RAM:Random Access Memory)からなるメインメモリ(主記憶装置)53と、メインメモリ53,グラフィック・システム60,サウンド・システム70等の管理を行なういわゆるオペレーティング・システム等のプログラムが格納されたリード・オンリー・メモリ(ROM)54とを備えている。なお、ここでいうメインメモリは、そのメモリ上でプログラムを実行できるものをいう。
【0031】
CPU51は、ROM54に記憶されているオペレーティング・システムを実行することにより、このビデオゲーム装置1の全体を制御するもので、例えば32ビットのRISC−CPUからなる。
【0032】
そして、このビデオゲーム装置1は、電源が投入されると、制御系50のCPU51がROM54に記憶されているオペレーティング・システムを実行することにより、CPU51が、グラフィック・システム60、サウンド・システム70等の制御を行なうようになっている。
【0033】
また、オペレーティング・システムが実行されると、CPU51は、動作確認等のビデオゲーム装置1全体の初期化を行った後、光ディスク制御部80を制御して、光ディスクに記録されているゲーム等のアプリケーション・プログラムを実行する。このゲーム等のプログラムの実行により、CPU51は、使用者からの入力に応じてグラフィック・システム60、サウンド・システム70等を制御して、画像の表示、効果音、楽音の発生を制御する。
【0034】
また、グラフィック・システム60は、座標変換等の処理を行なうジオメトリ・トランスファ・エンジン(GTE:Geometry Transfer Engine)61と、CPU51からの描画指示に従って描画を行なうGPU62と、このGPU62により描画された画像を記憶するフレーム・バッファ63と、離散コサイン変換等の直交変換により圧縮されて符号化された画像データを復号する画像デコーダ64とを備えている。
【0035】
GTE61は、例えば複数の演算を並列に実行する並列演算機構を備え、CPU51からの演算要求に応じて座標変換,光源計算,行列あるいはベクトル等の演算を高速に行なうことができるようになっている。具体的には、このGTE61は、例えば1つの三角形状のポリゴンに同じ色で描画するフラット・シェーディングを行なう演算の場合では、1秒間に最大150万程度のポリゴンの座標演算を行なうことができるようになっており、これによって、このビデオゲーム装置では、CPU51の負荷を低減するとともに、高速な座標演算を行なうことができるようになっている。
【0036】
また、GPU62は、CPU51からの描画命令に従って、フレーム・バッファ63に対して多角形(ポリゴン)等の描画を行なう。このGPU62は、1秒間に最大36万程度のポリゴンの描画を行なうことができるようになっている。
【0037】
さらに、フレーム・バッファ63は、いわゆるデュアル・ポートRAMからなり、GPU62からの描画あるいはメインメモリからの転送と、表示のための読み出しとを同時に行なうことができるようになっている。このフレーム・バッファ63は、例えば1Mバイトの容量を有し、それぞれ16ビットの、横が1024画素、縦が512画素からなるマトリックスとして扱われる。また、このフレーム・バッファ63には、ビデオ出力として出力される表示領域の他に、GPU62がポリゴン等の描画を行なう際に参照するカラー・ルックアップテーブル(CLUT:Color Look Up Table )が記憶されるCLUT領域と、描画時に座標変換されてGPU62によって描画されるポリゴン等の中に挿入(マッピング)される素材(テクスチャ)が記憶されるテクスチャ領域が設けられている。これらのCLUT領域とテクスチャ領域は、表示領域の変更等に従って動的に変更されるようになっている。
【0038】
なお、GPU62は、上述のフラット・シェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーロー・シェーディングと、テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャ・マッピングを行なうことができるようになっている。これらのグーロー・シェーディングまたはテクスチャ・マッピングを行なう場合には、GTE61は、1秒間に最大50万程度のポリゴンの座標演算を行なうことができる。
【0039】
さらに、画像デコーダ64は、CPU51からの制御により、メインメモリ53に記憶されている静止画あるいは動画の画像データを復号してメインメモリ53に記憶する。
【0040】
また、この再生された画像データは、GPU62を介してフレーム・バッファ63に記憶することにより、上述のGPU62によって描画される画像の背景として使用することができるようになっている。
【0041】
サウンド・システム70は、CPU51からの指示に基づいて、楽音,効果音等を発生するSPU71と、このSPU71により、波形データ等が記録されるサウンド・バッファ72と、SPU71によって発生される楽音,効果音等を出力するスピーカ73とを備えている。
【0042】
SPU71は、例えば16ビットの音声データを4ビットの差分信号として適応予測符号化(ADPCM:Adaptive Differential PCM)された音声データを再生するADPCM復号機能と、サウンド・バッファ72に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンド・バッファ72に記憶されている波形データを変調させて再生する変調機能等を備えている。
【0043】
このような機能を備えることによって、このサウンド・システム70は、CPU51からの指示によってサウンド・バッファ72に記録された波形データに基づいて楽音,効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【0044】
光ディスク制御部80は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置81と、例えばエラー訂正符号(ECC:Error Correction Code )が付加されて記録されているプログラム,データ等を復号するデコーダ82と、光ディスク装置81からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ83とを備えている。デコーダ82には、サブCPU84が接続されている。
【0045】
また、光ディスク装置81で読み出される、光ディスクに記録されている音声データとしては、上述のADPCMデータの他に音声信号をアナログ/デジタル変換したいわゆるPCMデータがある。
【0046】
ADPCMデータとして、例えば16ビットのデジタルデータの差分を4ビットで表わして記録されている音声データは、デコーダ82で復号された後、上述のSPU71に供給され、SPU71でデジタル/アナログ変換等の処理が施された後、スピーカ73を駆動するために使用される。
【0047】
また、PCMデータとして、例えば16ビットのデジタルデータとして記録されている音声データは、デコーダ82で復号された後、スピーカ73を駆動するために使用される。
【0048】
さらに、通信制御部90は、バスBUSを介してCPU51との通信の制御を行なう通信制御機91を備え、使用者からの指示を入力するコントローラ20が接続されるコントローラ接続部9と、ゲームの設定データ等を記憶する補助記憶装置としてメモリカード10や後述する携帯用電子機器100が接続されるメモリカード挿入部8A,8Bが通信制御機91に設けられている。
【0049】
コントローラ接続部9に接続されたコントローラ20は、使用者からの指示を入力するために、例えば16個の指示キーを有し、通信制御機91からの指示に従って、この指示キーの状態を、同期式通信により、通信制御機91に毎秒60回程度送信する。そして、通信制御機91は、コントローラ20の指示キーの状態をCPU51に送信する。
【0050】
これにより、使用者からの指示がCPU51に入力され、CPU51は、実行しているゲームプログラム等に基づいて、使用者からの指示に従った処理を行なう。
【0051】
ここで、メインメモリ53、GPU62、画像デコーダ64及びデコーダ82等の間では、プログラムの読み出し、画像の表示あるいは描画等を行なう際に、大量の画像データを高速に転送する必要がある。そこで、このビデオゲーム装置では、上述のようにCPU51を介さずに周辺装置制御部52からの制御によりメインメモリ53、GPU62、画像デコーダ64及びデコーダ82等の間で直接データの転送を行なういわゆるDMA転送を行なうことができるようになっている。これにより、データ転送によるCPU51の負荷を低減させることができ、高速なデータの転送を行なうことができる。
【0052】
また、CPU51は、実行しているゲームの設定データ等を記憶する必要があるときに、その記憶するデータを通信制御機91に送信し、通信制御機91はCPU51からのデータをメモリカード挿入部8Aまたはメモリカード挿入部8Bのスロットに挿着されたメモリカード10や携帯用電子機器100に書き込む。
【0053】
ここで、通信制御機91には、電気的な破壊を防止するための保護回路が内蔵されている。メモリカード10や携帯用電子機器100は、バスBUSから分離されており、装置本体の電源を入れた状態で、着脱することができる。従って、メモリカード10や携帯用電子機器100の記憶容量が足りなくなった場合等に、装置本体の電源を遮断することなく、新たなメモリカードを挿着できる。このため、バックアップする必要があるゲームデータが失われてしまうことなく、新たなメモリカードを挿着して、必要なデータを新たなメモリカードに書き込むことができる。
【0054】
また、パラレルI/Oインタフェース(PIO)96、及びシリアルI/Oインタフェース(SIO)97は、メモリカード10や携帯用電子機器100と、ビデオゲーム装置1とを接続するためのインタフェースである。
【0055】
上述したようなエンタテインメント・システムにおいて、本実施形態に係るリフラクション・マッピングは実行される。
【0056】
[リフラクション・マッピング]
【0057】
次に、本実施形態に係るエンタテインメント・システムにおいて、リフラクション・マッピングを実行する装置及び方法の実施形態について、添付の図面を参照しながら詳細に説明する。
【0058】
マッピングに関しては、種々の技術が知られている。人間が、池やプールのような水辺に立って、水面を通して水底WBを見ると、水底WBにある物体は屈折により歪んで見える。このような現象をシミュレートして、水底WBにある物体のリアルな映像を作る方法を、リフラクション・マッピング(refraction mapping)と称している。
【0059】
水面だけでなく、透明なガラス等を透して物体を観察する場合にも、同じような屈折現象が生じる。即ち、透明又は半透明な2種以上の媒質を透して、物体を見た場合に、これらの媒質の境界面で生じる光の屈折現象の影響により物体は変位して見える。従って、このような物体の映像を作るときにも、リフラクション・マッピング技術が利用される。
【0060】
リフラクション・マッピングは、視点VPと物体の間の視線上に屈折現象が介在する場合に、物体がどのように見えるかを計算して、マッピングするCG技術である。
【0061】
(現在実施されているリフラクション・マッピング)
【0062】
本実施形態に関するリフラクション・マッピングを容易に理解できるようにするため、まず最初に、現在実施されているリフラクション・マッピングの手順について、簡単に説明する。
【0063】
CG画像では、物体形状を2次元スクリーンに投射し(レンダリング:rendering)、得られた物体形状に対してテクスチャ(生地:texture)をマッピングしている(テクスチャの貼付:texture mapping)。
【0064】
図5には、水面WLと、水底WBとが示されている。水面と水底WBの間隔だけ、水深DPTの水が貯まっている。水の上方は、空気である。ここで、空気の屈折率をn1、水の屈折率をn2とする。
【0065】
視点VPを左上とし、その前方にスクリーンSCがあるとする。視点VPとは、この箇所に人間の眼があり、ここから水底WB(物体)を見ていることを意味している。図5は、視点VPから水面上の点Aに向けて視線VLがあり、この点Aを見ている状態が示されている。図には、水が存在しない場合に視線VLが直進する場合と、水が存在して視線VLが屈折する場合とが、示されている。なお、ここの説明では、水底WBが平坦であると仮定している。
【0066】
図5において、水が存在しない場合には、視点VPから点Aに向かう視線VLはそのまま直進して、水底WBにある点Dに到達する。即ち、点Dを見ることになる。従って、水底WBをスクリーンSC上に描画するとき、3次元の物体を構成する点DをスクリーンSCに2次元図形として表示するために透視変換して、レンダリングし、テクスチャ・マッピングしている。即ち、テクスチャ・マップするとき、視線VLが水底WBと交差する点Dのテクスチャを、スクリーンSC上のPに描画する。
【0067】
次に、水が水底WBから水深DPTだけ貯えられている場合、視点VPから点Aに向けられた視線VLは、空気と水面の境界面の点Aで屈折が起こり、水底WBにある点Cに到達する。視点VPから水面上の点Aを見たとき、水底WBの点Cが見えることになる。従って、点CのテクスチャがスクリーンSC上の点Pにマッピングされなければならない。
【0068】
換言すると、水底WBに存在する点C(水底WBにある物体を構成する点C)から発せられた光線は、水面WLの点Aの箇所で屈折して視線VLを辿って視点VPに入る。人間の眼は、この屈折を感覚的に理解できないため、視点VPから点Aに向けられた視線VLはそのまま直進するように錯覚して、水底WBにある点Cが、あたかも点Dに存在するかのように見えるのである。
【0069】
ここで、視点VPから水面上の点Aを見たときに見える点Cの位置を定量的に計算する。点Cの位置は、スネルの法則から次のように算出される。ここで、点Aにおいて水面WLから垂直に法線nを規定する。視線VLと法線nとのなす角度をαとする。屈折した視線VL-1と法線nのなす角度をβとする。また、水の深さABをDPTとする。このとき、スネルの法則により、次式が成り立つ。
【数1】
ここで、三角形ADBと三角形ACBとを考えると、次のの関係が成り立つ。
【数2】
【数3】
これらの関係から、式(1)を変形して、式(2)を代入すると次式となる。
【数4】
また、sinとcosの間には、次の関係がある。
【数5】
式(3)を変形して、式(4)と式(5)を代入すると、次のようになる。
【数6】
式(6)を見ると、DPTは水の深さであり、n1,n2は夫々空気と水の屈折率であり、BDとADは視線VLにより決まる値であるので、BCの値を計算することができる。従って、式(6)により、水が存在する場合の水底WBの物体を構成する点Cの位置を決定することが出来る。
【0070】
これにより、水が存在しない場合に点Dが描画されるスクリーンSC上の点Pには、水が存在する場合には、点Dに代わって点Cが描画される。従って、水底WBのレンダリングが可能になる。
【0071】
以上の説明は、水底WBが平坦であると仮定した場合である。しかし、一般に、実際の地形は単純な平面でなく、その表面には凹凸があるのが通常である。このような水底WBを3次元グラフィックスで描画する必要がある。このような凹凸から出来ている地形をレンダリングする場合、地形テクスチャは1枚のテクスチャでなく、3次元的に構成された多面体になる。
【0072】
この場合、図6において、水底WBの下方に、水面WLと平行な位置にある地形テクスチャ平面を規定する。
【0073】
次に、予め、水が存在しないとした場合の地形に対して、このテクスチャ平面に2次元のテクスチャを作成する。具体的には、凹凸のある地形に対して、3次元の計算をして、シェーディングを施し、水面WLに垂直な方向から平行投影してテクスチャ平面に貼付して、この地形の2次元の(平坦な)テクスチャを作成する。
【0074】
そして、この2次元の地形テクスチャを用いて、リフラクション・マッピングを実行する。
【0075】
このとき、この地形が水面WLより高い陸地とつながっていることがある。水面WLから飛び出している陸地に対しては、屈折が起こらないので、視点VPの方向から、回転と座標変換を用いた透視変換の計算を行って、レンダリングをしなければならない。
【0076】
一方、水中の没している地形(水底WB)に対しては、屈折現象による変位が生じるので、水底WBを構成する各点に関して式(6)を用いてその変位量を算出し、屈折済みのテクスチャ・アドレスを求める。
【0077】
このように、現在実施されている方法は、このような複雑な手順によっている。図7は、実際のリフラクション・マッピングの一例を示す図である。
【0078】
まず第1段階で、地形全体を水面WLに平行なテクスチャ平面に対して、平行投影又は平行貼付を行う。図7(A)は、水が存在しない水底WBを平行投影でレンダリングした状態を示したものである。このレンダリングは、GPU62で実行され、得られたデータにより、フレーム・バッファ63の表示領域以外のテクスチャ領域に描画される。
【0079】
第2段階で、水中に没している地形部分を空気中から見ると屈折して見えるので、上述したスネルの法則を用いて、屈折済みのテクスチャ・アドレスを求めて、レンダリングする。図7(B)は、図7(A)のメモリ・イメージをテックスチャとして、リフラクション・マッピングを実行して、水面のイメージ(水を透して見える水底WBのイメージ)を、フレーム・バッファ63の表示領域に作成される。
【0080】
第3段階で、水面WLから飛び出している地形部分には屈折現象が生じないので、この地形部分は透視変換技術を用いてテクスチャ・アドレスを求め、レンダリングする。図7(C)は、水が陸地部分を透視投影でレンダリングしたものを、図7(B)で説明した表示領域に作られた水面のイメージに描画して、重ね合わせる。
【0081】
従って、平行投影の後で、透視投影との2つの方向のレンダリングを行う必要がある。この現状の描画方法は、2方向のレンダリングを行って、これを重ね合わせているので、作業が複雑になり、CPU及びGPUの負担が重くなり、また、描画時間が長くなる。
【0082】
(本実施形態によるリフラクション・マッピング)
【0083】
次に、本実施形態によるリフラクション・マッピングを行う方法について説明する。このリフラクション・マッピングを行う方法はプログラム化され、光ディスク等の記録媒体に単独で記録された状態でも、或いはゲームソフトウェアの一部としてそのゲームソフトウェアと共に、提供することが可能である。このリフラクション・マッピングを行うためのプログラムは、エンタテインメント・システム上で起動し、そのCPU51によって実行される。
【0084】
リフラクション・マッピングを行うためのプログラムが単独で記録媒体に記録されて提供されることの意味は、ゲームソフトウェア等のアプリケーション・プログラム開発用に、予めソフトウェア開発者にライブラリとして用意されることを意味する。よく知られているように、ソフトウェアの開発に際して、そのソフトウェアの全ての機能を新規に作成すると膨大な時間を必要となる。
【0085】
しかし、一般に、或るソフトウェアを構成する機能を機能の種類に分解すると、例えばオブエクトの平行移動のように様々なソフトに共通して使用される機能が多く含まれていることが分かる。
【0086】
そこで、本実施形態によるリフラクション・マッピングを行う機能を、ライブラリプログラムとして、ソフトウェア開発者に対して、予め提供することが重要となる。ソフトウェア開発者は、このような共通化した機能については、予め外部からプログラムとして提供を受けることにより、共通化した機能部分以外のそのプログラム特有の本質的な部分のみの制作に集中することか出来る。
【0087】
図8は、図5と比較して、視線VLと法線nのなす角度α1が、相対的に小さい場合を示している。このような場合、水面WLでの屈折は、図5の場合に比較して小さいものとなる。本実施形態では、視線VLと法線nのなす角度αが大きければ、空気と水との境界で生じる屈折量も大きく、反対に、視線VLと法線nのなす角度αが小さければ、屈折量も小さいという性質に注目し、これを定性的にまねて、簡易な計算方法でリフラクション・マッピングを実現しようとするものである。
【0088】
このレンダリングの方法は、水中に没した水底部分の映像に関して、厳密に言えばスネルの法則に合致していない。即ち、レンダリングの際に、屈折現象によって生じる変位量が正確にスネルの法則を満足しているわけではない。しかし、以下に説明する簡易的な方法を用いて、スネルの法則に近似した変位量を求めることにより、定性的に水中に没した水底部分をレンダリングすることが可能となる。
【0089】
図9において、視点座標系は、図面の紙面に図示するようにY−Z平面とし、X軸を紙面に対して垂直方向とする。
【0090】
本実施形態は、図9に示すように、Z軸に垂直な面にテクスチャ平面を規定し、地形の水面WLから飛び出している陸地部分の透視投影と同じ手順で水面WLに没している部分(水底部分)をレンダリング可能にし、その結果、陸地部分と水底部分とを一括して一回のレンダリングだけで行う方法である。
【0091】
図9に示すように、予め、地形全体を視線方向に透視変換して描画したものを地形テクスチャとする。地形テクスチャは、視点座標系のZ軸に対して垂直に置かれている。また、地形テクスチャ平面とスクリーン面SCは平行な位置関係にある。
【0092】
まず最初に、水が存在しない状態で、地形をテクスチャ平面に透視投影する。3次元の地形は、視点VPからテクスチャ平面に対して透視投影される。具体的には、地形を構成する点aのテクスチャ・アドレスは地形テクスチャ平面上の点Aとなり、地形の点bのテクスチャ・アドレスは地形テクスチャ平面上の点Bとなり、地形の点cのテクスチャ・アドレスは地形テクスチャ平面上の点Cとなる。
【0093】
次の段階で、この地形に対して、水が存在し、図9に示す地形のうちの一部分が水中に没する状態を考える。図10Aに示すように、水面WLまで水が存在し、地形の一部分が陸地として残っている場合である。このような場合、水中に没した地形(水底部分)は、空気と水の境界で生じる屈折現象により、変位して見えることになる。本実施形態では、この変位量を、簡便な計算方法によって算出している。
【0094】
図10Bに示すモデルにおいて、視線ベクトルと水面WLとの交点における、水面WLに対する法線ベクトルをn、視線ベクトルを正規化したものを視線単位ベクトルvとする。法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和(n+kv)が、Z軸に対して垂直になるように、変数kを決定する。
【0095】
図10を用いて説明すると、ベクトル(n+kv)がテクスチャ平面に平行になるような変数kを決定する。
【0096】
テクスチャ平面はZ軸に垂直に配置されているので、ベクトル(n+kv)がテクチャ面に平行である(即ち、テクスチャ平面にある)ことは、ベクトル(n+kv)のZ座標がゼロとなる。従って、式(7)が成立する。
【数7】
ここで、nzは法線ベクトルnのZ値(スカラー量)を表し、kvzはベクトルkvのZ値(スカラー量)を表している。式(7)を変形すると、式(8)が得られる。
【数8】
式(8)を見ると、nzは法線ベクトルのZ値であり、vzは視線単位ベクトルのZ値であり、いずれも既知の値である。従って、式(8)からkを決定することが出来る。
【0097】
空気から水中への視線VLは、図5に関連して説明したように、その境界面で時計方向に屈折する。従って、このようなkを使って、(n+kv)を求め、これに負(−)の符号を付した−(n+kv)をテクスチャの変位アドレスとする。
【0098】
ここで、一般的には、2種類の屈折率の大小に応じて定数Lを乗じたL・(n+kv)を使用する。また、更に簡便な方法としては、法線ベクトルnの3成分(nx,ny,nz)の内、テクスチャ平面に平行な2成分(nx,ny)に定数Lを乗じたL・(nx,ny)を変位アドレスとして使用してもよい。
【0099】
このように求めた変位アドレスを使って、水底WBをマッピングすると、屈折した水底部分がレンダリングされる。陸地部分は、テクスチャ平面への透視投影したときにレンダリングを終わっているので、この画像と重ねることにより、水底部分と陸地部分の両方をレンダリングできる。
【0100】
上述したように、このレンダリングの方法は、水中に没した水底部分の映像に関して、屈折現象によって生じる変位量が正確にスネルの法則を満足しているわけではない。しかし、簡易的な方法を用いて、スネルの法則に近似した変位量を求めることにより、定性的に水中に没した水底部分をレンダリングすることが出来る。
【0101】
上述した現在実施されているリフラクション・マッピングでは、平行投影と透視投影の2つの方向のレンダリングを行う必要があった。しかし、本実施例に記載するリフラクション・マッピングは、透視投影で作成した水底テクスチャと、水面WLの法線と視線ベクトルから計算できるテクスチャ変位量を使ってリフラクション・マッピングを行うことにより、1方向のレンダリングだけで行うことが出来る。
【0102】
更に、水面WLは、図10Aに示したように、常時、平坦な面を形成しているとは限らない。海面などの水面WLは、波を打っている状態が普通である。図11は、このような波を打っている水面WLを図示したものである。
【0103】
この場合、水面WLが波を打っているときも、法線nが視線VLに対して平行に近づくほど両者のなす角度αは小さくなり、従って変位アドレス−(n+kv)の変位量が小さくなり、反対に法線が視線VLに対して直角に近づくほど両者のなす角度αは大きくなり、従って変位アドレス−(n+kv)の変位量が大きくなる。この結果、空気と水の境界に発生する屈折現象による変位と近似したものが得られる。
【0104】
図11は、この関係を説明する図である。法線ベクトルは、波の状態によってその方向が変化する。ここでは、視線VLに対して垂直に近い法線ベクトルn1と、平行に近い法線ベクトルn2を例示している。法線ベクトルn1に対し、ベクトル(n1+k1v)がテクスチャ平面に平行になるようにk1を決定する。同様に、法線ベクトルn2に対し、ベクトル(n2+k2v)がテクスチャ平面に平行になるようにk2を決定する。このように、波の状態によって、変位量を−(n1+k1v),−(n2+k2v)とすることで、視線VLに対して垂直に近い法線ベクトルn1では変位量を比較的大きく、平行に近い法線ベクトルn2では変位量を比較的小さくすることが出来る。
【0105】
視線VLに対して垂直に近い法線ベクトルn1の状態は、図5に示すような角度αが比較的大きいため屈折量が大きい場合であり、一方、平行に近い法線ベクトルn2の状態は、図8に示すような角度αが比較的小さいため屈折量が小さい場合である。この結果、波を打っている水面WLにおいても、定性的にスネルの法則に準じたリフラクション・マッピングを行うことが出来る。
【0106】
図12は、本実施形態に係るフラクション・マッピングの一例を示す図である。図12(A)は、水が存在しない状態で、地形を透視投影でレンダリングしたものを、フレーム・バッファ63のビデオ出力として出力される表示領域に描画されたものを示している。図12(B)は、図12(A)で作った表示領域のイメージをテクスチャとして、水面WLに没している水底WBに対して、上述した簡便な方法で屈折による変位量を求めて、リフラクション・マッピングを行って作成された水面のイメージ(水面WLから没している水底WBのイメージ)を、図12(A)で描画した表示領域のイメージと重ね合わせた状態を示している。
【0107】
従って、リフラクション・マッピングを実行する際に、屈折して表示される画像の正投影を用意することなく、スクリーンSCに透視投影された画像を変調することにより、簡単な手段で表現することが出来る。
【0108】
本発明によれば、簡易な方法でリフラクション・マッピングを実行する装置及び方法並びにこの方法を記録した記録媒体を提供することが出来る。
【図面の簡単な説明】
【図1】 図1は、親機(ビデオゲーム装置)と子機(携帯用電子機器)から成るエンタテインメント・システムの外観を示す平面図である。
【図2】 図2は、親機(ビデオゲーム装置)の背面図である。
【図3】 図3は、親機(ビデオゲーム装置)の外観斜視図である。
【図4】 図4は、親機(ビデオゲーム装置)の主要部の構成を示すブロック図である。
【図5】 図5は、視点からの視線が、空気と水の境界で屈折現象を生じる状況を説明する図である。
【図6】 図6は、現在実施されているリフラクション・マッピングを説明する図である。
【図7】 図7は、現在実施されているリフラクション・マッピングの手順に沿って、テクスチャのイメージを示したものである。
【図8】 図8は、図5に比較して、視線と法線のなす角度αが比較的小さい場合に、視点からの視線が、空気と水の境界で屈折現象を生じる状況を説明する図である。
【図9】 図9は、図10と共に、部分的に水中の没した凹凸がある物体をリフラクション・マッピングする技術を説明する図である。
【図10】 図10は、図9と共に、部分的に水中の没した凹凸がある物体をリフラクション・マッピングする技術を説明する図である。
【図11】 図11は、水面に波が立っている場合のリフラクション・マッピングを説明する図である。
【図12】 図12は、水面の法線と、屈折により生じる変位量との関係を説明する図である。
【図13】 図13は、本実施形態に係るリフラクション・マッピングの手順に沿って、テクスチャのイメージを示したものである。
Claims (13)
- リフラクション・マッピングを実行する装置において、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成する手段と、
前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する手段とを備え、
前記屈折済みテクスチャ・アドレスを決定する手段は、前記テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて該屈折済みテクスチャ・アドレスとする、装置。 - 請求項1に記載のリフラクション・マッピングを実行する装置において、
少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをn、視線単位ベクトルをvとしたとき、法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和(n+kv)が前記テクスチャ平面に平行になるように変数kを決定して、前記テクスチャ・アドレスを(n+kv)の定数倍、即ちL・(n+kv)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することを特徴とする、装置。 - 請求項1に記載のリフラクション・マッピングを実行する装置において、
少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをnとしたとき、該法線ベクトルnのテクスチャ平面に平行な2成分(nx,ny)に定数Lを乗じたものL・(nx,ny) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定することを特徴とする、装置。 - 請求項1に記載のリフラクション・マッピングを実行する装置において、更に、
前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させる手段と、
この変位させたテクスチャを用いて、スクリーン上に透視変換する手段とを備えた、装置。 - 請求項1に記載のリフラクション・マッピングを実行する装置において、
前記物体が水面から飛び出している部分と、水中の没している部分とを有し、
前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する、装置。 - 請求項1に記載のリフラクション・マッピングを実行する装置において、
前記リフラクション・マッピングを実行する装置が、ビデオゲーム装置に備えられている、装置。 - リフラクション・マッピングを実行する方法において、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成し、
前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、
前記屈折済みテクスチャ・アドレスは、前記テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する、方法。 - 請求項7に記載のリフラクション・マッピングを実行する方法において、
少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをn、視線単位ベクトルをvとしたとき、法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和(n+kv)が前記テクスチャ平面に平行になるように変数kを決定して、テクスチャ・アドレスを(n+kv)の定数倍、即ちL・(n+kv)だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定することを特徴とする、方法。 - 請求項7に記載のリフラクション・マッピングを実行する方法において、
少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをnとしたとき、該法線ベクトルnのテクスチャ平面に平行な2成分(nx,ny)に定数Lを乗じたものL・(nx,ny)だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定する、方法。 - 請求項7に記載のリフラクション・マッピングを実行する方法において、更に、
前記屈折済みテクスチャ・アドレスに基づき、テクスチャの少なくとも一部分を変位させ、
この変位させたテクスチャを用いて、スクリーン上に透視変換する、方法。 - 請求項7に記載のリフラクション・マッピングを実行する方法において、
前記物体が水面から飛び出している部分と、水中の没している部分とを有し、
前記水中に没している部分に関連する前記テクスチャの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定する、方法。 - コンピュータを、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成する手段、及び
少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをn、視線単位ベクトルをvとしたとき、法線ベクトルnと視線単位ベクトルvに変数kを乗じた値kvとの和 ( n+kv ) が前記テクスチャ平面に平行になるように変数kを決定して、テクスチャ・アドレスを ( n+kv ) の定数倍、即ちL・ ( n+kv ) だけ変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、
として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体。 - コンピュータを、
物体を透視投影して該物体のテクスチャ・アドレスを求めて、テクスチャ平面に対して該物体の2次元のテクスチャを作成する手段、及び
少なくとも2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルをnとしたとき、該法線ベクトルnのテクスチャ平面に平行な2成分 ( n x ,n y ) に定数Lを乗じたものL・ ( n x ,n y ) だけ、テクスチャ・アドレスを変位させることにより、前記屈折済みテクスチャ・アドレスを決定して、前記テクスチャ・アドレスの少なくとも一部分に対して、屈折現象により変位する屈折済みテクスチャ・アドレスを決定し、該屈折済みテクスチャ・アドレスは、該テクスチャ・アドレスを、2つの相異なる媒質の境界面と視線ベクトルとの交点における法線ベクトルのテクスチャ平面に平行な成分に基づいて変位させて決定する手段、
として機能させるための、リフラクション・マッピングを実行するプログラムを記録した記録媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4097799 | 1999-02-19 | ||
| JP11-40977 | 1999-02-19 | ||
| PCT/JP2000/000724 WO2000049573A1 (en) | 1999-02-19 | 2000-02-10 | System for and method of implementing refraction mapping |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002537611A JP2002537611A (ja) | 2002-11-05 |
| JP3661167B2 true JP3661167B2 (ja) | 2005-06-15 |
Family
ID=12595514
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000600237A Expired - Lifetime JP3661167B2 (ja) | 1999-02-19 | 2000-02-10 | リフラクション・マッピングを実行する装置及び方法 |
Country Status (12)
| Country | Link |
|---|---|
| US (2) | US6563508B1 (ja) |
| EP (1) | EP1161742A1 (ja) |
| JP (1) | JP3661167B2 (ja) |
| KR (1) | KR20010113703A (ja) |
| CN (1) | CN1340180A (ja) |
| AU (1) | AU2459700A (ja) |
| BR (1) | BR0010038A (ja) |
| CA (1) | CA2363175A1 (ja) |
| HK (1) | HK1040127A1 (ja) |
| RU (1) | RU2001124858A (ja) |
| TW (1) | TW544633B (ja) |
| WO (1) | WO2000049573A1 (ja) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4589517B2 (ja) * | 2000-11-08 | 2010-12-01 | 株式会社バンダイナムコゲームス | 情報記憶媒体及び画像生成装置 |
| WO2002085557A2 (en) * | 2001-04-19 | 2002-10-31 | Alcoa Inc. | Continuous pressure molten metal supply system and method for forming continuous metal articles |
| US6985148B2 (en) * | 2001-12-13 | 2006-01-10 | Microsoft Corporation | Interactive water effects using texture coordinate shifting |
| US6894696B2 (en) * | 2001-12-21 | 2005-05-17 | Sony Corporation | Method and apparatus for providing refractive transparency in selected areas of video displays |
| US7146036B2 (en) * | 2003-02-03 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Multiframe correspondence estimation |
| US7934627B2 (en) * | 2005-10-13 | 2011-05-03 | Alcoa Inc. | Apparatus and method for high pressure extrusion with molten aluminum |
| KR100738500B1 (ko) * | 2006-02-20 | 2007-07-12 | 한국과학기술원 | 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법 |
| JP4747881B2 (ja) * | 2006-02-27 | 2011-08-17 | セイコーエプソン株式会社 | 演算処理装置によるデータ変換方法、テクスチャの作成方法、プログラム、記録媒体、及びプロジェクタ。 |
| CN101226643B (zh) * | 2007-01-17 | 2010-05-19 | 财团法人资讯工业策进会 | 可依水面实际高度绘制3d水面的装置及方法 |
| JP4600515B2 (ja) * | 2008-05-07 | 2010-12-15 | ソニー株式会社 | 情報提示装置及び情報提示方法、撮像装置、並びにコンピュータ・プログラム |
| US9147283B1 (en) * | 2011-10-30 | 2015-09-29 | Lockhead Martin Corporation | Water surface visualization during a simulation |
| US9123160B1 (en) | 2011-10-30 | 2015-09-01 | Lockheed Martin Corporation | Concurrent mesh generation in a computer simulation |
| GB2528655B (en) | 2014-07-24 | 2020-10-07 | Advanced Risc Mach Ltd | Graphics Processing Systems |
| GB2535791B (en) * | 2015-02-27 | 2021-03-31 | Advanced Risc Mach Ltd | Graphics processing systems |
| GB2535792B (en) * | 2015-02-27 | 2021-03-31 | Advanced Risc Mach Ltd | Graphic processing systems |
| CN107430784B (zh) | 2015-02-27 | 2021-04-16 | Arm有限公司 | 图形处理系统 |
| GB2541928B (en) | 2015-09-04 | 2018-01-31 | Advanced Risc Mach Ltd | Graphics processing systems |
| GB2543766B (en) | 2015-10-26 | 2018-02-14 | Advanced Risc Mach Ltd | Graphics processing systems |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61210395A (ja) | 1985-03-14 | 1986-09-18 | ソニー株式会社 | 画像処理装置 |
| US5224208A (en) * | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
| JP3063125B2 (ja) | 1990-08-28 | 2000-07-12 | ソニー株式会社 | 地形データ作成装置 |
| JPH05101161A (ja) | 1991-10-04 | 1993-04-23 | Sony Corp | アニメーシヨン作成装置 |
| KR0147439B1 (ko) * | 1994-02-04 | 1998-09-15 | 윌리엄 티. 엘리스 | 굴절 현상에 대해 하드웨어에 근거한 그래픽 워크스테이션 솔루션 |
| AU2105797A (en) * | 1996-03-14 | 1997-10-01 | I.I. Interactive Innovations Ltd. | Computerized graphics systems |
| JP4071290B2 (ja) * | 1996-11-21 | 2008-04-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータグラフィックス画像を発生する方法および装置 |
| JPH10208067A (ja) * | 1997-01-21 | 1998-08-07 | Namco Ltd | 画像生成装置及び画像生成方法 |
| US6256047B1 (en) * | 1997-06-04 | 2001-07-03 | Konami Co., Ltd. | Method of judging hits and computer-readable storage medium storing game data |
| JP3951362B2 (ja) * | 1997-06-12 | 2007-08-01 | 株式会社セガ | 画像処理装置、ゲーム装置、その方法および記録媒体 |
| JP3576126B2 (ja) * | 2001-07-30 | 2004-10-13 | 株式会社ナムコ | 画像生成システム、プログラム及び情報記憶媒体 |
-
2000
- 2000-02-10 CA CA002363175A patent/CA2363175A1/en not_active Abandoned
- 2000-02-10 HK HK02100938.3A patent/HK1040127A1/zh unknown
- 2000-02-10 EP EP00902886A patent/EP1161742A1/en not_active Ceased
- 2000-02-10 JP JP2000600237A patent/JP3661167B2/ja not_active Expired - Lifetime
- 2000-02-10 RU RU2001124858/09A patent/RU2001124858A/ru not_active Application Discontinuation
- 2000-02-10 CN CN00803909A patent/CN1340180A/zh active Pending
- 2000-02-10 WO PCT/JP2000/000724 patent/WO2000049573A1/en not_active Ceased
- 2000-02-10 KR KR1020017010572A patent/KR20010113703A/ko not_active Ceased
- 2000-02-10 AU AU24597/00A patent/AU2459700A/en not_active Abandoned
- 2000-02-10 BR BR0010038-2A patent/BR0010038A/pt not_active Application Discontinuation
- 2000-02-16 TW TW089102603A patent/TW544633B/zh not_active IP Right Cessation
- 2000-02-18 US US09/506,885 patent/US6563508B1/en not_active Expired - Lifetime
-
2002
- 2002-12-12 US US10/317,888 patent/US7075533B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US7075533B2 (en) | 2006-07-11 |
| US6563508B1 (en) | 2003-05-13 |
| CA2363175A1 (en) | 2000-08-24 |
| US20030085895A1 (en) | 2003-05-08 |
| BR0010038A (pt) | 2002-01-15 |
| CN1340180A (zh) | 2002-03-13 |
| JP2002537611A (ja) | 2002-11-05 |
| AU2459700A (en) | 2000-09-04 |
| WO2000049573A1 (en) | 2000-08-24 |
| HK1040127A1 (zh) | 2002-05-24 |
| TW544633B (en) | 2003-08-01 |
| KR20010113703A (ko) | 2001-12-28 |
| EP1161742A1 (en) | 2001-12-12 |
| RU2001124858A (ru) | 2003-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3668019B2 (ja) | 記録媒体、画像処理装置および画像処理方法 | |
| JP3725524B2 (ja) | コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ | |
| US7075533B2 (en) | System for and method of implementing refraction mapping | |
| JP2002074390A (ja) | 低価格のグラフィックスシステムにおけるシャドウマッピング | |
| JP2002042156A (ja) | ゲームシステム及び情報記憶媒体 | |
| JP3369159B2 (ja) | 画像描画方法、画像描画装置、記録媒体及びプログラム | |
| JP3249955B2 (ja) | 画像生成システム及び情報記憶媒体 | |
| JP4082937B2 (ja) | ゲームシステム及びゲームプログラム | |
| JP3001538B1 (ja) | ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体 | |
| JPH11272882A (ja) | 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置 | |
| JP4229319B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
| JP3647691B2 (ja) | ポリゴン画像表示方法、ポリゴン画像作成装置及び記録媒体 | |
| JP3583995B2 (ja) | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 | |
| JP3643036B2 (ja) | 透視変換する装置及び方法 | |
| US6972766B2 (en) | Recording medium storing dynamic picture image generation program, dynamic picture image generation program, dynamic picture image generation method, and device for the same | |
| US6867766B1 (en) | Image generating apparatus, image generating method, entertainment system, and recording medium | |
| JP4303395B2 (ja) | ゲーム装置および情報記憶媒体 | |
| JP3254195B2 (ja) | 画像生成システム及び情報記憶媒体 | |
| EP1249791B1 (en) | 3-D game image processing method and device for drawing border lines | |
| JP4247856B2 (ja) | 画像生成システム及び情報記憶媒体 | |
| JP3583994B2 (ja) | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 | |
| JP4391633B2 (ja) | 画像生成システム及び情報記憶媒体 | |
| JP3586679B2 (ja) | 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置 | |
| JP3708904B2 (ja) | 画像処理プログラム | |
| MXPA01008417A (en) | System for and method of implementing refraction mapping |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041115 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041228 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050203 |
|
| 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: 20050302 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050311 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3661167 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051019 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051021 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
| A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20060110 |
|
| A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20060112 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |
