画像生成装置
【課題】リアルタイム要求を満足できる3次元コンピュータグラフィック画像を生成する技術を提供する。
【解決手段】本発明に係る画像生成装置は、入力された3次元画像を構成する3次元オブジェクトの要素データを元にシーングラフを作成し、その際にノードにオブジェクトの描画優先度を付加する。画像生成装置がシーングラフを走査して各ノードの要素データを画像生成装置に出力する際に、所定の描画優先度以上のノードの要素データのみを画像生成装置に出力すること、及び/又は、画像生成装置に出力したデータの量をカウントし、所定の最大描画データ量以上の要素データを画像生成装置に出力しないことで、描画量を抑制しリアルタイム要求を満足することが可能となる。
【解決手段】本発明に係る画像生成装置は、入力された3次元画像を構成する3次元オブジェクトの要素データを元にシーングラフを作成し、その際にノードにオブジェクトの描画優先度を付加する。画像生成装置がシーングラフを走査して各ノードの要素データを画像生成装置に出力する際に、所定の描画優先度以上のノードの要素データのみを画像生成装置に出力すること、及び/又は、画像生成装置に出力したデータの量をカウントし、所定の最大描画データ量以上の要素データを画像生成装置に出力しないことで、描画量を抑制しリアルタイム要求を満足することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元コンピュータグラフィックスにおける画像生成技術に関する。
【背景技術】
【0002】
3次元コンピュータグラフィックス(以下、3DCGという)は、仮想3次元空間において管理される3次元オブジェクトを、計算によってコンピュータのスクリーン平面に投影して描画を行う技術である。
【0003】
3DCGでは多くの演算資源が必要となるため、最近ではCPU(中央演算処理装置)で全ての処理を行うのではなく、3DCGの描画処理を行うための専用のハードウェアであるGPU(Graphic Processor Unit)とCPUとを併用して3DCGを描画している。
【0004】
以下、3DCGの描画処理について簡単に説明する。なお、この描画処理はCPUとGPUによる流れ作業(パイプライン処理)で行われ、処理の機能別に5つのステージから構成される。図12はパイプラインの構成を示す。ここでは、それぞれのステージの頭文字を取って、各ステージをG,T,X,S,Dと呼ぶ。以下、各ステージについて説明する。
【0005】
G(Generation):シーングラフの作成
まず、表示したい3次元オブジェクトのデータをファイル等から入力として受け取り、所定のデータ構造にしたがってメモリ上に構築(あるいは更新)する。このデータ構造はモデルを階層的にグループ化した木構造であることが一般的で、このメモリ上のモデルデータはシーングラフと呼ばれる。シーングラフの作成は、CPUによって行われる。
【0006】
T(Traversal):表示データの抽出
構築されたシーングラフを順番に走査して、3次元オブジェクトの画像データを以降のパイプラインに渡す。昨今のシステムでは、一般に、ここでCPUからGPUへ描画コマンドおよび頂点データが転送される。
【0007】
X(Transformation, Xformation):頂点変換
3次元モデルの座標を、2次元スクリーン座標系に投影する座標変換処理を行う。Xステージでは、座標変換に加えて各頂点の明るさも計算する。XステージはGPUによって行われることが一般的である。
【0008】
S(Scan conversion):塗りつぶし
スクリーン座標に投影された3次元オブジェクトの頂点の内部に存在する画素に対して、画素値(色)および明るさを計算する。また、3次元オブジェクトごとに奥行きも計算し、最終的に一番手前となるオブジェクトが表示されるようにする。計算結果は、フレームメモリ上に画像データとして書き込まれる。Sステージは、GPUによって行われることが一般的である。
【0009】
D(Display):描画
フレームメモリ上の画像データを読み出し、ビデオ信号としてディスプレイ装置などに対して出力する。
【0010】
このようなシーングラフを用いてパイプライン処理で3DCGの描画を行う際に、次のような拡張が提案されている(特許文献1)。特許文献1では、画面奥に位置するオブジ
ェクトから順番に描画する処理を高速化するために、ノードに描画順序を表すデータを付与したシーングラフを用いて、シーングラフのトラバース量を減らしている。
【特許文献1】特開2005−250799号公報
【非特許文献1】柿本正憲,「グラフィックス・ハードウェア OpenGLアーキテクチャの基礎」,可視化情報学会講習会「可視化フロンティア」,pp.72−94,ISBN4−906497−28−4,2004年
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、上記のような従来技術の場合には、下記のような問題が生じていた。すなわち、CPUで行われる処理がG,Tステージまでで、X,S,DステージがGPUによって実行される場合、実際に3DCGが描画されるまでにどれだけの時間がかかるかをCPU側のソフトウェアによって制御できない。
【0012】
一方、3DCGの描画処理においても、決められた時間内に描画結果を得ることが要求される場合がある。このようにリアルタイムでの表示が要求されるシステムにおいては、シーングラフに格納されている全てのオブジェクトを描画しようとすると、リアルタイム表示に間に合わない場合があるという問題がある。
【0013】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、リアルタイム要求を満足できる画像生成のための技術を提供することにある。
【課題を解決するための手段】
【0014】
上記目的を達成するために本発明では、以下の手段または処理によって3次元画像の生成を行う。
【0015】
本発明の第一の態様は、画像生成装置であって、入力手段、シーングラフ作成手段および走査手段を有する。
【0016】
入力手段は、3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付ける。
【0017】
シーングラフ作成手段は、入力された3次元オブジェクトの要素データからシーングラフを作成する。シーングラフは、3次元オブジェクトの要素データを元に階層的にグループ化されたデータ構造である。このデータ構造の階層は、木構造によって表されることが好適である。シーングラフの各ノードには、3次元オブジェクトの要素データが格納される。なお、3次元オブジェクトの要素データには、オブジェクトの頂点座標を示す形状データや、オブジェクトの色・質感・透明度などを表す属性情報が含まれる。
【0018】
走査手段は、シーングラフを走査して、ノードに割り当てられた要素データを、画像を生成する画像生成手段へと出力する。このようにして画像生成手段に出力された要素データを元に、画像生成手段が画像生成処理を行うことで、3次元画像が生成される。
【0019】
ここで、本発明の第一の態様におけるシーングラフ作成手段は、シーングラフを構成するノードに対して描画優先度を設定してシーングラフを作成する。そして、走査手段は、ノードに設定された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを、画像生成手段に出力する。すなわち、ノードに設定された描画優先度が所定の優先度以上であればそのノードのオブジェクトを描画し、所定の優先度よりも低い場合にはそのノードのオブジェクトを描画しない。
【0020】
このように、シーングラフのノードに描画優先度を設定し、所定の優先度以上のノードのオブジェクトのみを描画することによって、描画処理の量を制御し、リアルタイム要求を満たすことが可能となる。
【0021】
また、本発明の第二の態様は、画像生成装置であって、入力手段、シーングラフ作成手段および走査手段を有する。第一の態様と同様に、入力手段は3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付け、シーングラフ作成手段が、入力された3次元オブジェクトの要素データからシーングラフを作成する。そして、走査手段が、シーングラフを走査して、ノードに割り当てられた3次元オブジェクトの要素データを、画像生成手段に出力することで画像を生成する。
【0022】
ここで、本発明の第二の態様における走査手段は、画像生成手段に出力した要素データのデータ量を計測する計測手段を有し、画像生成手段に出力したデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを画像生成手段に出力しない。
【0023】
このように、所定のデータ量以上の描画が行われた場合には、それ以上の描画を行わないように描画するデータ量を制限することで、リアルタイム要求を満たすことが可能となる。
【0024】
なお、本発明は、上記処理の少なくとも一部を含む画像生成方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0025】
本発明によれば、リアルタイム要求を満足する画像生成が可能となる。
【発明を実施するための最良の形態】
【0026】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0027】
(第1の実施形態)
<概要>
図1は、本実施形態に係る画像生成装置のハードウェア構成を示す図である。画像生成装置1は、CPU10,RAMなどの主記憶装置11,ハードディスク装置等の補助記憶装置12,グラフィックボード13を有し、ディスプレイなどの出力装置2が接続されている。グラフィックボード13は、GPU131とフレームメモリ132から構成される。画像生成装置1は、補助記憶装置12等からデータ入力があり、CPU10が主記憶装置11上にロードされたアプリケーションプログラムを実行し、画像処理のためのデータをGPU131に送る。GPU131がフレームメモリ132に画像データを書き込むことで、出力装置2に画像が表示される。
【0028】
図2は、本実施形態に係る画像生成装置1の機能ブロックを示す図である。画像生成装置1の機能は、入力部3,シーングラフ作成部4,走査部5,画像生成部6から構成される。
【0029】
入力部3は、3次元モデルのデータを受け付ける。3次元モデルのデータは、3次元画像を構成する複数の3次元オブジェクトの要素データから構成される。入力部3は、ハードディスク装置やCD−ROMなどの外部記憶装置からCPUがデータを読み出すことで実現されても良い。また、入力部3は、LANやインターネットなどのネットワークからCPUがデータを受信することで実現されても良い。
【0030】
シーングラフ作成部4は、入力された3次元モデルデータから、階層構造を有するシーングラフを主記憶装置11上に構築する。走査部5は、シーングラフを走査して、ノードに対応する描画コマンドや要素データを画像生成部6に送る。シーングラフ作成部4および走査部5は、CPU10がアプリケーションプログラムを実行することによって実現される。シーングラフ作成部4および走査部5の詳細については後述する。
【0031】
画像生成部6は、走査部5から送られた描画コマンドおよび要素データに基づいてレンダリング処理を行う。具体的には、座標変換処理(X)、塗りつぶし処理(S)、表示処理(D)を行うことによって、フレームメモリ132に画像データを書き込む。フレームメモリ132に書き込まれた画像データは出力装置2によって表示される。画像生成部6の処理は、GPU131によって実行される。
【0032】
<シーングラフ>
次に、シーングラフ作成部4が作成するシーングラフについて説明する。図3は、シーングラフの構造の一例を示す図である。このシーングラフは、自動車のモデルを表現したものである。図3のように、シーングラフは3次元オブジェクトを階層的にグループ化した木構造を有するデータ構造であることが一般的である。シーングラフの各ノードには、各オブジェクトの形状や表面属性、モデル変換(位置、姿勢、拡大縮小)に関する情報(要素データ)が含まれている。
【0033】
図3では、自動車はボディ、シャシー、エンジンを有することが示されている。さらに、ボディはドア、フロントガラス、バンパーを有することが示されている。また、シャシーは2つの車軸を有し、各車軸は2つタイヤを有することが示されている。
【0034】
ここで、各パーツの3次元位置は親ノードに対して相対的に表現される。パーツの位置は行列演算によって計算することができるので、シーングラフを走査する際にこの行列演算を行いつつ走査することによって、各パーツの位置を効率的に求めることができる。
【0035】
なお、入力された3次元モデルデータの全てをシーングラフとして構築する必要はなく、スクリーン座標に投影したときに出力画像外に位置するオブジェクトはシーングラフから取り除いて構わない。このように表示に関係しないオブジェクト(ノード)を削除する処理は、カリング処理と呼ばれ、高速化の手法の一つである。
【0036】
本実施形態におけるシーングラフ作成部4は、各ノードに対して形状データ、表面属性データだけでなく、描画優先度に関する情報を付加してシーングラフを作成する。各ノード(オブジェクト)に対する描画優先度は、入力される3次元画像データ中に格納されていても良い。また、各ノードに対する描画優先度は、シーングラフ作成部4が他のオブジェクトとの関連性に基づいて決定しても良い。図4、図5は、描画優先度を付加したシーングラフの例を示す図である。図4は、全てのノードに明示的に描画優先度を付加した例である。なお、本実施形態では、描画優先度はその値が小さいほど優先度が高いことを意味する。図5は、ノードに描画優先度が付加されていない場合には、そのノードの親ノードの描画優先度を継承するという規則を導入した場合のシーングラフの例である。図5において、描画優先度が括弧内に表示されているノードは、描画優先度を親ノードから継承していることを示す。
【0037】
このように、描画優先度は各ノードに対応づけられていれば具体的にはどのようにノードに対して付加されても構わない。
【0038】
<トラバース(走査)>
図6は、シーングラフをトラバースする処理を説明する図である。図6において、ノードの横に示された番号は、トラバースされる順序を示す番号である。このように、シーングラフのトラバースは、深さ優先で行う。すなわち、ノードが子ノードを有する場合には、子ノードを走査し、全ての子ノードに対して走査が終わってから、兄弟ノードを走査する。
【0039】
走査部5は、上記のようにシーングラフを走査して、3DCGライブラリを介して、各ノードに対応するオブジェクトの画像データを画像生成部6に出力する。シーングラフに対応した3DCGライブラリとしては、SGI社のOpen Inventor(登録商標)や、Sun Microsystems社のJava(登録商標)3Dが挙げられる。このようにして、画像生成装置1は
画像を生成する。
【0040】
ここで、走査部5は、決められた時間内に描画処理を完了できるように、特定のオブジェクトのみを描画する。まず、走査部5は、シーングラフの走査の際に、優先度を設定される。そして、シーングラフの走査中に、ノードに付加された描画優先度と、指定された優先度を比較して、ノードに付加された描画優先度が指定された優先度と同じか優先度が高ければ、そのノードに割り当てられた3次元オブジェクトの要素データを画像生成部6に送る。逆に、ノードに付加された描画優先度が、指定された優先度よりも低い場合には、そのノードに割り与えられた要素データを画像生成部6に出力しない。
【0041】
なお、走査部5から画像生成部6への要素データの出力には、オブジェクトの描画を行うコマンドの出力と、描画属性を変更するコマンドの出力とが存在する。本実施形態において、ノードが有する描画優先度が所定の優先度より低い場合には、描画を行うコマンドの出力のみを抑制することが好ましい。描画属性の変更は、次のノードの描画の際に引き継がれるものであるため、描画属性変更コマンドの出力まで抑制した場合には、意図したとおりの画像が生成されなくなってしまうためである。
【0042】
<動作例>
図7は、画像生成装置1の動作例を示すフローチャートである。以下、図7を用いて画像生成装置1の動作例について説明する。まず、画像生成装置1は、入力部3を介して、処理の対象となる3次元画像データを読み込む(S10)。次に、シーングラフ作成部4が、シーングラフを主記憶装置11上に構築する(S11)。この際、入力された3次元画像データを構成する各3次元オブジェクトの描画優先度を、シーングラフの各ノードに対して付加する。すなわち、シーングラフ作成部4は、図4に示すような各ノードに対して描画優先度が付加されたシーングラフを作成する。
【0043】
次に、走査部5がシーングラフを走査する際に、描画判定の閾値となる優先度が設定される(S12)。ここでは、優先度として「3」(値が小さいほど優先度が高い)が指定されたとする。そして、走査部5は、シーングラフの走査を行う(S13)。走査部5が、シーングラフのノードに到達したときに、そのノードに付加された描画優先度が、S12で走査部5に指定された優先度以上であるか判定する(S14)。ノードに付加された描画優先度が、指定された優先度以上である場合(S14−YES)には、そのノードの要素データを処理するコマンドをライブラリを介して画像生成部6に出力する(S15)。ノードに付加された描画優先度が、指定された優先度よりも低い場合には(S14−NO)には、そのノードに対する処理は行われない。そして、全てのノードの走査が終了したか判定し(S16)、終了していない場合にはS13に進みシーングラフの走査を続行する。
【0044】
図8は、走査部5が行う走査処理の具体例を説明する図である。なお、図8では、走査部5に指定された優先度が「3」である場合を例にとって説明する。図8には、各ノード
に付加された描画優先度が示されている。
【0045】
ノード81には描画優先度として「2」が設定されており、これは走査部5に指定された優先度「3」よりも高いので、ノード81の要素データは画像生成部6に出力される。すなわち、ノード81は描画される。ノード82の描画優先度は「3」であり、指定された優先度「3」と同じであるため、ノード82も描画される。同様に、ノード83も描画される。ノード84は、描画優先度が「5」であり、指定された優先度「3」よりも低いため、ノード84は描画されない。
【0046】
このように、優先度に基づいて、それぞれのノードを描画するか否かを判定しつつ、走査部5がシーングラフの走査を行う。図8において、黒く塗りつぶされているノードが描画の対象となるノードである。
【0047】
<実施形態の効果>
このように、走査部5がシーングラフを走査して3次元オブジェクトの要素データを画像生成部6に出力する際に、所定の優先度以上のノードのみを出力の対象とすることで、描画するデータ量をCPU側で制御することが可能となる。すなわち、リアルタイム表示要求の程度に応じた優先度を用いて走査を行うことで、リアルタイム要求を満たしつつ3DCGの描画を行うことが可能となる。
【0048】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態は第1の実施形態と基本的に同様であるため、主に異なる部分についてのみ説明する。
【0049】
図9は、第2の実施形態に係る画像生成装置1の機能ブロックを示す図である。第1の実施形態との違いは、走査部5が、データ量計測部51を有する点である。データ量計測部51は、走査部5が画像生成部6に対して出力した要素データのデータ量を計測する。ここで要素データの量として、3次元オブジェクトの数が用いられても良く、3次元オブジェクトが有する頂点の数が用いられても良い。
【0050】
本実施形態においては、シーングラフ作成部4は、シーングラフの各ノードに優先度を付加せずにシーングラフを作成する。走査部5は、シーングラフを走査して、各ノードの要素データを画像生成部6に出力する。この際、データ量計測部51は、画像生成部6に出力した要素データのデータ量をカウント(計測)していく。そして、画像生成部6に出力したデータ量が所定の閾値を超えた場合には、それ以降は画像生成部6に対して要素データを出力しない。
【0051】
図10は、画像生成装置1の動作例を示すフローチャートである。まず、画像生成装置1は、3次元画像データを読み込む(S20)。次に、シーングラフ作成部4が、シーングラフを主記憶装置11上に構築する(S21)。
【0052】
そして、データ量計測部51のデータ量カウンタをリセット(0に初期化)する(S22)。また、走査部5に対して、最大描画データ量を設定する(S23)。ここでは最大描画データ量として、頂点数100が指定されたとする。
【0053】
走査部5は、シーングラフの走査を行い(S24)、各ノードに割り当てられた要素データを画像生成部6に出力する(S25)。この際、データ量計測部51は、画像生成部6に出力した要素データのデータ量(ここでは頂点数)を、データ量カウンタに足し込む(S26)。そして、データ量カウンタが、S23で設定された最大描画データ量を超えたか否か判定し(S27)、最大描画データ量を超えている場合(S27−YES)には
、画像生成処理を終了する。データ量カウンタが最大描画データ量を超えていない場合(S27−NO)には、S28に進みシーングラフの全ノードを走査したか否か判定し、終了していない場合にはS24に進みシーングラフの走査を続行する。
【0054】
このように、本実施形態においては、描画する3次元オブジェクトのデータ量が所定の値を超えた場合には、それ以降の描画を抑制することでリアルタイム要求を満足することが可能となる。
【0055】
(第3の実施形態)
本発明の第3の実施形態は、走査部5が、各ノードの優先度と描画データ量の両方に基づいて、描画するノードを決定する。すなわち、第3の実施形態は、上記の第1および第2の実施形態を組み合わせたものである。
【0056】
図11は、本実施形態における画像生成装置1の動作例を示すフローチャートである。まず、画像生成装置1は、入力部3を介して、処理の対象とする3次元画像データを読み込む(S30)。次に、シーングラフ作成部4が、シーングラフを主記憶装置11上に構築する(S31)。この際、入力された3次元画像を構成する各3次元オブジェクトの描画優先度を、シーングラフの各ノードに対して付加する。
【0057】
次に、走査部5がシーングラフを走査する際に描画判定の閾値となる優先度が設定される(S32)。また、データ量計測部51のデータ量カウンタをリセット(0に初期化)し、走査部5に対して最大描画データ量が設定される(S32)。
【0058】
そして、走査部5がシーングラフの走査を行う(S33)。走査部5が、シーングラフのノードに到達したときに、そのノードに付加された描画優先度が、S32で走査部5に設定された優先度以上であるか否かを判定する(S34)。そのノードに付加された描画優先度が、設定された優先度以上である場合(S34−YES)は、そのノードの割り当てられた要素データを処理するコマンドをライブラリを介して画像生成部6に出力する(S35)。この際、データ量計測部51は、画像生成部6に出力した要素データのデータ量を、データ量カウンタに足し込む(S36)。そして、データ量カウンタが、S32で設定された最大描画データ量を超えたか否かを判定し(S37)、最大描画データ量を超えている場合(S37−YES)には、画像生成処理を終了する。データ量カウンタが最大描画データ量を超えていない場合(S37−NO)には、S38に進みシーングラフの全ノードを走査したか否か判定し、終了していない場合にはS33に進みシーングラフの走査を続行する。
【0059】
このように、本実施形態では、所定の優先度以上のノードに対してのみ描画処理を行い、さらに実際に描画したデータの量を計測し所定のデータ量以上の描画を行わないことで、リアルタイム表示に対する要求をより確実に満足することが可能となる。
【図面の簡単な説明】
【0060】
【図1】第1の実施形態に係る画像生成装置のハードウェア構成を示す図である。
【図2】第1の実施形態に係る画像生成装置の機能ブロックを示す図である。
【図3】シーングラフを模式的に示した図である。
【図4】描画優先度を付加したシーングラフの例を示す図である。
【図5】描画優先度を付加したシーングラフの例を示す図である。
【図6】シーングラフを走査(トラバース)する処理を示す図である。
【図7】第1の実施形態における画像生成処理の流れを示すフローチャートである。
【図8】第1の実施形態における走査処理を説明する図である。
【図9】第2の実施形態に係る画像生成装置の機能ブロックを示す図である。
【図10】第2の実施形態における画像生成処理の流れを示すフローチャートである。
【図11】第3の実施形態における画像生成処理の流れを示すフローチャートである。
【図12】従来技術による画像描画処理のパイプライン処理を説明する図である。
【符号の説明】
【0061】
1 画像生成装置
2 出力装置
3 入力部
4 シーングラフ作成部
5 走査部
51 データ量計測部
6 画像生成部
10 CPU
11 主記憶装置
12 補助記憶装置
13 グラフィックボード
131 GPU
132 フレームメモリ
【技術分野】
【0001】
本発明は、3次元コンピュータグラフィックスにおける画像生成技術に関する。
【背景技術】
【0002】
3次元コンピュータグラフィックス(以下、3DCGという)は、仮想3次元空間において管理される3次元オブジェクトを、計算によってコンピュータのスクリーン平面に投影して描画を行う技術である。
【0003】
3DCGでは多くの演算資源が必要となるため、最近ではCPU(中央演算処理装置)で全ての処理を行うのではなく、3DCGの描画処理を行うための専用のハードウェアであるGPU(Graphic Processor Unit)とCPUとを併用して3DCGを描画している。
【0004】
以下、3DCGの描画処理について簡単に説明する。なお、この描画処理はCPUとGPUによる流れ作業(パイプライン処理)で行われ、処理の機能別に5つのステージから構成される。図12はパイプラインの構成を示す。ここでは、それぞれのステージの頭文字を取って、各ステージをG,T,X,S,Dと呼ぶ。以下、各ステージについて説明する。
【0005】
G(Generation):シーングラフの作成
まず、表示したい3次元オブジェクトのデータをファイル等から入力として受け取り、所定のデータ構造にしたがってメモリ上に構築(あるいは更新)する。このデータ構造はモデルを階層的にグループ化した木構造であることが一般的で、このメモリ上のモデルデータはシーングラフと呼ばれる。シーングラフの作成は、CPUによって行われる。
【0006】
T(Traversal):表示データの抽出
構築されたシーングラフを順番に走査して、3次元オブジェクトの画像データを以降のパイプラインに渡す。昨今のシステムでは、一般に、ここでCPUからGPUへ描画コマンドおよび頂点データが転送される。
【0007】
X(Transformation, Xformation):頂点変換
3次元モデルの座標を、2次元スクリーン座標系に投影する座標変換処理を行う。Xステージでは、座標変換に加えて各頂点の明るさも計算する。XステージはGPUによって行われることが一般的である。
【0008】
S(Scan conversion):塗りつぶし
スクリーン座標に投影された3次元オブジェクトの頂点の内部に存在する画素に対して、画素値(色)および明るさを計算する。また、3次元オブジェクトごとに奥行きも計算し、最終的に一番手前となるオブジェクトが表示されるようにする。計算結果は、フレームメモリ上に画像データとして書き込まれる。Sステージは、GPUによって行われることが一般的である。
【0009】
D(Display):描画
フレームメモリ上の画像データを読み出し、ビデオ信号としてディスプレイ装置などに対して出力する。
【0010】
このようなシーングラフを用いてパイプライン処理で3DCGの描画を行う際に、次のような拡張が提案されている(特許文献1)。特許文献1では、画面奥に位置するオブジ
ェクトから順番に描画する処理を高速化するために、ノードに描画順序を表すデータを付与したシーングラフを用いて、シーングラフのトラバース量を減らしている。
【特許文献1】特開2005−250799号公報
【非特許文献1】柿本正憲,「グラフィックス・ハードウェア OpenGLアーキテクチャの基礎」,可視化情報学会講習会「可視化フロンティア」,pp.72−94,ISBN4−906497−28−4,2004年
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、上記のような従来技術の場合には、下記のような問題が生じていた。すなわち、CPUで行われる処理がG,Tステージまでで、X,S,DステージがGPUによって実行される場合、実際に3DCGが描画されるまでにどれだけの時間がかかるかをCPU側のソフトウェアによって制御できない。
【0012】
一方、3DCGの描画処理においても、決められた時間内に描画結果を得ることが要求される場合がある。このようにリアルタイムでの表示が要求されるシステムにおいては、シーングラフに格納されている全てのオブジェクトを描画しようとすると、リアルタイム表示に間に合わない場合があるという問題がある。
【0013】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、リアルタイム要求を満足できる画像生成のための技術を提供することにある。
【課題を解決するための手段】
【0014】
上記目的を達成するために本発明では、以下の手段または処理によって3次元画像の生成を行う。
【0015】
本発明の第一の態様は、画像生成装置であって、入力手段、シーングラフ作成手段および走査手段を有する。
【0016】
入力手段は、3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付ける。
【0017】
シーングラフ作成手段は、入力された3次元オブジェクトの要素データからシーングラフを作成する。シーングラフは、3次元オブジェクトの要素データを元に階層的にグループ化されたデータ構造である。このデータ構造の階層は、木構造によって表されることが好適である。シーングラフの各ノードには、3次元オブジェクトの要素データが格納される。なお、3次元オブジェクトの要素データには、オブジェクトの頂点座標を示す形状データや、オブジェクトの色・質感・透明度などを表す属性情報が含まれる。
【0018】
走査手段は、シーングラフを走査して、ノードに割り当てられた要素データを、画像を生成する画像生成手段へと出力する。このようにして画像生成手段に出力された要素データを元に、画像生成手段が画像生成処理を行うことで、3次元画像が生成される。
【0019】
ここで、本発明の第一の態様におけるシーングラフ作成手段は、シーングラフを構成するノードに対して描画優先度を設定してシーングラフを作成する。そして、走査手段は、ノードに設定された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを、画像生成手段に出力する。すなわち、ノードに設定された描画優先度が所定の優先度以上であればそのノードのオブジェクトを描画し、所定の優先度よりも低い場合にはそのノードのオブジェクトを描画しない。
【0020】
このように、シーングラフのノードに描画優先度を設定し、所定の優先度以上のノードのオブジェクトのみを描画することによって、描画処理の量を制御し、リアルタイム要求を満たすことが可能となる。
【0021】
また、本発明の第二の態様は、画像生成装置であって、入力手段、シーングラフ作成手段および走査手段を有する。第一の態様と同様に、入力手段は3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付け、シーングラフ作成手段が、入力された3次元オブジェクトの要素データからシーングラフを作成する。そして、走査手段が、シーングラフを走査して、ノードに割り当てられた3次元オブジェクトの要素データを、画像生成手段に出力することで画像を生成する。
【0022】
ここで、本発明の第二の態様における走査手段は、画像生成手段に出力した要素データのデータ量を計測する計測手段を有し、画像生成手段に出力したデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを画像生成手段に出力しない。
【0023】
このように、所定のデータ量以上の描画が行われた場合には、それ以上の描画を行わないように描画するデータ量を制限することで、リアルタイム要求を満たすことが可能となる。
【0024】
なお、本発明は、上記処理の少なくとも一部を含む画像生成方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0025】
本発明によれば、リアルタイム要求を満足する画像生成が可能となる。
【発明を実施するための最良の形態】
【0026】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0027】
(第1の実施形態)
<概要>
図1は、本実施形態に係る画像生成装置のハードウェア構成を示す図である。画像生成装置1は、CPU10,RAMなどの主記憶装置11,ハードディスク装置等の補助記憶装置12,グラフィックボード13を有し、ディスプレイなどの出力装置2が接続されている。グラフィックボード13は、GPU131とフレームメモリ132から構成される。画像生成装置1は、補助記憶装置12等からデータ入力があり、CPU10が主記憶装置11上にロードされたアプリケーションプログラムを実行し、画像処理のためのデータをGPU131に送る。GPU131がフレームメモリ132に画像データを書き込むことで、出力装置2に画像が表示される。
【0028】
図2は、本実施形態に係る画像生成装置1の機能ブロックを示す図である。画像生成装置1の機能は、入力部3,シーングラフ作成部4,走査部5,画像生成部6から構成される。
【0029】
入力部3は、3次元モデルのデータを受け付ける。3次元モデルのデータは、3次元画像を構成する複数の3次元オブジェクトの要素データから構成される。入力部3は、ハードディスク装置やCD−ROMなどの外部記憶装置からCPUがデータを読み出すことで実現されても良い。また、入力部3は、LANやインターネットなどのネットワークからCPUがデータを受信することで実現されても良い。
【0030】
シーングラフ作成部4は、入力された3次元モデルデータから、階層構造を有するシーングラフを主記憶装置11上に構築する。走査部5は、シーングラフを走査して、ノードに対応する描画コマンドや要素データを画像生成部6に送る。シーングラフ作成部4および走査部5は、CPU10がアプリケーションプログラムを実行することによって実現される。シーングラフ作成部4および走査部5の詳細については後述する。
【0031】
画像生成部6は、走査部5から送られた描画コマンドおよび要素データに基づいてレンダリング処理を行う。具体的には、座標変換処理(X)、塗りつぶし処理(S)、表示処理(D)を行うことによって、フレームメモリ132に画像データを書き込む。フレームメモリ132に書き込まれた画像データは出力装置2によって表示される。画像生成部6の処理は、GPU131によって実行される。
【0032】
<シーングラフ>
次に、シーングラフ作成部4が作成するシーングラフについて説明する。図3は、シーングラフの構造の一例を示す図である。このシーングラフは、自動車のモデルを表現したものである。図3のように、シーングラフは3次元オブジェクトを階層的にグループ化した木構造を有するデータ構造であることが一般的である。シーングラフの各ノードには、各オブジェクトの形状や表面属性、モデル変換(位置、姿勢、拡大縮小)に関する情報(要素データ)が含まれている。
【0033】
図3では、自動車はボディ、シャシー、エンジンを有することが示されている。さらに、ボディはドア、フロントガラス、バンパーを有することが示されている。また、シャシーは2つの車軸を有し、各車軸は2つタイヤを有することが示されている。
【0034】
ここで、各パーツの3次元位置は親ノードに対して相対的に表現される。パーツの位置は行列演算によって計算することができるので、シーングラフを走査する際にこの行列演算を行いつつ走査することによって、各パーツの位置を効率的に求めることができる。
【0035】
なお、入力された3次元モデルデータの全てをシーングラフとして構築する必要はなく、スクリーン座標に投影したときに出力画像外に位置するオブジェクトはシーングラフから取り除いて構わない。このように表示に関係しないオブジェクト(ノード)を削除する処理は、カリング処理と呼ばれ、高速化の手法の一つである。
【0036】
本実施形態におけるシーングラフ作成部4は、各ノードに対して形状データ、表面属性データだけでなく、描画優先度に関する情報を付加してシーングラフを作成する。各ノード(オブジェクト)に対する描画優先度は、入力される3次元画像データ中に格納されていても良い。また、各ノードに対する描画優先度は、シーングラフ作成部4が他のオブジェクトとの関連性に基づいて決定しても良い。図4、図5は、描画優先度を付加したシーングラフの例を示す図である。図4は、全てのノードに明示的に描画優先度を付加した例である。なお、本実施形態では、描画優先度はその値が小さいほど優先度が高いことを意味する。図5は、ノードに描画優先度が付加されていない場合には、そのノードの親ノードの描画優先度を継承するという規則を導入した場合のシーングラフの例である。図5において、描画優先度が括弧内に表示されているノードは、描画優先度を親ノードから継承していることを示す。
【0037】
このように、描画優先度は各ノードに対応づけられていれば具体的にはどのようにノードに対して付加されても構わない。
【0038】
<トラバース(走査)>
図6は、シーングラフをトラバースする処理を説明する図である。図6において、ノードの横に示された番号は、トラバースされる順序を示す番号である。このように、シーングラフのトラバースは、深さ優先で行う。すなわち、ノードが子ノードを有する場合には、子ノードを走査し、全ての子ノードに対して走査が終わってから、兄弟ノードを走査する。
【0039】
走査部5は、上記のようにシーングラフを走査して、3DCGライブラリを介して、各ノードに対応するオブジェクトの画像データを画像生成部6に出力する。シーングラフに対応した3DCGライブラリとしては、SGI社のOpen Inventor(登録商標)や、Sun Microsystems社のJava(登録商標)3Dが挙げられる。このようにして、画像生成装置1は
画像を生成する。
【0040】
ここで、走査部5は、決められた時間内に描画処理を完了できるように、特定のオブジェクトのみを描画する。まず、走査部5は、シーングラフの走査の際に、優先度を設定される。そして、シーングラフの走査中に、ノードに付加された描画優先度と、指定された優先度を比較して、ノードに付加された描画優先度が指定された優先度と同じか優先度が高ければ、そのノードに割り当てられた3次元オブジェクトの要素データを画像生成部6に送る。逆に、ノードに付加された描画優先度が、指定された優先度よりも低い場合には、そのノードに割り与えられた要素データを画像生成部6に出力しない。
【0041】
なお、走査部5から画像生成部6への要素データの出力には、オブジェクトの描画を行うコマンドの出力と、描画属性を変更するコマンドの出力とが存在する。本実施形態において、ノードが有する描画優先度が所定の優先度より低い場合には、描画を行うコマンドの出力のみを抑制することが好ましい。描画属性の変更は、次のノードの描画の際に引き継がれるものであるため、描画属性変更コマンドの出力まで抑制した場合には、意図したとおりの画像が生成されなくなってしまうためである。
【0042】
<動作例>
図7は、画像生成装置1の動作例を示すフローチャートである。以下、図7を用いて画像生成装置1の動作例について説明する。まず、画像生成装置1は、入力部3を介して、処理の対象となる3次元画像データを読み込む(S10)。次に、シーングラフ作成部4が、シーングラフを主記憶装置11上に構築する(S11)。この際、入力された3次元画像データを構成する各3次元オブジェクトの描画優先度を、シーングラフの各ノードに対して付加する。すなわち、シーングラフ作成部4は、図4に示すような各ノードに対して描画優先度が付加されたシーングラフを作成する。
【0043】
次に、走査部5がシーングラフを走査する際に、描画判定の閾値となる優先度が設定される(S12)。ここでは、優先度として「3」(値が小さいほど優先度が高い)が指定されたとする。そして、走査部5は、シーングラフの走査を行う(S13)。走査部5が、シーングラフのノードに到達したときに、そのノードに付加された描画優先度が、S12で走査部5に指定された優先度以上であるか判定する(S14)。ノードに付加された描画優先度が、指定された優先度以上である場合(S14−YES)には、そのノードの要素データを処理するコマンドをライブラリを介して画像生成部6に出力する(S15)。ノードに付加された描画優先度が、指定された優先度よりも低い場合には(S14−NO)には、そのノードに対する処理は行われない。そして、全てのノードの走査が終了したか判定し(S16)、終了していない場合にはS13に進みシーングラフの走査を続行する。
【0044】
図8は、走査部5が行う走査処理の具体例を説明する図である。なお、図8では、走査部5に指定された優先度が「3」である場合を例にとって説明する。図8には、各ノード
に付加された描画優先度が示されている。
【0045】
ノード81には描画優先度として「2」が設定されており、これは走査部5に指定された優先度「3」よりも高いので、ノード81の要素データは画像生成部6に出力される。すなわち、ノード81は描画される。ノード82の描画優先度は「3」であり、指定された優先度「3」と同じであるため、ノード82も描画される。同様に、ノード83も描画される。ノード84は、描画優先度が「5」であり、指定された優先度「3」よりも低いため、ノード84は描画されない。
【0046】
このように、優先度に基づいて、それぞれのノードを描画するか否かを判定しつつ、走査部5がシーングラフの走査を行う。図8において、黒く塗りつぶされているノードが描画の対象となるノードである。
【0047】
<実施形態の効果>
このように、走査部5がシーングラフを走査して3次元オブジェクトの要素データを画像生成部6に出力する際に、所定の優先度以上のノードのみを出力の対象とすることで、描画するデータ量をCPU側で制御することが可能となる。すなわち、リアルタイム表示要求の程度に応じた優先度を用いて走査を行うことで、リアルタイム要求を満たしつつ3DCGの描画を行うことが可能となる。
【0048】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態は第1の実施形態と基本的に同様であるため、主に異なる部分についてのみ説明する。
【0049】
図9は、第2の実施形態に係る画像生成装置1の機能ブロックを示す図である。第1の実施形態との違いは、走査部5が、データ量計測部51を有する点である。データ量計測部51は、走査部5が画像生成部6に対して出力した要素データのデータ量を計測する。ここで要素データの量として、3次元オブジェクトの数が用いられても良く、3次元オブジェクトが有する頂点の数が用いられても良い。
【0050】
本実施形態においては、シーングラフ作成部4は、シーングラフの各ノードに優先度を付加せずにシーングラフを作成する。走査部5は、シーングラフを走査して、各ノードの要素データを画像生成部6に出力する。この際、データ量計測部51は、画像生成部6に出力した要素データのデータ量をカウント(計測)していく。そして、画像生成部6に出力したデータ量が所定の閾値を超えた場合には、それ以降は画像生成部6に対して要素データを出力しない。
【0051】
図10は、画像生成装置1の動作例を示すフローチャートである。まず、画像生成装置1は、3次元画像データを読み込む(S20)。次に、シーングラフ作成部4が、シーングラフを主記憶装置11上に構築する(S21)。
【0052】
そして、データ量計測部51のデータ量カウンタをリセット(0に初期化)する(S22)。また、走査部5に対して、最大描画データ量を設定する(S23)。ここでは最大描画データ量として、頂点数100が指定されたとする。
【0053】
走査部5は、シーングラフの走査を行い(S24)、各ノードに割り当てられた要素データを画像生成部6に出力する(S25)。この際、データ量計測部51は、画像生成部6に出力した要素データのデータ量(ここでは頂点数)を、データ量カウンタに足し込む(S26)。そして、データ量カウンタが、S23で設定された最大描画データ量を超えたか否か判定し(S27)、最大描画データ量を超えている場合(S27−YES)には
、画像生成処理を終了する。データ量カウンタが最大描画データ量を超えていない場合(S27−NO)には、S28に進みシーングラフの全ノードを走査したか否か判定し、終了していない場合にはS24に進みシーングラフの走査を続行する。
【0054】
このように、本実施形態においては、描画する3次元オブジェクトのデータ量が所定の値を超えた場合には、それ以降の描画を抑制することでリアルタイム要求を満足することが可能となる。
【0055】
(第3の実施形態)
本発明の第3の実施形態は、走査部5が、各ノードの優先度と描画データ量の両方に基づいて、描画するノードを決定する。すなわち、第3の実施形態は、上記の第1および第2の実施形態を組み合わせたものである。
【0056】
図11は、本実施形態における画像生成装置1の動作例を示すフローチャートである。まず、画像生成装置1は、入力部3を介して、処理の対象とする3次元画像データを読み込む(S30)。次に、シーングラフ作成部4が、シーングラフを主記憶装置11上に構築する(S31)。この際、入力された3次元画像を構成する各3次元オブジェクトの描画優先度を、シーングラフの各ノードに対して付加する。
【0057】
次に、走査部5がシーングラフを走査する際に描画判定の閾値となる優先度が設定される(S32)。また、データ量計測部51のデータ量カウンタをリセット(0に初期化)し、走査部5に対して最大描画データ量が設定される(S32)。
【0058】
そして、走査部5がシーングラフの走査を行う(S33)。走査部5が、シーングラフのノードに到達したときに、そのノードに付加された描画優先度が、S32で走査部5に設定された優先度以上であるか否かを判定する(S34)。そのノードに付加された描画優先度が、設定された優先度以上である場合(S34−YES)は、そのノードの割り当てられた要素データを処理するコマンドをライブラリを介して画像生成部6に出力する(S35)。この際、データ量計測部51は、画像生成部6に出力した要素データのデータ量を、データ量カウンタに足し込む(S36)。そして、データ量カウンタが、S32で設定された最大描画データ量を超えたか否かを判定し(S37)、最大描画データ量を超えている場合(S37−YES)には、画像生成処理を終了する。データ量カウンタが最大描画データ量を超えていない場合(S37−NO)には、S38に進みシーングラフの全ノードを走査したか否か判定し、終了していない場合にはS33に進みシーングラフの走査を続行する。
【0059】
このように、本実施形態では、所定の優先度以上のノードに対してのみ描画処理を行い、さらに実際に描画したデータの量を計測し所定のデータ量以上の描画を行わないことで、リアルタイム表示に対する要求をより確実に満足することが可能となる。
【図面の簡単な説明】
【0060】
【図1】第1の実施形態に係る画像生成装置のハードウェア構成を示す図である。
【図2】第1の実施形態に係る画像生成装置の機能ブロックを示す図である。
【図3】シーングラフを模式的に示した図である。
【図4】描画優先度を付加したシーングラフの例を示す図である。
【図5】描画優先度を付加したシーングラフの例を示す図である。
【図6】シーングラフを走査(トラバース)する処理を示す図である。
【図7】第1の実施形態における画像生成処理の流れを示すフローチャートである。
【図8】第1の実施形態における走査処理を説明する図である。
【図9】第2の実施形態に係る画像生成装置の機能ブロックを示す図である。
【図10】第2の実施形態における画像生成処理の流れを示すフローチャートである。
【図11】第3の実施形態における画像生成処理の流れを示すフローチャートである。
【図12】従来技術による画像描画処理のパイプライン処理を説明する図である。
【符号の説明】
【0061】
1 画像生成装置
2 出力装置
3 入力部
4 シーングラフ作成部
5 走査部
51 データ量計測部
6 画像生成部
10 CPU
11 主記憶装置
12 補助記憶装置
13 グラフィックボード
131 GPU
132 フレームメモリ
【特許請求の範囲】
【請求項1】
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付ける入力手段と、
入力された要素データを階層的に表したシーングラフを作成するシーングラフ作成手段と、
前記シーングラフを走査して、シーングラフのノードに割り当てられた要素データを、画像を生成する画像生成手段に出力する走査手段と、
を有し、
前記シーングラフ作成手段は、前記シーングラフを構成するノードに対して描画優先度を付加し、
前記走査手段は、ノードに付加された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを前記画像生成手段に出力する
ことを特徴とする画像生成装置。
【請求項2】
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付ける入力手段と、
入力された要素データを階層的に表したシーングラフを作成するシーングラフ作成手段と
前記シーングラフを走査して、シーングラフのノードに割り当てられた要素データを、画像を生成する画像生成手段に出力する走査手段と、
を有し、
前記走査手段は、前記画像生成手段に出力したデータ量を計測する計測手段を有し、前記画像生成手段に出力したデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを前記画像生成手段に出力しない
ことを特徴とする画像生成装置。
【請求項3】
画像を生成する画像生成手段を有する情報処理装置が、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフであって、シーングラフを構成するノードに描画優先度が付加されたシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに付加された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
を含むことを特徴とする画像生成方法。
【請求項4】
画像を生成する画像生成手段を有する情報処理装置が、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
前記画像生成手段に出力した要素データのデータ量を計測するステップと、
を含み、
前記要素データを前記画像生成手段に出力するステップでは、前記画像生成手段に出力した要素データのデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを前記画像生成手段に出力しない、
ことを特徴とする画像生成方法。
【請求項5】
画像を生成する画像生成手段を有する情報処理装置に、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフであって、シーングラフを構成するノードに描画優先度が付加されたシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに付加された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
を実行させることを特徴とする画像生成プログラム。
【請求項6】
画像を生成する画像生成手段を有する情報処理装置に、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
前記画像生成手段に出力した要素データのデータ量を計測するステップと、
を実行させる画像生成プログラムであって、
前記要素データを前記画像生成手段に出力するステップでは、前記画像生成手段に出力した要素データのデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを前記画像生成手段に出力しない、
ことを特徴とする画像生成プログラム。
【請求項1】
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付ける入力手段と、
入力された要素データを階層的に表したシーングラフを作成するシーングラフ作成手段と、
前記シーングラフを走査して、シーングラフのノードに割り当てられた要素データを、画像を生成する画像生成手段に出力する走査手段と、
を有し、
前記シーングラフ作成手段は、前記シーングラフを構成するノードに対して描画優先度を付加し、
前記走査手段は、ノードに付加された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを前記画像生成手段に出力する
ことを特徴とする画像生成装置。
【請求項2】
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付ける入力手段と、
入力された要素データを階層的に表したシーングラフを作成するシーングラフ作成手段と
前記シーングラフを走査して、シーングラフのノードに割り当てられた要素データを、画像を生成する画像生成手段に出力する走査手段と、
を有し、
前記走査手段は、前記画像生成手段に出力したデータ量を計測する計測手段を有し、前記画像生成手段に出力したデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを前記画像生成手段に出力しない
ことを特徴とする画像生成装置。
【請求項3】
画像を生成する画像生成手段を有する情報処理装置が、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフであって、シーングラフを構成するノードに描画優先度が付加されたシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに付加された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
を含むことを特徴とする画像生成方法。
【請求項4】
画像を生成する画像生成手段を有する情報処理装置が、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
前記画像生成手段に出力した要素データのデータ量を計測するステップと、
を含み、
前記要素データを前記画像生成手段に出力するステップでは、前記画像生成手段に出力した要素データのデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを前記画像生成手段に出力しない、
ことを特徴とする画像生成方法。
【請求項5】
画像を生成する画像生成手段を有する情報処理装置に、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフであって、シーングラフを構成するノードに描画優先度が付加されたシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに付加された描画優先度が、所定の優先度以上である場合に、そのノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
を実行させることを特徴とする画像生成プログラム。
【請求項6】
画像を生成する画像生成手段を有する情報処理装置に、
3次元画像を構成する複数の3次元オブジェクトの要素データの入力を受け付けるステップと、
入力された要素データを階層的に表したシーングラフを作成するステップと、
作成されたシーングラフを走査して、ノードに割り当てられた要素データを、前記画像生成手段に出力するステップと、
前記画像生成手段に出力した要素データのデータ量を計測するステップと、
を実行させる画像生成プログラムであって、
前記要素データを前記画像生成手段に出力するステップでは、前記画像生成手段に出力した要素データのデータ量が所定の閾値を超えた場合は、それ以降に走査されたノードに割り当てられた要素データを前記画像生成手段に出力しない、
ことを特徴とする画像生成プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−334739(P2007−334739A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−167474(P2006−167474)
【出願日】平成18年6月16日(2006.6.16)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願日】平成18年6月16日(2006.6.16)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]