(57)【特許請求の範囲】
【請求項１】
立体ディスプレイ上の表示向けにグラフィックスデータを処理するデータ処理方法であって、
ａ）グラフィックスアプリケーションからグラフィックスライブラリーへの第１投影行列呼び出しを途中で押さえるステップと、
ｂ）前記第１投影行列呼び出しは透視投影行列をもたらすことを判定するステップと、
ｃ）前記第１投影行列を前記グラフィックスライブラリーに転送するステップと、
ｄ）前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの第１視点を有する第１図面呼び出しを途中で押さえるステップと、
ｅ）第２視点を有する第２図面呼び出しを生成するステップと、
ｆ）第３視点を有する第３図面呼び出しを生成するステップと、
ｇ）前記第２図面および前記第３図面呼び出しを前記グラフィックスライブラリーに転送するステップと、
ｈ）前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの第２投影行列呼び出しを途中で押さえるステップと、
ｉ）前記第２投影行列呼び出しは正射図投影行列をもたらすことを判定するステップと、
ｊ）前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの前記第１視点を有する第４図面呼び出しを途中で押さえるステップと、
ｋ）前記第４図面呼び出しを前記グラフィックスライブラリーに転送するステップとを有することを特徴とするデータ処理方法。
【請求項２】
前記ステップｂ）は、前記第１投影行列呼び出しが前記グラフィックスライブラリーの透視関数への呼び出しであることを判定するステップを有することを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記グラフィックスライブラリーはＯｐｅｎＧＬ（登録商標）であり、前記透視関数はｇｌＦｒｕｓｔｕｍであることを特徴とする請求項２に記載のデータ処理方法。
【請求項４】
前記ステップｅ）は、
前記第１図面呼び出しの多角形における各頂点のＺ座標を「−１」から「１」の範囲から、「０」から「１」の範囲にマップするステップと、
前記マップされた各Ｚ座標に第１分離値を掛けて前記頂点のオフセット値を計算するステップと、
前記各頂点のＸ座標およびＹ座標を前記頂点の対応オフセット値の関数として変更し、前記頂点を前記第２視点に配置するステップとを有し、
前記ステップｆ）は、
前記第１図面呼び出しにおける多角形の各頂点のＺ座標を「−１」から「１」の範囲から、「０」から「１」の範囲にマップするステップと、
前記マップされた各Ｚ座標に第２分離値を掛けて前記頂点のオフセット値を計算するステップと、
前記各頂点のＸ座標およびＹ座標を前記頂点の対応オフセット値の関数として変更し、前記頂点を前記第３視点に配置するステップとを有することを特徴とする請求項１に記載のデータ処理方法。
【請求項５】
前記第２視点は前記第１視点の左にあり、前記第３視点は前記第１視点の右にあることを特徴とする請求項４に記載のデータ処理方法。
【請求項６】
前記ステップｉ）は、前記第２投影行列呼び出しが前記グラフィックスライブラリーの正射図関数への呼び出しであることを判定するステップを有することを特徴とする請求項１に記載のデータ処理方法。
【請求項７】
前記グラフィックスライブラリーはＯｐｅｎＧＬ（登録商標）であり、前記正射図関数はｇｌＯｒｔｈｏであることを特徴とする請求項６に記載のデータ処理方法。
【請求項８】
前記ステップｉ）は、前記第２投影行列呼び出しの結果生成された投影行列を検査するステップと、前記投影行列は正射図投影行列であることを判定するステップとを有することを特徴とする請求項１に記載のデータ処理方法。
【請求項９】
前記グラフィックスライブラリーはＯｐｅｎＧＬ（登録商標）であり、前記第２投影行列呼び出しはｇｌＬｏａｄＩｄｅｎｔｉｔｙ、ｇｌＬｏａｄＭａｔｒｉｘ、ｇｌＭｕｌｔＭａｔｒｉｘ、ｇｌＲｏｔａｔｅ、ｇｌＴｒａｎｓｌａｔｅ、またはｇｌＳｃａｌｅの１つであることを特徴とする請求項８に記載のデータ処理方法。
【請求項１０】
立体ディスプレイ上の表示向けにグラフィックスデータを処理するデータ処理方法であって、
ａ）グラフィックスアプリケーションからグラフィックスライブラリーへの第１視点を有する第１図面呼び出しを途中で押さえるステップと、
ｂ）投影行列により前記第１図面呼び出しの多角形におけるすべての頂点を変換するステップと、
ｃ）前記変換された多角形における頂点のＺ座標のすべてが互いの所定閾値内にあるのではないことを判定するステップと、
ｄ）第２視点を有する第２図面呼び出しを生成するステップと、
ｅ）第３視点を有する第３図面呼び出しを生成するステップと、
ｆ）前記第２図面および前記第３図面呼び出しを前記グラフィックスライブラリーに転送するステップとを有することを特徴とするデータ処理方法。
【請求項１１】
前記ステップｄ）は、
前記第１図面呼び出しの多角形における各頂点のＺ座標を「−１」から「１」の範囲から、「０」から「１」の範囲にマップするステップと、
前記マップされた各Ｚ座標に第１分離値を掛けて前記頂点のオフセット値を計算するステップと、
前記各頂点のＸ座標およびＹ座標を前記頂点の対応オフセット値の関数として変更し、
前記頂点を第２視点に配置するステップとを有し、
前記ステップｅ）は、
前記第１図面呼び出しにおける多角形の各頂点のＺ座標を「−１」から「１」の範囲から、「０」から「１」の範囲にマップするステップと、
前記マップされた各Ｚ座標に第２分離値を掛けて前記頂点のオフセット値を計算するステップと、
前記各頂点のＸ座標およびＹ座標を前記頂点の対応オフセット値の関数として変更し、前記頂点を第３視点に配置するステップとを有することを特徴とする請求項１０に記載のデータ処理方法。
【請求項１２】
前記第２視点は前記第１視点の左にあり、前記第３視点は前記第１視点の右にあることを特徴とする請求項１１に記載のデータ処理方法。
【請求項１３】
ｇ）グラフィックスアプリケーションからグラフィックスライブラリーへの第１視点を有する第１図面呼び出しを途中で押さえるステップと、
ｈ）投影行列により前記第１図面呼び出しの多角形におけるすべての頂点を変換するステップと、
ｉ）前記変換された多角形における頂点のＺ座標のすべてが互いの所定閾値内にあることを判定するステップと、
ｊ）第４図面呼び出しを前記グラフィックスライブラリーに転送するステップとをさらに有することを特徴とする請求項１０に記載のデータ処理方法。
【請求項１４】
実行されると立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法を実施するコンピューター読み取り可能な命令を有する１つ以上のコンピューター読み取り可能な媒体であって、
前記データを処理する方法は、
ａ）グラフィックスアプリケーションからグラフィックスライブラリーへの第１視点を有する第１図面呼び出しを途中で押さえるステップと、
ｂ）投影行列により前記第１図面呼び出しの多角形におけるすべての頂点を変換するステップと、
ｃ）前記変換された多角形における頂点のＺ座標のすべてが互いの所定閾値内にあるのではないことを判定するステップと、
ｄ）第２視点を有する第２図面呼び出しを生成するステップと、
ｅ）第３視点を有する第３図面呼び出しを生成するステップと、
ｆ）前記第２図面および前記第３図面呼び出しを前記グラフィックスライブラリーに転送するステップを有することを特徴とするコンピューター読み取り可能な媒体。
【請求項１５】
プロセッサーと、
請求項１４に記載のコンピューター読み取り可能な媒体であって、前記プロセッサーにより実行されるよう構成されるコンピューター読み取り可能な命令を有する媒体とを有してなることを特徴とするリアルタイム３Ｄ画像装置。
【請求項１６】
前記リアルタイム３Ｄ画像装置は専用のビデオゲーム機を有することを特徴とする請求項１５に記載のリアルタイム３Ｄ画像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は立体ディスプレイに関する。より具体的に、発明の実施形態は立体ディスプレ
イ上の表示向けにグラフィックスデータを処理することに関する。
【背景技術】
【０００２】
三次元（３Ｄ）の場面を立体ディスプレイ上で呈示するためには場面の、複数の各々多
少異なる視点による２次元（２Ｄ）投影を生成する必要がある。例えば３Ｄの場面につい
て、１つは左側の視点を有するものおよび１つは右側の視点を有するものという２つ２Ｄ
投影を生成することができる（たとえば特許文献１参照）。
【０００３】
従来ビデオゲームソフトウェアアプリケーションなど、リアルタイムのグラフィックス
アプリケーションは３Ｄの場面から複数の２Ｄ投影を生成するためにカスタム表現コード
を含む必要がある。従って従来のリアルタイムグラフィックスアプリケーションは立体表
現に対応できるよう特有に構築されなければならない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６９６５３８６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
立体表現において遭遇する１つの問題は３Ｄコンテンツおよび２Ｄのないよう双方を含
む場面を表現する場合に起こる。図５を参照すると、従来のビデオゲームからの場面例１
００が開示される。図５に開示されるように、場面例１００は人間役１０２、車両１０４
、および建物１０６など３Ｄコンテンツを含む。場面例１００はさらに場面例１００の上
に重ねられるヘッドアップディスプレイ（以降、ＨＵＤという）１０８からなる２Ｄコン
テンツも含む。ＨＵＤ１０８はプレーヤーが蓄積した点および命およびゲーム終了までど
れだけの時間が残るかを表示する。
【０００６】
従来のリアルタイムグラフィックスアプリケーションは場面の２Ｄコンテンツおよび３
Ｄコンテンツを本質的に区別することができる。従ってこのようなアプリケーションがカ
スタム立体表現コードを含む場合、アプリケーションは既知の２Ｄコンテンツに対し単一
の２Ｄ投影を生成し、既知の３Ｄコンテンツに対し複数の２Ｄ投影を生成することができ
る。これらの投影は次にグラフィックスライブラリーに送信され、これが立体ディスプレ
イ上の投影表現を円滑にする。
【０００７】
カスタム立体表現コードを従来のリアルタイムグラフィックスアプリケーションに組み
入れる際、１つの問題はアプリケーションを異なるさまざまな立体ディスプレイと互換性
を持たせることである。各製造者の立体ディスプレイは各々独自の明確な表現要件のセッ
トを有するかもしれないので互換性を達成することは困難であり得る。従って、カスタム
立体表現コードを各製造者の立体ディスプレイについて提供する必要がある。従ってカス
タム立体表現コードの量が増えるに従いグラフィックスアプリケーションのコストと複雑
さが増加する。従ってさまざまな立体ディスプレイと幅広く互換性を持たせることは法外
に高価になり得る。
【０００８】
加えて、グラフィックスアプリケーションのリリース後に新規立体ディスプレイが製造
された場合、新規立体ディスプレイと互換性を持たせるためには新規立体ディスプレイ向
けにカスタマイズされた新しい立体表現コードでグラフィックスアプリケーションを更新
する必要がある。新規立体ディスプレイとの互換性のためにこのようにグラフィックスア
プリケーションを更新することも法外に高価になり得る。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明のデータ処理方法は、立体ディスプレイ上の表示
向けにグラフィックスデータを処理するデータ処理方法であって、ａ）グラフィックスア
プリケーションからグラフィックスライブラリーへの第１投影行列呼び出しを途中で押さ
えるステップと、ｂ）前記第１投影行列呼び出しは透視投影行列をもたらすことを判定す
るステップと、ｃ）前記第１投影行列を前記グラフィックスライブラリーに転送するステ
ップと、ｄ）前記グラフィックスアプリケーションから前記グラフィックスライブラリー
への第１視点を有する第１図面呼び出しを途中で押さえるステップと、ｅ）第２視点を有
する第２図面呼び出しを生成するステップと、ｆ）第３視点を有する第３図面呼び出しを
生成するステップと、ｇ）前記第２図面および前記第３図面呼び出しを前記グラフィック
スライブラリーに転送するステップとを有することを特徴とする。
【００１０】
また本発明のデータ処理方法において、前記ステップｂ）は、前記第１投影行列呼び出
しが前記グラフィックスライブラリーの透視関数への呼び出しであることを判定するステ
ップを有することを特徴とする。
【００１１】
また本発明のデータ処理方法において、前記グラフィックスライブラリーはＯｐｅｎＧ
Ｌ（登録商標）であり、前記透視関数はｇｌＦｒｕｓｔｕｍであることを特徴とする。
【００１２】
また本発明のデータ処理方法において、前記ステップｅ）は、前記第１図面呼び出しの
多角形における各頂点のＺ座標を「−１」から「１」の範囲から、「０」から「１」の範
囲にマップするステップと、前記マップされた各Ｚ座標に第１分離値を掛けて前記頂点の
オフセット値を計算するステップと、前記各頂点のＸ座標およびＹ座標を前記頂点の対応
オフセット値の関数として変更し、前記頂点を前記第２視点に配置するステップとを有し
、前記ステップｆ）は、前記第１図面呼び出しにおける多角形の各頂点のＺ座標を「−１
」から「１」の範囲から、「０」から「１」の範囲にマップするステップと、前記マップ
された各Ｚ座標に第２分離値を掛けて前記頂点のオフセット値を計算するステップと、前
記各頂点のＸ座標およびＹ座標を前記頂点の対応オフセット値の関数として変更し、前記
頂点を前記第３視点に配置するステップとを有することを特徴とする。
【００１３】
また本発明のデータ処理方法において、前記第２視点は前記第１視点の左にあり、前記
第３視点は前記第１視点の右にあることを特徴とする。
【００１４】
また本発明のデータ処理方法において、ｈ）前記グラフィックスアプリケーションから
前記グラフィックスライブラリーへの第２投影行列呼び出しを途中で押さえるステップと
、ｉ）前記第２投影行列呼び出しは正射図投影行列をもたらすことを判定するステップと
、ｊ）前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの前
記第１視点を有する第４図面呼び出しを途中で押さえるステップと、ｋ）前記第４図面呼
び出しを前記グラフィックスライブラリーに転送するステップとをさらに有することを特
徴とする。
【００１５】
また本発明のデータ処理方法において、前記ステップｉ）は、前記第２投影行列呼び出
しが前記グラフィックスライブラリーの正射図関数への呼び出しであることを判定するス
テップを有することを特徴とする。
【００１６】
また本発明のデータ処理方法において、前記グラフィックスライブラリーはＯｐｅｎＧ
Ｌ（登録商標）であり、前記正射図関数はｇｌＯｒｔｈｏであることを特徴とする。
【００１７】
また本発明のデータ処理方法において、前記ステップｉ）は、前記第２投影行列呼び出
しの結果生成された投影行列を検査するステップと、前記投影行列は正射図投影行列であ
ることを判定するステップとを有することを特徴とする。
【００１８】
また本発明のデータ処理方法において、前記グラフィックスライブラリーはＯｐｅｎＧ
Ｌ（登録商標）であり、前記第２投影行列呼び出しはｇｌＬｏａｄＩｄｅｎｔｉｔｙ、ｇ
ｌＬｏａｄＭａｔｒｉｘ、ｇｌＭｕｌｔＭａｔｒｉｘ、ｇｌＲｏｔａｔｅ、ｇｌＴｒａｎ
ｓｌａｔｅ、またはｇｌＳｃａｌｅの１つであることを特徴とする。
【００１９】
ここで本発明のデータ処理方法は、立体ディスプレイ上の表示向けにグラフィックスデ
ータを処理するデータ処理方法であって、ａ）グラフィックスアプリケーションからグラ
フィックスライブラリーへの第１視点を有する第１図面呼び出しを途中で押さえるステッ
プと、ｂ）投影行列により前記第１図面呼び出しの多角形におけるすべての頂点を変換す
るステップと、ｃ）前記変換された多角形における頂点のＺ座標のすべてが互いの所定閾
値内にあるのではないことを判定するステップと、ｄ）第２視点を有する第２図面呼び出
しを生成するステップと、ｅ）第３視点を有する第３図面呼び出しを生成するステップと
、ｆ）前記第２図面および前記第３図面呼び出しを前記グラフィックスライブラリーに転
送するステップとを有することを特徴とする。
【００２０】
また本発明のデータ処理方法において、前記ステップｄ）は、前記第１図面呼び出しの
多角形における各頂点のＺ座標を「−１」から「１」の範囲から、「０」から「１」の範
囲にマップするステップと、前記マップされた各Ｚ座標に第１分離値を掛けて前記頂点の
オフセット値を計算するステップと、前記各頂点のＸ座標およびＹ座標を前記頂点の対応
オフセット値の関数として変更し、前記頂点を第２視点に配置するステップとを有し、前
記ステップｅ）は、前記第１図面呼び出しにおける多角形の各頂点のＺ座標を「−１」か
ら「１」の範囲から、「０」から「１」の範囲にマップするステップと、前記マップされ
た各Ｚ座標に第２分離値を掛けて前記頂点のオフセット値を計算するステップと、前記各
頂点のＸ座標およびＹ座標を前記頂点の対応オフセット値の関数として変更し、前記頂点
を第３視点に配置するステップとを有することを特徴とする。
【００２１】
また本発明のデータ処理方法において、前記第２視点は前記第１視点の左にあり、前記
第３視点は前記第１視点の右にあることを特徴とする。
【００２２】
また本発明のデータ処理方法において、ｇ）グラフィックスアプリケーションからグラ
フィックスライブラリーへの第１視点を有する第１図面呼び出しを途中で押さえるステッ
プと、ｈ）投影行列により前記第１図面呼び出しの多角形におけるすべての頂点を変換す
るステップと、ｉ）前記変換された多角形における頂点のＺ座標のすべてが互いの所定閾
値内にあることを判定するステップと、ｊ）第４図面呼び出しを前記グラフィックスライ
ブラリーに転送するステップとをさらに有することを特徴とする。
【００２３】
ここで本発明のコンピューター読み取り可能な媒体は、実行されると立体ディスプレイ
上の表示向けにグラフィックスデータを処理する方法を実施するコンピューター読み取り
可能な命令を有する１つ以上のコンピューター読み取り可能な媒体であって、前記データ
を処理する方法は、ａ）グラフィックスアプリケーションからグラフィックスライブラリ
ーへの第１投影行列呼び出しを途中で押さえるステップと、ｂ）前記第１投影行列呼び出
しは透視投影行列をもたらすことを判定するステップと、ｃ）前記第１投影行列を前記グ
ラフィックスライブラリーに転送するステップと、ｄ）前記グラフィックスアプリケーシ
ョンから前記グラフィックスライブラリーへの第１視点を有する第１図面呼び出しを途中
で押さえるステップと、ｅ）第２視点を有する第２図面呼び出しを生成するステップと、
ｆ）第３視点を有する第３図面呼び出しを生成するステップと、ｇ）前記第２図面および
前記第３図面呼び出しを前記グラフィックスライブラリーに転送するステップとを有する
ことを特徴とする。
【００２４】
さらに本発明のリアルタイム３Ｄ画像装置は、プロセッサーと、前記に記載のコンピュ
ーター読み取り可能な媒体であって、前記プロセッサーにより実行されるよう構成される
コンピューター読み取り可能な命令を有する媒体とを有することを特徴とする。
【００２５】
また前記リアルタイム３Ｄ画像装置は専用のビデオゲーム機を有していることを特徴と
する。
【００２６】
一方、本発明のコンピューター読み取り可能な媒体は、実行されると立体ディスプレイ
上の表示向けにグラフィックスデータを処理する方法を実施するコンピューター読み取り
可能な命令を有する１つ以上のコンピューター読み取り可能な媒体であって、前記データ
を処理する方法は、ａ）グラフィックスアプリケーションからグラフィックスライブラリ
ーへの第１視点を有する第１図面呼び出しを途中で押さえるステップと、ｂ）投影行列に
より前記第１図面呼び出しの多角形におけるすべての頂点を変換するステップと、ｃ）前
記変換された多角形における頂点のＺ座標のすべてが互いの所定閾値内にあるのではない
ことを判定するステップと、ｄ）第２視点を有する第２図面呼び出しを生成するステップ
と、ｅ）第３視点を有する第３図面呼び出しを生成するステップと、ｆ）前記第２図面お
よび前記第３図面呼び出しを前記グラフィックスライブラリーに転送するステップを有す
ることを特徴とする。
【００２７】
さらに本発明のリアルタイム３Ｄ画像装置は、プロセッサーと、前記に記載されるコン
ピューター読み取り可能な媒体であって、前記プロセッサーにより実行されるよう構成さ
れるコンピューター読み取り可能な命令を有する媒体とを有することを特徴とする。
【図面の簡単な説明】
【００２８】
【図１】リアルタイム３Ｄ画像装置例および立体ディスプレイ装置例の概略図。
【図２】グラフィックスアプリケーション例およびグラフィックスライブラリー間に配置されたインターセプター例の概略図。
【図３】立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法例のフローチャート。
【図４】立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法例のフローチャート。
【図５】従来のビデオゲームからの場面例を表す図。
【発明を実施するための形態】
【００２９】
上記および発明の実施形態例における別の態様をさらに展開するために、添付図面に開
示される発明の具体的な実施形態を参照することにより発明のより詳しい説明がなされる
。これらの図面は発明の実施形態例を描写するだけで、従ってその範囲を限定するものと
はみなされないことが理解されよう。発明の実施形態例は添付図面を用いることによりさ
らに具体的かつ詳細に開示され説明される。
【００３０】
全般的に、実施形態例は立体ディスプレイ上の表示用にグラフィックスデータを処理す
ることに関する。本明細書に開示される実施形態例はグラフィックスアプリケーションか
らの３Ｄグラフィックスデータを、グラフィックスアプリケーションを変更することなく
立体ディスプレイ上の表示向けに変更できるようにする。
【００３１】
第１の実施形態例で、立体ディスプレイ上の表示向けにグラフィックスデータを処理す
る方法がいくつかのステップを含む。まず、グラフィックスアプリケーションからグラフ
ィックスライブラリーへの第１投影行列呼び出しが途中で押さえられる。次に第１投影行
列が透視投影行列をもたらすことが判定される。次に第１投影行列呼び出しがグラフィッ
クスライブラリーに転送される。次に、グラフィックスアプリケーションからグラフィッ
クスライブラリーへの第１視点を有する第１図面の呼び出しが途中で押さえられる。次に
、第２視点を有する第２図面の呼び出しが生成される。次に、第３視点を有する第３図面
の呼び出しが生成される。最後に、第２図面および第３図面の呼び出しがグラフィックス
ライブラリーに転送される。
【００３２】
第２の実施形態例で、立体ディスプレイ上の表示向けにグラフィックスデータを処理す
る方法がいくつかのステップを含む。まず、グラフィックスアプリケーションからグラフ
ィックスライブラリーへの第１視点を有する第１図面の呼び出しが途中で押さえられる。
次に第１図面の呼び出しの多角形における頂点がすべて投影行列により変換される。次に
、多角形の変換された頂点のＺ座標がすべて互いの所定閾値内にあるのではないことが判
定される。次に、第２視点を有する第２図面の呼び出しが生成される。次に、第３視点を
有する第３図面の呼び出しが生成される。最後に、第２図面および第３図面の呼び出しが
グラフィックスライブラリーに転送される。
【００３３】
第３の実施形態例で、１つ以上のコンピューター読み取り可能な媒体が実行されると第
１の実施形態例に関連して上述した立体ディスプレイ上の表示向けにグラフィックスデー
タを処理する方法が実施されるコンピューター読み取り可能な命令を有する。
【００３４】
第４の実施形態例で、１つ以上のコンピューター読み取り可能な媒体が実行されると第
２の実施形態例に関連して上述した立体ディスプレイ上の表示向けにグラフィックスデー
タを処理する方法が実施されるコンピューター読み取り可能な命令を有する。
【００３５】
上記は以下の説明においてさらに詳細に説明されるいくつかの概念を簡単な形で紹介す
るために提供される。これはクレームされる主題の主要な特徴または不可欠な特徴を特定
することを意図せず、またクレームされる主題の範囲を判断する手掛かりとして用いられ
ることを意図していない。
【００３６】
さらなる特徴は続く説明に記載され、ある程度説明から明らかとなり、または本明細書
の教示を実施することにより知ることができる。発明の特徴は添付クレームで詳しく指摘
される手段および組み合わせにより実現し、取得することができる。本発明の特徴は続く
説明および添付クレームからより詳しく明らかになり、または本明細書で以下に記載され
る発明の実施により知ることができる。
【００３７】
全般的に、実施形態例は立体ディスプレイ上の表示用にグラフィックスデータを処理す
ることに関する。本明細書に開示される実施形態例はグラフィックスアプリケーションか
らの３Ｄグラフィックスデータを、グラフィックスアプリケーションを変更することなく
立体ディスプレイ上の表示向けに変更できるようにする。
【００３８】
本明細書で開示される実施形態例はグラフィックスソフトウェアアプリケーション基盤
ではなく、グラフィックスライブラリー基盤のインターセプターを用いることを含む。イ
ンターセプターは任意のリアルタイムグラフィックスソフトウェアアプリケーションおよ
びリアルタイムグラフィックスソフトウェアアプリケーションにより使用されるグラフィ
ックスライブラリー間に配置することができる。グラフィックスライブラリーの例はＯｐ
ｅｎＧＬ（登録商標）およびＤＩＲＥＣＴ３Ｄ（登録商標）を含むが、本明細書で開示さ
れる実施形態例はこれらのグラフィックスライブラリー例に限定されない。
【００３９】
リアルタイムグラフィックスソフトウェアアプリケーションはグラフィックスライブラ
リーを用いてソフトウェアアプリケーションからの場面を表現する。インターセプターは
グラフィックスライブラリーにより最終的に出力される画像が特定の立体ディスプレイま
たはディスプレイ装置と互換性があるようアプリケーションによる呼び出しを変更するた
めにグラフィックスソフトウェアアプリケーションと同時に実行できる、ファイルなどソ
フトウェアの別個の構成要素であることができる。本明細書で開示されるインターセプタ
ーに基づく実施形態はグラフィックスソフトウェアアプリケーションおよびビデオドライ
バーの制作者にとり、これらのアプリケーションおよびドライバーが特定の立体ディスプ
レイと互換性を持たせるために変更する必要がないのでコストがかからず、負担にならな
い。従って従来の非立体型ディスプレイのみと互換性があるように制作されたソフトウェ
アアプリケーションはソフトウェアアプリケーションまたはそれらに対応する非立体ビデ
オドライバーを何ら変更することなくさまざまな異なる立体または裸眼立体ディスプレイ
と互換性があるようにすることができる。
【００４０】
次に図１を参照すると、本明細書で開示される方法例が実施され得る環境例２００が開
示される。環境例２００は３Ｄ画像装置２０２および立体ディスプレイ装置２０４を含む
。
【００４１】
一般的に、３Ｄ画像装置２０２は任意の汎用または特殊用途のコンピューターであって
良い。汎用コンピューターの例はデスクトップコンピューター、ラップトップコンピュー
ター、およびサーバーを含むが、これらに限定されない。特殊用途のコンピューターは任
天堂（登録商標）Ｗｉｉ（登録商標）およびＤＳ  Ｌｉｔｅ（登録商標）、ならびにゲー
ムボーイＭＩＣＲＯ（登録商標）およびゲームボーイＡＤＶＡＮＣＥ（登録商標）  ＳＰ
、マイクロソフト（登録商標）ＸＢＯＸ  ３６０（登録商標）およびＸＢＯＸ  ３６０（
登録商標）  Ｅｌｉｔｅ、ならびにソニー（登録商標）ＰｌａｙＳｔａｔｉｏｎ  ３（登
録商標）およびＰＳＰ２０００を含むが、これらに限定されない。
【００４２】
図５に開示されるように、３Ｄ画像装置２０２はプロセッサー２０６、メモリー２０８
、および介在するインターフェイス２１０を含む。プロセッサー２０６はメモリー２０８
およびインターフェイス２１０双方と通信する。プロセッサー２０６は介在するインター
フェイス２１０経由で立体ディスプレイ装置２０４とデータを交換することができる。例
えば３Ｄ画像装置２０２により生成された３Ｄグラフィックスデータは立体ディスプレイ
装置２０４に送信され、立体ディスプレイ装置２０４上で表示されることができる。
【００４３】
一般的に、メモリー２０８はコンピューター実行可能な命令またはデータ構造を搭載し
、または有する任意のコンピューター読み取り可能な媒体であって良い。このようなコン
ピューター読み取り可能な媒体はプロセッサー２０６がアクセスできる任意の入手可能な
媒体であって良い。限定ではなく例として、このようなコンピューター読み取り可能な媒
体はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気
ディスク記憶装置もしくは他の磁気記憶装置、またはコンピューター実行可能な命令もし
くはデータ構造の形でプログラムコードを搭載し、または記憶するために用いることがで
き、プロセッサー２０６がアクセスできる他の任意の媒体であることができる。上述の組
み合わせもコンピューター読み取り可能な媒体の範囲に含まれるべきである。
【００４４】
コンピューター実行可能な命令は例えばプロセッサー２０６に特定の機能または機能の
グループを行わせる命令およびデータを有してなる。本明細書で開示される方法例は方法
ステップ特有の言葉で説明されるが、添付クレームに定義される主題は必ずしも本明細書
に説明される具体的なステップに限定されるものではないことが理解される。逆に、本明
細書で説明される具体的なステップはクレームを実施する形態の例として開示される。
【００４５】
プロセッサー２０６は例えばメモリー２０８に記憶されるコンピューター実行可能な命
令を用いて本明細書で開示される方法例などの特定機能または機能のグループを実施する
。例えば３Ｄグラフィックスアプリケーションおよびグラフィックスライブラリーがメモ
リー２０８に記憶されている場合、プロセッサー２０６は３Ｄグラフィックスアプリケー
ションの方法ステップを実施してグラフィックスライブラリーへの呼び出しを生成するこ
とができる。これに応答してグラフィックスライブラリーはプロセッサー２０６が立体デ
ィスプレイ装置２０４上の表示向けに介在するインターフェイス２１０を通して送信する
２Ｄ画像を生成する。
【００４６】
一般的に、立体ディスプレイ装置２０４は立体ディスプレイ装置２０４上で表示される
２Ｄ画像において奥行きの錯覚を作り出すことができる任意の装置であって良い。図１で
開示されるように、立体ディスプレイ装置２０４はリアルタイム３Ｄ画像装置としての３
Ｄ画像装置２０２から２Ｄ画像を受信することができる。３Ｄ画像装置からの画像におけ
る奥行きの錯覚は一般的にユーザーの各々の目にやや異なる画像を呈示することにより作
り出される。
【００４７】
立体ディスプレイ装置２０４はさらに裸眼立体ディスプレイ装置であって良い。例えば
、立体ディスプレイ装置２０４は２００６年２月１４日に申請された米国特許出願公開第
２００６／０２０９３７１Ａ１号明細書で開示される画像装置１に実質的に類似している
ことができ、同出願の開示は引用により全体として本明細書に組み入れられる。
【００４８】
本明細書で開示される方法例は環境例２００における実施のみに限定されず、代わりに
他の環境で実施し得ることが理解されよう。例えば、本明細書で開示される方法例は３Ｄ
画像装置２０２および立体ディスプレイ装置２０４の要素を組み合わせた独立型立体装置
で実施することができる。本明細書で開示される方法例は本明細書で開示されるようなソ
フトウェアアプリケーション、インターセプター、およびグラフィックスライブラリーを
実行し得る他の環境で実施することができる。
【００４９】
次に図２を参照すると、グラフィックスアプリケーション３０４およびグラフィックス
ライブラリー３０６間に配置されたインターセプター３０２が開示される。インターセプ
ター３０２、グラフィックスアプリケーション３０４、およびグラフィックスライブラリ
ー３０６は図１の３Ｄ画像装置２０２など単独の３Ｄ画像装置において記憶され実行され
ることができる。
【００５０】
本明細書で開示される方法例はインターセプター３０２により実施することができる。
インターセプター３０２はグラフィックスアプリケーション３０４からグラフィックスラ
イブラリー３０６への呼び出しを途中で押さえることができる。インターセプター３０２
は一般的に場面における３Ｄの内容（例えば図５の場面例１００における人間役１０２、
車両１０４、および建物１０６）と場面における２Ｄの内容（例えば図５の場面例１００
におけるＨＵＤ１０８）を区別することができ、場面における３Ｄの内容のみを立体表示
向けに変更する。インターセプター３０２を用いることにより、任意のリアルタイムグラ
フィックスアプリケーションがアプリケーションのソースコードを変更することなく立体
ディスプレイと互換性を持たせることができる。図２で開示されるように、インターセプ
ター３０２は投影行列呼び出し３０８を変更するすべての呼び出し、すべての図面呼び出
し、およびすべてのＥｎｄ  Ｆｒａｍｅ（フレーム終了）呼び出し（ダブルバッファーリ
ング方式が用いられる場合、この呼び出しはＯｐｅｎＧＬ（登録商標）のＳｗａｐＢｕｆ
ｆｅｒｓ呼び出しであることができる）を捕捉する。Ｅｎｄ  Ｆｒａｍｅ（フレーム終了
）呼び出しを捕捉することによりインターセプター３０２は任意のブレンディング操作、
およびディスプレイ装置固有の操作を行なうことができる。インターセプター３０２はさ
らに１つのフレームバッファーを用いて複数の視点の画像を表現することができる。
【００５１】
次に図３、図４を参照すると、立体ディスプレイ上の表示向けにグラフィックスデータ
を処理する方法４００が開示される。次に図２に関連して方法４００を考察する。
【００５２】
ステップＳ４０２において、グラフィックスアプリケーション３０４はグラフィックス
ライブラリーに投影行列呼び出し３０８を送信する。ステップＳ４０４において、インタ
ーセプター３０２は投影行列呼び出し３０８を途中で押さえる。
【００５３】
ステップＳ４０６において、インターセプター３０２は投影行列呼び出し３０８がグラ
フィックスライブラリー３０６の透視関数への呼び出しか判定する。例えばグラフィック
スライブラリー３０６がＯｐｅｎＧＬ（登録商標）の場合、インターセプター３０２は投
影行列呼び出し３０８が透視関数ｇｌＦｒｕｓｔｕｍへの呼び出しか判定することができ
る。インターセプター３０２が投影行列呼び出し３０８はグラフィックスライブラリー３
０６の透視関数への呼び出しであると判定した場合、インターセプター３０２は正射図フ
ラグを下げるステップＳ４０８に進む。インターセプター３０２は次にグラフィックスラ
イブラリー３０６に投影行列呼び出し３０８を転送するステップＳ４１０に進む。ステッ
プＳ４１２において、グラフィックスライブラリー３０６は見変更の投影行列呼び出し３
０８を受信する。
【００５４】
しかしインターセプター３０２が投影行列呼び出し３０８はグラフィックスライブラリ
ー３０６の透視関数への呼び出しではないと判定した場合、インターセプター３０２は投
影行列呼び出し３０８がグラフィックスライブラリー３０６の正射図関数への呼び出しで
あるか判定するステップＳ４１４に進む。例えば、グラフィックスライブラリー３０６が
ＯｐｅｎＧＬ（登録商標）である場合、インターセプター３０２は投影行列呼び出し３０
８がグラフィックスライブラリー３０６の奥行き関数ｇｌＯｒｔｈｏへの呼び出しか判定
することができる。インターセプター３０２が投影行列呼び出し３０８はグラフィックス
ライブラリー３０６の正射図関数への呼び出しであると判定した場合、インターセプター
３０２は正射図フラグを揚げるステップＳ４１６に進む。インターセプター３０２は次に
投影行列呼び出し３０８をグラフィックスライブラリー３０６に転送するステップＳ４１
０に進み、ステップＳ４１２においてグラフィックスライブラリー３０６は未変更の投影
行列呼び出し３０８を受信する。
【００５５】
しかしインターセプター３０２が投影行列呼び出し３０８はグラフィックスライブラリ
ー３０６の透視関数または正射図関数のいずれへの呼び出しでもないと判定した場合、イ
ンターセプター３０２は投影行列呼び出し３０８の結果生成された投影行列を検査し、投
影行列が正射図の投影行列であるかを判定するステップＳ４１８に進む。例えば、グラフ
ィックスライブラリー３０６がＯｐｅｎＧＬ（登録商標）である場合、投影行列呼び出し
３０８はｇｌＬｏａｄＩｄｅｎｔｉｔｙ、ｇｌＬｏａｄＭａｔｒｉｘ、ｇｌＭｕｌｔＭａ
ｔｒｉｘ、ｇｌＲｏｔａｔｅ、ｇｌＴｒａｎｓｌａｔｅ、またはｇｌＳｃａｌｅを含むが
これらに限定されず、さまざまな他の関数の１つへの呼び出しかもしれない。
【００５６】
検査の後インターセプター３０２が投影行列は正射図の投影行列であると判定した場合
、インターセプター３０２はステップＳ４１６に進み正射図フラグを揚げる。インターセ
プター３０２は次に投影行列呼び出し３０８をグラフィックスライブラリー３０６に転送
するステップＳ４１０に進み、ステップＳ４１２においてグラフィックスライブラリー３
０６は未変更の投影行列呼び出し３０８を受信する。
【００５７】
しかし検査の後インターセプター３０２が投影行列は正射図の投影行列であるか決定的
でないと判定した場合、インターセプター３０２はステップＳ４２０に進みフラグを中立
に設定する。インターセプター３０２は次に投影行列呼び出し３０８をグラフィックスラ
イブラリー３０６に転送するステップＳ４１０に進み、ステップＳ４１２においてグラフ
ィックスライブラリー３０６は未変更の投影行列呼び出し３０８を受信する。
【００５８】
続いてステップＳ４２２において、グラフィックスアプリケーション３０４によりグラ
フィックスライブラリー３０６に図面呼び出し３１０が送信される。上述の投影行列呼び
出し３０８と同じく、図面呼び出し３１０はステップＳ４２４においてインターセプター
３０２により同様に途中で押さえられる。図面呼び出し３１０は第１視点を有する。第１
視点は例えば図５で開示される場面例１００ｎ視点であることができる。
【００５９】
ステップＳ４２６において、インターセプター３０２は正射図フラグが揚げられている
か判定する。インターセプター３０２が正射図フラグは揚げられていると判定した場合、
インターセプター３０２は未変更の図面呼び出し３１０をグラフィックスライブラリー３
０６に転送するステップＳ４２８に進む。ステップＳ４３０において、グラフィックスラ
イブラリーは未変更の図面呼び出し３１０を受信する。
【００６０】
しかしインターセプター３０２が正射図フラグは揚げられていないと判定した場合、イ
ンターセプター３０２は正射図フラグが下げられているかを判定するステップＳ４３２に
進む。正射図フラグが下げられている場合、インターセプター３０２は第２視点を有する
第２図面呼び出しを生成し、第３視点を有する第３図面呼び出しを生成するステップＳ４
３４に進む。例えば、第２視点は第１視点のやや左寄りであることができ、第３視点は第
１視点のやや右寄りであることができる。
【００６１】
第２視点の生成は例えば図面呼び出し３１０における多角形の各頂点のＺ座標を「−１
」から「１」の範囲から「０」から「１」の範囲にマップし、マップされた各Ｚ座標に第
１分離値を掛けて頂点のオフセット値を計算し、各頂点のＸ座標およびＹ座標を頂点の対
応オフセット値の関数として変更し頂点を第２視点において配置することにより達成され
る。本例における第１分離値は第２視点が第１視点よりやや左寄りにシフトされた視点に
するかもしれない。第３視点の生成は、第３視点が第１視点よりやや左寄りにシフトされ
た視点になるような第２分離値を用い得ることを除き例えば第２視点の生成と同じような
形で達成できる。
【００６２】
インターセプター３０２がステップＳ４３４において第２図面および第３図面呼び出し
を生成すると、インターセプター３０２は第２図面および第３図面呼び出しをグラフィッ
クスライブラリーに転送するステップＳ４３６に進む。ステップＳ４３８において、グラ
フィックスライブラリーは第２図面および第３図面呼び出しを受信する。
【００６３】
しかしインターセプター３０２が正射図フラグは揚げられてもいなく、下げられてもい
ないことを判定した場合、インターセプター３０２は図面呼び出し３１０における多角形
のすべての頂点を投影行列により変換するステップＳ４４０に進む。次にステップＳ４４
２において、インターセプター３０２は多角形の変換された頂点のＺ座標すべてが互いに
所定の閾値内にあるか判定する。インターセプター３０２が多角形の変換された頂点のＺ
座標すべてが互いに所定の閾値内にあると判定した場合、インターセプター３０２は上述
のステップＳ４２８に進み、これは上述のステップＳ４３０をもたらす。
【００６４】
しかしインターセプター３０２が多角形の変換された頂点のＺ座標すべてが互いに所定
の閾値内にないと判定した場合、インターセプター３０２は上述のステップＳ４３４およ
びステップＳ４３６に進み、これは上述のステップＳ４３８をもたらす。
【００６５】
本明細書で開示される実施形態例は他の具体的な形に具現されることができる。本明細
書で開示される実施形態例はすべての面で限定的ではなく、単に例示的とみなされる。
【符号の説明】
【００６６】
２００…環境例、２０２…リアルタイム３Ｄ画像装置としての３Ｄ画像装置、２０４…
立体ディスプレイ装置、２０６…プロセッサー、２０８…メモリー、２１０…インターフ
ェイス、３０４…グラフィックスアプリケーション、３０６…グラフィックスライブラリ
ー。
【図１】
0005212168.tif 000002
【図２】
0005212168.tif 000003
【図３】
0005212168.tif 000004
【図４】
0005212168.tif 000005
【図５】
0005212168.tif 000006