JP4726336B2 - Image display device, image display method, information storage medium, and image display program - Google Patents

Image display device, image display method, information storage medium, and image display program Download PDF

Info

Publication number
JP4726336B2
JP4726336B2 JP2001194871A JP2001194871A JP4726336B2 JP 4726336 B2 JP4726336 B2 JP 4726336B2 JP 2001194871 A JP2001194871 A JP 2001194871A JP 2001194871 A JP2001194871 A JP 2001194871A JP 4726336 B2 JP4726336 B2 JP 4726336B2
Authority
JP
Japan
Prior art keywords
frame buffer
image
image information
circular frame
dimensional object
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 - Fee Related
Application number
JP2001194871A
Other languages
Japanese (ja)
Other versions
JP2002203257A (en
Inventor
威晴 小林
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.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001194871A priority Critical patent/JP4726336B2/en
Publication of JP2002203257A publication Critical patent/JP2002203257A/en
Application granted granted Critical
Publication of JP4726336B2 publication Critical patent/JP4726336B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、広角レンズを通して曲面スクリーンに画像を投影する画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラムに関する。
【0002】
【従来の技術】
従来から、非平面スクリーン上に画像を投影する画像表示装置が知られている。例えば、特開平9−81785号公報や特開平3−82493号公報には、非平面スクリーンに画像を投影するとともに、投影した画像の歪みを補正する各種の画像表示装置が開示されている。平面スクリーンに投影するために作成した画像を、そのまま非平面スクリーンに投影すると歪んだ画像が表示される。このため、上述した画像表示装置では、表示の際に歪むことを考慮して、歪んだ結果正常な表示内容となるようにあらかじめ反対方向に歪んだ画像を生成することにより、非平面スクリーン上の表示の歪みを補正している。
【0003】
【発明が解決しようとする課題】
ところで、上述した従来の画像表示装置では、非平面スクリーンに投影することにより凸形状に歪む場合には、あらかじめ凹形状に歪んだ画像を生成しておいて、結果的に非平面スクリーン上の歪みを補正している。ところが、三次元空間内に配置された三次元オブジェクトを非平面スクリーンに表示するような場合は、十分に歪みを補正することができないという問題があった。例えば、画像の投影位置と視点位置が異なる場合には、三次元オブジェクトの遠近の程度によって、生成画像に与える歪みの程度が異なるため、生成画像を単純に歪ませただけでは、投影後の画像の歪みを取り除くことはできない。特に、二次元画像の歪み補正と三次元画像の歪み補正とでは本質的に相違すると考えられるが、上述した公報に開示された画像表示装置では、単に二次元画像の歪み補正の手法について開示しているだけであり、これらの手法を用いただけでは三次元オブジェクトをスクリーン上に投影することによって得られる画像の歪みを充分に除去することができない。
【0004】
本発明は、このような点に鑑みて創作されたものであり、その目的は、曲面スクリーンに歪みの少ない画像を投影することができる画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラムを提供することにある。
【0005】
【課題を解決するための手段】
上述した課題を解決するために、本発明の画像表示装置は、仮想的な三次元空間に配置された三次元オブジェクトの画像を広角レンズを通して曲面スクリーンに投影するために、円形フレームバッファ、投影装置、座標計算手段、画像情報格納手段を備えている。円形フレームバッファは、曲面スクリーン上のそれぞれの位置に対応する画像情報を格納する。投影装置は、円形フレームバッファに格納された画像情報に対応する画像を広角レンズに向けて照射する。座標計算手段は、三次元オブジェクトの仮想的な三次元空間内の位置情報に基づいて円形フレームバッファの格納位置を計算する。画像情報格納手段は、座標計算手段によって計算された円形フレームバッファの格納位置に、対応する三次元オブジェクトの画像情報を格納する。三次元オブジェクトの仮想的な三次元空間内の位置情報に基づいて円形フレームバッファの格納位置、すなわち曲面スクリーン上の表示位置が計算されるため、曲面スクリーン上に表示された画像の歪みを取り除くことができる。
【0006】
特に、上述した広角レンズは魚眼レンズであることが望ましい。魚眼レンズを用いることにより、ほぼ180°の投影角度を実現することができるため、このようにして投影される画像を曲面スクリーンに表示することにより、歪みのない臨場感のある画像を投影することができる。
【0007】
また、上述した座標計算手段は、三次元オブジェクトを所定の視点位置から見た場合の曲面スクリーン上の位置に対応させて、円形フレームバッファの格納位置の計算を行うことが望ましい。三次元オブジェクトを視点位置から見た場合に実際に曲面スクリーン上のどの位置に対応するかが計算され、この位置に画像を投影するために必要な円形フレームバッファの格納位置が計算されるため、理論上歪みのない正確な画像を投影することができる。
【0008】
また、上述した座標計算手段は、三次元オブジェクトの仮想的な三次元空間内の位置情報と、視点位置および広角レンズの位置に対応する投影位置に基づいて円形フレームバッファの格納位置を計算する。三次元オブジェクトの立体的な形状や表示位置は、三次元オブジェクトの仮想的な三次元空間内の位置情報や視点位置、投影位置との相対的な関係によってその歪みの状態が決まる。このため、これらの位置情報に基づいて円形フレームバッファの格納位置を計算することにより、ほとんど歪みのない画像を投影することがで
【0009】
また、上述した視点位置と投影位置を異ならせている。実際に、投影位置から曲面スクリーン上の画像を見ることはできない。したがって、視点位置と投影位置が異なることを前提にして歪み補正を行うことにより、現実に即した条件で歪みのない画像を投影することができる。
【0010】
また、投影位置が曲面スクリーンの中心位置からずらして設定されている場合に、上述した画像情報格納手段は、投影位置と曲面スクリーン上に投影すべき位置との距離を考慮して、円形フレームバッファに格納する画像情報について明るさ補正を行うことが望ましい。投影位置が中心位置からずれていると、明るさが均一な画像を投影した場合であっても、投影された画像の明るさに偏りが生じる。したがって、距離を考慮して明るさ補正を行うことにより、明るさの偏りをなくしてほぼ均一な明るさの画像を得ることができる。
【0011】
また、所定の間隔毎に三次元オブジェクトの仮想的な三次元空間内の位置情報を計算するオブジェクト計算手段をさらに備えるとともに、円形フレームバッファに対する画像情報の格納処理をこの所定の間隔で繰り返すことが望ましい。三次元オブジェクトが動いたり、三次元オブジェクトが仮想的な三次元空間内を移動する場合に、所定の間隔で三次元オブジェクトの座標が計算され、その都度歪みのない画像が生成されるため、三次元オブジェクトを用いたゲームやプレゼンテーション等において歪みのない動画像を曲面スクリーンに投影することができる。
【0012】
また、上述した三次元オブジェクトが複数のポリゴンによって構成されている場合に、オブジェクト計算手段によって、これら複数のポリゴンのそれぞれの頂点座標について仮想的な三次元空間内の位置情報を計算することが望ましい。三次元オブジェクトを複数のポリゴンで表現した場合には、各頂点座標についてのみ円形フレームバッファの格納位置の計算を行うだけで投影画像の歪みをほぼなくすことができるため、歪み補正に関する処理の負担を大幅に低減することができる。
【0013】
また、本発明の画像表示方法は、三次元オブジェクトの仮想的な三次元空間内の位置情報をゲーム空間演算手段による演算により取得する第1のステップと、この取得した位置情報に基づいて、広角レンズを通して曲面スクリーン上に投影すべき位置に対応する画像情報を格納する円形フレームバッファの格納位置を座標計算手段によって計算する第2のステップと、円形フレームバッファの格納位置に三次元オブジェクトの画像情報を画像情報格納手段によって格納する第3のステップと、円形フレームバッファに格納された画像情報を読み出して広角レンズを通して曲面スクリーン上に投影装置によって投影する第4のステップとを有している。また、本発明の情報記憶媒体は、これら第1のステップ〜第4のステップを実行するプログラムを含んでいる。また、本発明の画像表示プログラムは、仮想的な三次元空間に配置された三次元オブジェクトの画像を広角レンズを通して曲面スクリーンに投影するために、コンピュータにこれら第1のステップ〜第4のステップを実行させるためのものである。
【0014】
本発明の画像表示方法を実施することにより、あるいは本発明の情報記憶媒体に格納されたプログラムや本発明の画像表示プログラムを実行することにより、三次元オブジェクトの仮想的な三次元空間内の位置情報に基づいて円形フレームバッファの格納位置が計算されるため、この円形フレームバッファを用いて投影される曲面スクリーン上の画像の歪みを取り除くことができる。
【0015】
また、上述した第2のステップの処理において、三次元オブジェクトを所定の視点位置から見た場合の曲面スクリーン上の位置に対応させて、円形フレームバッファの格納位置の計算を行うことが望ましい。三次元オブジェクトを視点位置から見た場合に実際に曲面スクリーン上のどの位置に対応するかが計算され、この位置に画像を投影するために必要な円形フレームバッファの格納位置が計算されるため、理論上歪みのない正確な画像を投影することができる。
【0016】
また、上述した第2のステップにおいて、三次元オブジェクトの仮想的な三次元空間内の位置情報と、視点位置および広角レンズの位置に対応する投影位置に基づいて格納位置を計算する。三次元オブジェクトの立体的な形状や表示位置は、三次元オブジェクトの仮想的な三次元空間内の位置情報や視点位置、投影位置との相対的な関係によってその歪みの状態が決まる。このため、これらの位置情報に基づいて円形フレームバッファの格納位置を計算することにより、ほとんど歪みのない画像を投影することができる。
【0017】
また、投影位置が曲面スクリーンの中心位置からずらして設定される場合に、投影位置と曲面スクリーン上に投影すべき位置との距離を考慮して、円形フレームバッファに格納する画像情報について明るさ補正を画像情報格納手段によって行う第5のステップを有することが望ましい。距離を考慮して明るさ補正を行うことにより、明るさの偏りをなくしてほぼ均一な明るさの画像を得ることができる。
【0018】
【発明の実施の形態】
以下、本発明を適用した一実施形態のゲームシステムについて、図面を参照しながら説明する。
図1は、本実施形態のゲームシステムの構成を示す図である。同図に示すゲームシステムは、ゲーム装置1、プロジェクタ2、レンズ3、球面スクリーン4を含んで構成されている。
【0019】
ゲーム装置1は、プレーヤによる操作に対応して各種のゲーム演算を行うとともに、ゲーム進行に応じたゲーム画像を表示するための画像情報を生成する。プロジェクタ2は、ゲーム装置1によって生成された画像情報に基づいて、球面スクリーン4にゲーム画像を照射する。レンズ3は、プロジェクタ2から照射されたゲーム画像を球面スクリーン4に投影する。本実施形態では、このレンズ3として広角レンズ、さらに具体的には投影角がほぼ180°の魚眼レンズが用いられている。球面スクリーン4は、曲面スクリーンの一種であり、半球状の投影面を有しており、プロジェクタ2から照射されてレンズ3を通したゲーム画像が内側に投影される。
【0020】
次に、ゲーム装置1の詳細構成について説明する。図1に示すゲーム装置1は、入力装置10、ゲーム演算部20、情報記憶媒体30、画像処理部40、円形フレームバッファ50を含んで構成されている。
入力装置10は、プレーヤがゲーム装置1に対して各種の指示を入力するためのものであり、ゲーム装置1において行われるゲームの種類に応じた各種操作キー、操作レバー等を含んで構成されている。例えば、ドライブゲームを行うために設けられた入力装置10には、ハンドル、アクセル、ブレーキ、変速レバー等が備わっている。
【0021】
ゲーム演算部20は、ゲームの進行に必要な所定のゲーム演算を行うものである。このゲーム演算部20は、入力判定部22、イベント処理部24、ゲーム空間演算部26を含んで構成されている。このゲーム演算部20は、CPUやROM、RAM等の半導体メモリを用いて所定のゲームプログラムを実行することにより実現される。
【0022】
入力判定部22は、入力装置10に備わったハンドル、アクセル、ブレーキ等の操作状態を判定し、操作状態に応じた信号をイベント処理部24に出力する。イベント処理部24は、各種イベントの発生や、ゲームの進行状況に対応した分岐判断等、ゲーム進行に必要な処理を行う。ゲーム空間演算部26は、仮想的な三次元空間であるゲーム空間内に存在する各種の三次元オブジェクトの位置情報の計算を行う。本実施形態における三次元オブジェクトのそれぞれは複数のポリゴンによって構成されており、ゲーム空間演算部26は、三次元オブジェクトを構成する各ポリゴンの頂点座標を計算する。
【0023】
情報記憶媒体30は、コンピュータとしての機能を有するゲーム装置1を動作させるためのプログラムやデータを格納するためのものである。具体的には、情報記憶媒体30は、ゲーム演算部20によって実行されるゲームプログラムやゲーム画像の表示に必要なデータ(テクスチャマッピング用のテクスチャデータ等)や画像表示プログラムを格納する。この情報記憶媒体30は、CD−ROM、DVD−ROM、ハードディスク装置、半導体メモリ等によって実現される。
【0024】
画像処理部40は、ゲーム演算部20内のゲーム空間演算部26によって計算された各ポリゴンの頂点座標が入力されており、球面スクリーン4上に画像を表示するために、円形フレームバッファ50に画像情報を格納する処理を行う。この画像処理部40は、座標変換処理部42、テクスチャマッピング処理部44、シェーディング処理部46を含んで構成されている。なお、通常は、この画像処理部40は、専用のグラフィック用LSIやDSP等を用いて実現されるが、ゲーム演算部20を実現するCPUの性能が高い場合であって処理能力に余裕がある場合には、このCPUに画像処理部40の処理を行わせてもよい。
【0025】
座標変換処理部42は、三次元オブジェクトを視点位置から見た場合に実際に球面スクリーン4上のどの位置に三次元オブジェクトが対応するかを計算し、この球面スクリーン4上に画像を投影するために必要な円形フレームバッファ50上の格納位置を計算する。実際には、上述したように三次元オブジェクトが複数のポリゴンによって構成され、ゲーム空間演算部26によって各ポリゴンの頂点座標が計算されるため、座標変換処理部42は、各ポリゴンの頂点座標に基づいて、対応する球面スクリーン4上の座標を計算し、さらにこの計算結果を用いて円形フレームバッファ50上の格納位置を計算する。座標変換処理部42において行われる座標変換処理の詳細内容については後述する。
【0026】
テクスチャマッピング処理部44は、各ポリゴンの頂点座標に対応する円形フレームバッファ50上の格納位置が計算された後に、各ポリゴンにテクスチャデータを貼り付ける処理(テクスチャマッピング処理)を行う。また、シェーディング処理部46は、テクスチャマッピング処理の結果に対してシェーディング補正処理を行う。このようにして各ポリゴンを構成する複数個(例えば3個)の頂点座標によって囲まれた領域(円形フレームバッファ50上の対応領域)に含まれる各画素の画像情報が得られる。例えば、画像情報として、RGBデータによって表された色情報が用いられている。
【0027】
円形フレームバッファ50は、画像処理部40によって得られた画像情報を格納する。円形フレームバッファ50の各格納位置は、球面スクリーン4上に投影すべきそれぞれの位置に対応しており、円形フレームバッファ50の所定位置に画像情報を格納することにより、この画像情報によって特定される色の画像が球面スクリーン4上の対応位置に投影される。
【0028】
上述したプロジェクタ2が投影装置に、座標変換処理部42が座標計算手段に、テクスチャマッピング処理部44、シェーディング処理部46が画像情報格納手段に、ゲーム空間演算部26がオブジェクト計算手段にそれぞれ対応している。
【0029】
本実施形態のゲームシステムはこのような構成を有しており、次にその動作について説明する。
図2は、本実施形態のゲームシステムの動作手順の概要を示す流れ図であり、ゲーム全体の流れが示されている。なお、図2に示す一連の処理は、所定の表示間隔に対応した周期(例えば、1/60秒)で繰り返して行われる。
【0030】
入力装置10が操作されてプレーヤによってゲームの開始指示がなされると、ゲーム演算部20は、情報記憶媒体30から読み出したゲームプログラムに基づいて所定のゲーム演算を開始する。具体的には、ゲーム演算部20内の入力判定部22は、入力装置10から出力される信号に基づいて、プレーヤによって行われた操作の内容に応じた信号を出力する所定の入力判定処理を行う(ステップ100)。
【0031】
次に、イベント処理部24は、入力判定部22から出力される信号に対応して、ゲーム進行に必要な各種のイベントを発生する処理(イベント発生処理)を行う(ステップ101)。また、ゲーム空間演算部26は、イベント処理部24によって行われるイベント発生処理に対応して、ゲーム空間内に存在する各種の三次元オブジェクトの座標計算を行う(ステップ102)。
【0032】
このようにしてゲーム空間演算部26によって各三次元オブジェクトの座標計算が行われて三次元オブジェクトの位置情報が取得されると、画像処理部40内の座標変換処理部42は、各三次元オブジェクトの座標、具体的には、三次元オブジェクトを構成するポリゴンの頂点座標を円形フレームバッファ50上の座標に変換する所定の座標変換処理を行う(ステップ103)。
【0033】
また、画像処理部40は、テクスチャマッピング処理部44およびシェーディング処理部46によって、円形フレームバッファ50に格納する画像情報(色情報)を求め、この画像情報を円形フレームバッファ50の対応位置に書き込む(ステップ104)。
【0034】
円形フレームバッファ50に対して書き込まれた画像情報が所定の走査順に読み出されてプロジェクタ2に送出される。プロジェクタ2は、この画像情報に基づいて画像を形成し、レンズ3を通して球面スクリーン4に投影する(ステップ105)。
【0035】
このようにして所定の繰り返し周期で新しい内容のゲーム画像が生成されて球面スクリーン4上に投影される。なお、上述した動作説明では、表示間隔に対応した周期で図2に示した一連の処理を行って描画処理を行うようにしたが、必ずしも表示間隔と描画処理の繰り返し間隔は一致させなくてもよい。また、それ以外にも、描画処理が表示タイミングに間に合えば毎回の表示タイミングに同期して描画処理を行い、間に合わなければ同じ内容の画面表示を行うようにした場合には、表示タイミングと描画タイミングが一致しないこともある。
【0036】
次に、上述したステップ103における座標変換処理の詳細内容について説明する。
図3は、円形フレームバッファ50の描画範囲を示す図である。本実施形態のプロジェクタ2は、画像の投影範囲が横長(例えば縦横比が3:4)の長方形を有しており、その中の一部の領域が球面スクリーン4に投影する画像に対応した描画領域として使用される。なお、この図は後述する図4の投影面Sをz軸の正の方向(図4では上側)から原点に向かって見た場合に対応している。
【0037】
図3において、矩形領域200がプロジェクタ2の投影範囲に対応している。また、円形領域210がレンズ3を通して球面スクリーン4に実際に投影される範囲に対応している。したがって、本実施形態では、円形フレームバッファ50の座標の中で円形領域210の内部に含まれる範囲についてのみ画像情報の書き込みが行われる。
【0038】
図3に示すように、水平方向にX軸、垂直方向にY軸をとる。円形領域210の中心(円心)を原点O、円形領域210の半径をRとする。円形フレームバッファ50内の任意の点F(X,Y)に格納された画像情報は、球面スクリーン4上における点Pdに投影される。
【0039】
(a)視点位置、投影位置をともに球面スクリーン4の球心位置に設定する場合
図4は、座標変換処理の概要を示す図である。同図に示すように、球面スクリーン4に対応する半球状の投影面をSとし、この投影面Sの球心を原点oに設定する。また、この原点oから投影面Sの面心に向かってz軸を定義し、このz軸に垂直にx軸とy軸を定義する。さらに、この例では、プレーヤの視点位置Peと投影位置(レンズ3の位置)Prが原点oに一致しているものとする。
【0040】
三次元空間であるゲーム空間内の任意の点Pp(xp,yp,zp)を円形フレームバッファ50上の点F(X,Y)へ写像することを考える。図4において、ゲーム空間内の点Pp(xp,yp,zp)を原点oから見たときに、この点Pp と原点oとを結ぶ直線と投影面Sとの交点をPd(xd,yd,zd)とする。投影面Sに対応する半球の半径をrとすると、xd、yd、zdは、それぞれ以下の式により表される。
【0041】
【数1】

Figure 0004726336
【0042】
また、図4において、原点oと点Pdを結ぶ直線とz軸とのなす角度をθとすると、この角度θは、次式により表される。
【0043】
【数2】
Figure 0004726336
【0044】
本実施形態で使用したレンズ3は、図3に示す点F(X,Y)を投影面Sに投影する場合に、原点Oから点Fまでの距離Lが、図4に示す角度θに比例する特性を有している。したがって、θ=0の時にL=0、θ=π/2の時にL=Rになり、その間の任意の角度θに対応する距離Lは次式で表すことができる。
【0045】
L=θ/(π/2)×R
また、図3において、円形フレームバッファ50上の原点Oと点F(X,Y)とを結ぶ直線とX軸とのなす角度をΦとする。図4において、点Pd(xd,yd,zd) のxy平面への写像点Pd′(xd,yd,0) と原点oを結ぶ直線とx軸とのなす角度をφとする。この角度Φと角度φは等しい。ここで、cosφ、sinφは、以下の式で表すことができる。
【0046】
【数3】
Figure 0004726336
【0047】
点F(X,Y)は、投影面S上の点Pd(xd,yd,zd)の各軸の座標値を用いて次式のように表すことができる。
【0048】
【数4】
Figure 0004726336
【0049】
したがって、ゲーム空間内に配置された三次元オブジェクトを構成する各ポリゴンの頂点Pp(xp,yp,zp)がわかっているときに、対応する円形フレームバッファ50上の格納位置を計算するために、座標変換処理部42は、まず、頂点Pp(xp,yp,zp)の座標値を上述した(1)〜(3)式に代入することにより、投影面S上の点Pd(xd,yd,zd)の座標を計算する。その後、座標変換処理部42は、この計算によって得られた点Pd(xd,yd,zd)の座標値を上述した(4)式および(5)式に代入して、円形フレームバッファ50上の点F(X,Y)を計算する。
【0050】
このようにして三次元オブジェクトの各ポリゴンの頂点に対応する円形フレームバッファ50上に格納位置が計算される。特に、このようにして行われる座標変換処理は、三次元オブジェクトのゲーム空間内における位置や視点位置および投影位置を用いて正確に行われているため、視点位置から見たときに理論上歪みのない正確なゲーム画像を球面スクリーン4上に投影することができる。
【0051】
(b)投影位置のみを球面スクリーン4の球心からずらした場合
ところで、上述した説明では、視点位置Peと投影位置Prを球面スクリーン4の球心に一致させた場合を考えたが、実際には、このような位置関係を実現することは難しい。実用的な幾何学的配置を考えた場合に、球面スクリーン4を用いることによる臨場感の高いゲーム画像をプレーヤに見せようとすると、プレーヤの視点位置を球面スクリーン4の球心近傍に設定することが望ましい。したがって、この場合には投影位置Prを球面スクリーン4の球心からずらして設定する必要がある。
【0052】
図5は、投影位置を球面スクリーン4の球心位置からずらした場合の座標変換処理の概要を示す図である。同図に示す座標軸は、上述した図4に示したものと同じである。投影位置Pr(xr,yr,zr)は、球面スクリーン4の球心以外の所定位置(例えば、プレーヤの頭上等)に設定されている。また、円形フレームバッファ50については、その原点が投影位置Prに対応付けられるため、上述した(a)の場合における座標軸の表示(図3参照)と区別するために、原点をO′とし、水平方向に沿った軸をX′軸、垂直方向に沿った軸をY′軸と表すことにする。
【0053】
上述した(a)で説明したように、球面スクリーン4の球心に対応する原点oの位置に視点位置Peを一致させた場合には、ゲーム空間内の点Pp(xp,yp,zp)は、投影面S上における点Pd(xd,yd,zd)として見えることになる。すなわち、任意の投影位置Prから球面スクリーン4上の点Pd(xd,yd,zd)に投影してやれば、その点は、視点位置Peからはゲーム空間内の点Pp(xp,yp,zp)として認識されることになる。
【0054】
したがって、任意の投影位置Prに対応して、上述した(a)に示した手順と同様な座標変換処理を点Pd に対して行えば、投影位置Prから点Pd に投影する場合に必要な円形フレームバッファ50上の点F′(X′,Y′)を求めることができる。ただし、投影位置Prを原点oからずらした場合のx′軸、y′軸、z′軸は、元のx軸、y軸、z軸を平行移動したものであり、軸回りの回転はないものとする。また、xr 2+yr 2+zr 2<r2 を満たす範囲(原点oから半径r以下)で投影位置Prが設定されているものとする。
【0055】
図5において、投影位置Prと点Pd を結ぶ直線とz′軸とのなす角度をθ′とすると、角度θ′は、次式により表される。
【0056】
【数5】
Figure 0004726336
【0057】
また、円形フレームバッファ50上の原点O′と点F′(X′,Y′)を結ぶ直線とX′軸とのなす角度をΦ′とし、図5において、点Pd(xd,yd,zd)のx′y′平面への写像点Pd″(xd−xr,yd−yr,0) と点Prを結ぶ直線とx′軸とのなす角度をφ′とすると、これらの角度Φ′およびφ′は等しくなる。ここで、cosφ′、sinφ′は、以下の式で表すことができる。
【0058】
【数6】
Figure 0004726336
【0059】
また、投影面S上の点Pd(xd,yd,zd)の座標値は、上述した(1)〜(3)式に基づいて求められる。
点F′(X′,Y′)は、投影面S上の点Pd(xd,yd,zd )および投影位置Pr(xr ,yr ,zr )の各座標値を用いて次式のように表すことができる。
【0060】
【数7】
Figure 0004726336
【0061】
したがって、ゲーム空間内に配置された三次元オブジェクトを構成する各ポリゴンの頂点Pp(xp,yp,zp)がわかっているときに、対応する円形フレームバッファ50上の格納位置を計算するために、座標変換処理部42は、まず、頂点Pp(xp,yp,zp)の座標値を上述した(1)〜(3)式に代入することにより、投影面S上の点Pd(xd,yd,zd)の座標を計算する。その後、座標変換処理部42は、この計算によって得られた点Pd(xd,yd,zd)の座標値を上述した(7)式および(8)式に代入して、円形フレームバッファ50上の点F′(X′,Y′)の座標を計算する。
【0062】
このようにして三次元オブジェクトの各ポリゴンの頂点に対応する円形フレームバッファ50上の格納位置が計算される。特に、このようにして行われる座標変換処理は、三次元オブジェクトのゲーム空間内における位置や視点位置および投影位置を用いて正確に行われているため、投影位置を任意の位置へ移動した場合においても、視点位置から見たときに理論上歪みのない正確なゲーム画像を球面スクリーン4上に投影することができる。
【0063】
なお、上述した図5では、説明の都合上、投影位置Prはzr≧0の領域に描かれていたが、実際には、レンズ3の投影角が180度であるため、球面スクリーン4の全体にゲーム画像を表示するために、投影位置Prは、zr≦0の範囲で設定することが望ましい。
【0064】
また、本実施形態のレンズ3として用いている魚眼レンズは、一般的には、焦点深度が深いため、フォーカスが合っている範囲が広いという特徴がある。このため、投影位置をずらした場合においても、球面スクリーン4に表示されるゲーム画像は、全体がほぼフォーカスが合っている状態になる。
【0065】
(c)視点位置、投影位置の両方を球面スクリーン4の球心からずらした場合
ところで、上述した(b)における説明では、投影位置Prが球面スクリーン4の球心位置からずれた位置に設定される場合について説明していたが、実際には、プレーヤの視点位置Peも、球面スクリーン4の球心位置からずらしたい場合がある。以下では、視点位置および投影位置の両方を球面スクリーン4の球心位置からずらして設定した場合について説明する。
【0066】
図6は、視点位置および投影位置を球面スクリーン4の球心位置からずらした場合の座標変換処理の概要を示す図である。同図に示す座標軸は、上述した図4等に示したものと同じである。視点位置Pe、投影位置Prの両者が球面スクリーン4の球心以外の所定位置に設定されている。また、円形フレームバッファ50については、その原点が投影位置Prに対応付けられるため、上述した(a)の場合における座標軸の表示(図3参照)と区別するために、上述した(b)の場合と同様に、原点をO′とし、水平方向に沿った軸をX′軸、垂直方向に沿った軸をY′軸と表すことにする。
【0067】
図6において、ゲーム空間内の点Pp(xp,yp,zp)と視点位置Pe(xe,ye,ze)を結ぶ直線は、以下の式で表される。
【0068】
【数8】
Figure 0004726336
【0069】
また、投影面Sに対応する半球は、以下に示す球の方程式で表される(ただし、z≧0)。
2 +y2 +z2 =r2 …(10)
視点位置Peからゲーム空間内の点Pp(xp,yp,zp)を見たときに、この点Pp に対応する投影面S上の点Pd(xd,yd,zd)の座標は、上述した(9)式に示す直線と(10)式に示す半球との交点の座標を計算することにより求めることができる。
【0070】
具体的には、(9)式を変形することにより、以下の各式が導かれる。
【0071】
【数9】
Figure 0004726336
【0072】
(11)式および(12)式を(10)式に代入すると、次式が得られる。
Figure 0004726336
ここで、
a=(xp−xe)2+(yp−ye)2+(zp−ze)2
b=(yp−ye)×(xe×yp−ye×xp)+(zp−ze)×(xe×zp−ze×xp)
c=(xe×yp−ye×xp)2+(xe×zp−ze×xp)2−r2×(xp−xe)2
とおくと、上述した(13)式の解は、次式のように表される。
【0073】
【数10】
Figure 0004726336
【0074】
したがって、ゲーム空間内の点Pp(xp,yp,zp)と視点位置Pe(xe,ye,ze)の各座標値を用いて(14)式を計算することにより、投影面S上の点Pdのx座標値(xd)が求められる。また、(14)式を上述した(11)式および(12)式に代入することにより、点Pdのy座標値(yd)、z座標値(zd)が求められる。
【0075】
実際に(14)式を用いてx座標値を計算すると、2つの解x1、x2が得られる。これらの2つの解のうち、一方の解x1を(11)式および(12)式にそれぞれ代入することにより、対応するy座標値(y1)およびz座標値(z1)が得られる。この結果、点Pdの座標値は(x1,y1,z1)となる。また、他方の解x2を(11)式および(12)式にそれぞれ代入することにより、対応するy座標値(y2)およびz座標値(z2)が得られる。この結果、点Pdの座標値は(x2,y2,z2)となる。これら2つの座標値のうちで、必要な解としては、点Peから各座標値(x1,y1,z1)および(x2,y2,z2)の点へ向かう2本のベクトルのうちで、視点位置Peから点Pp へ向かうベクトルと同じ向きを有するベクトルに対応する座標値が選択される。
【0076】
このようにして、点Pd(xd,yd,zd)の座標値を求めることができる。その後、この座標値を上述した(7)式および(8)式に代入することにより、投影位置Prから投影面S上の点Pdに画像を投影する際に必要な円形フレームバッファ50上の点F′(X′,Y′)の座標を求めることができる。
【0077】
したがって、ゲーム空間内に配置された三次元オブジェクトを構成する各ポリゴンの頂点Pp(xp,yp,zp)がわかっているときに、対応する円形フレームバッファ50上の格納位置を計算するために、座標変換処理部42は、まず、頂点Pp(xp,yp,zp)の座標値と視点位置Pe(xe,ye,ze)の座標値を用いて上述した(14)式等を計算することにより、投影面S上の点Pd(xd,yd,zd)の座標を計算する。その後、座標変換処理部42は、この計算によって得られた点Pd(xd,yd,zd)の座標値を上述した(7)式および(8)式に代入して、円形フレームバッファ50上の点F′(X′,Y′)の座標を計算する。
【0078】
このようにして三次元オブジェクトの各ポリゴンの頂点に対応する円形フレームバッファ50上の格納位置が計算される。特に、このようにして行われる座標変換処理は、三次元オブジェクトのゲーム空間内における位置や視点位置および投影位置を用いて正確に行われているため、視点位置や投影位置を任意の位置へ移動した場合においても、視点位置から見たときに理論上歪みのない正確なゲーム画像を球面スクリーン4上に投影することができる。
【0079】
なお、上述した図6においても、説明の都合上、投影位置Prはzr≧0の領域に描かれていたが、上述した(b)の場合と同様の理由により、実際の投影位置Prは、zr≦0の範囲で設定することが望ましい。
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、(a)視点位置、投影位置の両者を球面スクリーン4の球心位置に一致させる場合、(b)投影位置のみをずらして設定する場合、(c)視点位置、投影位置の両者をずらして設定する場合のそれぞれについて、座標変換処理の方法を説明したが、これらを応用することにより、視点位置のみを球面スクリーン4の球心からずらして設定した場合においても、歪みの少ないゲーム画像を表示するための画像情報を生成することができる。
【0080】
具体的には、上述した(c)に示した視点位置、投影位置の両者をずらして設定する場合において説明したように、ゲーム空間内に配置された各三次元オブジェクトを構成する各ポリゴンの頂点座標を点Pp(xp,yp,zp)として、これらの座標値と視点位置Pe(xe,ye,ze)の座標値を用いて、上述した(14)式等を計算することにより、投影面S上の点Pd(xd,yd,zd)の座標値を求める。その後、これらの座標値に基づいて、上述した(4)式および(5)式を計算することにより、円形フレームバッファ50上の格納位置を求めればよい。
【0081】
また、投影位置Prを球面スクリーン4の球心位置からずらして設定する場合(上述した(b)および(c)の場合など)には、投影位置Prから球面スクリーン4上の位置Pdまでの距離を考慮して、円形フレームバッファ50に格納する画像情報に対して明るさ補正を行うようにしてもよい。
【0082】
図7は、明るさ補正を行う変形例について説明する図であり、球面スクリーン4の断面を簡略化した様子が示されている。投影位置Prが球面スクリーン4の球心位置Qからずれている場合には、投影位置Prから球面スクリーン4上の任意の位置までの距離は等距離ではなくなる。例えば、図7に示すように、投影位置Prから球面スクリーン4上のある点Pd1までの距離D1 と別の点Pd2までの距離D2 とは大きく異なることになる。投影位置Prから照射された光(ゲーム画像を構成する各画素に対応する光)の強度、すなわち明るさは、距離の2乗に反比例するため、球面スクリーン4上に表示されるゲーム画像の明るさには偏りが生じることとなる。
【0083】
したがって、例えば、投影位置Prから球面スクリーン4上の位置までの距離の2乗に反比例する所定の係数を設定し、これを円形フレームバッファ50に格納される画像情報に対して乗算すれば、画像情報の明るさの補正を行うことができる。これにより、ゲーム画像の明るさの偏りを軽減し、より質の高いゲーム画像を投影することができるようになる。
【0084】
また、より簡便な方法としては、例えば、投影位置Prから球面スクリーン4上の位置までの距離に反比例する所定の係数を設定し、これを円形フレームバッファ50に格納される画像情報に対して乗算するようにしてもよい。この場合には、ゲーム画像の明るさの偏りをある程度軽減することができるとともに、明るさ補正に要する計算量を低減することができる。また、投影角度も投影位置から球面スクリーン4上に投影すべき位置までの距離と所定の相関を有するため、距離の代わりに投影角度を用いて明るさ補正を行うようにしてもよい。なお、上述したような明るさ補正処理は、画像処理部40内のシェーディング処理部46によって行うことができる。
【0085】
また、上述した実施形態では、三次元オブジェクトを構成する各ポリゴンの頂点座標に対応する円形フレームバッファ50上の格納位置を計算する座標変換処理を説明したが、ポリゴンの頂点以外の任意の点について座標変換処理を行う場合に本発明を適用することができる。例えば、三次元空間内に所定形状のオブジェクトが配置されている場合に、このオブジェクトを構成する各画素の座標に対応して上述した座標変換処理を行って、対応する円形フレームバッファ50上の格納位置を計算するようにしてもよい。
【0086】
また、上述した実施形態では、三次元オブジェクトを複数のポリゴンで構成し、テクスチャマッピング処理等によって各ポリゴン内の画像情報を円形フレームバッファ50に書き込むようにしたが、ポリゴンに含まれる各頂点を結ぶ線分形状が歪むことを考慮して何らかの補正処理を行うことが望ましい。具体的には、ゲーム空間内に配置された三次元オブジェクトを構成する各ポリゴンが、直線からなる各辺によって囲まれた多角形(例えば三角形)形状を有しているものとすると、この多角形形状を円形フレームバッファ50上に射影するとそれぞれの辺が曲線に歪むことになる。したがって、これを無視してテクスチャマッピング処理を行うと、球面スクリーン4上に大きく投影されたポリゴンの形状の歪みが大きくなる。補正処理の具体例としては、(1)円形フレームバッファ50に射影された各頂点間を結ぶ曲線形状を円弧やその他の曲線によって近似する方法、(2)単一のポリゴンの投影面積が大きくなる場合に、円形フレームバッファ50上に射影する前のポリゴンを複数に分割し、小さくなった各分割ポリゴン毎に座標計算やテクスチャマッピング処理等を実施する方法、(3)ポリゴン内部の各画素の座標を全て座標変換処理部42によって求める方法、などが考えられる。これらの方法を採用することにより、三次元オブジェクトを複数のポリゴンで構成した場合に生じる投影画像の歪みを少なくすることができる。
【0087】
また、上述した実施形態では、曲面スクリーンの一種である球面スクリーンに画像を投影する場合を説明したが、ゲーム空間内に配置された三次元オブジェクトを視点位置から見たときに、曲面スクリーン上に投影すべき位置が計算によって得られる場合には、球面以外の曲面スクリーンに画像を表示する場合に本発明を適用することができる。例えば、楕円を回転させた回転体を半分に切断した投影面を有する曲面スクリーンに画像を投影するようにしてもよい。このような曲面スクリーンを用いた場合であっても、ゲーム空間内に配置された三次元オブジェクトの位置情報に基づいてこの曲面スクリーン上に投影すべき位置を算出し、さらに、この算出位置に画像を投影するために必要な円形フレームバッファ50上の格納位置を計算することにより、ほぼ歪みのない画像表示を行うことができる。
【0088】
また、上述した実施形態では、本発明をゲームシステムに適用した場合の例について説明してきたが、三次元オブジェクトを用いた三次元画像を曲面スクリーンに投影する各種の装置に本発明を適用することができる。例えば、三次元オブジェクトを用いてプレゼンテーションを行う装置や、フライトシミュレータ等の各種のシミュレータ装置などに本発明を適用することができる。
【0089】
【発明の効果】
上述したように、本発明によれば、三次元オブジェクトの仮想的な三次元空間内の位置情報に基づいて円形フレームバッファの格納位置、すなわち曲面スクリーン上の表示位置が計算されるため、曲面スクリーン上に表示された画像の歪みを取り除くことができる。
【図面の簡単な説明】
【図1】一実施形態のゲームシステムの構成を示す図である。
【図2】ゲームシステムの動作手順の概要を示す流れ図である。
【図3】円形フレームバッファの描画範囲を示す図である。
【図4】座標変換処理の概要を示す図である。
【図5】投影位置のみを球面スクリーンの球心からずらした場合の座標変換処理の概要を示す図である。
【図6】視点位置および投影位置を球面スクリーンの球心からずらした場合の座標変換処理の概要を示す図である。
【図7】明るさ補正を行う変形例について説明する図である。
【符号の説明】
1 ゲーム装置
2 プロジェクタ
3 レンズ
4 球面スクリーン
10 入力装置
20 ゲーム演算部
22 入力判定部
24 イベント処理部
26 ゲーム空間演算部
30 情報記憶媒体
40 画像処理部
42 座標変換処理部
44 テクスチャマッピング処理部
46 シェーディング処理部
50 円形フレームバッファ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image display device, an image display method, an information storage medium, and an image display program that project an image onto a curved screen through a wide-angle lens.
[0002]
[Prior art]
Conventionally, an image display apparatus that projects an image on a non-planar screen is known. For example, Japanese Patent Application Laid-Open Nos. 9-81785 and 3-82493 disclose various image display devices that project an image on a non-planar screen and correct distortion of the projected image. When an image created for projection on a flat screen is projected on a non-planar screen as it is, a distorted image is displayed. For this reason, in the above-described image display device, in consideration of distortion at the time of display, by generating an image distorted in the opposite direction in advance so as to obtain normal display contents as a result of distortion, Display distortion is corrected.
[0003]
[Problems to be solved by the invention]
By the way, in the conventional image display apparatus described above, when the image is distorted into a convex shape by projecting onto a non-planar screen, an image distorted into a concave shape is generated in advance, and as a result, the distortion on the non-planar screen is generated. Is corrected. However, when a three-dimensional object arranged in a three-dimensional space is displayed on a non-planar screen, there is a problem that distortion cannot be corrected sufficiently. For example, if the projected position of the image is different from the viewpoint position, the degree of distortion applied to the generated image differs depending on the perspective of the three-dimensional object. Therefore, simply distorting the generated image results in a projected image. The distortion cannot be removed. In particular, although it is considered that the distortion correction of the two-dimensional image and the distortion correction of the three-dimensional image are essentially different, the image display device disclosed in the above-mentioned publication simply discloses a technique for correcting the distortion of the two-dimensional image. However, the distortion of the image obtained by projecting the three-dimensional object on the screen cannot be sufficiently removed only by using these methods.
[0004]
The present invention has been created in view of the above points, and an object of the present invention is to provide an image display device, an image display method, an information storage medium, and an image display program capable of projecting an image with little distortion on a curved screen. Is to provide.
[0005]
[Means for Solving the Problems]
In order to solve the above-described problems, an image display device according to the present invention includes a circular frame buffer and a projection device for projecting an image of a three-dimensional object arranged in a virtual three-dimensional space onto a curved screen through a wide-angle lens. , Coordinate calculation means, and image information storage means. The circular frame buffer stores image information corresponding to each position on the curved screen. The projector irradiates an image corresponding to the image information stored in the circular frame buffer toward the wide-angle lens. The coordinate calculation means calculates the storage position of the circular frame buffer based on the position information of the three-dimensional object in the virtual three-dimensional space. The image information storage means stores the image information of the corresponding three-dimensional object at the storage position of the circular frame buffer calculated by the coordinate calculation means. Since the storage position of the circular frame buffer, that is, the display position on the curved screen is calculated based on the position information of the three-dimensional object in the virtual three-dimensional space, the distortion of the image displayed on the curved screen is removed. Can do.
[0006]
In particular, the above-described wide-angle lens is desirably a fish-eye lens. By using a fisheye lens, a projection angle of approximately 180 ° can be realized. Therefore, by displaying an image projected in this way on a curved screen, it is possible to project a realistic image without distortion. it can.
[0007]
The coordinate calculation means described above preferably calculates the storage position of the circular frame buffer in correspondence with the position on the curved screen when the three-dimensional object is viewed from a predetermined viewpoint position. When viewing a 3D object from the viewpoint position, it is calculated which position on the curved screen actually corresponds, and the storage position of the circular frame buffer necessary to project the image at this position is calculated. It is possible to project an accurate image that is theoretically free from distortion.
[0008]
  In addition, the coordinate calculation means described above includes the position information of the three-dimensional object in the virtual three-dimensional space, the projection position corresponding to the viewpoint position and the position of the wide-angle lens.WhenBased on the circular frame buffer storage locationcalculate.The three-dimensional shape and the display position of the three-dimensional object are determined by the relative state of the three-dimensional object in the virtual three-dimensional space with positional information, the viewpoint position, and the projection position. Therefore, it is possible to project an image with almost no distortion by calculating the storage position of the circular frame buffer based on the position information.
[0009]
  Also, the viewpoint position and projection position described aboveIt is different.Actually, the image on the curved screen cannot be seen from the projection position. Therefore, by performing distortion correction on the assumption that the viewpoint position and the projection position are different, it is possible to project an image without distortion under conditions that are realistic.
[0010]
Further, when the projection position is set so as to be shifted from the center position of the curved screen, the above-described image information storage means considers the distance between the projection position and the position to be projected on the curved screen, and the circular frame buffer. It is desirable to perform brightness correction on the image information stored in. If the projection position is deviated from the center position, even if an image with uniform brightness is projected, the brightness of the projected image is biased. Therefore, by performing the brightness correction in consideration of the distance, it is possible to obtain an image with almost uniform brightness without the brightness bias.
[0011]
Further, the image processing apparatus further includes an object calculating unit that calculates position information of the three-dimensional object in the virtual three-dimensional space at predetermined intervals, and the image information storing process in the circular frame buffer may be repeated at the predetermined intervals. desirable. When a 3D object moves or moves in a virtual 3D space, the coordinates of the 3D object are calculated at predetermined intervals, and an image without distortion is generated each time. In a game or presentation using the original object, a moving image without distortion can be projected onto a curved screen.
[0012]
In addition, when the above-described three-dimensional object is composed of a plurality of polygons, it is desirable to calculate position information in the virtual three-dimensional space for each vertex coordinate of the plurality of polygons by the object calculation means. . When a 3D object is represented by multiple polygons, the distortion of the projected image can be almost eliminated simply by calculating the storage position of the circular frame buffer only for each vertex coordinate. It can be greatly reduced.
[0013]
  In addition, the image display method of the present invention uses the positional information of a three-dimensional object in a virtual three-dimensional space.By calculation by game space calculation meansBased on the acquired first step and the acquired position information, the storage position of the circular frame buffer for storing image information corresponding to the position to be projected onto the curved screen through the wide-angle lens is determined.By coordinate calculation meansThe second step of calculating and the image information of the 3D object at the storage position of the circular frame bufferBy image information storage meansA third step of storing and reading out the image information stored in the circular frame buffer on the curved screen through the wide angle lensBy projection deviceAnd a fourth step of projecting. The information storage medium of the present invention includes a program for executing these first step to fourth step. In addition, the image display program of the present invention performs these first to fourth steps on a computer in order to project an image of a three-dimensional object arranged in a virtual three-dimensional space onto a curved screen through a wide-angle lens. It is for execution.
[0014]
By executing the image display method of the present invention, or by executing the program stored in the information storage medium of the present invention or the image display program of the present invention, the position of the three-dimensional object in the virtual three-dimensional space Since the storage position of the circular frame buffer is calculated based on the information, distortion of the image on the curved screen projected using the circular frame buffer can be removed.
[0015]
In the processing of the second step described above, it is desirable to calculate the storage position of the circular frame buffer in correspondence with the position on the curved screen when the three-dimensional object is viewed from a predetermined viewpoint position. When viewing a 3D object from the viewpoint position, it is calculated which position on the curved screen actually corresponds, and the storage position of the circular frame buffer necessary to project the image at this position is calculated. It is possible to project an accurate image that is theoretically free from distortion.
[0016]
  In the second step described above, the position information of the three-dimensional object in the virtual three-dimensional space, and the projection position corresponding to the viewpoint position and the position of the wide-angle lensWhenStorage position based oncalculate.The three-dimensional shape and the display position of the three-dimensional object are determined by the relative state of the three-dimensional object in the virtual three-dimensional space with positional information, the viewpoint position, and the projection position. Therefore, an image with almost no distortion can be projected by calculating the storage position of the circular frame buffer based on the position information.
[0017]
  In addition, when the projection position is set to be shifted from the center position of the curved screen, the brightness correction is performed on the image information stored in the circular frame buffer in consideration of the distance between the projection position and the position to be projected on the curved screen. TheBy image information storage meansIt is desirable to have a fifth step to perform. By performing the brightness correction in consideration of the distance, it is possible to obtain an image with almost uniform brightness by eliminating the unevenness of brightness.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a game system according to an embodiment to which the present invention is applied will be described with reference to the drawings.
FIG. 1 is a diagram showing a configuration of the game system of the present embodiment. The game system shown in the figure includes a game apparatus 1, a projector 2, a lens 3, and a spherical screen 4.
[0019]
The game apparatus 1 performs various game calculations in response to operations by the player and generates image information for displaying a game image corresponding to the progress of the game. The projector 2 irradiates the spherical screen 4 with a game image based on the image information generated by the game apparatus 1. The lens 3 projects the game image emitted from the projector 2 onto the spherical screen 4. In this embodiment, a wide-angle lens, more specifically, a fish-eye lens with a projection angle of approximately 180 ° is used as the lens 3. The spherical screen 4 is a kind of curved screen and has a hemispherical projection surface, and a game image irradiated from the projector 2 and passed through the lens 3 is projected inside.
[0020]
Next, a detailed configuration of the game apparatus 1 will be described. The game device 1 shown in FIG. 1 includes an input device 10, a game calculation unit 20, an information storage medium 30, an image processing unit 40, and a circular frame buffer 50.
The input device 10 is for a player to input various instructions to the game apparatus 1 and includes various operation keys, operation levers, and the like corresponding to the type of game performed in the game apparatus 1. Yes. For example, the input device 10 provided for playing a drive game includes a handle, an accelerator, a brake, a shift lever, and the like.
[0021]
The game calculation unit 20 performs predetermined game calculations necessary for the progress of the game. The game calculation unit 20 includes an input determination unit 22, an event processing unit 24, and a game space calculation unit 26. The game calculation unit 20 is realized by executing a predetermined game program using a semiconductor memory such as a CPU, ROM, or RAM.
[0022]
The input determination unit 22 determines an operation state of a handle, an accelerator, a brake, or the like provided in the input device 10 and outputs a signal corresponding to the operation state to the event processing unit 24. The event processing unit 24 performs processes necessary for the progress of the game, such as occurrence of various events and branch determination corresponding to the progress of the game. The game space calculation unit 26 calculates position information of various three-dimensional objects existing in the game space that is a virtual three-dimensional space. Each of the three-dimensional objects in this embodiment is composed of a plurality of polygons, and the game space calculation unit 26 calculates the vertex coordinates of each polygon constituting the three-dimensional object.
[0023]
The information storage medium 30 is for storing a program and data for operating the game apparatus 1 having a function as a computer. Specifically, the information storage medium 30 stores a game program executed by the game calculation unit 20, data necessary for displaying a game image (texture data for texture mapping, etc.), and an image display program. The information storage medium 30 is realized by a CD-ROM, DVD-ROM, hard disk device, semiconductor memory, or the like.
[0024]
The image processing unit 40 receives the vertex coordinates of each polygon calculated by the game space calculation unit 26 in the game calculation unit 20, and displays an image on the circular frame buffer 50 in order to display an image on the spherical screen 4. Process to store information. The image processing unit 40 includes a coordinate conversion processing unit 42, a texture mapping processing unit 44, and a shading processing unit 46. Normally, the image processing unit 40 is realized by using a dedicated graphic LSI, DSP, or the like. However, the CPU that realizes the game calculation unit 20 has high performance and has a sufficient processing capacity. In this case, the CPU may cause the image processing unit 40 to perform processing.
[0025]
The coordinate conversion processing unit 42 calculates which position on the spherical screen 4 the three-dimensional object actually corresponds to when viewing the three-dimensional object from the viewpoint position, and projects an image on the spherical screen 4. The storage position on the circular frame buffer 50 necessary for the calculation is calculated. Actually, as described above, the three-dimensional object is composed of a plurality of polygons, and the vertex coordinates of each polygon are calculated by the game space calculation unit 26. Therefore, the coordinate conversion processing unit 42 is based on the vertex coordinates of each polygon. Then, the coordinates on the corresponding spherical screen 4 are calculated, and the storage position on the circular frame buffer 50 is calculated using the calculation result. Detailed contents of the coordinate conversion processing performed in the coordinate conversion processing unit 42 will be described later.
[0026]
The texture mapping processing unit 44 performs processing (texture mapping processing) for pasting texture data to each polygon after the storage position on the circular frame buffer 50 corresponding to the vertex coordinates of each polygon is calculated. Further, the shading processing unit 46 performs a shading correction process on the result of the texture mapping process. In this way, image information of each pixel included in a region (corresponding region on the circular frame buffer 50) surrounded by a plurality of (for example, three) vertex coordinates constituting each polygon is obtained. For example, color information represented by RGB data is used as image information.
[0027]
The circular frame buffer 50 stores the image information obtained by the image processing unit 40. Each storage position of the circular frame buffer 50 corresponds to each position to be projected on the spherical screen 4, and is specified by this image information by storing the image information at a predetermined position of the circular frame buffer 50. A color image is projected onto a corresponding position on the spherical screen 4.
[0028]
The projector 2 described above corresponds to the projection device, the coordinate conversion processing unit 42 corresponds to the coordinate calculation unit, the texture mapping processing unit 44 and the shading processing unit 46 correspond to the image information storage unit, and the game space calculation unit 26 corresponds to the object calculation unit. ing.
[0029]
The game system of the present embodiment has such a configuration, and the operation thereof will be described next.
FIG. 2 is a flowchart showing an outline of the operation procedure of the game system of the present embodiment, and shows the flow of the entire game. Note that the series of processing shown in FIG. 2 is repeatedly performed at a period (for example, 1/60 second) corresponding to a predetermined display interval.
[0030]
When the input device 10 is operated and a game start instruction is given by the player, the game calculation unit 20 starts a predetermined game calculation based on the game program read from the information storage medium 30. Specifically, the input determination unit 22 in the game calculation unit 20 performs a predetermined input determination process for outputting a signal corresponding to the content of the operation performed by the player based on the signal output from the input device 10. Perform (step 100).
[0031]
Next, in response to the signal output from the input determination unit 22, the event processing unit 24 performs processing (event generation processing) for generating various events necessary for the game progress (step 101). In addition, the game space calculation unit 26 performs coordinate calculation of various three-dimensional objects existing in the game space in response to the event generation process performed by the event processing unit 24 (step 102).
[0032]
When the coordinate calculation of each three-dimensional object is performed by the game space calculation unit 26 in this way and the position information of the three-dimensional object is acquired, the coordinate conversion processing unit 42 in the image processing unit 40 reads each three-dimensional object. A predetermined coordinate conversion process for converting the coordinates of the polygons, specifically, the vertex coordinates of the polygons constituting the three-dimensional object, into coordinates on the circular frame buffer 50 is performed (step 103).
[0033]
Further, the image processing unit 40 obtains image information (color information) to be stored in the circular frame buffer 50 by the texture mapping processing unit 44 and the shading processing unit 46, and writes this image information in the corresponding position of the circular frame buffer 50 ( Step 104).
[0034]
The image information written in the circular frame buffer 50 is read out in a predetermined scanning order and sent to the projector 2. The projector 2 forms an image based on this image information, and projects it on the spherical screen 4 through the lens 3 (step 105).
[0035]
In this way, a new game image is generated at a predetermined repetition period and projected onto the spherical screen 4. In the above description of the operation, the drawing process is performed by performing the series of processes shown in FIG. 2 at a cycle corresponding to the display interval. However, the display interval and the repetition interval of the drawing process do not necessarily match. Good. In addition, when the drawing process is in time for the display timing, the drawing process is performed in synchronization with each display timing, and when the drawing process is not in time, the same screen display is performed. May not match.
[0036]
Next, the detailed content of the coordinate conversion process in step 103 mentioned above is demonstrated.
FIG. 3 is a diagram showing a drawing range of the circular frame buffer 50. The projector 2 according to the present embodiment has a rectangular image whose image projection range is horizontally long (for example, the aspect ratio is 3: 4), and a portion of the image is drawn corresponding to an image projected onto the spherical screen 4. Used as a region. This figure corresponds to the case where the projection plane S of FIG. 4 described later is viewed from the positive direction of the z axis (upper side in FIG. 4) toward the origin.
[0037]
In FIG. 3, a rectangular area 200 corresponds to the projection range of the projector 2. Further, the circular area 210 corresponds to the range actually projected onto the spherical screen 4 through the lens 3. Therefore, in the present embodiment, image information is written only for the range included in the circular area 210 in the coordinates of the circular frame buffer 50.
[0038]
As shown in FIG. 3, the horizontal axis is the X axis and the vertical direction is the Y axis. The center (circular center) of the circular area 210 is the origin O, and the radius of the circular area 210 is R. The image information stored at an arbitrary point F (X, Y) in the circular frame buffer 50 is the point P on the spherical screen 4.dProjected on.
[0039]
(A) When both the viewpoint position and the projection position are set to the spherical center position of the spherical screen 4
FIG. 4 is a diagram showing an outline of the coordinate conversion process. As shown in the figure, the hemispherical projection surface corresponding to the spherical screen 4 is set as S, and the spherical center of the projection surface S is set as the origin o. Further, the z axis is defined from the origin o toward the center of the projection surface S, and the x axis and the y axis are defined perpendicular to the z axis. Furthermore, in this example, the viewpoint position P of the playereAnd projection position (position of lens 3) PrIs coincident with the origin o.
[0040]
Arbitrary point P in the game space which is a three-dimensional spacep(Xp, Yp, Zp) To a point F (X, Y) on the circular frame buffer 50. In FIG. 4, a point P in the game spacep(Xp, Yp, Zp) From the origin o, this point Pp And the intersection of the projection plane S and the straight line connecting the origin od(Xd, Yd, Zd). If the radius of the hemisphere corresponding to the projection plane S is r, xd, Yd, ZdAre represented by the following equations, respectively.
[0041]
[Expression 1]
Figure 0004726336
[0042]
In FIG. 4, the origin o and the point PdAssuming that the angle between the straight line connecting the z axis and the z axis is θ, this angle θ is expressed by the following equation.
[0043]
[Expression 2]
Figure 0004726336
[0044]
In the lens 3 used in this embodiment, when the point F (X, Y) shown in FIG. 3 is projected onto the projection plane S, the distance L from the origin O to the point F is proportional to the angle θ shown in FIG. It has the characteristic to do. Therefore, L = 0 when θ = 0, and L = R when θ = π / 2, and the distance L corresponding to an arbitrary angle θ between them can be expressed by the following equation.
[0045]
L = θ / (π / 2) × R
In FIG. 3, an angle formed by a straight line connecting the origin O and the point F (X, Y) on the circular frame buffer 50 and the X axis is Φ. In FIG. 4, the point Pd(Xd, Yd, Zd) Mapping point P to xy planed′ (Xd, Yd, 0) and the angle between the straight line connecting the origin o and the x-axis is φ. The angle Φ is equal to the angle φ. Here, cosφ and sinφ can be expressed by the following equations.
[0046]
[Equation 3]
Figure 0004726336
[0047]
The point F (X, Y) is a point P on the projection plane S.d(Xd, Yd, Zd) Can be expressed as follows using the coordinate values of each axis.
[0048]
[Expression 4]
Figure 0004726336
[0049]
Therefore, the vertex P of each polygon constituting the three-dimensional object arranged in the game spacep(Xp, Yp, Zp) Is known, in order to calculate the storage position on the corresponding circular frame buffer 50, the coordinate conversion processing unit 42 first starts the vertex Pp(Xp, Yp, Zp) To the point P on the projection plane S by substituting the coordinate value of () into the above-described equations (1) to (3).d(Xd, Yd, Zd). Thereafter, the coordinate transformation processing unit 42 obtains the point P obtained by this calculation.d(Xd, Yd, Zd) Is substituted into the above-described equations (4) and (5), and a point F (X, Y) on the circular frame buffer 50 is calculated.
[0050]
In this manner, the storage position is calculated on the circular frame buffer 50 corresponding to the vertex of each polygon of the three-dimensional object. In particular, the coordinate transformation process performed in this way is performed accurately using the position, viewpoint position, and projection position of the three-dimensional object in the game space. A more accurate game image can be projected on the spherical screen 4.
[0051]
(B) When only the projection position is shifted from the spherical center of the spherical screen 4
In the above description, the viewpoint position PeAnd projection position PrHas been considered to coincide with the spherical center of the spherical screen 4, but in reality, it is difficult to realize such a positional relationship. When a practical geometric arrangement is considered, if the player tries to show a highly realistic game image using the spherical screen 4, the player's viewpoint position is set near the spherical center of the spherical screen 4. Is desirable. Therefore, in this case, the projection position PrNeeds to be shifted from the spherical center of the spherical screen 4.
[0052]
FIG. 5 is a diagram showing an outline of the coordinate conversion processing when the projection position is shifted from the spherical center position of the spherical screen 4. The coordinate axes shown in the figure are the same as those shown in FIG. Projection position Pr(Xr, Yr, Zr) Is set at a predetermined position other than the spherical center of the spherical screen 4 (for example, above the player's head). The origin of the circular frame buffer 50 is the projection position P.rIn order to distinguish from the display of the coordinate axes in the case of (a) described above (see FIG. 3), the origin is O ′, the horizontal axis is the X ′ axis, and the vertical axis is the vertical direction. The axis is represented as the Y ′ axis.
[0053]
As described in (a) above, the viewpoint position P is set at the position of the origin o corresponding to the spherical center of the spherical screen 4.eAre matched, the point P in the game spacep(Xp, Yp, Zp) Is a point P on the projection plane Sd(Xd, Yd, Zd). That is, an arbitrary projection position PrTo point P on the spherical screen 4d(Xd, Yd, Zd) Is projected onto the viewpoint position P.eFrom point P in the game spacep(Xp, Yp, Zp) Will be recognized.
[0054]
Therefore, an arbitrary projection position PrCorresponding to the point P, the coordinate transformation process similar to the procedure shown in the above (a)d To the projection position PrTo point Pd The point F ′ (X ′, Y ′) on the circular frame buffer 50 required for projection onto the frame can be obtained. However, the projection position PrWhen x is shifted from the origin o, the x ′, y ′, and z ′ axes are translations of the original x, y, and z axes, and there is no rotation around the axes. Xr 2+ Yr 2+ Zr 2<R2Projection position P within a range satisfying (radius r from origin o)rIs set.
[0055]
In FIG. 5, the projection position PrAnd point Pd If the angle between the straight line connecting the z ′ axis and the z ′ axis is θ ′, the angle θ ′ is expressed by the following equation.
[0056]
[Equation 5]
Figure 0004726336
[0057]
In addition, an angle formed by a straight line connecting the origin O ′ and the point F ′ (X ′, Y ′) on the circular frame buffer 50 and the X ′ axis is Φ ′.d(Xd, Yd, Zd) To the x′y ′ planed″ (Xd-Xr, Yd-Yr, 0) and point PrIf the angle between the straight line connecting x and the x ′ axis is φ ′, these angles Φ ′ and φ ′ are equal. Here, cos φ ′ and sin φ ′ can be expressed by the following equations.
[0058]
[Formula 6]
Figure 0004726336
[0059]
Further, the point P on the projection plane Sd(Xd, Yd, Zd) Is obtained based on the above-described equations (1) to (3).
A point F ′ (X ′, Y ′) is a point P on the projection plane S.d(Xd, Yd, Zd ) And projection position Pr(Xr , Yr , Zr ) Can be expressed as follows using each coordinate value.
[0060]
[Expression 7]
Figure 0004726336
[0061]
Therefore, the vertex P of each polygon constituting the three-dimensional object arranged in the game spacep(Xp, Yp, Zp) Is known, in order to calculate the storage position on the corresponding circular frame buffer 50, the coordinate conversion processing unit 42 first starts the vertex Pp(Xp, Yp, Zp) To the point P on the projection plane S by substituting the coordinate value of () into the above-described equations (1) to (3).d(Xd, Yd, Zd). Thereafter, the coordinate transformation processing unit 42 obtains the point P obtained by this calculation.d(Xd, Yd, Zd) Is substituted into the above-described equations (7) and (8), and the coordinates of the point F ′ (X ′, Y ′) on the circular frame buffer 50 are calculated.
[0062]
In this way, the storage position on the circular frame buffer 50 corresponding to the vertex of each polygon of the three-dimensional object is calculated. In particular, the coordinate conversion processing performed in this way is accurately performed using the position, viewpoint position, and projection position of the three-dimensional object in the game space, and therefore when the projection position is moved to an arbitrary position. However, an accurate game image that is theoretically free from distortion when viewed from the viewpoint position can be projected onto the spherical screen 4.
[0063]
In FIG. 5 described above, the projection position P is shown for convenience of explanation.rIs zrAlthough drawn in the region of ≧ 0, in reality, since the projection angle of the lens 3 is 180 degrees, in order to display the game image on the entire spherical screen 4, the projection position PrIs zrIt is desirable to set in the range of ≦ 0.
[0064]
In addition, the fisheye lens used as the lens 3 of the present embodiment is generally characterized by a wide range of focus because the depth of focus is deep. For this reason, even when the projection position is shifted, the entire game image displayed on the spherical screen 4 is almost in focus.
[0065]
(C) When both the viewpoint position and the projection position are shifted from the spherical center of the spherical screen 4
By the way, in the description in (b) described above, the projection position PrIs set at a position deviated from the spherical center position of the spherical screen 4, but in reality, the viewpoint position P of the player iseHowever, there is a case where it is desired to shift from the spherical center position of the spherical screen 4. Hereinafter, a case where both the viewpoint position and the projection position are set so as to be shifted from the spherical center position of the spherical screen 4 will be described.
[0066]
FIG. 6 is a diagram showing an outline of the coordinate conversion process when the viewpoint position and the projection position are shifted from the spherical center position of the spherical screen 4. The coordinate axes shown in the figure are the same as those shown in FIG. Viewpoint position Pe, Projection position PrBoth are set at predetermined positions other than the spherical center of the spherical screen 4. The origin of the circular frame buffer 50 is the projection position P.rIn order to distinguish from the display of the coordinate axes in the case of (a) described above (see FIG. 3), the origin is set to O ′ and is aligned along the horizontal direction as in the case of (b) described above. The axis is represented as the X ′ axis, and the axis along the vertical direction is represented as the Y ′ axis.
[0067]
In FIG. 6, a point P in the game spacep(Xp, Yp, Zp) And viewpoint position Pe(Xe, Ye, Ze) Is represented by the following formula.
[0068]
[Equation 8]
Figure 0004726336
[0069]
Further, the hemisphere corresponding to the projection plane S is represented by the following sphere equation (where z ≧ 0).
x2+ Y2+ Z2= R2                                      …(Ten)
Viewpoint position PeTo point P in the game spacep(Xp, Yp, Zp), This point Pp Point P on the projection plane S corresponding tod(Xd, Yd, Zd) Can be obtained by calculating the coordinates of the intersection point of the straight line shown in equation (9) and the hemisphere shown in equation (10).
[0070]
Specifically, the following equations are derived by modifying equation (9).
[0071]
[Equation 9]
Figure 0004726336
[0072]
Substituting equations (11) and (12) into equation (10) yields the following equation:
Figure 0004726336
here,
a = (xp-Xe)2+ (Yp-Ye)2+ (Zp-Ze)2
b = (yp-Ye) × (xeXyp-YeXp) + (Zp-Ze) × (xeXzp-ZeXp)
c = (xeXyp-YeXp)2+ (XeXzp-ZeXp)2-R2× (xp-Xe)2
In other words, the solution of the above equation (13) is expressed as the following equation.
[0073]
[Expression 10]
Figure 0004726336
[0074]
Therefore, the point P in the game spacep(Xp, Yp, Zp) And viewpoint position Pe(Xe, Ye, Ze) To calculate the point (14) on the projection plane S by calculating the equation (14).dX coordinate value (xd) Is required. Further, by substituting the equation (14) into the above equations (11) and (12), the point PdY coordinate value (yd), Z-coordinate value (zd) Is required.
[0075]
When the x coordinate value is actually calculated using equation (14), two solutions x1, X2Is obtained. One of these two solutions x1By substituting (11) and (12) respectively for the corresponding y coordinate value (y1) And z-coordinate values (z1) Is obtained. As a result, point PdThe coordinate value of is (x1, Y1, Z1) The other solution x2By substituting (11) and (12) respectively for the corresponding y coordinate value (y2) And z-coordinate values (z2) Is obtained. As a result, point PdThe coordinate value of is (x2, Y2, Z2) Of these two coordinate values, the necessary solution is the point PeTo each coordinate value (x1, Y1, Z1) And (x2, Y2, Z2), The viewpoint position PeTo point Pp Coordinate values corresponding to vectors having the same orientation as the vector going to are selected.
[0076]
In this way, the point Pd(Xd, Yd, Zd) Can be obtained. Thereafter, by substituting this coordinate value into the above-described equations (7) and (8), the projection position PrTo point P on the projection plane SdThe coordinates of the point F ′ (X ′, Y ′) on the circular frame buffer 50 necessary for projecting an image on the frame can be obtained.
[0077]
Therefore, the vertex P of each polygon constituting the three-dimensional object arranged in the game spacep(Xp, Yp, Zp) Is known, in order to calculate the storage position on the corresponding circular frame buffer 50, the coordinate conversion processing unit 42 first starts the vertex Pp(Xp, Yp, Zp) Coordinate value and viewpoint position Pe(Xe, Ye, Ze) To calculate the above-described equation (14) and the like to obtain a point P on the projection plane S.d(Xd, Yd, Zd). Thereafter, the coordinate transformation processing unit 42 obtains the point P obtained by this calculation.d(Xd, Yd, Zd) Is substituted into the above-described equations (7) and (8), and the coordinates of the point F ′ (X ′, Y ′) on the circular frame buffer 50 are calculated.
[0078]
In this way, the storage position on the circular frame buffer 50 corresponding to the vertex of each polygon of the three-dimensional object is calculated. In particular, the coordinate conversion processing performed in this way is accurately performed using the position, viewpoint position, and projection position of the three-dimensional object in the game space, and thus the viewpoint position and projection position are moved to an arbitrary position. Even in this case, an accurate game image that is theoretically free from distortion when viewed from the viewpoint position can be projected onto the spherical screen 4.
[0079]
In FIG. 6 described above, the projection position P is also shown for convenience of explanation.rIs zrAlthough it was drawn in the region of ≧ 0, for the same reason as in the case of (b) described above, the actual projection position PrIs zrIt is desirable to set in the range of ≦ 0.
In addition, this invention is not limited to the said embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention. For example, in the above-described embodiment, (a) when both the viewpoint position and the projection position are matched with the spherical center position of the spherical screen 4, (b) when only the projection position is set to be shifted, (c) the viewpoint position, The coordinate conversion processing method has been described for each of the cases where both of the projection positions are set to be shifted. However, even when only the viewpoint position is set to be shifted from the spherical center of the spherical screen 4 by applying these, the distortion is distorted. Image information for displaying a game image with a small amount can be generated.
[0080]
Specifically, as described in the case where the viewpoint position and the projection position shown in (c) above are both set in a shifted manner, the vertexes of the polygons constituting the three-dimensional objects arranged in the game space Coordinate Pp(Xp, Yp, Zp) As these coordinate values and viewpoint position Pe(Xe, Ye, Ze) By using the coordinate values of (14) and the like to calculate the point P on the projection plane S.d(Xd, Yd, Zd) Is obtained. Thereafter, the storage position on the circular frame buffer 50 may be obtained by calculating the above-described equations (4) and (5) based on these coordinate values.
[0081]
In addition, the projection position PrIs set to be shifted from the spherical center position of the spherical screen 4 (such as in the cases (b) and (c) described above), the projection position PrTo position P on the spherical screen 4dBrightness correction may be performed on the image information stored in the circular frame buffer 50.
[0082]
FIG. 7 is a diagram for explaining a modified example in which the brightness correction is performed, and shows a state in which the cross section of the spherical screen 4 is simplified. Projection position PrIs shifted from the spherical center position Q of the spherical screen 4, the projection position PrTo an arbitrary position on the spherical screen 4 is not equidistant. For example, as shown in FIG.rTo a certain point P on the spherical screen 4d1Distance D1 and another point Pd2This is greatly different from the distance D2. Projection position PrSince the intensity of the light (light corresponding to each pixel constituting the game image), that is, the brightness is inversely proportional to the square of the distance, the brightness of the game image displayed on the spherical screen 4 is A bias will occur.
[0083]
Thus, for example, the projection position PrBy setting a predetermined coefficient inversely proportional to the square of the distance from the position to the position on the spherical screen 4 and multiplying this by the image information stored in the circular frame buffer 50, the brightness of the image information is corrected. It can be carried out. Thereby, it is possible to reduce the unevenness of the brightness of the game image and project a higher quality game image.
[0084]
As a simpler method, for example, the projection position PrA predetermined coefficient inversely proportional to the distance from the position to the position on the spherical screen 4 may be set, and this may be multiplied with the image information stored in the circular frame buffer 50. In this case, the unevenness of the brightness of the game image can be reduced to some extent, and the calculation amount required for the brightness correction can be reduced. Also, since the projection angle has a predetermined correlation with the distance from the projection position to the position to be projected on the spherical screen 4, brightness correction may be performed using the projection angle instead of the distance. The brightness correction process as described above can be performed by the shading processing unit 46 in the image processing unit 40.
[0085]
In the above-described embodiment, the coordinate conversion processing for calculating the storage position on the circular frame buffer 50 corresponding to the vertex coordinates of each polygon constituting the three-dimensional object has been described. However, any point other than the vertex of the polygon is described. The present invention can be applied when performing coordinate transformation processing. For example, when an object having a predetermined shape is arranged in the three-dimensional space, the above-described coordinate conversion processing is performed corresponding to the coordinates of each pixel constituting the object, and stored in the corresponding circular frame buffer 50. The position may be calculated.
[0086]
In the above-described embodiment, the three-dimensional object is composed of a plurality of polygons, and image information in each polygon is written to the circular frame buffer 50 by texture mapping processing or the like. It is desirable to perform some correction processing in consideration of the distortion of the line segment shape. Specifically, if each polygon constituting the three-dimensional object arranged in the game space has a polygonal shape (for example, a triangle) surrounded by each side consisting of a straight line, this polygon When the shape is projected onto the circular frame buffer 50, each side is distorted into a curved line. Therefore, if the texture mapping process is performed while ignoring this, the distortion of the shape of the polygon greatly projected on the spherical screen 4 increases. As specific examples of the correction processing, (1) a method of approximating a curved shape connecting the vertices projected on the circular frame buffer 50 by an arc or other curve, and (2) a projection area of a single polygon is increased. In this case, the polygon before projection onto the circular frame buffer 50 is divided into a plurality of parts, and coordinate calculation and texture mapping processing are performed for each of the smaller divided polygons. (3) The coordinates of each pixel inside the polygon A method for obtaining all of the values by the coordinate conversion processing unit 42 is conceivable. By adopting these methods, it is possible to reduce the distortion of the projected image that occurs when a three-dimensional object is composed of a plurality of polygons.
[0087]
In the above-described embodiment, the case where an image is projected onto a spherical screen that is a kind of curved screen has been described. However, when a three-dimensional object arranged in the game space is viewed from a viewpoint position, the curved screen is displayed on the curved screen. When the position to be projected is obtained by calculation, the present invention can be applied to the case where an image is displayed on a curved screen other than a spherical surface. For example, the image may be projected onto a curved screen having a projection surface obtained by cutting a rotating body obtained by rotating an ellipse in half. Even when such a curved screen is used, a position to be projected on the curved screen is calculated based on position information of a three-dimensional object arranged in the game space, and an image is further displayed at the calculated position. By calculating the storage position on the circular frame buffer 50 necessary for projecting the image, it is possible to display an image with almost no distortion.
[0088]
In the above-described embodiment, an example in which the present invention is applied to a game system has been described. However, the present invention is applied to various apparatuses that project a three-dimensional image using a three-dimensional object onto a curved screen. Can do. For example, the present invention can be applied to a device that makes a presentation using a three-dimensional object, various simulator devices such as a flight simulator, and the like.
[0089]
【The invention's effect】
As described above, according to the present invention, the storage position of the circular frame buffer, that is, the display position on the curved screen is calculated based on the position information of the three-dimensional object in the virtual three-dimensional space. Distortion of the image displayed above can be removed.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a game system according to an embodiment.
FIG. 2 is a flowchart showing an outline of an operation procedure of the game system.
FIG. 3 is a diagram illustrating a drawing range of a circular frame buffer.
FIG. 4 is a diagram showing an outline of a coordinate conversion process.
FIG. 5 is a diagram showing an overview of coordinate conversion processing when only the projection position is shifted from the spherical center of a spherical screen.
FIG. 6 is a diagram showing an outline of coordinate conversion processing when a viewpoint position and a projection position are shifted from the spherical center of a spherical screen.
FIG. 7 is a diagram illustrating a modified example in which brightness correction is performed.
[Explanation of symbols]
1 Game device
2 Projector
3 Lens
4 Spherical screen
10 Input device
20 Game calculator
22 Input determination unit
24 Event processing section
26 Game Space Calculation Unit
30 Information storage media
40 Image processing unit
42 Coordinate transformation processing unit
44 Texture mapping processor
46 Shading processor
50 circular frame buffer

Claims (15)

仮想的な三次元空間に配置された三次元オブジェクトの画像を広角レンズを通して曲面スクリーンに投影する画像表示装置であって、
前記曲面スクリーン上のそれぞれの位置に対応する画像情報を格納する円形フレームバッファと、
前記円形フレームバッファに格納された前記画像情報に対応する画像を前記広角レンズに向けて照射する投影装置と、
前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報に基づいて前記円形フレームバッファの格納位置を計算する座標計算手段と、
前記座標計算手段によって計算された前記円形フレームバッファの格納位置に、対応する前記三次元オブジェクトの画像情報を格納する画像情報格納手段と、
を備え、前記座標計算手段は、前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報と、所定の視点位置および前記広角レンズの位置に対応する投影位置とに基づいて前記格納位置を計算し、
前記視点位置と前記投影位置を異ならせることを特徴とする画像表示装置。
An image display device that projects an image of a three-dimensional object arranged in a virtual three-dimensional space onto a curved screen through a wide-angle lens,
A circular frame buffer for storing image information corresponding to each position on the curved screen;
A projection device that irradiates an image corresponding to the image information stored in the circular frame buffer toward the wide-angle lens;
Coordinate calculation means for calculating a storage position of the circular frame buffer based on position information of the three-dimensional object in the virtual three-dimensional space;
Image information storage means for storing image information of the corresponding three-dimensional object at the storage position of the circular frame buffer calculated by the coordinate calculation means;
The coordinate calculation means calculates the storage position based on position information of the three-dimensional object in the virtual three-dimensional space and a projection position corresponding to a predetermined viewpoint position and the position of the wide-angle lens. Calculate
An image display device, wherein the viewpoint position and the projection position are different.
請求項1において、
前記広角レンズは魚眼レンズであることを特徴とする画像表示装置。
In claim 1,
The image display device according to claim 1, wherein the wide-angle lens is a fish-eye lens.
請求項1または2において、
前記座標計算手段は、前記三次元オブジェクトを前記視点位置から見た場合の前記曲面スクリーン上の位置に対応させて、前記格納位置の計算を行うことを特徴とする画像表示装置。
In claim 1 or 2,
Said coordinate calculating means, the image display apparatus, wherein the three-dimensional object in correspondence with the position on the curved screen when viewed from the viewpoint position, to perform a calculation of the storage position.
請求項1〜3のいずれかにおいて、
前記投影位置が前記曲面スクリーンの中心位置からずらして設定されている場合に、
前記画像情報格納手段は、前記投影位置と前記曲面スクリーン上に投影すべき位置との距離を考慮して、前記円形フレームバッファに格納する前記画像情報について明るさ補正を行うことを特徴とする画像表示装置。
In any one of Claims 1-3,
When the projection position is set to be shifted from the center position of the curved screen,
The image information storage means performs brightness correction on the image information stored in the circular frame buffer in consideration of a distance between the projection position and a position to be projected on the curved screen. Display device.
請求項1〜4のいずれかにおいて、
所定の間隔毎に前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報を計算するオブジェクト計算手段をさらに備え、
前記円形フレームバッファに対する前記画像情報の格納処理を前記間隔で繰り返すことを特徴とする画像表示装置。
In any one of Claims 1-4,
An object calculation means for calculating position information of the three-dimensional object in the virtual three-dimensional space at predetermined intervals;
An image display device characterized in that the storage processing of the image information in the circular frame buffer is repeated at the intervals.
請求項5において、
前記三次元オブジェクトは、複数のポリゴンによって構成されており、
前記オブジェクト計算手段は、前記複数のポリゴンのそれぞれの頂点座標について、前記仮想的な三次元空間内の位置情報を計算することを特徴とする画像表示装置。
In claim 5,
The three-dimensional object is composed of a plurality of polygons,
The image display device, wherein the object calculation means calculates position information in the virtual three-dimensional space for each vertex coordinate of the plurality of polygons.
三次元オブジェクトの仮想的な三次元空間内の位置情報をゲーム空間演算手段による演算により取得する第1のステップと、
前記第1のステップにおいて取得した前記位置情報に基づいて、広角レンズを通して曲面スクリーン上に投影すべき位置に対応する画像情報を格納する円形フレームバッファの格納位置を座標計算手段によって計算する第2のステップと、
前記第2のステップで計算された前記円形フレームバッファの格納位置に、対応する前記三次元オブジェクトの画像情報を画像情報格納手段によって格納する第3のステップと、
前記円形フレームバッファに格納された前記画像情報を読み出して、前記広角レンズを通して前記曲面スクリーン上に投影装置によって投影する第4のステップと、
を有し、前記座標計算手段は、前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報と、所定の視点位置および前記広角レンズの位置に対応する投影位置とに基づいて前記第2のステップにおいて前記格納位置を計算し、
前記視点位置と前記投影位置を異ならせることを特徴とする画像表示方法。
A first step of acquiring position information of a three-dimensional object in a virtual three-dimensional space by calculation by a game space calculation means;
Based on the position information acquired in the first step, a coordinate position calculating unit calculates a storage position of a circular frame buffer that stores image information corresponding to a position to be projected on a curved screen through a wide-angle lens. Steps,
A third step of storing image information of the corresponding three-dimensional object in the storage position of the circular frame buffer calculated in the second step by image information storage means;
A fourth step of reading out the image information stored in the circular frame buffer and projecting the image information on the curved screen through the wide-angle lens;
The coordinate calculation means includes the second information based on position information of the three-dimensional object in the virtual three-dimensional space and a projection position corresponding to a predetermined viewpoint position and the position of the wide-angle lens. Calculating the storage position in the step of
An image display method, wherein the viewpoint position and the projection position are made different.
請求項7において、
前記第2のステップにおいて、前記三次元オブジェクトを前記視点位置から見た場合の前記曲面スクリーン上の位置に対応させて、前記格納位置の計算を行うことを特徴とする画像表示方法。
In claim 7,
Wherein in a second step, the three-dimensional object in correspondence with the position on the curved screen when viewed from the viewpoint position, the image display method characterized in that the calculation of the storage position.
請求項7または8において、
前記投影位置が前記曲面スクリーンの中心位置からずらして設定される場合に、前記投影位置と前記曲面スクリーン上に投影すべき位置との距離を考慮して、前記円形フレームバッファに格納する前記画像情報について明るさ補正を前記画像情報格納手段によって行う第5のステップを、前記第4のステップの前に挿入することを特徴とする画像表示方法。
In claim 7 or 8,
The image information stored in the circular frame buffer in consideration of the distance between the projection position and the position to be projected on the curved screen when the projection position is set shifted from the center position of the curved screen. A fifth step of performing brightness correction by the image information storage means is inserted before the fourth step.
三次元オブジェクトの仮想的な三次元空間内の位置情報をゲーム空間演算手段による演算により取得する第1のステップと、
前記第1のステップにおいて取得した前記位置情報に基づいて、広角レンズを通して曲面スクリーン上に投影すべき位置に対応する画像情報を格納する円形フレームバッファの格納位置を座標計算手段によって計算する第2のステップと、
前記第2のステップで計算された前記円形フレームバッファの格納位置に、対応する前記三次元オブジェクトの画像情報を画像情報格納手段によって格納する第3のステップと、
前記円形フレームバッファに格納された前記画像情報を読み出して、前記広角レンズを通して前記曲面スクリーン上に投影装置によって投影する第4のステップと、
を実行するプログラムを含むことを特徴とする情報記憶媒体であって、
前記座標計算手段は、前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報と、所定の視点位置および前記広角レンズの位置に対応する投影位置とに基づいて前記第2のステップにおいて前記格納位置を計算し、
前記視点位置と前記投影位置を異ならせる情報記憶媒体。
A first step of acquiring position information of a three-dimensional object in a virtual three-dimensional space by calculation by a game space calculation means;
Based on the position information acquired in the first step, a coordinate position calculating unit calculates a storage position of a circular frame buffer that stores image information corresponding to a position to be projected on a curved screen through a wide-angle lens. Steps,
A third step of storing image information of the corresponding three-dimensional object in the storage position of the circular frame buffer calculated in the second step by image information storage means;
A fourth step of reading out the image information stored in the circular frame buffer and projecting the image information on the curved screen through the wide-angle lens;
An information storage medium including a program for executing
In the second step, the coordinate calculation means is based on position information of the three-dimensional object in the virtual three-dimensional space and a projection position corresponding to a predetermined viewpoint position and the position of the wide-angle lens. Calculate the storage location,
An information storage medium for making the viewpoint position different from the projection position.
請求項10において、
前記第2のステップにおいて、前記三次元オブジェクトを前記視点位置から見た場合の前記曲面スクリーン上の位置に対応させて、前記格納位置の計算を行うことを特徴とする情報記憶媒体。
In claim 10,
Wherein in a second step, the three-dimensional object in correspondence with the position on the curved screen when viewed from the viewpoint position, the information storage medium, characterized in that the calculation of the storage position.
請求項10または11において、
前記投影位置が前記曲面スクリーンの中心位置からずらして設定される場合に、前記投影位置と前記曲面スクリーン上に投影すべき位置との距離を考慮して、前記円形フレームバッファに格納する前記画像情報について明るさ補正を前記画像情報格納手段によって行う第5のステップを、前記第4のステップの前に挿入して実行するプログラムを含むことを特徴とする情報記憶媒体。
In claim 10 or 11,
The image information stored in the circular frame buffer in consideration of the distance between the projection position and the position to be projected on the curved screen when the projection position is set shifted from the center position of the curved screen. An information storage medium comprising: a program for inserting and executing the fifth step of performing the brightness correction by the image information storage unit before the fourth step.
仮想的な三次元空間に配置された三次元オブジェクトの画像を広角レンズを通して曲面スクリーンに投影するためにコンピュータに、
前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報をゲーム空間演算手段による演算により取得する第1のステップと、
前記第1のステップにおいて取得した前記位置情報に基づいて、前記広角レンズを通して前記曲面スクリーン上に投影すべき位置に対応する画像情報を格納する円形フレームバッファの格納位置を座標計算手段によって計算する第2のステップと、
前記第2のステップで計算された前記円形フレームバッファの格納位置に、対応する前記三次元オブジェクトの画像情報を画像情報格納手段によって格納する第3のステップと、
前記円形フレームバッファに格納された前記画像情報を読み出して、前記広角レンズを通して前記曲面スクリーン上に投影装置によって投影する第4のステップと、
を実行させるための画像表示プログラムであって、
前記座標計算手段は、前記三次元オブジェクトの前記仮想的な三次元空間内の位置情報と、所定の視点位置および前記広角レンズの位置に対応する投影位置とに基づいて前記第2のステップにおいて前記格納位置を計算し、
前記視点位置と前記投影位置を異ならせる画像表示プログラム。
To project an image of a 3D object placed in a virtual 3D space onto a curved screen through a wide-angle lens,
A first step of obtaining position information of the three-dimensional object in the virtual three-dimensional space by calculation by a game space calculation means;
Based on the position information acquired in the first step, a coordinate position calculation unit calculates a storage position of a circular frame buffer that stores image information corresponding to a position to be projected on the curved screen through the wide-angle lens. Two steps,
A third step of storing image information of the corresponding three-dimensional object in the storage position of the circular frame buffer calculated in the second step by image information storage means;
A fourth step of reading out the image information stored in the circular frame buffer and projecting the image information on the curved screen through the wide-angle lens;
An image display program for executing
In the second step, the coordinate calculation means is based on position information of the three-dimensional object in the virtual three-dimensional space and a projection position corresponding to a predetermined viewpoint position and the position of the wide-angle lens. Calculate the storage location,
An image display program for making the viewpoint position different from the projection position.
請求項13において、
前記第2のステップにおいて、前記三次元オブジェクトを前記視点位置から見た場合の前記曲面スクリーン上の位置に対応させて、前記格納位置の計算を行わせるための画像表示プログラム。
In claim 13,
Wherein in a second step, said three-dimensional object in correspondence with the position on the curved screen when viewed from the viewpoint position, the image display program for causing a calculation of the storage position.
請求項14において、
前記投影位置が前記曲面スクリーンの中心位置からずらして設定される場合に、前記投影位置と前記曲面スクリーン上に投影すべき位置との距離を考慮して、前記円形フレームバッファに格納する前記画像情報について明るさ補正を前記画像情報格納手段によって行う第5のステップを、前記第4のステップの前に実行させるための画像表示プログラム。
In claim 14,
The image information stored in the circular frame buffer in consideration of the distance between the projection position and the position to be projected on the curved screen when the projection position is set shifted from the center position of the curved screen. An image display program for executing the fifth step of performing the brightness correction by the image information storage unit before the fourth step.
JP2001194871A 2000-10-31 2001-06-27 Image display device, image display method, information storage medium, and image display program Expired - Fee Related JP4726336B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001194871A JP4726336B2 (en) 2000-10-31 2001-06-27 Image display device, image display method, information storage medium, and image display program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000332974 2000-10-31
JP2000-332974 2000-10-31
JP2000332974 2000-10-31
JP2001194871A JP4726336B2 (en) 2000-10-31 2001-06-27 Image display device, image display method, information storage medium, and image display program

Publications (2)

Publication Number Publication Date
JP2002203257A JP2002203257A (en) 2002-07-19
JP4726336B2 true JP4726336B2 (en) 2011-07-20

Family

ID=26603167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001194871A Expired - Fee Related JP4726336B2 (en) 2000-10-31 2001-06-27 Image display device, image display method, information storage medium, and image display program

Country Status (1)

Country Link
JP (1) JP4726336B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006030225A (en) * 2004-07-12 2006-02-02 Nishiyama Stainless Chem Kk Computer device having curved surface display section
JP2017207747A (en) 2016-05-17 2017-11-24 株式会社半導体エネルギー研究所 Display system and vehicle

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0382493A (en) * 1989-08-28 1991-04-08 Sega Enterp Ltd Video game machine
JPH0611687A (en) * 1992-06-26 1994-01-21 Fujitsu General Ltd Screen brightness correction circuit for projection type display device
JPH0759945A (en) * 1993-08-23 1995-03-07 Sega Enterp Ltd Electronic game device having dome screen
JPH09502535A (en) * 1993-06-28 1997-03-11 バックス,アーロン,ジュニアー Mobile image projection system
JPH0981785A (en) * 1995-09-13 1997-03-28 Toshiba Corp Image projection device and equipment controller
JPH11149566A (en) * 1997-11-17 1999-06-02 Hitachi Ltd Three-dimensional cg plotting device for curved surface display
JP2000182075A (en) * 1998-12-16 2000-06-30 Konami Co Ltd Simple fluid picture display method, picture display device and recording medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0382493A (en) * 1989-08-28 1991-04-08 Sega Enterp Ltd Video game machine
JPH0611687A (en) * 1992-06-26 1994-01-21 Fujitsu General Ltd Screen brightness correction circuit for projection type display device
JPH09502535A (en) * 1993-06-28 1997-03-11 バックス,アーロン,ジュニアー Mobile image projection system
JPH0759945A (en) * 1993-08-23 1995-03-07 Sega Enterp Ltd Electronic game device having dome screen
JPH0981785A (en) * 1995-09-13 1997-03-28 Toshiba Corp Image projection device and equipment controller
JPH11149566A (en) * 1997-11-17 1999-06-02 Hitachi Ltd Three-dimensional cg plotting device for curved surface display
JP2000182075A (en) * 1998-12-16 2000-06-30 Konami Co Ltd Simple fluid picture display method, picture display device and recording medium

Also Published As

Publication number Publication date
JP2002203257A (en) 2002-07-19

Similar Documents

Publication Publication Date Title
JP2003085586A (en) Image display, image displaying method, information storage medium, and image displaying program
JP3294149B2 (en) Three-dimensional texture mapping processing device and three-dimensional image generation device using the same
JP3588351B2 (en) System and method for creating real-time shadows of transparent objects
JP2005506611A (en) Environment mapping system and method
JP2013211672A (en) Curved surface projection stereoscopic vision device
JP2003009039A (en) Image display device, image display method, information storage medium, and image display program
US6717575B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
JP4082937B2 (en) GAME SYSTEM AND GAME PROGRAM
JP3748451B1 (en) Program, information storage medium, and image generation system
JP2006146326A (en) Texture mapping device, method, and program
KR100489572B1 (en) Image processing method
JP4726336B2 (en) Image display device, image display method, information storage medium, and image display program
JP2004199301A (en) Image processor
JP4592917B2 (en) Image generating apparatus and game apparatus
JP4726347B2 (en) Image display device, image display method, information storage medium, and image display program
WO2017188119A1 (en) Program, information processing device, degree of influence derivation method, image generation method, and recording medium
KR20190065503A (en) Method and apparatus of playing VR contents on display devices
JP4006243B2 (en) Image generation information, game information, information storage medium, image generation device, and game device
JP2007272388A (en) Program, information storage medium and image generation system
JP5146054B2 (en) Generation control program of sound generated from sound source in virtual space
JP3411665B2 (en) 3D image construction device
JP2003030677A (en) Image display device, image display method, information storage medium and image display program
JP2001314648A (en) Game apparatus and information storage medium
JP2005208867A (en) Three-dimensional computer graphics modeling system
JP2009140371A (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110223

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: 20110412

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110412

R150 Certificate of patent or registration of utility model

Ref document number: 4726336

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees