(57)【特許請求の範囲】
【請求項１】
立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置のコンピュータで実行される表示制御プログラムであって、
前記コンピュータを、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離に応じ、前記オブジェクトの一部またはすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定手段と、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段であって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定手段により設定された透明度を有する、画像生成手段と、
前記画像生成手段で生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御手段として機能させる、表示制御プログラム。
【請求項２】
前記透明度設定手段は、前記右眼用画像と前記左眼用画像との間で、立体視を提供するために必要な視差以外の差異を当該右眼用画像および左眼用画像が実質的に含まないように、前記オブジェクトの透明度を設定する、請求項１に記載の表示制御プログラム。
【請求項３】
前記透明度設定手段は、前記所定のオブジェクトを規定するためのデータに含まれている、当該オブジェクトの透明度を示す値を設定する、請求項１に記載の表示制御プログラム。
【請求項４】
前記透明度設定手段は、前記所定のオブジェクトにマッピングするテクスチャ画像の透明度を設定する、請求項１に記載の表示制御プログラム。
【請求項５】
前記透明度設定手段は、
前記視点位置から前記所定のオブジェクトまでの距離に基づいて、予め用意された複数種類の透明度を有するテクスチャ画像群の中から、１以上のテクスチャ画像を選択するテクスチャ画像選択手段を含む、請求項４に記載の表示制御プログラム。
【請求項６】
前記複数種類のテクスチャ画像群は、ミップマップによる画像群である、請求項５に記載の表示制御プログラム。
【請求項７】
前記所定のオブジェクトは、前記右眼用画像および前記左眼用画像が生成される際に生じる視差方向に沿った幅が前記表示装置の表示領域における視差方向の幅に対して相対的に狭い部分を少なくとも有する、請求項１から請求項６までのいずれかに記載の表示制御プログラム。
【請求項８】
前記相対的に狭い部分の幅が、前記表示領域における画素の最小単位の幅に相当する、請求項７に記載の表示制御プログラム。
【請求項９】
前記コンピュータを、
前記所定のオブジェクトが、前記右眼用画像および左眼用画像を生成される際に生じる視差方向に沿った幅が前記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を有するオブジェクトであるか否かを判定するオブジェクト判定手段としてさらに機能させ、
前記透明度設定手段が、前記オブジェクトが、前記オブジェクト判定手段で視差方向に沿った幅が前記相対的に狭い部分を有するオブジェクトであると判定された際は、前記距離に応じた透明度を前記オブジェクトにおいて設定し、前記相対的に狭い部分を有するオブジェクトではないと判定された際は、前記透明度の設定は行わない、請求項７に記載の表示制御プログラム。
【請求項１０】
前記視点位置は、前記右仮想カメラまたは前記左仮想カメラの位置である、請求項１から請求項９までのいずれかに記載の表示制御プログラム。
【請求項１１】
前記視点位置は、前記右仮想カメラと前記左仮想カメラの中点位置である、請求項１から請求項９までのいずれかに記載の表示制御プログラム。
【請求項１２】
前記透明度設定手段は、前記視点位置から前記所定のオブジェクトまでの距離の増分に応じて、一定量ずつ前記透明度が高くなるように設定する、請求項１から請求項１１までのいずれかに記載の表示制御プログラム。
【請求項１３】
立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置であって、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離に応じて、前記オブジェクトの一部およびすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定手段と、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段であって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定手段により設定された透明度を有する、画像生成手段と、
前記画像生成手段で生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御手段とを備える、表示制御装置。
【請求項１４】
立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御システムであって、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離に応じて、前記オブジェクトの一部およびすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定手段と、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段であって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定手段により設定された透明度を有する、画像生成手段と、
前記画像生成手段で生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御手段とを備える、表示制御システム。
【請求項１５】
立体視表示可能な表示装置に所定の仮想空間の表示を行うための表示制御方法であって
、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置ステップと
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離応じて、前記オブジェクトの一部またはすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定ステップと、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成ステップであって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定ステップにより設定された透明度を有する、画像生成ステップと、
前記画像生成ステップで生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御ステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御プログラム、表示制御装置、表示制御方法および表示制御システムに関する。より具体的には、本発明は、立体視表示が可能な表示装置への表示制御を行うための表示制御プログラム、表示制御装置、表示制御方法および表示制御システムに関する。
【背景技術】
【０００２】
立体視表示が可能な表示装置は、物体像を奥行の伴った３次元の像として知覚できるように提供する表示装置である。立体視表示が可能な表示装置は、両眼視差（右眼および左眼の両方で同一点を注視した場合の視線方向の差）、運動視差、輻輳、焦点調節などの現象を利用することで、そのユーザに３次元画像における奥行き感を提供している。
【０００３】
従来の立体視表示が可能な表示装置の例としては、パララックスバリア方式による立体映像表示装置が挙げられる。このパララックスバリア方式による立体映像表示装置は、例えば、特許文献１に記載されるように、液晶パネルの前面に配置される液晶パララックスバリアを備えている。この装置は、液晶パララックスバリアへの電圧印加を制御して、その遮光部の透過率を変化させることにより、２次元（２Ｄ）映像表示と３次元（３Ｄ）映像表示とを切り替えることを可能にする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−１１９８８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した装置のような立体視表示が可能な表示装置は、３Ｄ映像表示を提供する際に、左眼用画像および右眼用画像を生成する。この左眼用画像および右眼用画像は、ユーザに適切に提示された際に互いに対して所定の視差（両眼視差）が生じるように生成された画像として提供される。
【０００６】
しかし、左眼用画像および右眼用画像は、立体視を適切に提供するのに必要な差異以外に、所望しない差異も生じた状態で提供される場合がある。例えば、それぞれの画像に含まれる同一被写体が、視差方向に沿った幅が狭い物体であるとき、透視変換処理を受けた当該被写体が、その視点との位置関係などにより、左眼用画像および右眼用画像のそれぞれにおいて異なる態様で、部分的に切れたように表示される場合がある。
【０００７】
このような現象が生じると、例えば、表示対象の明滅として知覚されることに起因して、ユーザは不快感を有する場合があった。したがって、このような立体視の際の不快感を取り除くための表示制御が可能なプログラム等が提供されることが望まれていた。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、その一例として、以下のような態様で提供され得る。以下で示した具体的な記載のいずれもが、本発明を理解するために示した例示的な記載であって、本発明がこの例に限定されることを意図するものではない。すなわち、当業者は、その具体的な記載から、本発明に関する記載および技術常識に基づいて均等な範囲を実施することができることが理解される。
【０００９】
一態様において、本発明は、立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置のコンピュータで実行される表示制御プログラムを提供する。ここで、この表示制御プログラムは、上記コンピュータを、オブジェクト配置手段と、透明度設定手段と、画像生成手段と、表示制御手段として機能させる。
【００１０】
オブジェクト配置手段は、上記仮想空間に所定のオブジェクトを配置する。透明度設定手段は、上記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と上記仮想空間で配置されるオブジェクトとの間に規定される距離に応じ、上記オブジェクトの一部またはすべての透明度を、上記距離が長くなるほど高くなるように設定する。画像生成手段は、上記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する。ここで、当該右眼用画像および当該左眼用画像に含まれる上述の所定のオブジェクトは、上記透明度設定手段により設定された透明度を有する。表示制御手段は、上記画像生成手段で生成した右眼用画像および左眼用画像を上記表示装置に表示する。
【００１１】
本明細書において使用される場合、「仮想カメラ」は、透視変換処理によって任意の３次元仮想オブジェクトを含む３次元仮想空間を所定の投影面に投影する際の視点に対応する概念である。この「仮想カメラ」の位置を規定することで、任意の視点に基づく遠近感をもった画像が提供される。この「仮想カメラ」のうち、「右仮想カメラ」および「左仮想カメラ」は、それぞれ、立体視を提供するための右眼用画像および左眼用画像を生成する際の視点に対応するものである。
【００１２】
一実施形態において、上記透明度設定手段は、上記右眼用画像と上記左眼用画像との間で上記表示装置上での上記オブジェクトの表示態様が同程度となるように、上記オブジェクトの透明度を設定する。
【００１３】
ここで、右眼用画像および左眼用画像における、オブジェクトの「表示装置上での表示態様」とは、その画像の組について、当該表示装置に表示しようとするオブジェクトの全部または部分が、表示装置を介して観察者により視認される態様である。また、その右眼用画像および左眼用画像における、対象オブジェクトの表示態様が「同程度」であるとは、立体視を提供するために必要な視差以外の差異を右眼用画像および左眼用画像が実質的に含まない状態である。ここで「実質的に含まない」と表現は、右眼用画像と左眼用画像との間に厳密な意味で何らかの差異がある場合であっても、それらの画像における特性（例えば、透明度など）の効果によって、当該差異に起因するアーチファクト、不快感などを観察者に知覚させない状態であれば、差異は含まないとすることを意図する。
【００１４】
他の実施形態において、上記透明度設定手段は、上記所定のオブジェクトを規定するモデルの属性データにおける透明度を設定する。
【００１５】
他の実施形態において、上記透明度設定手段は、上記所定のオブジェクトにマッピングするテクスチャ画像の透明度を設定する。
【００１６】
他の実施形態において、上記透明度設定手段は、上記視点位置から上記所定のオブジェクトまでの距離に基づいて、予め用意された複数種類の透明度を有するテクスチャ画像群の中から、１以上のテクスチャ画像を選択するテクスチャ画像選択手段を含む。
【００１７】
他の実施形態において、上記複数種類のテクスチャ画像群は、ミップマップによる画像群である。
【００１８】
他の実施形態において、上記所定のオブジェクトは、上記右眼用画像および上記左眼用画像を生成される際に生じる視差方向に沿った幅が上記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を少なくとも有するオブジェクトである。ここで、上記相対的に狭い部分の幅が、その表示領域における単位表示領域が有する視差方向に沿った長さに相当するものであってもよい。
【００１９】
他の実施形態において、上記コンピュータを、上記所定のオブジェクトが、上記右眼用画像および左眼用画像を生成される際に生じる視差方向に沿った幅が上記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を有するオブジェクトであるか否かを判定するオブジェクト判定手段としてさらに機能させる。そして、上記透明度設定手段は、上記オブジェクトが、上記オブジェクト判定手段で視差方向に沿った幅が相対的に狭い部分を有するオブジェクトであると判定された際に上記距離に応じた透明度を上記オブジェクトにおいて設定する。
【００２０】
他の実施形態において、上記視点位置は、上記右仮想カメラまたは上記左仮想カメラの位置である。
【００２１】
他の実施形態において、上記視点位置は、上記右仮想カメラと上記左仮想カメラの中点位置である。
【００２２】
他の実施形態において、上記透明度設定手段は、上記視点位置から上記所定のオブジェクトまでの距離の増分に応じて、一定量ずつ上記透明度が高くなるように設定する。
【００２３】
また、別の態様において、上述のゲームプログラムは、それを実行する装置として使用されたとしても、１または複数の装置が通信可能に構成されるシステムとして使用されてもよい。また、本発明は、上述のようなプログラム、装置、システムとして実装され得る、方法も含む。
【００２４】
なお、本明細書で使用される場合、「コンピュータ読み取り可能な記憶媒体」との用語は、プログラム、コードおよび／またはデータをコンピュータシステムによって使用するために記憶することが可能な、任意の装置または媒体をいう。コンピュータ読み取り可能な記憶媒体は、コンピュータシステムによって読み取りが可能である限りにおいて、揮発性であっても、不揮発性であってもよい。コンピュータ読み取り可能な記憶媒体としては、例えば、磁気テープ、ハードディスクドライブ（ＨＤＤ）、コンパクトディスク（ＣＤ）、デジタルバーサタイルディスク（ＤＶＤ）、ブルーレイディスク（ＢＤ）、半導体メモリなどが挙げられるが、これらに限られない。
【００２５】
また、本明細書において使用される場合、「システム」（例えば、ゲームシステム、情報処理システム）との用語は、１つの装置で構成されてもよく、また、複数の装置であって、その各々の装置が他の装置のいずれかと通信可能であるものであってもよい。
【発明の効果】
【００２６】
本発明によって、立体視に伴う不快感が抑制、緩和された画像の表示が可能となる。
【図面の簡単な説明】
【００２７】
【図１】開状態におけるゲーム装置１０の正面図
【図２】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図および背面図
【図３】ゲーム装置１０の内部構成を示すブロック図
【図４】ゲーム装置１０の上側ＬＣＤ２２に表示されるオブジェクトの一例を示す模式図
【図５】従来の表示制御処理を用いて、仮想オブジェクトＡの位置と視点（左仮想カメラの位置）との距離が、図４で示された例よりも長くなっている場合の左眼用画像の一例
【図６】表示制御プログラムに従った処理が行われた際に得られた左眼用画像の例の模式図
【図７】手前から奥行方向に延びる路に沿って位置づけられた複数の立木（のモデル）が存在する３次元仮想空間が透視変換処理を受けることで得た画像の一例を示す模式図
【図８】ゲーム装置１０における記憶領域を例示したメモリマップ
【図９Ａ】本発明の例示的な実施形態における表示制御プログラムによるメイン処理について説明するためのフローチャート
【図９Ｂ】図９Ａに示された描画条件処理の一例を説明するためのフローチャート
【図９Ｃ】図９Ｂに示された条件選択処理の一例を説明するためのフローチャート
【図９Ｄ】図９Ｃに示された例示的な条件選択処理の変形例を説明するためのフローチャート
【図９Ｅ】図９Ｃに示された例示的な条件選択処理の変形例を説明するためのフローチャート
【発明を実施するための形態】
【００２８】
（ゲーム装置の構成例）
以下、本発明の一実施形態に係るゲーム装置について説明する。図１および図２は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１および図２に示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０を示し、図２は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００２９】
まず、図１および図２を参照して、ゲーム装置１０の外観構成について説明する。図１および図２に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。
【００３０】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１および図２に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３１】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２の画素数は、例えば、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３２】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図２（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３３】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００３４】
アナログスティック１５は、方向を指示するデバイスである。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００３５】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク４２（図３参照）が設けられ、当該マイク４２がゲーム装置１０の外部の音を検出する。
【００３６】
図２（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図２（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図２（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図２（ｄ）は閉状態におけるゲーム装置１０の背面図である。図２（ｂ）および（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４ＧおよびＲボタン１４Ｈは、例えば、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図２（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００３７】
図２（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００３８】
また、図２（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。
【００３９】
また、図１および図２（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図２（ｃ）参照）。
【００４０】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４１】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００４２】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２の画素数は、例えば、８００ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００４３】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左眼用画像と右眼用画像が表示される。
【００４４】
具体的には、左眼用画像と右眼用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左眼用画像と右眼用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左眼用画像と右眼用画像とを左眼および右眼のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右眼用画像と左眼用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左眼に左眼用画像をユーザの右眼に右眼用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右眼にも左眼にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００４５】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４６】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４７】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右眼用画像および左眼用画像の横方向の位置のずれ量が調整される。
【００４８】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【００４９】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００５０】
（ゲーム装置１０の内部構成）
次に、図３を参照して、ゲーム装置１０の内部の電気的構成について説明する。図３は、ゲーム装置１０の内部構成を示すブロック図である。図３に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５１】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。情報処理部３１のＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００５２】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００５３】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００５４】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００５５】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００５６】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００５７】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００５８】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００５９】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６０】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００６１】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体画像（立体視可能な画像）を表示させる。
【００６２】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右眼用画像と左眼用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右眼用画像について縦方向に１ライン分の画素データを読み出す処理と、左眼用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右眼用画像と左眼用画像とを読み出す。これにより、右眼用画像および左眼用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右眼用画像の短冊状画像と左眼用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右眼に右眼用画像が、ユーザの左眼に左眼用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００６３】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００６４】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００６５】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００６６】
（表示制御プログラムによる例示的な実施形態）
次に、本発明の例示的な実施形態な表示制御プログラム７０に従い処理が行われた場合に、ゲーム装置１０の上側ＬＣＤ２２に立体表示するための画像に対する制御処理の概要を、図４から図７までを参照しつつ説明する。
【００６７】
図４は、ゲーム装置１０の上側ＬＣＤ２２に表示されるオブジェクトの一例を示す模式図である。図４は、ＣＰＵ３１１が視差バリアを無効にした状態で仮想オブジェクトＡを上側ＬＣＤ２２に表示した状態を示す。図４の外枠線が、上側ＬＣＤ２２の表示領域を表し、紙面に向かって横方向は、ユーザの視差方向と平行な方向である。ここで表示される仮想オブジェクトＡは、照明器具を模したオブジェクトであり、仮想空間に設定された天井から鉛直方向に垂れた細長い紐状部材（図４の矢印記号が指す部位）とそれに取付けられた本体部分とからなるモデルにより表現されている。
【００６８】
本発明の例示的な表示制御プログラムの処理を、本発明の例示的な表示制御プログラムに従った処理と対照するため、まず、図４に示される仮想オブジェクトＡを例にとり、図５を参照しつつ、表示制御プログラムに従った処理がなされていない場合について説明する。
【００６９】
図５は、従来の表示制御処理を用いて、仮想オブジェクトＡの位置と視点（左仮想カメラの位置）との距離が、図４で示された例よりも長くなっている場合の左眼用画像の一例を示す。具体的には、図５で示された模式図は、仮想オブジェクトＡを含む仮想空間（ワールド座標系）の透視変換後に、その視点（左仮想カメラ位置）から仮想オブジェクトＡまでの距離が、図４に示された位置関係と比べて長くなったときの３次元仮想空間を示す左眼用画像を例示する。この例では、仮想空間内に位置づけられる仮想オブジェクトＡが、その視点との位置関係などの影響のために、その紐状部材の一部が途切れた状態で表示されている。
【００７０】
この例では、視差方向と垂直な方向に延びる仮想オブジェクトＡの紐状部材は、視点との距離が一定以上の長さとなると、視差方向の幅が狭いために、その一部が途切れた状態で表示される傾向がある。すなわち、上述の仮想オブジェクトＡの紐状部材は、視差方向の長さが表示装置の表示領域における視差方向の長さに対して相対的に短い部分であり、透視変換後の視点からの距離が遠くなった際には、上側ＬＣＤ２２に表示される左眼用画像上に部分的に現れない場合がある。そして、図５は、左眼用画像の一例を示すものであるが、右眼用画像でもこれと同様の現象がおきる傾向がある。
【００７１】
さらに、このような仮想オブジェクトの画像上での表示が部分的に現れない態様において、右眼用画像と左眼用画像との間で差異が生じ得る。すなわち、視差方向に幅の狭い仮想オブジェクトは、視点からの距離が大きくなると、画像上での表示として現れない部分を有する傾向があり、その表示上現れない部分の位置が、立体視のために対となる右眼用画像と左眼用画像との間で異なる場合ある。
【００７２】
この対となる右眼用画像と左眼用画像との間で、画像上での表示として現れない部分に差異がある場合であって、その対となる画像が立体視を提供するために上側ＬＣＤ２２に表示されるとき、ユーザは、右眼用画像と左眼用画像との当該差異に起因して、不快感を感じ得る。そして、右眼用画像と左眼用画像との間で当該オブジェクトの表示上の有無に差が生じるとき（図５の例でいえば、例えば、矢印記号で示めされるような部分的に消える部位の位置が、右眼用画像と左眼用画像との間で相違するとき）、ユーザに（ちらつきなどに起因する）不快感をもたらす。
【００７３】
次に、仮想オブジェクトＡと視点との位置関係が図５と同一の場合であって、本発明の例示的な表示制御プログラムに従って処理が行われた場合について説明する。本発明の例示的な表示制御プログラムに従った処理がなされた場合、上述のような不快感は抑制または除去される。具体的な処理の手順は、後続の図に示されるフローチャートなどを参照しつつ説明するが、ここでは、当該表示制御プログラムに従った処理によって、立体視の際の不快感を軽減するための技術的な特徴について概説する。
【００７４】
図６は、表示制御プログラムに従った処理が行われた際に得られた左眼用画像の例を模式的に示している。具体的には、仮想オブジェクトＡの位置と視点（左仮想カメラの位置）との位置関係（距離）が、図５で示された例と同じである場合であって、当該表示制御プログラムに従った処理が施された左眼用画像の一例を示す。この図６では、仮想オブジェクトＡの紐状部材は、その紐状部材の表示の態様を立体視により適した状態にするために、図５の例では表示上消えていた部分がその他の表示上現れていた部分と区別しづらい状態となっている。これは、仮想オブジェクトＡと視点との距離に比例して当該仮想オブジェクトＡを表示するための画素の透明度が高くなるように、アルファチャネルに規定される透明度の情報が割り当てられることによって実現される。そして、この図６の例と同様に、当該左眼用画像と対になる右眼用画像においても、仮想オブジェクトＡの紐状部材は、透過度の設定前において表示上消えていた部分がその他の表示上現れていた部分と区別しづらい状態を有している。
【００７５】
この表示制御プログラムに従った処理において、透明度の情報を割り当てる方法は、仮想オブジェクトＡを規定するモデルが有する属性におけるアルファチャネルの透明度の情報、またはそのモデルにマッピングされるテクスチャのテクセルにおけるアルファチャネルの透明度の情報のいずれの透明度情報（以下、アルファ値）を用いてもよい。すなわち、上側ＬＣＤ２２に表示される仮想オブジェクトを表す画素において、そのアルファ値が、その仮想オブジェクトと視点（仮想カメラ位置）との間の距離が大きくなるほど透明度を上げる方向に制御されればよい。このような構成をとることによって、右眼用画像と左眼用画像との間で当該オブジェクトの上側ＬＣＤ２２に表示部位に差が生じることに起因して生じる不快感が抑制される。
【００７６】
図６では、仮想オブジェクトＡを例にして、例示的な表示制御プログラムによる処理について説明した。しかし、当然のことながら、この表示制御プログラムの処理が適用されるのは、紐状の部材に限られない。
【００７７】
図７は、手前から奥行方向に延びる路に沿って位置づけられた複数の立木（のモデル）が存在する３次元仮想空間が透視変換処理を受けることで得た画像の一例である。これらの立木は、大きさとしてほぼ同じくらいの全体として細長い形状の幹を有している。図７において、手前に配置された立木モデルＢ’と、遠方に配置された立木モデルＢとを比べると、視点からの距離が遠いＢは、より細い幹として表現される。そして、モデルＢよりもさらに遠方に位置する立木モデルは、Ｂよりもさらに細く（すなわち、視差方向の幅が狭く）描かれる。この細さが、例えば、上側ＬＣＤ２２の単位表示領域（１画素）に対応する幅で描かれる場合は、視点の位置などによっては（右眼用画像および左眼用画像において）表示されない場合が起き得る（すなわち、右眼用画像と左眼用画像との間で、当該オブジェクトの表示上の有無に差が生じやすい）。このような場合も、上述の表示制御プログラムを適用することで、すなわち、視点から離れた遠方に存在する仮想オブジェクトほど、透明度を上げるように設定されていることによって、右眼用画像と左眼用画像との間で当該オブジェクトの表示上の有無に差が生じることが抑制される。
【００７８】
（メモリマップ）
ここで、ゲームプログラムの実行中にメインメモリ３２に記憶される主なデータについて説明する。図８は、ゲーム装置１０のメインメモリ３２のメモリマップを示す図である。図８に示されるように、メインメモリ３２には、表示制御プログラム７０、ゲームプログラム７１、仮想オブジェクト情報７２、各種変数７３等が記憶される。
【００７９】
ゲームプログラム７１は、情報処理部３１にゲーム表示処理を実行させるためのプログラムである。
【００８０】
表示制御プログラム７０は、ゲームプログラム７１のゲーム処理の過程で呼び出されるか、または、そのゲームプログラム７１の一部として機能することで、アルファ情報を利用した本発明の例示的な実施形態の処理を担うプログラムである。
【００８１】
仮想オブジェクト情報７２は、仮想オブジェクトに関連する情報であって、仮想オブジェクトの形状や模様を表すモデル情報（例えば、ポリゴンに関する情報）や、仮想空間における仮想オブジェクトの現在位置などを含む。
【００８２】
各種変数７３は、ゲームプログラム７１および表示制御プログラム７０の実行の際に用いられる各種変数である。
【００８３】
（例示的な処理の流れ）
以下、図９Ａ以降のフローチャートを参照して、本発明の例示的実施形態の表示制御プログラムに基づいて実行される処理の流れを説明する。本図および後続の図では、「ステップ」を、「Ｓ」と略記する。なお、図９Ａ以降のフローチャートは、処理過程の単なる一例にすぎない。したがって、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、図９Ａ以降のフローチャートのすべてのステップの処理をＣＰＵ３１１が実行するものとして説明するが、図９Ａおよび図９Ｂのフローチャートの一部のステップの処理を、ＣＰＵ３１１以外のプロセッサや専用回路が実行するようにしてもよい。
【００８４】
図９Ａは、本発明の例示的な実施形態における表示制御プログラム７０による表示制御に係るメイン処理について説明するためのフローチャートである。
【００８５】
ゲーム装置１０で実行されるゲームプログラム７１に呼び出されて、またはゲームプログラム７１の一部として、ＣＰＵ３１１は、表示制御プログラム７０を実行する。ＣＰＵ３１１は、３次元仮想空間およびそこに位置づけられるオブジェクトを表現したデータ（仮想オブジェクト情報）の可視化を行うための一連の処理を行う。表示対象とするオブジェクトに関するデータは、仮想オブジェクト情報７３として記憶されている。
【００８６】
ステップ１０１において、ＣＰＵ３１１は、３次元仮想空間における仮想カメラおよび仮想オブジェクトの位置の更新・制御を含む処理を行う。
【００８７】
具体的には、ＣＰＵ３１１は、ゲームプログラム７１が要求する内容に応じて、仮想オブジェクト情報７３に記憶される仮想オブジェクトの３次元モデル情報（例えば、仮想オブジェクトＡを表すポリゴンモデル）を取り出し、３次元仮想空間に配置する（ワールド座標系で記述される）処理を行う。ＣＰＵ３１１は、オブジェクトが配置されたワールド座標系に基づく情報を、視点（仮想カメラの位置）から捉えた座標系に基づく情報に変換する処理（透視変換処理）を行う。したがって、ＣＰＵ３１１は、ゲームプログラム７１が要求する内容に応じて、仮想カメラ位置、および３次元仮想空間内に配置されるオブジェクトの位置を更新する。
【００８８】
この更新された位置に基づき、ＣＰＵ３１１は、後続のステップにおいて、当該仮想オブジェクトを含む３次元空間を可視化して表示装置（例えば、ＬＣＤ２２）に表示するために、一連のレンダリング処理を行う。レンダリング処理としては、陰線消去、陰面消去、シャドウィング、シェーディングおよびマッピングなどが挙げられる。ＣＰＵ３１１は、このレンダリングにおける諸条件は、後続のステップ１０２などで設定される。
【００８９】
ステップ１０２において、ＣＰＵ３１１は、描画条件設定処理を行う。この処理の詳細は、後述する図９Ｂに示されたフローチャートで定義づけられる。概して、ＣＰＵ３１１は、上述の更新された仮想カメラ位置と処理対象とするオブジェクトとの距離に関連づけた条件設定を行う。このステップ１０２の完了後に、ＣＰＵ３１１は、ステップ１０３の処理を進める。
【００９０】
ステップ１０３において、ＣＰＵ３１１は、描画条件設定処理で設定された条件に従い、表示対象とするオブジェクトを含む３次元空間の描画処理（レンダリング処理等）を行う。なお、次のステップ１０４で、ユーザに立体視を提供するための右眼用画像および左眼用画像を生成するために、視点の条件などを変えた複数の条件に基づく描画処理が、必要に応じて行われる。
【００９１】
ステップ１０４において、ＣＰＵ３１１は、ユーザに立体視を提供するために、右眼用画像および左眼用画像を生成する。ＣＰＵ３１１は、ステップ１０３での描画関連情報に基づき、パララックスバリア方式（視差バリア方式）の表示装置に最適化した右眼用画像および左眼用画像を生成する。当然ながら、ＣＰＵ３１１が、別の立体視の提供方式を採用してこのステップを実行するように設定してもよい。
【００９２】
ステップ１０５において、ＣＰＵ３１１は、右眼用画像および左眼用画像を用いて表示装置にオブジェクトを含む仮想空間を表示する。ＣＰＵ３１１は、右眼用画像と左眼用画像とを用いて、裸眼で立体視可能な画像（立体画像）を上側ＬＣＤ２２に表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左眼に左眼用画像をユーザの右眼に右眼用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。
【００９３】
図９Ｂは、ステップ１０２（図９Ａ）に示された描画条件設定処理の一例を説明するためのフローチャートである。
【００９４】
ステップ２０１において、ＣＰＵ３１１は、処理対象となるオブジェクトを選択する。例えば、視差方向の幅が表示装置の表示領域における視差方向の長さに対して相対的に狭い（例えば、上側ＬＣＤ２２のおいて表示されたときにその部分または全体が単位表示領域（１画素、１ドット）の幅となる）仮想オブジェクトを予め規定しておいて（メモリマップの）各種変数７３に予め記憶されるテーブルを参照して、ＣＰＵ３１１は、処理対象とすべきオブジェクトを選択する。また、ＣＰＵ３１１は、透視変換後のフレームの範囲に存在するオブジェクト全てを処理対象として、逐次的に選択する処理をおこなってもよい。
【００９５】
ステップ２０２において、ＣＰＵ３１１は、仮想カメラから選択されたオブジェクトまでの距離を計算する。具体的には、この距離計算は、透視変換後において、仮想カメラ（視点の位置）から仮想空間内に配置された処理対象オブジェクトの位置を表す代表点までの距離について計算する。
【００９６】
ここで、代表点とは、仮想オブジェクトの形状等を表すモデル（例えば、メモリマップの仮想オブジェクト情報７２に記憶された仮想オブジェクトＡのモデル）が３次元仮想空間に配置される際の位置づけの基準となる任意の点である。ただし、配置されたモデルを規定する要素（例えば、バーテックス、オブジェクトの部分構造等）ごとに、その要素の全てと視点との距離をそれぞれ計算してもよく、その場合は、後続のステップで仮想オブジェクトを単位として行われる処理は、当該単位要素を単位として実行され得る。また、この距離計算における「視点の位置」は、右仮想カメラの位置であってもよく、左仮想カメラの位置であってもよく、または当該右仮想カメラと左仮想カメラとの中点位置であってもよい。
【００９７】
ステップ２０３において、ＣＰＵ３１１は、ステップ２０２で計算された距離に基づいた、条件選択処理を行う。その詳細は、図９Ｃを参照しつつ、後述する。ＣＰＵ３１１は、ステップ２０３の処理を完了すると、ステップ２０４の処理を進める。
【００９８】
ステップ２０４において、ＣＰＵ３１１は、処理対象とする仮想オブジェクト全てについて描画条件の設定を完了しているか否かを判定する。この判定によって、処理対象とする仮想オブジェクト全てについて描画条件の設定を完了した場合（ステップ２０４、Ｙｅｓ）は、ＣＰＵ３１１は、このサブルーチンを完了する。他方、処理対象とする仮想オブジェクト全てについて描画条件の設定を完了していない場合（ステップ２０４、Ｎｏ）は、ＣＰＵ３１１は、その他の処理対象とする仮想オブジェクトについても同様の処理をするために、ステップ２０１の処理に戻る。
【００９９】
図９Ｃは、図９Ｂのステップ２０３の条件選択処理の一例（条件選択処理（１））を説明するためのフローチャートである。また、後続の図９Ｄおよび図９Ｅは、図９Ｃに示された例示的な条件選択処理の変形例（条件選択処理（２）および（３））を説明するためのフローチャートである。
【０１００】
ステップ３０１において、ＣＰＵ３１１は、ステップ２０２で計算された距離が、処理対象オブジェクトを表示する際に所定のアルファ値を設定する必要があるか否かを判定する。立体視の際の不快感を除くためにアルファ値を設定するべき仮想オブジェクトとして予め設定されている仮想オブジェクトを、各種変数７３などに記憶されるテーブル等を参照して判定する。当該判定でアルファ値の設定が必要である場合（ステップ３０１、Ｙｅｓ）、ＣＰＵ３１１は、ステップ３０２の処理に進む。その他の場合（ステップ３０１、Ｎｏ）においては、ＣＰＵ３１１は、処理を完了して、ステップ２０４(図９Ｂ)の処理に進む。
【０１０１】
ステップ３０２において、ＣＰＵ３１１は、当該距離に応じたアルファ値を有するテクスチャをマッピングするテクスチャとして選択する。仮想オブジェクトを表す画素において、そのアルファ値が、その仮想オブジェクト（またはその部分）と視点（仮想カメラ位置）との間の距離が大きくなるほど透明度を上げる方向に制御される。
【０１０２】
図９Ｄに示されるように、条件選択処理は、以下のような手順でも達成され得る。
【０１０３】
ステップ３１０において、ＣＰＵ３１１は、ステップ２０２で計算された距離に応じて、仮想オブジェクトごとにその距離の大きさと対応づけられたミップマップから選択する。なお、ミップマップとオブジェクトとの対応関係性を、ステップ３０１の判定と同様の判定を行うことによって規定される追加的な条件にしたがって規定してもよい。ミップマップは、主たるテクスチャを補完するように最適化された複数のテクスチャからなる画像群であって、マッピングするオブジェクトのサイズに応じてその画像が選択に使用される画像群である。本例では、そのミップマップは、マッピングの対象とするオブジェクトと視点（仮想カメラの位置）との間の距離に比例して透明度が上がる傾向を持つように最適化されたミップマップである。
【０１０４】
図９Ｅに示されるように、条件選択処理は、以下のような手順でも達成され得る。
【０１０５】
ステップ３２１において、ＣＰＵ３１１は、ステップ２０２で計算された距離が、処理対象オブジェクトを表示する際に所定のアルファ値を設定する必要があるか否かを判定する。ステップ３０１と同様の判定を行う。当該判定に従って、ＣＰＵ３１１は、ステップ３２２の処理に進むか否かを決定する。
【０１０６】
ステップ３２２において、ＣＰＵ３１１は、処理対象である仮想オブジェクトの形状等を規定するモデルの属性情報において、当該距離に応じたアルファ値を設定する。このアルファ値は、対象とするオブジェクトと視点（仮想カメラの位置）との間の距離に比例して透明度が上がる傾向を持つように最適化される。仮想オブジェクトの属性の情報は、仮想オブジェクト情報７３を含むゲーム装置１０の記憶領域に記憶されている。属性の情報は、そのモデルの形状の情報の他に、その形状を規定する点が有する色情報、アルファ値などを含み得る。立体視を行うために生成される一連の画像において、それらの属性情報が上側ＬＣＤ２２において表示される画素の透明度を直接的に規定するのであれば、本ステップにて、その属性情報におけるアルファ値を設定することが可能である。
【０１０７】
（その他の事項）
上述の例示的な実施形態では、裸眼で立体視を提供する表示装置（上側ＬＣＤ２２）を用いたが、本発明の表示制御プログラム等を、他の方式（例えば、ステレオ写真方式、アナグリフ方式、偏光方式など）で表示装置における表示に適用してもよい。
【０１０８】
上記実施形態では、ゲーム装置１０を用いて表示制御プログラム７０について説明しているが、他の実施形態では、任意の情報処理装置または情報処理システム（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ等）を用いて表示制御プログラムを使用してもよい。
【０１０９】
また、上記実施形態では、一台の装置（ゲーム装置１０）のみによってゲーム処理に伴う表示制御プログラムを実行しているが、他の実施形態では、互いに通信可能な複数の情報処理装置を有する画像表示システムにおいて、当該複数の情報処理装置が画像表示処理を分担して実行するようにしてもよい。
【０１１０】
なお、汎用的なプラットフォームにおいて本発明の表示制御プログラム等が使用される場合には、当該表示制御プログラムが、当該プラットフォームにおいて標準的に提供されるプログラムモジュールを用いることを前提として提供されてもよい。上述のようなモジュールによって機能が補完されることを前提に、上記表示制御プログラムから上述のようなモジュールに対応する機能を除いたものは、実質的にこの表示制御プログラムに相当すると理解されるべきである。
【０１１１】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。ここで、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて均等な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【符号の説明】
【０１１２】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
【図１】
0005572532.tif 000002
【図２】
0005572532.tif 000003
【図３】
0005572532.tif 000004
【図４】
0005572532.tif 000005
【図５】
0005572532.tif 000006
【図６】
0005572532.tif 000007
【図７】
0005572532.tif 000008
【図８】
0005572532.tif 000009
【図９Ａ】
0005572532.tif 000010
【図９Ｂ】
0005572532.tif 000011
【図９Ｃ】
0005572532.tif 000012
【図９Ｄ】
0005572532.tif 000013
【図９Ｅ】
0005572532.tif 000014