説明

画像処理装置及び画像処理方法

【課題】現実感の高い3次元仮想現実世界の画像を生成する。
【解決手段】ゲーム装置10に備えられた画像処理装置50は、記憶部60と生成部70を含む。生成部70は、水中における映像のゆらめきを表現する効果を付加する水中効果付加部72、水面のゆらめきを表現する効果を付加する水面効果付加部74、草などのオブジェクトが水流や風で揺れる様子を表現する効果を付加する揺れ効果付加部76、水中に光が差し込む様子を表現する効果を付加するフレア効果付加部78、水深に応じたフォグ効果を付加するフォグ効果付加部80、オブジェクトのスケールを自動調整するスケール調整部82、オブジェクトをレンダリングするレンダリング部90を備え、水中と水上に構築された3次元仮想現実世界の画像を高い現実感にて生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術に関し、特に、屈折率の異なる第1空間及び第2空間に仮想的に配置された3次元オブジェクトの画像を生成する技術に関する。
【背景技術】
【0002】
従来、仮想的に構築された3次元空間内をキャラクタが移動するゲーム装置が知られている。3次元空間内に池や海などが配置され、水中をキャラクタが移動するものもある。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、水中の様子を高い現実感をもって表現する画像処理技術を駆使したゲーム装置はない。
【0004】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より現実感の高い画像を生成する技術を提供することにある。
【課題を解決するための手段】
【0005】
本発明のある態様は、画像処理装置に関する。この画像処理装置は、屈折率の異なる第1空間及び第2空間に仮想的に配置された3次元オブジェクトのデータを、前記第1空間に配置された第1オブジェクト及び前記第2空間に配置された第2オブジェクトの別を識別可能に格納する格納部と、所定の視点位置から所定の視線方向に見た前記3次元オブジェクトの画像を生成する生成部と、を備え、前記生成部は、前記視点位置と、前記第1空間及び前記第2空間の境界面との位置関係に応じて、前記第1オブジェクト及び前記第2オブジェクトの描画順序を決定し、前記第1オブジェクト及び前記第2オブジェクトを前記描画順序に沿ってレンダリングすることにより前記3次元オブジェクトの画像を生成することを特徴とする。第1空間は、例えば空気中であってもよく、第2空間は、例えば水中であってもよい。
【0006】
前記格納部は、更に、前記境界面付近に配置された第3オブジェクトの別を識別可能に格納し、前記生成部は、前記視点位置と前記境界面との位置関係に応じて、前記第1オブジェクト、前記第2オブジェクト、及び前記第3オブジェクトの描画順序を決定し、前記第1オブジェクト、前記第2オブジェクト、及び前記第3オブジェクトを前記描画順序に沿ってレンダリングすることにより前記3次元オブジェクトの画像を生成してもよい。
【0007】
画像処理装置は、生成された画像を所定のサイズのブロックに分割し、前記ブロックの頂点を移動させて画像を歪ませることにより、前記画像がゆらめく様子を表現する効果を付加する歪み効果付加部を更に備えてもよい。画像処理装置は、流体中で揺れを生じるオブジェクトの画像に対して、せん断マトリクス変換を作用させることにより、前記オブジェクトが揺れる様子を表現する効果を付加する揺れ効果付加部を更に備えてもよい。画像処理装置は、前記第1空間又は前記第2空間に光が差し込む様子を表現する効果を付加するために、前記光が差し込む位置に板ポリゴンを配置し、せん断によって差し込み側と底面側の辺を平行に保ちつつ前記板ポリゴンをねじり、前記板ポリゴンと直角にテクスチャを張るフレア効果付加部を更に備えてもよい。画像処理装置は、前記第1空間が水中である場合に、水深に応じたフォグ効果を付加するフォグ効果付加部を更に備えてもよい。画像処理装置は、前記オブジェクトのスケールを、表示モードに基づいて自動調整するスケール調整部を更に備えてもよい。
【発明の効果】
【0008】
本発明によれば、現実感の高い画像を生成する技術を提供することができる。
【発明を実施するための最良の形態】
【0009】
図1は、実施の形態に係る画像処理装置50を含むゲーム装置10の構成を示す。ゲーム装置10は、コントローラ20、制御部30、表示装置40、画像処理装置50を備える。図1に示した構成の一部は、ハードウェア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0010】
本実施の形態のゲーム装置10は、ユーザが魚のキャラクタを操作して池の周辺を移動し、他の魚を捕食したり、アイテムを拾ったりするゲームを実現する。ユーザは、魚のキャラクタを操作して水中を移動することで、擬似的に魚になったような操作感を得ることができる。本実施の形態では、屈折率の異なる空気中と水中の二つの空間に構築された3次元仮想現実世界(以下、単に「ゲーム世界」ともいう)の画像を、高い現実感をもって表現するための画像処理技術を中心に説明する。
【0011】
制御部30は、ユーザが操作するコントローラ20から入力される制御信号に基づいてゲームプログラムを実行し、ゲームを進行させる。制御部30は、ユーザが操作するキャラクタの現在位置、ゲーム世界を描写した画面を生成するときのカメラの視点位置、視線方向、ゲームプログラムが用いる各種フラグ情報やパラメータなどの制御情報などを変更し、管理する。画像処理装置50は、制御部30により制御されるゲームの画面を生成する。表示装置40は、画像処理装置50により生成されたゲーム画面を表示する。
【0012】
本実施の形態では、ユーザが操作するキャラクタは、水中及び水上に仮想的に構築された3次元のゲーム世界の中を移動するので、画像処理装置50は、ゲーム世界に配置された3次元オブジェクトを、制御部30が決定したカメラの視点位置及び視線方向を用いてレンダリングし、生成した画像に各種情報などの表示を付加してゲーム画面を生成する。
【0013】
画像処理装置50は、制御部30によるゲームの進行に伴って、ユーザに提示するゲーム画面を生成する生成部70と、生成部70における画像処理に必要なデータを格納する記憶部60とを含む。記憶部60は、ゲーム世界に配置されたオブジェクトの形状データなどを格納するオブジェクトデータベース62、テクスチャメモリ64、フレームバッファ66を含む。オブジェクトデータベース42は、格納部の一例であり、第1空間の一例である水中に配置された水中オブジェクト、第2空間の一例である空気中に配置された水上オブジェクト、及び第1空間と第2空間の境界面である水面付近に配置された水面オブジェクトの別を識別可能に格納する。オブジェクトデータベース42は、例えば、オブジェクトのデータと、そのオブジェクトが水上オブジェクト、水中オブジェクト及び水面オブジェクトのいずれであるかを示す識別子とを対応づけて格納してもよい。テクスチャメモリ64は、画像処理におけるワークメモリとして使用され、例えば、画面の半分の大きさの容量を有する。フレームバッファ66は、画面1枚分の画像データを保持する。
【0014】
生成部70は、水中及び水上に配置されたオブジェクト群をレンダリングするレンダリング部90と、レンダリングした画像に様々な視覚効果を付加する構成を含んでおり、具体的には、生成部70は、水中効果付加部72、水面効果付加部74、揺れ効果付加部76、フレア効果付加部78、フォグ効果付加部80、レンダリング部90を含む。生成部70は、それらの他に、3次元オブジェクトを表示する際にスケールを自動調整するスケール調整部82を含む。
【0015】
水中効果付加部72は、カメラの視点位置が水中にあるとき、生成された画像を歪ませることにより、水中から見た映像が水の流れによりゆらめく様子を表現する効果を付加する。水中効果付加部72は、生成された画像を所定のサイズ、例えば8画素×16画素のブロックに分割し、それらのブロックの頂点を移動させることによって、画像を歪ませる。これにより、水中から見た映像を高い現実感にて描画することができる。水中効果付加部72は、視点位置から近いオブジェクトが描画された部分ほど大きく歪ませるようにしてもよい。
【0016】
水面効果付加部74は、水面に投影された画像、又は水面を通して透けて見える画像を歪ませることにより、水面がゆらめく様子を表現する効果を付加する。水面効果付加部74は、生成された画像を所定のサイズ、例えば8画素×16画素のブロックに分割し、それらの頂点を移動させることによって、画像を歪ませる。このとき、頂点の移動量は、その頂点に投影された水面上の座標の1/zの値(zは奥行き方向の座標値)に比例して大きくなるようにする。これにより、近くの水面が投影された部分ほど大きく歪ませることになるので、より現実感の高い画像を得ることができる。
【0017】
また、分割されたブロックの各頂点に与えられる、透明度を表すアルファ値は、視点位置と頂点との間の距離又は視線方向と頂点における境界面の法線とのなす角に応じて決定される。例えば、水面を透過して見える画像を描画するときは、視点位置に近く、また、水面と視線方向とのなす角が直角に近い(すなわち、水面の法線と視線方向とのなす角が小さい)部分ほど、アルファ値が小さくなるようにする。以下、この操作を「WPLフィルタ」と呼ぶ。逆に、水面に反射して見える画像を描画するときは、視点位置に近く、また、水面と視線方向とのなす角が直角に近い(すなわち、水面の法線と視線方向とのなす角が小さい)部分ほど、アルファ値が大きくなるようにする。以下、この操作を「WPLRフィルタ」と呼ぶ。このような操作により、水面への映り込みや水面を透過して見える画像の透明度を、視点位置や視線方向に応じて変化させることができ、より現実感の高い画像を得ることができる。
【0018】
揺れ効果付加部76は、草などの、水中で水の流れにより、又は、空気中で風により揺れを生じるオブジェクトの画像に対して、揺れを表現する効果を付加する。揺れ効果付加部76は、固定点からの距離に応じた歪を生じさせる、せん断マトリクス変換を用いてオブジェクトをねじることにより、マトリクス計算を1回行うだけでオブジェクトの揺れを表現する。3次元グラフィクスで扱う座標は、X、Y、Zの3つであるが、平行変換や透視変換を考慮し、次元を一つ増やして4次元同次座標として扱うことが多い。このとき、せん断マトリクスMsは、次式で表される。
【数1】



揺れ効果付加部76は、a、b、c、d、e、fに変数を代入して変換を行う。ここで、a=c、b=e、d=fとしてもよい。
【0019】
フレア効果付加部78は、水中の画像に対して、水中に光が差し込む様子を表現する効果を付加する。フレア効果付加部78は、光の差し込みを描画する位置に長方形の板ポリゴンを配置し、せん断によって差し込み側と底面側の辺を平行に保ちつつ板ポリゴンをねじる。また、テクスチャは、ポリゴンと直角になるように張って、そのUV変化で光の差し込みが自然に見えるように表現する。
【0020】
フォグ効果付加部80は、水中の画像に対して、水深に応じたフォグ効果を付加する。フォグ効果付加部80は、所定の水深に対して最大のフォグ値を設定し、その水深よりも浅い領域に対しては、線形補間によりフォグ値をリアルタイムに設定して、フォグ効果を付加する。
【0021】
スケール調整部82は、オブジェクトの画像を生成する際に、画像を表示する状況や、周辺のオブジェクトとの関係などに応じて、オブジェクトのスケールを自動的に調整する。例えば、ゲームに登場する魚や、アイテムなどを説明するための画面を表示する際に、魚やアイテムをゲーム中に登場する大きさではなく、表示枠に応じたほぼ一定の大きさで表示されるように、スケールを調整する。スケール調整部82は、オブジェクトデータベース62から読み出したオブジェクトのポリゴンモデルのカリング用球データから、その大きさを取得し、
(モデルのスケール)=k/(カリング用球データの半径)×(個別調整用数値)k
=(所定値)
より大きさを計算する。また、スケール調整部82は、カリング用球データの中心座標値に基づいて、表示位置のずれを修正する。
【0022】
図2は、水上オブジェクト、水中オブジェクト、水面オブジェクトの例を示す。図2に示した3次元仮想現実世界は、水面100を挟んで、水中102と水上104の2つの屈折率の異なる空間を含む。図2には、水上104に配置された水上オブジェクトの例としてバケツ110が、水中102に配置された水中オブジェクトの例として岩112が、水面100付近に配置された水面オブジェクトの例として落ち葉114が、それぞれ示されている。水上104からこの世界を眺めると、同じ空間内にある水上オブジェクトと、水面オブジェクトと、水面100で反射した水上オブジェクトと、水面100を透過した水中オブジェクトが見える。また、水中102からこの世界を眺めると、同じ空間内にある水中オブジェクトと、水面オブジェクトと、水面100で反射した水中オブジェクトと、水面100を透過した水上オブジェクトが見える。本実施の形態では、これらのオブジェクトの描画順序を適切に設定することにより、ゲーム世界をより正確に再現した画像を生成する。水面付近に存在するオブジェクトは、視点位置が水上であっても水中であっても、水面で反射して見える画像や水面を透過して見える画像よりもはっきりと見えるはずであるから、水面オブジェクトの描画を水面から比較的離れた水中オブジェクトや水上オブジェクトの描画と独立させ、水面における反射画像及び透過画像よりも優先させて描画することにより、より現実感の高い画像を生成することができる。
【0023】
図3は、生成部70がゲーム画面を生成する手順を示すフローチャートである。まず、生成部70は、制御部30からカメラの視点位置及び視線方向を取得する(S10)。つづいて、生成部70は、カメラの視点位置に基づいて、オブジェクトの描画順序を決定する(S12)。生成部70は、カメラの視点位置が水面よりも上にあるか下にあるかを判断し、判断結果に応じてオブジェクトの描画順序を決定する。カメラの視点位置が水中にある場合は(S14のN)、生成部70は、水上オブジェクト、水面オブジェクト、水中オブジェクトの順にレンダリングを行い、それらを順次上書きしてゲーム世界の画像を生成する(S18)。カメラの視点位置が水上にある場合は(S14のY)、生成部70は、水中オブジェクト、水面オブジェクト、水上オブジェクトの順にレンダリングを行い、それらを順次上書きしてゲーム世界の画像を生成する(S16)。これにより、例えば半透明なオブジェクトが配置されている場合であっても、ソートエラーを生じることなく適切に描画することができる。生成部70は、こうして生成されたゲーム世界の画像に、キャラクタの体力や空腹度などの各種情報の表示を付加してゲーム画面を生成する(S20)。
【0024】
図4は、生成部70が、水上から見たゲーム世界の画像を生成する手順を示すフローチャートである。この手順は、図3に示したフローチャートにおけるS16に該当する。まず、生成部70は、オブジェクトデータベース62から水中オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水中オブジェクトをレンダリングし、テクスチャメモリ64に格納する(S30)。このとき、草などのオブジェクトが存在する場合は、揺れ効果付加部76により揺れを表現する効果を付加する。また、必要であれば、フレア効果付加部78により光の差し込みを表現する効果を付加してもよいし、フォグ効果付加部80により水中の透明度などを変更してもよい。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLフィルタを適用し、水面の遠い部分ほど画像が薄くなるようにフレームバッファ66へ描画する(S32)。これにより、水面から透けて見える水中オブジェクトの画像が生成される。
【0025】
次に、生成部70は、テクスチャメモリ64を黒一色で塗りつぶす。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLRフィルタを適用し、水面の遠い部分ほど画像が濃くなるようにフレームバッファ66へ描画する(S34)。この画像は、黒のグラデーションとなる。遠い水面ほど濃い黒の画像が加算されることになるので、視点位置から遠い水面ほど暗い画像になる。これにより、遠近感を出すことができる。
【0026】
次に、生成部70は、オブジェクトデータベース62から水上オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水上オブジェクトをレンダリングし、テクスチャメモリ64に格納する(S36)。このとき、マトリクスは水面で反転させる。草などのオブジェクトが存在する場合は、揺れ効果付加部76により揺れを表現する効果を付加してもよい。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLRフィルタを適用し、水面の遠い部分ほど画像が濃くなるようにフレームバッファ66へ描画する(S38)。これにより、水面で反射されて見える水上オブジェクトの画像が描画される。以上の手順により、水上オブジェクトと水中オブジェクトの画像が水面でクロスフェードしたような画像が得られる。水中オブジェクトの画像にはWPLフィルタを、水面で反転させた水上オブジェクトの画像にはWPLRフィルタを適用しているので、視点から近く、水面と視線方向とのなす角が直角に近いほど、水面を透過する水中オブジェクトの画像が濃く、水面に反射した水上オブジェクトの画像が薄く描画され、逆に、視点から遠く、水面と視線方向とのなす角が小さいほど、水面を透過する水中オブジェクトの画像が薄く、水面に反射した水上オブジェクトの画像が濃く描画されることになる。これにより、水面の様子をよりリアルに再現することができる。
【0027】
次に、生成部70は、オブジェクトデータベース62から水面オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水面オブジェクトをレンダリングし、テクスチャメモリ64に格納する(S40)。このとき、テクスチャアニメーションを利用してもよい。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLフィルタを適用し、水面の遠い部分ほど画像が薄くなるようにフレームバッファ66へ描画する(S42)。これにより、水面オブジェクトの画像が描画される。水面の画像に水面オブジェクトの画像を上書きするので、水面付近に配置されたオブジェクトが、水面を透過して見える水中オブジェクトや、水面で反射して見える水上オブジェクトよりも優先して描画される。これにより、より現実感の高い画像を生成することができる。
【0028】
次に、生成部70は、オブジェクトデータベース62から水上オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水上オブジェクトをレンダリングし、フレームバッファ66に加算する(S44)。以上の手順により、水上から見たゲーム世界の画像が適切に生成される。
【0029】
図5は、生成部70が、水中から見たゲーム世界の画像を生成する手順を示すフローチャートである。この手順は、図3に示したフローチャートにおけるS18に該当する。まず、生成部70は、オブジェクトデータベース62から水上オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水上オブジェクトをレンダリングし、テクスチャメモリ64に格納する(S50)。このとき、草などのオブジェクトが存在する場合は、揺れ効果付加部76により揺れを表現する効果を付加してもよい。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLフィルタを適用し、水面の遠い部分ほど画像が薄くなるようにフレームバッファ66へ描画する(S52)。これにより、水面から透けて見える水上オブジェクトの画像が生成される。
【0030】
次に、生成部70は、テクスチャメモリ64を黒一色で塗りつぶす。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLRフィルタを適用し、水面の遠い部分ほど画像が濃くなるようにフレームバッファ66へ描画する(S54)。この画像は、黒のグラデーションとなる。遠い水面ほど濃い黒の画像が加算されることになるので、視点位置から遠い水面ほど暗い画像になる。これにより、遠近感を出すことができる。
【0031】
次に、生成部70は、オブジェクトデータベース62から水中オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水中オブジェクトをレンダリングし、テクスチャメモリ64に格納する(S56)。このとき、マトリクスは水面で反転させる。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLRフィルタを適用し、水面の遠い部分ほど画像が濃くなるようにフレームバッファ66へ描画する(S58)。これにより、水面で反射されて見える水中オブジェクトの画像が描画される。以上の手順により、水上オブジェクトと水中オブジェクトの画像が水面でクロスフェードしたような画像が得られる。水上オブジェクトの画像にはWPLフィルタを、水面で反転させた水中オブジェクトの画像にはWPLRフィルタを適用しているので、視点から近く、水面と視線方向とのなす角が直角に近いほど、水面を透過する水上オブジェクトの画像が濃く、水面に反射した水中オブジェクトの画像が薄く描画され、逆に、視点から遠く、水面と視線方向とのなす角が小さいほど、水面を透過する水上オブジェクトの画像が薄く、水面に反射した水中オブジェクトの画像が濃く描画されることになる。これにより、水面の様子をよりリアルに再現することができる。
【0032】
次に、生成部70は、オブジェクトデータベース62から水面オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水面オブジェクトをレンダリングし、テクスチャメモリ64に格納する(S60)。このとき、テクスチャアニメーションを利用してもよい。つづいて、テクスチャメモリ64の画像に対して、水面効果付加部74により歪み効果を加え、WPLフィルタを適用し、水面の遠い部分ほど画像が薄くなるようにフレームバッファ66へ描画する(S62)。これにより、水面オブジェクトの画像が描画される。水面の画像に水面オブジェクトの画像を上書きするので、水面付近に配置されたオブジェクトが、水面を透過して見える水上オブジェクトや、水面で反射して見える水中オブジェクトよりも優先して描画される。これにより、より現実感の高い画像を生成することができる。
【0033】
次に、生成部70は、オブジェクトデータベース62から水中オブジェクトを読み出し、レンダリング部90に渡す。レンダリング部90は、カメラの視点位置と視線方向を設定して、水中オブジェクトをレンダリングし、フレームバッファ66に加算する(S64)。このとき、草などのオブジェクトが存在する場合は、揺れ効果付加部76により揺れを表現する効果を付加する。また、必要であれば、フレア効果付加部78により光の差し込みを表現する効果を付加してもよいし、フォグ効果付加部80により水中の透明度などを変更してもよい。最後に、フレームバッファ66の画像に対して、水中効果付加部72により水のゆらめきを表現する効果を付加する(S66)。以上の手順により、水中から見たゲーム世界の画像が適切に生成される。
【0034】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【0035】
【図1】実施の形態に係る画像処理装置を含むゲーム装置の構成を示す図である。
【図2】水上オブジェクト、水中オブジェクト、水面オブジェクトの例を示す図である。
【図3】生成部がゲーム画面を生成する手順を示すフローチャートである。
【図4】生成部が水上から見たゲーム世界の画像を生成する手順を示すフローチャートである。
【図5】生成部が水中から見たゲーム世界の画像を生成する手順を示すフローチャートである。
【符号の説明】
【0036】
10 ゲーム装置、30 制御部、40 表示装置、50 画像処理装置、60 記憶部、62 オブジェクトデータベース、64 テクスチャメモリ、66 フレームバッファ、70 生成部、72 水中効果付加部、74 水面効果付加部、76 揺れ効果付加部、78 フレア効果付加部、80 フォグ効果付加部、82 スケール調整部、90 レンダリング部。

【特許請求の範囲】
【請求項1】
屈折率の異なる第1空間及び第2空間に仮想的に配置された3次元オブジェクトのデータを、前記第1空間に配置された第1オブジェクト及び前記第2空間に配置された第2オブジェクトの別を識別可能に格納する格納部と、
所定の視点位置から所定の視線方向に見た前記3次元オブジェクトの画像を生成する生成部と、を備え、
前記生成部は、前記視点位置と、前記第1空間及び前記第2空間の境界面との位置関係に応じて、前記第1オブジェクト及び前記第2オブジェクトの描画順序を決定し、前記第1オブジェクト及び前記第2オブジェクトを前記描画順序に沿ってレンダリングすることにより前記3次元オブジェクトの画像を生成することを特徴とする画像処理装置。
【請求項2】
前記格納部は、更に、前記境界面付近に配置された第3オブジェクトの別を識別可能に格納し、
前記生成部は、前記視点位置と前記境界面との位置関係に応じて、前記第1オブジェクト、前記第2オブジェクト、及び前記第3オブジェクトの描画順序を決定し、前記第1オブジェクト、前記第2オブジェクト、及び前記第3オブジェクトを前記描画順序に沿ってレンダリングすることにより前記3次元オブジェクトの画像を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記視点位置が前記第1空間にある場合、前記生成部は、前記第2オブジェクト、前記第3オブジェクト、前記第1オブジェクトの順にレンダリングして重ね合わせることにより、前記3次元オブジェクトの画像を生成することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記視点位置が前記第2空間にある場合、前記生成部は、前記第1オブジェクト、前記第3オブジェクト、前記第2オブジェクトの順にレンダリングして重ね合わせることにより、前記画像を生成することを特徴とする請求項2又は3に記載の画像処理装置。
【請求項5】
生成された画像を所定のサイズのブロックに分割し、前記ブロックの頂点を移動させて画像を歪ませることにより、前記画像がゆらめく様子を表現する効果を付加する歪み効果付加部を更に備えることを特徴とする請求項1から4のいずれかに記載の画像処理装置。
【請求項6】
前記頂点の移動量は、その頂点に投影された前記境界面上の座標の奥行き方向の値の逆数に比例することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記頂点の透明度は、前記視点位置と前記頂点との間の距離又は前記視線方向と前記頂点における前記境界面の法線とのなす角に応じて決定されることを特徴とする請求項5又は6に記載の画像処理装置。
【請求項8】
流体中で揺れを生じるオブジェクトの画像に対して、せん断マトリクス変換を作用させることにより、前記オブジェクトが揺れる様子を表現する効果を付加する揺れ効果付加部を更に備えることを特徴とする請求項1から7のいずれかに記載の画像処理装置。
【請求項9】
前記第1空間又は前記第2空間に光が差し込む様子を表現する効果を付加するために、前記光が差し込む位置に板ポリゴンを配置し、せん断によって差し込み側と底面側の辺を平行に保ちつつ前記板ポリゴンをねじり、前記板ポリゴンと直角にテクスチャを張るフレア効果付加部を更に備えることを特徴とする請求項1から8のいずれかに記載の画像処理装置。
【請求項10】
前記第1空間が水中である場合に、水深に応じたフォグ効果を付加するフォグ効果付加部を更に備えることを特徴とする請求項1から9のいずれかに記載の画像処理装置。
【請求項11】
前記オブジェクトのスケールを、表示モードに基づいて自動調整するスケール調整部を更に備えることを特徴とする請求項1から10のいずれかに記載の画像処理装置。
【請求項12】
屈折率の異なる第1空間及び第2空間に仮想的に配置された3次元オブジェクトのデータをレンダリングするために、視点位置と視線方向を取得するステップと、
前記視点位置と、前記第1空間と前記第2空間の境界面との位置関係に応じて、前記第1空間に配置された第1オブジェクト及び前記第2空間に配置された第2オブジェクトの描画順序を決定するステップと、
前記描画順序にしたがって、前記3次元オブジェクトのデータを格納した格納部から前記データを読み出してレンダリングし、前記3次元オブジェクトの画像を生成するステップと、
を含むことを特徴とする画像処理方法。
【請求項13】
屈折率の異なる第1空間及び第2空間に仮想的に配置された3次元オブジェクトのデータをレンダリングするために、視点位置と視線方向を取得する機能と、
前記視点位置と、前記第1空間と前記第2空間の境界面との位置関係に応じて、前記第1空間に配置された第1オブジェクト及び前記第2空間に配置された第2オブジェクトの描画順序を決定する機能と、
前記描画順序にしたがって、前記3次元オブジェクトのデータを格納した格納部から前記データを読み出してレンダリングし、前記3次元オブジェクトの画像を生成する機能と、
をコンピュータに実行せしめることを特徴とするコンピュータプログラム。
【請求項14】
屈折率の異なる第1空間及び第2空間に仮想的に配置された3次元オブジェクトのデータをレンダリングするために、視点位置と視線方向を取得するステップと、
前記視点位置と、前記第1空間と前記第2空間の境界面との位置関係に応じて、前記第1空間に配置された第1オブジェクト及び前記第2空間に配置された第2オブジェクトの描画順序を決定するステップと、
前記描画順序にしたがって、前記3次元オブジェクトのデータを格納した格納部から前記データを読み出してレンダリングし、前記3次元オブジェクトの画像を生成するステップと、
を実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate



【図2】
image rotate



【図3】
image rotate



【図4】
image rotate



【図5】
image rotate


【公開番号】特開2005−346165(P2005−346165A)
【公開日】平成17年12月15日(2005.12.15)
【国際特許分類】
【出願番号】特願2004−161787(P2004−161787)
【出願日】平成16年5月31日(2004.5.31)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】