(57)【要約】情報処理装置は、視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示する。情報処理装置は、視野データに従って、オブジェクト・データから複数のオブジェクトの画像を生成して、２次元フレーム上にその生成された画像をレンダリングする制御手段を具える。その制御手段は、複数のオブジェクトの間のリンクを表すリンク・データに従って複数のオブジェクトを階層的にソートする。その制御手段は、１つのオブジェクトの画像とこの１つのオブジェクトがリンクされる別のオブジェクトの画像をレンダリングし、その際、その１つのオブジェクトの画像のレンダリングの開始前に、終了後に、またはその開始と終了の間に、その別のオブジェクトの画像をレンダリングする。
2003034343.tif 000002
【特許請求の範囲】
【請求項１】
視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示する情報処理装置であって、
前記視野データは前記仮想空間における視野および視点を規定するものであり、
オブジェクト・データを格納するメモリと、
前記視野データに従って、前記メモリに格納されている前記オブジェクト・データから前記複数のオブジェクトの画像を生成して、２次元フレーム上に前記生成された画像をレンダリングする制御手段と、
を具え、
前記制御手段は、前記レンダリングのために、前記複数のオブジェクトの間のリンクを表すリンク・データに従って前記複数のオブジェクトを階層的にソートするものである、
情報処理装置。
【請求項２】
前記制御手段は、前記階層的なソートによって決定された順序と前記リンク・データとに従って、前記複数のオブジェクトの画像および／または部分画像をレンダリングするものである、請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記階層的なソートによって決定された順序に従って前記複数のオブジェクトの画像および／または部分画像をレンダリングし、
前記制御手段は、１つのオブジェクトとこの１つのオブジェクトがリンクされる１つ以上の他のオブジェクトとからなるグループについて、前記グループのオブジェクトの画像および／または部分画像を前記視点からの距離に従って順にレンダリングするものである、
請求項１に記載の情報処理装置。
【請求項４】
視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示する情報処理装置であって、
前記視野データは前記仮想空間における視点および視野を規定するものであり、
オブジェクト・データを格納するメモリと、
前記視野データに従って、前記メモリに格納されている前記オブジェクト・データから前記複数のオブジェクトの画像を生成して、２次元フレーム上に前記生成された画像をレンダリングする制御手段と、
を具え、
前記制御手段は、１つのオブジェクトの画像と前記１つのオブジェクトがリンクされる別のオブジェクトの画像とをレンダリングし、その際、前記１つのオブジェクトの画像のレンダリングの開始前に、終了後に、または前記開始と終了の間に、前記別のオブジェクトの画像をレンダリングするものである、
情報処理装置。
【請求項５】
前記制御手段は、前記１つのオブジェクトの画像または複数の部分画像と、前記別のオブジェクトの画像を、前記視点からの距離に従って順にレンダリングするものである、請求項４に記載の情報処理装置。
【請求項６】
情報処理装置において使用するのための、視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示するための記憶媒体に格納されたプログラムであって、
前記視野データは前記仮想空間における視野および視点を規定するものであり、
前記複数のオブジェクトの間のリンクを表すリンク・データに従って前記複数のオブジェクトを階層的にソートするステップと、
前記視野データに従って、前記オブジェクト・データから前記複数のオブジェクトの画像を生成するステップと、
前記階層的なソートによって決定された順序に従って、２次元フレーム上に前記生成された画像をレンダリングするステップと、
を実行させるよう動作可能なプログラム。
【請求項７】
前記レンダリングするステップは、前記階層的なソートによって決定された順序と前記リンク・データとに従って、前記複数のオブジェクトの画像および／または部分画像をレンダリングすることを含むものである、請求項６に記載のプログラム。
【請求項８】
前記レンダリングするステップは、前記階層的なソートによって決定された順序に従って前記複数のオブジェクトの画像および／または部分画像をレンダリングすることを含み、
前記レンダリングするステップは、１つのオブジェクトとこの１つのオブジェクトがリンクされる１つ以上の他のオブジェクトとからなるグループについて、前記グループのオブジェクトの画像および／または部分画像を前記視点からの距離に従って順にレンダリングすることを含むものである、
請求項６に記載のプログラム。
【請求項９】
情報処理装置において使用するのための、視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示するための記憶媒体に格納されたプログラムであって、
前記視野データは前記仮想空間における視野および視点を規定するものであり、
前記視野データに従って、前記オブジェクト・データから前記複数のオブジェクトの画像を生成するステップと、
２次元フレーム上に前記生成された画像をレンダリングするステップと、
を実行させるよう動作可能であり、
前記レンダリングするステップは、１つのオブジェクトの画像と前記１つのオブジェクトがリンクされる別のオブジェクトの画像とをレンダリングすることを含み、その際、前記１つのオブジェクトの画像のレンダリングの開始前に、終了後に、または前記開始と終了の間に、前記別のオブジェクトの画像をレンダリングするものである、
プログラム。
【請求項１０】
前記レンダリングするステップは、前記１つのオブジェクトの画像または複数の部分画像と、前記別のオブジェクトの画像を、前記視点からの距離に従って順にレンダリングすることを含むものである、請求項９に記載のプログラム。
【請求項１１】
視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示するためのオブジェクト・データ処理方法であって、
前記視野データは前記仮想空間における視野および視点を規定するものであり、
前記複数のオブジェクトの間のリンクを表すリンク・データに従って前記複数のオブジェクトを階層的にソートするステップと、
前記視野データに従って、前記オブジェクト・データから前記複数のオブジェクトの画像を生成するステップと、
前記階層的なソートによって決定された順序に従って、２次元フレーム上に前記生成された画像をレンダリングするステップと、
を含む、オブジェクト・データ処理方法。
【請求項１２】
視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示するためのオブジェクト・データ処理方法であって、
前記視野データは前記仮想空間における視野および視点を規定するものであり、
前記視野データに従って、前記オブジェクト・データから前記複数のオブジェクトの画像を生成するステップと、
２次元フレーム上に前記生成された画像をレンダリングするステップと、
を含み、
前記レンダリングするステップは、１つのオブジェクトの画像と前記１つのオブジェクトがリンクされる別のオブジェクトの画像とをレンダリングすることを含み、その際、前記１つのオブジェクトの画像のレンダリングの開始前に、終了後に、または前記開始と終了の間に、前記別のオブジェクトの画像をレンダリングするものである、
オブジェクト・データ処理方法。
【発明の詳細な説明】
発明の分野
本発明は、３次元オブジェクトの画像のレンダリングに関し、特に、オブジェクト画像を効率的にレンダリングするために仮想３次元空間におけるリンクされた複数のオブジェクトを階層的にソートすることに関する。
発明の背景
現在、インターネットのホームページにはショッピングモールが設けられている。そのショッピングモールは３次元仮想世界であってもよい。ショッピングモールにおける仮想店舗オブジェクトには３次元の多数の商品オブジェクトが配置される。３次元仮想ショッピングモールの画像は、サーバ・マシンまたはクライアント・マシンにおいて仮想３次元画像表示プログラムを用いて生成され表示される。仮想ショッピングモールにおける複数のオブジェクトの中の１つのオブジェクトは、ＵＲＬを用いてその中の他のオブジェクトにリンクされていてもよい。
通常の仮想３次元画像表示プログラムは、オブジェクトの３次元形状および配置を表す複数のオブジェクト・データ・セットに従って、仮想３次元空間にそのオブジェクトを配置し、その空間におけるユーザの視野に従ってそのオブジェクトを２次元平面に投影して２次元画像を生成し表示する。ユーザの視点から見て２つのオブジェクトが部分的に重なって見えるときは、遠い１つのオブジェクトの重なり部分が近い別のオブジェクトの後ろに隠れるようにそれぞれの画像を生成しなければならない。また、半透明のオブジェクトが配置されているときには、その半透明のオブジェクトを通してその背後にあるオブジェクトが透けて見えるようにそれぞれの画像を生成しなければならない。
視点から見たオブジェクト間の重なりを適正に処理するためにＺバッファ・アルゴリズムが一般的に用いられている。このアルゴリズムは、２次元フレーム・バッファメモリ上に複数のオブジェクトの画像をレンダリング（描画）するときに、オブジェクトを構成要素のポリゴンに分離し、視点に対する複数のオブジェクト・ポリゴンの相対的位置関係を表すＺ値をいわゆるＺバッファに格納する。２次元フレーム・バッファメモリ上の同じピクセル位置に２つ以上のオブジェクト・ポリゴンのピクセルをレンダリングするときは、そのアルゴリズムは、それらのポリゴンのＺ値を比較して視点に最も近いオブジェクト・ポリゴンのピクセルだけが最終的にその位置に格納されるようにする。半透明のオブジェクトの画像をレンダリングするときは、いわゆるアルファ・ブレンディング法が用いられて、その半透明オブジェクトのポリゴンの透明度に従ってその背後に配置された別のオブジェクト・ポリゴンのピクセルの色にその半透明オブジェクト・ポリゴンのピクセルの色を混合した色の値をそのフレーム・バッファメモリ上にレンダリングする。
Ｚバッファ・アルゴリズムおよびアルファ・ブレンディング法では、半透明のオブジェクトの画像をレンダリングするときに、視点から遠いオブジェクト・ポリゴンから順にレンダリングする必要がある。そのために、レンダリングする前に、いわゆるＺソート法を用いて、表示される全てのオブジェクト・ポリゴンについて視点からの距離を決定し、その距離に従ってオブジェクト・ポリゴンをソートする必要がある。
しかし、仮想３次元空間に多数のオブジェクトが配置される場合は、オブジェクト・ポリゴンのソートのために長い時間および多くのメモリ資源が必要になる。そのようなソートはリアルタイム３次元画像表示には望ましくない。
発明者は、リンクされた複数の３次元オブジェクトを階層的にソートすることによってオブジェクト画像が効率的にレンダリングできると認識した。
本発明の目的は、複数の３次元オブジェクトの画像を効率的にレンダリングすることである。
本発明の別の目的は、リンクされた複数の３次元オブジェクトの画像をレンダリングするのに有利な形でそのオブジェクトをソートすることである。
発明の概要
本発明の１つの特徴によれば、情報処理装置は、視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示する。その情報処理装置に含まれている制御手段は、視野データに従って、オブジェクト・データから複数のオブジェクトの画像を生成して、２次元フレーム上にその生成された画像をレンダリングする。その制御手段は、そのレンダリングのために、複数のオブジェクトの間のリンクを表すリンク・データに従って複数のオブジェクトを階層的にソートする。
実施形態において、その制御手段は、その階層的なソートによって決定された順序とその複数のオブジェクトの間のリンクとに従って、複数のオブジェクトの画像および／または部分画像をレンダリングする。その制御手段は、１つのオブジェクトとこの１つのオブジェクトがリンクされる１つ以上の他のオブジェクトとからなるグループについて、そのグループのオブジェクトの画像および／または部分画像を視点からの距離に従って順にレンダリングする。
本発明の別の特徴によれば、情報処理装置は、視野データに従って、オブジェクト・データから複数のオブジェクトの画像を生成して、２次元フレーム上にその生成された画像をレンダリングする制御手段を具えている。その制御手段は、１つのオブジェクトの画像とこの１つのオブジェクトがリンクされる別のオブジェクトの画像とをレンダリングし、その際、その１つのオブジェクトの画像のレンダリングの開始前に、終了後に、またはその開始と終了の間に、その別のオブジェクトの画像をレンダリングする。
実施形態において、その制御手段は、その１つのオブジェクトの画像または複数の部分画像と、その別のオブジェクトの画像を、視点からの距離に従って順にレンダリングする。
本発明のさらに別の特徴によれば、オブジェクト・データ処理方法は、視野データに従って３次元仮想空間におけるリンクされた複数のオブジェクトを表示するためのものである。その方法は、複数のオブジェクトの間のリンクを表すリンク・データに従って複数のオブジェクトを階層的にソートするステップと；視野データに従って、オブジェクト・データから複数のオブジェクトの画像を生成するステップと；その階層的なソートによって決定された順序に従って、２次元フレーム上にその生成された画像をレンダリングするステップと、を含む。
本発明のさらに別の特徴によれば、オブジェクト・データ処理方法は、その視野データに従って、オブジェクト・データから複数のオブジェクトの画像を生成するステップと；２次元フレーム上にその生成された画像をレンダリングするステップと、を含む。そのレンダリングするステップは、１つのオブジェクトの画像とこの１つのオブジェクトがリンクされる別のオブジェクトの画像とをレンダリングすることを含み、その際、その１つのオブジェクトの画像のレンダリングの開始前に、終了後に、またはその開始と終了の間に、その別のオブジェクトの画像をレンダリングする。
実施形態において、これらの方法は、情報処理装置によって実行されるプログラムとして実現される。
本発明によれば、リンクされた複数の３次元オブジェクトを有利な形でソートすることができ、複数の３次元オブジェクトの画像を効率的にレンダリングすることができる。本発明によれば、表示される全てのオブジェクトの全てのポリゴン面をソートする必要がない。
発明の好ましい実施形態
図１は、本発明の実施形態による情報処理装置１００の構成を示している。情報処理装置１００は、入力装置１０１、制御器またはプロセッサ１０３、オブジェクト・データ管理器１０４、表示装置１０６、情報蓄積装置１０７、プログラム・メモリ１１２、オブジェクト・データ・メモリ１１３、およびネットワーク５０を介してウェブ・サーバ２００に接続されたネットワーク・インタフェース１２７を具えている。
情報処理装置１００は、仮想３次元空間に配置されたリンクされた複数の３次元オブジェクトを表示装置１０６に表示する。
３次元オブジェクトは１つ以上のポリゴン（多角形）面で構成されており、各面は典型的には外面および内面を持っている。曲面は典型的には複数のポリゴン面で表される。
３次元オブジェクトは、１つ以上のポリゴンで構成されていて、３次元仮想空間において、例えば、１つのテキスト文書、１つのテキストおよびグラフィックッスを含む文書、１つの画像、動画像のストリーム、複数の部品で構成される１つの立体画像、またはオーディオ・ストリーム、等の１単位で扱われる任意の情報コンテンツを視覚的に表すものである。
ネットワーク５０は、典型的には、インターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、移動体通信網を含む電話回線網、ケーブルテレビ網、電力線搬送網、および／または光ファイバ網等で構成されている。
制御器１０３は、ＣＰＵ、ＲＡＭ１２２およびＲＯＭを具えている。制御器１０３は、プログラム・メモリ１１２に格納されているブラウザ・プログラム等のプログラムに従って動作してブラウザ機能を実現する。制御器１０３は、そのブラウザ機能が集積回路の形で実装されたプロセッサであってもよい。オブジェクト・データ管理器１０４は、オブジェクト・データ管理プログラムに従って動作するプロセッサとして実装されていても、またはその機能が集積回路の形で実装されたプロセッサであってもよい。
制御器１０３は、オブジェクトの表示のためにコンテンツ・データが必要となったときに、ウェブ・サーバ２００からネットワーク５０およびネットワーク・インタフェース１２７を介してコンテンツ・データを取込んで、オブジェクト管理器に１０４に供給する。制御器１０３は、必要なコンテンツ・データを情報蓄積装置１０７から取り込んでもよい。オブジェクト管理器１０４は、取り込んだオブジェクト・データ・セットをオブジェクト・データ・メモリ１１３に格納して管理する。
入力装置１０１は、ユーザの操作によるＵＲＬおよび視野データのような入力データを制御器１０３に供給する。制御器１０３は、視野データを受け取ったときにその視野データを保持し、ユーザの入力データに従って視野データを更新する。
制御器１０３は、表示画像生成処理において、オブジェクト・データ・メモリ１１３に格納されたオブジェクト・データ・セットを用いて、視野移動に従って変化するオブジェクト画像をリアルタイムで生成して表示装置１０６に表示する。
図２は、オブジェクトのオブジェクト・データ・セット３０の構成を示している。オブジェクト・データ・セット３０は、少なくともオブジェクトの３次元形状を表すデータ３１を有する。データ・セット３０を有するその現在のオブジェクトが後続の別のオブジェクトにリンクされているときは、オブジェクト・データ・セット３０はリンク・データ・リスト４０を含んでいる。そのリンクされる別のオブジェクトは現在のオブジェクトに関連付けられた配置を有する。リンク・データ・リスト４０は１つ以上のリンク・データ・セット３７を含んでいる。リンク・データ・セット３７は、別のオブジェクトへのリンクを表すその別のオブジェクトの識別３８と、その別のオブジェクトの座標を現在のオブジェクトの座標に変換するための座標変換行列３９とを有する。オブジェクト・データ・セット３０は複数のオブジェクトにリンクされることもある。従って、オブジェクト・データ・セット３０は、示されているように複数のリンク・データ・セットを有していてもよい。
図３は、本発明による、リンクされた複数のオブジェクト・データ・セットによって表されるリンクされた複数のオブジェクトの階層構造を示している。それらのオブジェクトはレンダリングのためにこの階層構造に従ってソートされる。
図３では、開始オブジェクトのオブジェクト・データ・セット３０１は、リンクされる他のオブジェクトの識別をそれぞれ含んだ３つのリンク・データ・セット２１１、２１２および２１３を有する。その開始オブジェクトは、オブジェクト・データ・セット３１１、３１２および３１３をそれぞれ有する３つの他のオブジェクトにリンクされる。オブジェクト・データ・セット３１１は３つのリンク・データ・セット２２１、２２２および２２３を有する。オブジェクト・データ・セット３１１を有するオブジェクトは、オブジェクト・データ・セット３２１、３２２および３２３をそれぞれ有する３つのオブジェクトにリンクされる。オブジェクト・データ・セット３１２を有するオブジェクトは、同様に、オブジェクト・データ・セット３２４を有するオブジェクトにリンクされる。オブジェクト・データ・セット３１３を有するオブジェクトは、オブジェクト・データ・セット３２５および３２６をそれぞれ有する２つのオブジェクトにリンクされる。オブジェクト・データ・セット３２１、３２３、３２４および３２５を有するオブジェクトはさらに他のオブジェクトにリンクされる。オブジェクト・データ・セット３２２および３２６を有するオブジェクトは他のオブジェクトにリンクされない。
後で詳しく説明するように、その階層化されたオブジェクトに従って、リンクされた複数のオブジェクトの画像をＲＡＭ１２２のフレーム・メモリ領域上に効率的にレンダリングすることができる。
図４は、３次元ウェブ・ブラウザ・プログラムに従って制御器１０３によって実行される、オブジェクトの画像を生成してレンダリングするのための概略的フローチャートを示している。
制御器１０３は、先に、ユーザによって入力されたＵＲＬに従って、ネットワーク５０を介してまたは情報蓄積装置１０７から、最初のオブジェクトのオブジェクト・データ・セットとそれに直接的および間接的にリンクする後続の他のオブジェクトのオブジェクト・データ・セットを取り込んで、オブジェクト・データ管理器１０４を介してオブジェクト・データ・メモリ１１３に格納する。制御器１０３は、その後、図４に従ってオブジェクトの画像を生成およびレンダリングする
ステップ４０２において、制御器１０３は、入力装置１０１の例えばマウスによって入力された視点および視野のデータを取得し、そのデータに従って３次元仮想空間に対する視点および視野を移動させる。
図６は、ユーザの視野とオブジェクトの間の幾何学的関係を例示している。この図では、仮想３次元空間に視野７１が定義され、情報オブジェクト７３が配置されている。視野７１に対して固定された視野座標系７２が定義されている。また、視野座標系７２の原点の位置に視点７０が定義されている。視野に対するオブジェクトの幾何学的関係は、例えば、オブジェクトのローカル座標系から視野座標系７２への変換行列によって定義できる。
ステップ４０４において、制御器１０３は、その視点および視野に従って、オブジェクト・データ・メモリ１１３に格納されたオブジェクト・データ・セット３０から３次元仮想空間における各オブジェクトの配置を決定し、それぞれのオブジェクトの２次元画像を生成してＲＡＭ１２２に格納する。その際、必要なオブジェクト・データ・セットがオブジェクト・データ・メモリ１１３に格納されていないときは、制御器１０３は、ネットワーク・インタフェース１２７を介してまたは情報処理装置１０７から必要なオブジェクト・データ・セットをオブジェクト・データ・メモリ１１３に取り込む。
ステップ４０６において、図５に示されているサブルーチンに従って、制御器１０３は、その視点および視野に従って、図３に例示された複数のオブジェクトのその生成された各画像をＲＡＭ１２２の２次元フレーム・メモリ領域上にレンダリングする。
図４のフローチャートでは、ステップ４０４において全てのオブジェクトの画像を生成した後に、ステップ４０６においてその生成された画像をレンダリングするが、ステップ４０４をなくして、ステップ４０６において、レンダリングの順序で各オブジェクトの画像を生成してＲＡＭ１２２に格納しながら、ＲＡＭ１２２からその生成された画像を順次取り出してレンダリングしてもよい。
ステップ４０８において、制御器１０３は、視野が移動したかどうか、即ちユーザによって視点および視野データが更新されたかどうかを判定する。視野が移動した場合はステップ４０２に戻る。これによって、視点および視野が移動し続けているときはステップ４０２〜４０６が繰り返される。視野が移動していない場合は手順はステップ４１２に進む。
ステップ４１２において、制御器１０３は、所定遅延時間（例えば１秒）の後、ユーザの入力データを受け取ったかどうかを判定する。それが入力データを受け取った場合は、手順はステップ４１４に進む。それが入力データを受け取らなかった場合は、手順はステップ４１２に戻る。これによって、制御器１０３は新しい入力データを受け取るまで待つ。
ステップ４１４において、制御器１０３は、その入力データが終了コマンドかどうかを判定する。それが終了コマンドである場合は、手順は図４のルーチンから出る。それが終了コマンドでない場合は、手順はステップ４０２に戻る。
ステップ４０２〜４１４は毎秒３０回以上実行され、毎秒６０フレームが生成される。
図７Ａ〜７Ｃは、視点の移動に従って、ズームイン（拡大）におけるオブジェクト画像の表示画面の例を示している。
図７Ａに示されているように、仮想３次元空間に配置された長方形オブジェクト６０１の上に蓋のないボックス６１１、球６１３および三角錐６１５のオブジェクトが配置されている。長方形オブジェクト６０１は、ボックス６１１、球６１３および三角錐６１５にリンクされている。図７Ｃに示されているように、ボックス６１１は２つの球６２１および６２２および１つの円柱６２３を含んでいる。ボックス６１１は２つの球６２１および６２２および１つの円柱６２３にリンクされている。
図７Ａ〜７Ｃに示されているように、ボックス６１１に対してズームインするに従って、より拡大されたボックス６１１およびその中のオブジェクト６２１〜６２３が表示される。
図５は、本発明による、制御器１０３によって実行される、図４のステップ４０６におけるオブジェクトの画像のレンダリングのためのサブルーチンの概略的フローチャートを示している。
図７Ａ〜７Ｃのオブジェクト６０１およびリンクされる後続のオブジェクト６１１〜６１５および６２１〜６２３の画像をレンダリングする例を用いて、図５のフローチャートを説明する。
ステップ５０２において、制御器１０３は、開始または現在のオブジェクトの画像データ・セットをＲＡＭ１２２から取り出す。その画像データ・セットは、図４のステップ４０４においてそのオブジェクトのオブジェクト・データ・セット中の３次元形状データ（図２の３１）から生成されてＲＡＭ１２２に格納されたものである。制御器１０３は、図７Ａの例では、開始オブジェクトである長方形６０１のオブジェクト・データ・セット３０１（図３）の中の３次元形状データから生成された長方形６０１の画像データ・セットをＲＡＭ１２２から取り出す。
ステップ５０４において、制御器１０３は、先に、現在のオブジェクトの１つ以上の面の中で視点から見て奥にある面の前面をレンダリングする。図７Ａの例では、制御器１０３は長方形６０１の上面をレンダリングする。その長方形の下面はその裏側にあって視点からは見えない。
ステップ５０６において、制御器１０３は、現在のオブジェクトのオブジェクト・データ・セットにおける全てのリンク・データ・セットを視点から遠い順にキューに入れる。図７Ａの例では、制御器１０３は、長方形６０１のオブジェクト・データ・セット３０１におけるそれぞれ球６１３、ボックス６１１および三角錐６１５に対する３つのリンク・データ・セット２１３、２１１および２１２をこの順にキューに入れる。
ステップ５０８において、制御器１０３は、キューの中に、まだレンダリングされていない他のオブジェクトへのリンクを表す残りのリンク・データ・セットがあるかどうかを判定する。それがあると判定された場合は手順はステップ５１０に進む。残りのリンク・データ・セットがないと判定された場合は、手順はステップ５１４に進む。図７Ａの例では、キュー中にオブジェクト６１３、６１１および６１５へのリンクを表すリンク・データ・セット２１３、２１１および２１２が存在するのでステップ５１０に進む。
ステップ５１０において、制御器１０３は、順番に従ってキューにおける残りのリンク・データ・セットの中の１つを取り出す。図７Ａの例では、制御器１０３は、最初に、球６１３へのリンクを表すリンク・データ・セット２１３を取り出す。
ステップ５１２において、制御器１０３は、その取り出されたリンク・データ・セットに従ってリンクされるオブジェクトの画像データ・セットをＲＡＭ１２２から取り出してその画像をレンダリングする。その際、そのオブジェクトの視点から遠い面の前面を先にレンダリングし、次いで視点に近い面の前面をレンダリングする。図７Ａの例では、制御器１０３は、球６１３の遠い半球面の内面は見えないので、視点に近い半球面の外面だけをレンダリングする。
同様に、キュー中の残りのリンク・データ・セットの数の回数だけステップ５０８〜５１２が繰り返されて、開始オブジェクトにリンクされる残りのオブジェクトの画像がレンダリングされる。図７Ａの例では、ボックス６１１および三角錐６１５の画像が順にレンダリングされる。
ステップ５１４において、制御器１０３は、開始オブジェクトの面の中で視点に近い面の前面をレンダリングする。図７Ａの例では、制御器１０３は、長方形６０１は視点に近い面を持っていないのでレンダリングする必要がない。
このようにして、図５のフローチャートに従って、開始オブジェクトの遠い面の前面のレンダリングと近い面の前面のレンダリングの間に、開始オブジェクトがリンクされるオブジェクトの画像がレンダリングされる。開始オブジェクトは、その遠い面と近い面の一方だけ持っていてもよい。
ステップ５１２において、制御器１０３は、１つのオブジェクトの画像をレンダリングするとき、そのオブジェクトが別のオブジェクトにリンクされる場合は、その１つのオブジェクトを新たな開始オブジェクトとして、ステップ５０２〜５１４のサブルーチンを別に実行する。即ち、ステップ５１２のサブルーチンは入れ子になっている。それによって、その新たな開始オブジェクトの遠い面の前面のレンダリングと近い面の前面のレンダリングの間に、開始オブジェクトがリンクされる別のオブジェクトの画像がレンダリングされる。
図７Ａの例では、制御器１０３は、ステップ５１２においてボックス６１１の画像をレンダリングするとき、ボックス６１１を開始オブジェクトとしてステップ５０２〜５１４を別に実行する。
図８Ａ〜８Ｅは、本発明による、複数のオブジェクトの画像のレンダリングの手順の例を示している。
図８Ａ〜８Ｅを参照して、図５のフローチャートに従って、ボックス６１１を開始オブジェクトとして、ボックス６１１、球６２１、円柱６２３および球６２２の画像をレンダリングする手順を説明する。
ステップ５０２において、制御器１０３は、ボックス６１１の画像データ・セットをＲＡＭ１２２から取り出す。この画像データ・セットは、図４のステップ４０４において、図３におけるオブジェクト・データ・セット３１１の形状データから生成されてＲＡＭ１２２に格納されたものである。前述したように、図４のステップ４０４を設けないときは、ボックス６１１の画像は、ステップ５０２においてレンダリングの前に生成されてＲＡＭ１２２に格納される。
ステップ５０４において、制御器１０３は、図８Ａに示されているように、ボックス６１１の奥の３つの面の内面６１１１、６１１２および６１１３をレンダリングする。
ステップ５０６において、制御器１０３は、ボックス６１１のオブジェクト・データ・セット３１１におけるそれぞれ球６２１、円柱６２３および球６２２へのリンクを表す３つのリンク・データ・セット２２１、２２３および２２２をこの順にキューに入れる。
ステップ５０８において、制御器１０３は、最初は、キューの中にまだレンダリングされていないオブジェクトへのリンクを表すリンク・データ・セット２２１、２２３および２２２があると判定し、従って、手順は次のステップ５１０に進む。
ステップ５１０において、制御器１０３は、最初のリンク・データ・セット２２１をキューから取り出す。
ステップ５１２において、制御器１０３は、リンク・データ・セット２２１によってリンクされる球６２１の画像データ・セットをＲＡＭ１２２から取り出して、図８Ｂに示されているように球６２１の画像をレンダリングする。球６２１の遠い半球面の内面は見えないので視点に近い半球面の外面だけをレンダリングすればよい。その後、手順はステップ５０８に戻る。前述したように、図４のステップ４０４を設けないときは、球６２１の画像は、ステップ５１２においてレンダリングの前に生成される。
同様に、円柱６２３および球６２２についてステップ５０８〜５１２が反復的に実行されて、図８Ｃおよび８Ｄに示されているように、円柱６２３および球６２２の画像が順にレンダリングされる。
ステップ５１４において、制御器１０３は、図８Ｅに示されているように、ボックス６１１の近い面の外面６１１４および６１１５をレンダリングする。このようにして、ボックス６１１およびリンクされる球６２１、円柱６２３および球６２２の画像がレンダリングされる。
図５のフローチャートが実行されることによって、図３に示された階層構造に従ってオブジェクトがソートされることは明らかである。
図５のフローチャートでは階層的ソートとレンダリングを並行して行ったが、図３に示されたような階層構造を先に決定し、その階層構造に従ってオブジェクトを視点からの距離に従って遠くから近くへとソートし、そのソートされた順序に従ってオブジェクトの画像をレンダリングしてもよい。その際、リンク・データ・セットに従って、或るオブジェクトが別のオブジェクトにリンクされるとき、その或るオブジェクトの遠い面のレンダリングと近い面のレンダリングの間に別のオブジェクトをレンダリングする。あるいは、遠い面と近い面の双方を有する或るオブジェクトが別のオブジェクトにリンクされるとき、その遠い面と近い面を別のオブジェクトとともにソートしてレンダリングの順序を決定してもよい。後続のオブジェクトにリンクされないオブジェクトは、複数の面を持っていても、通常、ソートのために複数の面に分離する必要はない。
このようにして、１つのオブジェクトがリンクされる後続のオブジェクトの画像が順にレンダリングされる。リンクされた前のオブジェクトの画像がレンダリングされるとき、その前に、その後に、またはそのレンダリングの途中で、リンクされる後続のオブジェクトの画像がレンダリングされる。換言すると、オブジェクト画像は、オブジェクト間のリンクに従って局所的にデプス・ソートされる。
図９Ａは、図８Ｅのオブジェクト６１１が半透明の場合の表示画像を示している。図９Ａにおいて点線は透けて見える線を示している。この場合、ボックス６１１の面６１１４および６１１５がレンダリングされるとき、その背後にある面６１１１および６１１２、および球６２２の近い半球面の外面の色と、その面６１１４の色とが重なり部分で混合され、その面６１１１および６１１３、および球６２２の近い半球面の外面の色と、その面６１１５の色とが重なり部分で混合される。
図９Ｂは、図９Ａのオブジェクト６１１、６２１、６２２および６２３が半透明の場合の表示画像を示している。球６２１の画像がレンダリングされるとき、その背後にある面６１１１、６１１２および６１１３の色と球６２１の色とが重なり部分で混合される。円柱６２３の画像がレンダリングされるとき、その背後にある先にレンダリングされたオブジェクト画像と円柱６２３の画像とが重なり部分で混合される。球６２２の画像がレンダリングされるとき、その背後にある先にレンダリングされたオブジェクト画像と球６２２の画像とが重なり部分で混合される。面６１１４および６１１５がレンダリングされるとき、その背後にあるレンダリングされたオブジェクト画像と球６２２の画像とが重なり部分で混合される。
このようにオブジェクトを階層的にソートすることによってオブジェクトの画像を効率的にレンダリングできる。全てのオブジェクトの全ての面をソートする必要がなくなる。上述の例では、２つのオブジェクトが３次元空間で交差するような複雑な配置はなかった。そのような場合は、各オブジェクトをその交差面において２つのオブジェクト部分に分割して、それを他のオブジェクトとともに階層的にソートすればよい。
以上説明した実施形態は典型例として挙げたに過ぎず、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【図面の簡単な説明】
図１は、本発明の実施形態による、３次元オブジェクト・データを処理して表示する情報処理装置の構成を示している。
図２は、オブジェクト・データ・セットの構成を示している。
図３は、本発明による、リンクされた複数のオブジェクト・データ・セットによって表されるリンクされた複数のオブジェクトの階層構造を示している。
図４は、３次元ウェブ・ブラウザ・プログラムに従って制御器によって実行される、オブジェクトの画像を生成してレンダリングするのための概略的フローチャートを示している。
図５は、本発明による、複数のオブジェクトの画像をレンダリングするための概略的フローチャートを示している。
図６は視野とオブジェクトの間の幾何学的関係を例示している。
図７Ａ〜７Ｃは、視点の移動に従って、ズームインにおけるオブジェクト画像の表示画面の例を示している。
図８Ａ〜８Ｅは、本発明による、複数のオブジェクトの画像のレンダリングの手順の例を示している。
図９Ａは、図８Ｅにおける１つオブジェクトが半透明である場合の画像を示している。
図９Ｂは、図９Ａにおけるオブジェクトが半透明である場合の画像を示している。
【図１】
2003034343.tif 000003
【図２】
2003034343.tif 000004
【図３】
2003034343.tif 000005
【図４】
2003034343.tif 000006
【図５】
2003034343.tif 000007
【図６】
2003034343.tif 000008
【図７Ａ】
2003034343.tif 000009
【図７Ｂ】
2003034343.tif 000010
【図７Ｃ】
2003034343.tif 000011
【図８Ａ】
2003034343.tif 000012
【図８Ｂ】
2003034343.tif 000013
【図８Ｃ】
2003034343.tif 000014
【図８Ｄ】
2003034343.tif 000015
【図８Ｅ】
2003034343.tif 000016
【図９Ａ】
2003034343.tif 000017
【図９Ｂ】
2003034343.tif 000018
【国際調査報告】
2003034343.tif 000019
2003034343.tif 000020