JP2012503811A - 複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム - Google Patents

複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム Download PDF

Info

Publication number
JP2012503811A
JP2012503811A JP2011528453A JP2011528453A JP2012503811A JP 2012503811 A JP2012503811 A JP 2012503811A JP 2011528453 A JP2011528453 A JP 2011528453A JP 2011528453 A JP2011528453 A JP 2011528453A JP 2012503811 A JP2012503811 A JP 2012503811A
Authority
JP
Japan
Prior art keywords
scene
frame buffer
shader
image
shading
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.)
Pending
Application number
JP2011528453A
Other languages
English (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.)
BAKERY
Original Assignee
BAKERY
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 BAKERY filed Critical BAKERY
Publication of JP2012503811A publication Critical patent/JP2012503811A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本発明は、3次元シーン(35)の2次元イメージ(12)を取得するために、3次元シーンのレンダリングまたはインターラクティブライティングをするための方法に関係する。1組のシェーダーと、シーンの3Dオブジェクトのマテリアルプロパティとを考慮して、シェーディングプロセス(15)を実行するステップを含み、シェーディングプロセスは、2次元イメージ(12)中のイメージ位置(x、y、sx、sy)に関連して情報記録にアクセスできるフォーマットで、シェーダー(20)に、および/または、3次元シーン(35)のマテリアルプロパティ(19)に関する情報記録を記憶するのに使用されるシェーダーフレームバッファ(24)を生成させる。
【選択図】 図5

Description

発明の背景
本発明は、3次元シーンのレンダリングのための方法に関係する。
短編アニメーションムービーまたは長編アニメーションムービーのための3次元(3D)コンピュータ発生イメージを生成させるプロセスはライティングと呼ばれるステップを含む。ライティングフェーズは、所定のシーンのジオメトリがどのようにライトに反応するかを記述するマテリアルプロパティを有する3Dジオメトリでできたシーンの3D表示を照明することを意図しているライティングシナリオを規定することからなる。ライターは、このライティングシナリオを規定することを担当する人である。ライターの仕事は、美しいイメージを発生させる芸術的な目的を達成するために、パラメータをライティングシナリオに変化させる反復プロセスからなる。パラメータの修正の各ステップにおいて、ライターは、最終的なイメージ上の修正の結果を見て、このような修正の効果を評価する必要がある。
望ましい“芸術的な”結果を取得するために、複雑な3Dイメージをライティングするには、非常に洗練された表示を有する非常に複雑な3Dジオメトリの処理を要する。3Dシーンを正しくライティングするには、3Dシーン中のさまざまなマテリアルの複雑なインタラクションと、マテリアルの反射率量と、1つ以上のライトソースの位置とが原因で、大量の時間と手作業の労力を要する。
大きな3Dシーンの処理に対するボトルネックの1つは、実行しなければならない複雑なジオメトリック計算の量である。複雑なイメージをレンダリングするために使用する現行のアルゴリズムは、通常、単純な3Dイメージに対して数分から長時間までにおよぶコンピュータ処理時間を要する。都合のよいことには、算出電力にかかるコストはだんだん少なくなってきている。都合の悪いことには、3Dイメージを生成させる熟練労働者にかかるコストはだんだん多くなってきている。
3Dシーンをライティングする現行の標準的なプロセスでは、3Dシーンの(例えば、ライト、テクスチャ、およびマテリアルプロパティのような)少数のパラメータを変化させ、その後、1つ以上のコンピュータにより作品をレンダリングする。しかしながら、レンダリングプロセスには、変化の結果をレビューできるようになるまでに、数分または長時間もかかることがある。
さらに、3Dシーンが正しくない場合には、プロセスを繰り返さなければならない。
レンダリングに必要とされる時間を改善する既知の技術には、文献US7427986に記載されているように、専用のハードウェアコンポーネントを使用することを含む。
代替的には、メモリ中にロードすることになるデータ量の制限をねらう方法が、文献US7532212に記載されている。
本発明の目的は、3Dコンピュータ発生イメージを生成させるときに、既知の方法による不利益なしで、ライティングの生産性と芸術的な制御とをさらに向上させることである。
本発明は、3次元シーンの2次元イメージを取得するために、3次元シーンのレンダリングまたはインターラクティブライティングをするための方法に関係する。方法は、1組のシェーダーと、シーンの3Dオブジェクトのマテリアルプロパティとを考慮して、シェーディングプロセスを実行するステップを含み、シェーディングプロセスは、2次元イメージ中のイメージ位置に関連して情報記録にアクセスできるフォーマットで、シェーダーに、および/または、3次元シーンのマテリアルプロパティに関する情報記録を記憶するのに使用されるシェーダーフレームバッファを生成させる。
本発明は、3Dコンピュータ発生イメージを生成させるときに、ライティングの生産性と芸術的な制御とを向上させる方法を提供することにより、先行技術の制限を克服する。
ディープファイルアプローチを使用する初期のジオメトリの複雑性とは無関係に、最終的なイメージのサイズのみに依存する値のアレイにより、ジオメトリフラグメントは表される。再ライティングアプリケーションにフレームバッファファイルアプローチを適用して、これを、他の既存のインターラクティブライティング解法よりも効果的にする。
本発明の1つの実施形態にしたがうと、本発明にしたがう方法は、ジオメトリフレームバッファを生成させるために、ラスタ化プロセス実行するステップと、シャドウマップを生成させるために、3次元シーン中に規定されている1組のライトに関して、3次元シーンのビジビリティプロセスを実行するステップとを含み、ジオメトリフレームバッファ、シェーディングフレームバッファは、2次元イメージの部分に対応しているバケットに分けられている。
実際に、複雑なジオメトリを扱うときに、ジオメトリフレームバッファの使用は非常に煩わしいことがある。所定の複雑な3Dイメージに対して、結果としてのジオメトリフレームバッファファイルのサイズは、100Gb前後になることがあり、1つのプロセスによって、すべて一度に発生させること、および/または、すべて一度にロードすることができない。それゆえ、そのサイズのデータを発生させてアクセスできるようにするために、クライアントプロセスによって、オンデマンドで、別々に発生させ、ロードし、放棄することができる、より小さいファイルの集合に、ジオメトリフレームバッファファイルを分ける。
本発明の1つの態様にしたがうと、バケットは、永続的な記憶装置上に記憶され、対応するイメージ部分が処理されるときに、ライブメモリ中にロードされる。
各プロセスまたはサブプロセスの算出の結果をキャッシュするために、ライブメモリ(RAM)の代わりに、ディスク記憶装置(ハードドライブ)を使用する。これに対する理由は、RAMは、サイズが限定されており、1つのプロセスのライフに限定される一時的なメモリであるからである。ディスク記憶装置を使用することで、情報の静的なキャッシングのために、実質的に無制限で、安価なメモリリソースにアクセスし、同一のデータの複数の算出を確実に回避する。
所定のビューポイントから可視のすべてのジオメトリフラグメントを一度だけ算出して、その結果をディスクに入れることにより、ライティングプロセスにおけるインターラクティビティを向上させる。
本発明の別の態様にしたがうと、ラスタ化プロセス、ビジビリティプロセス、および/または、シェーディングプロセスが、サブプロセスに分割される。さらなる態様にしたがうと、ビジビリティプロセスは、各ライトソースに対して別々に実行される。
本発明の別の態様にしたがうと、シェーダー情報は、複数のノードを備えるシェーディングツリー構造中に記憶され、シェーダーフレームバッファは、シェーダーツリー構造からのノードの評価の結果を記憶するように構成されている。
シェーディングノード計算の結果をキャッシュすることにより、修正における再評価の必要性を制限する。実際には、ジオメトリフレームバッファの各フラグメントは、所定のシェーダー中の対応するフラグメントの評価の結果とマッピングされ、この評価状態のみをキャッシュする、このシェーダーに対するカスタムフレームバッファを発生させる。
本発明の別の態様にしたがうと、シェーディングプロセスの間に、イメージのサブ領域のみが処理される。
このようなメカニズムを、レンダリングされたイメージの“関心領域”と呼ぶことがある。これは、イメージの算出を、指定する領域に限定するために、総イメージのサブポーションから構成される。この方法は、キャッシュされたジオメトリと、シャドウと、シェーダーフレームバッファからの、予め算出された適切なバケットのみを使用し、最小限のデータ量のみをロードして、イメージ部分の最適なレンダリングを可能にする。
本発明の別の態様にしたがうと、レンダリングされた最終的なイメージビューからのシーンのコンポーネントを通してナビゲートするのに使用されることになっている追加のシーン記述情報のような、シーンファイルのインターラクティブ制御のための追加的な情報、または、レンダリングに関連しない使用のための追加的な情報を、ジオメトリフレームバッファは含む。
本発明のさらなる態様にしたがうと、ジオメトリフレームバッファは動的な拡張に対して適合される。
本発明のさらなる態様にしたがうと、シェーダーフレームバッファは、シェーダーによる使用のために追加的な情報を記憶するのに適している。
これらのデータのタイプは、ジオメトリック情報だけではなく、どんな種類のものでも可能である。ここで、シェーダーツリーの各シェーダーは、これを使用し、各シェーダーがその最終的な算出をスピードアップするのに役立たせることが可能な、特殊化された、予めの算出データを記憶することができる。
本発明はまた、中央処理ユニットのみならず、上記の方法を実現するコンピュータプログラムプロダクトと、上記の方法を実現するコンピュータプログラムの、ソースコードまたは実行可能なコードを備える記憶媒体とを含む、上述したような方法を実現するシステムに関連している。
これから、本発明のさまざまな特徴の実施形態を実現する方法およびデバイスを、図面を参照して説明する。
図1は、本発明にしたがった方法に関連して使用されるハードウェアアーキテクチャの概略図である。 図2は、レンダリングアーキテクチャの概略図である。 図3は、本発明中で使用されるキャッシング構造を備える、レンダリングアーキテクチャの概略図である。 図4は、本発明にしたがった方法の概略ダイヤグラムである。 図5は、シェーダー評価の結果のキャッシングおよび再使用を図示している概略ダイヤグラムである。
詳細な説明
本発明の実施形態を図示するために、図面および関係する説明を提供するが、本発明の範囲を限定するものではない。明細書中の“1つの実施形態”または“実施形態”に対する言及は、実施形態に関連して記述する特定の特徴、構造、あるいは特性が、少なくとも本発明の実施形態中に含まれていることを示すことを意図している。明細書中のさまざまな箇所での“1つの実施形態では”または“実施形態”というフレーズの現れは、必ずしもすべて同一の実施形態に言及しているわけではない。
図面全体を通して、参照しているエレメント間での対応関係を示すために、参照番号を再使用している。
下記の説明は、当業者が本発明を作成および使用できるように提供され、発明者により考えられた最適なモードを示すが、使用可能なバリエーションを限定はしない。
本開示中で使用するように、文脈がそうでないことを要求する場合以外は、用語“comprise”と、“comprising”、“comprises”、および“comprised”のような、この用語のバリエーションは、他の追加的なものや、コンポーネントや、整数や、ステップなどを除くことを意図していない。
下記の説明では、実施形態の全体を通した理解を提供するために、特有な詳細を与えている。しかしながら、これらの特有な詳細なしで、実施形態を実施することができることを当業者は理解するだろう。実施形態を曖昧にしないように、よく知られている方法および技術を詳細の中に示していないかもしれない。
また、フローチャート、フローダイヤグラム、構造ダイヤグラム、またはブロックダイヤグラムとして描写するプロセスとして、実施形態を説明してもよいことに留意されたい。フローチャートでは、シーケンシャルなプロセスとして動作を説明することがあるが、動作のうちの多くは、並行して、または、同時に、実行することができる。さらに、動作の順序を再構成することができる。その動作が完了したときに、プロセスは終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応していてもよい。プロセスが関数に対応するときに、その終了は、呼び出し関数または主関数に対する、関数の戻りに対応する。
さらに、記憶装置は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、および/または、情報を記憶するための他の機械読取可能媒体を含む、データを記憶するための1つ以上のデバイスを表してもよい。用語“機械読取可能媒体”は、これらには限定されないが、命令および/またはデータを記憶することと、含むことと、あるいは運ぶこととが可能な、ポータブル記憶デバイスもしくは固定記憶デバイスと、光学記憶デバイスと、ワイヤレスチャネルと、他のさまざまな媒体とを含む。
なお、実施形態は、ハードウェアや、ソフトウェアや、ファームウェアや、ミドルウェアや、マイクロコードや、これらの組み合わせにより実現してもよい。ハードウェアや、ソフトウェアや、ファームウェアや、ミドルウェアや、マイクロコードにより実現されるときに、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体もしくは他の記憶装置のような、機械読取可能媒体中に記憶される。プロセッサは、必要なタスクを実行する。コードセグメントは、手順、関数、サブプログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは、命令、データ構造、またはプログラムステートメントの組み合わせを表す。情報や、データや、引数や、パラメータや、またはメモリコンテンツを、パスすることならびに/あるいは受信することにより、コードセグメントは、別のコードセグメント、または、ハードウェア回路に結合される。メモリシェアリングや、メッセージパッシングや、トークンパッシングや、ネットワーク送信などを含む、適した手段を通して、情報、引数、パラメータ、データなどは、パス、フォワードあるいは送信される。
用語“データエレメント”は、単一のアイテムとしてパッケージングされた何らかの少量のデータのことを指す。用語“データ単位”は、論理セクションを備えるデータエレメントの集合および/またはデータ単位の集合のことを指す。用語“記憶データベース”は、機械(例えば、コンピュータ)により読取可能な形態で、情報を提供(すなわち、記憶および/または送信)する何らかのメカニズムを含む。例えば、機械読取可能媒体は、リードオンリーメモリ(ROM);ランダムアクセスメモリ(RAM);磁気ディスク記憶媒体;光学記憶媒体;フラッシュメモリデバイス;電気的な、光学的な、音響学的な、または他の形態の、伝播信号(例えば、搬送波、赤外線信号、デジタル信号など);などを含む。
一般的に、ここで使用する用語“データ”および“データアイテム”は、ビットのシーケンスのことを指す。したがって、データアイテムは、ファイルのコンテンツや、ファイルの一部分や、メモリ中のページや、オブジェクト指向のプログラム中のオブジェクトや、デジタルメッセージや、デジタルスキャンされたイメージや、ビデオ信号またはオーディオ信号の一部や、あるいは、ビットのシーケンスにより表すことができる他の何らかのエンティティであってもよい。用語“データ処理”は、ここでは、データアイテムの処理のことを指し、時に、処理しているデータアイテムのタイプに依存する。例えば、デジタルイメージのためのデータプロセッサは、オーディオ信号のためのデータプロセッサとは異なることがある。
下記の説明では、本発明の1つ以上の実施形態の特定の特徴を記述するために、特定の専門用語を使用する。
用語“バケット”は、少量のデータへの高速アクセスのための関係するキーとともに記憶されているデータ単位のことを指す。例えば、バケットは予め定められた数の、一様なサイズのより小さいブロックに再分割されているメモリのブロックで構成することができ、ブロックのそれぞれは、メモリの割り振り可能な単位である。用語“stream”、“streamed”、および“streaming”は、何らかの著しいタイムラグなしで、十分なデータを確実に連続的に受信するのに十分な一定の高スピードレートにおけるデータ転送のことを指す。
用語“シェーディング”は、可視の(前方面の)表面上における照明の効果のことを指す。3Dシーンをレンダリングするときに、シェーディングは、反射光、大気、およびカメラ情報と組み合わされ、3Dシーンに対する内面色および外面色の最終的な外観を算出する。
用語“UVマッピング”は、2Dイメージが3Dモデルを表すようにする3Dモデリングプロセスのことを指す。UVマップは、3Dオブジェクトを、テクスチャとして知られているイメージ上に変形する。
用語“ノイズ”は、イメージに導き入れられる明度または色情報における、擬似ランダムで不要なばらつきのことを指す。イメージノイズは、シャドウ領域のような、低信号レベルを有するイメージ領域において最もはっきりする。
用語“サンプリング技法”は、観測したデータポイントに基づいて、他の観測されていないデータポイントを統計的に推測または予測するために、測定された個々のデータポイントを使用する統計的な実践のことを指す。
図1で説明されているように:本発明にしたがった方法は、1つまたは多数のコアからなる中央処理ユニットすなわちCPU1を含む、標準的なコンピュータアーキテクチャ5を使用し、BUS4を通してデータにアクセスし、ランダムアクセスメモリユニット2中に一時的にデータを記憶するか、または、ファイルシステム3上に永久的にデータを記憶するかのいずれかをして、実現することができる。
本発明にしたがったシステムは、2つの異なるタイプのコンピュータ:A HP xw6600グラフィックワークステーション(2 Intel Xeon CPU quad core 2.84Ghz,8Gb RAM DDR2,160Gb 10,000rpm ハードドライブ)上と、HPエリートルック8730wラップトップコンピュータ(1Intel Core2 extreme CPU2.53Ghz,8Gb RAM DDR2,320 Go 7,200rpmハードドライブ)上とでテストした。
図2を参照すると、レンダリングアーキテクチャ10は、入力として、3Dシーンのライティングシナリオ11を受け取り、出力として、最終的なイメージ12を発生させるシステムである。レンダリングアーキテクチャ10は、3つの異なるプロセスを実行する3つの主なユニットを備えている。
第1のプロセスは、ラスタ化プロセス13であり、ここで、3Dシーンのジオメトリ複雑性を、最終的なイメージの解像度に基づくカメラ空間に変換する。
第2のプロセスは、ビジビリティプロセス14であり、ここで、対応するシャドウを決定するために、3Dシーンのジオメトリ複雑性をライトのビューポイントから処理する。
第3のプロセスは、シェーディングプロセス15であり、ここで、所定のピクセルから可視のジオメトリに適用されるマテリアルがどのようにライトに反応するかを評価することにより、このピクセルの最終的な色を決定する。
各プロセスを、下記に説明するように、サブプロセスに分割することができる。
ラスタ化プロセス13を、最終的なイメージを表している長方形のエリア16に適用する。イメージ空間中のジオメトリ複雑性の算出をバケット17という名のサブイメージに分割することにより、このプロセスをサブプロセスに分けることができる。
バケットは、フレームバッファの一部であり、フラグメントは、フレームバッファ中またはバケット中の原子エンティティである。例えば、アンチエイリアシングがない場合は、フラグメントはピクセルに対応するだろう。
3Dシーンのライティングシナリオ11の各ライト18に、ビジビリティプロセス14を別々に適用することができる。
マテリアルプロパティ19を記述するために使用するライティングシナリオの、各ピクセルに対して、および、各オブジェクトに対して、シェーディングプロセス15を別々に適用することができる。一般的にシェーダーと呼ばれる、接続されているマテリアルオペレータのグループを使用して、各マテリアルのプロパティを表すマテリアルアーキテクチャを考えると、各シェーダー20は、他のものと無関係に算出されてよい。
これから図3を参照すると、上記に説明したレンダリングアーキテクチャ10中で使用する、キャッシュまたは記憶装置エンティティが識別されている。
ジオメトリフレームバッファキャッシュ22は、イメージ空間16におけるラスタ化プロセス13の結果から生じ、シャドウマップキャッシュ23は、3Dシーンのライティングシナリオの各ライト18に対するビジビリティプロセス14の結果から生じ、汎用シェーダーフレームバッファキャッシュ24は、何らかのシェーダー20の状態と、シェーディングプロセス15のマテリアルプロパティ19をキャッシュするために使用され、オプションとしては、ケースに応じて、いくつかのシェーダーがより特殊化されたキャッシュ25を発生させる。
これから図4を参照すると、3Dシーンをライティングするための方法のステップのダイヤグラムが示されており、これは、本発明の1つの実施形態にしたがって、何らかの3Dパラメータが変更されて複雑な3Dシーンをライティングするときに、ユーザが経験するレンダリング時間を減少させ、インターラクティブフィードバックを提供する。
方法は、複雑なジオメトリック計算をディスク上のジオメトリフレームバッファファイル22に記憶させるステップを含む。
既に規定されているカメラ30に対するラスタ化プロセスの結果を記憶させることにより、このファイルが発生される。
インターラクティブ再ライティングセッション32においてシェーディング15を実行するときに、シーン35の一部における変化に対応して、シェーディングあるいは再シェーディングされることになっている、イメージのサブ領域33またはシーンの一部の選択が実行される。
シェーディングされているサブ領域33に基づいて、ジオメトリフレームバッファファイル22のバケット17表示を使用して、必要とするデータのみをメモリ中にストリーミングし34、その後廃棄する。さらに詳細には、例にしたがうと、3Dシーンの選択された部分の単一のバケットがメモリにロードされる。その後、3Dシーンの選択された部分のシェーディングが実行される。いったんこのシェーディングが実行されると、メモリはクリアされる。その後、3Dシーンの選択された部分のデータの次のバケットが処理される。ロードされ、クリアにされるステップは、操作されるべき3Dシーンの部分にシェーディングが適用されるまで繰り返される。
このアプローチにより、ジオメトリフレームバッファファイル全体をメモリ中にロードすることが回避できる。
修正されたシェーダーおよびこれらに従属するもののみを再シェーディングするために、各シェーダー20の評価状態36は、ジオメトリフレームバッファファイル表示24の下でキャッシュされ、次の更新において、前のシェーダー状態がディスクから再ロードされる。
ここから図5に目を向けると、シェーダー評価結果のキャッシュおよび再使用のプロセスがより詳細に説明されている。
シェーダー20は、3Dシーン中の所定のジオメトリに関係する所定のマテリアルのプロパティを算出するために使用されるオブジェクトである。3Dシーンをライティングするときに、レンダリングされる最終的なイメージはカメラ30のビューポイントから算出される。
カメラ30は、3Dジオメトリ42を、イメージ空間またはジオメトリフレームバッファ22に変換させるのに使用されるプロジェクション40を規定している。このジオメトリフレームバッファは、各サブピクセルに対して、所定のサブピクセルの下で可視のすべてのジオメトリフラグメントを記述する。各サブピクセルは、ピクセル座標x、yおよびサブピクセル座標sx、syにより、識別される。
先に説明したように、3Dシーンをラスタ化するときに、フレームバッファは論理バケット17に分けられる43。各バケットは、イメージの1組のフラグメントを表している。
シェーディングプロセス15の間に、所定のバケット17のサブピクセル44の下でフラグメントをシェーディングするときに、そのフラグメントに関係するマテリアル19が評価され45、シェーダーs3 20の評価をトリガし、これ自体は別のシェーダーs2 20の評価をトリガし、(通常、赤/緑/青/アルファのチャネルに対する4つのダブル精度値のアレイの形態の下で)、この評価の最終的な結果を、ジオメトリフレームバッファと同一の編成にしたがうファイル構成に記憶させる。すなわち、バケット当たり1つのキャッシュファイル46、47と、フラグメント当たり1つの値である。各シェーダーは、これ自体の評価の結果を、これ自体のシェーダーキャッシュファイルに記憶させるという同一のタスクを実行することに留意されたい。
これから、シェーダーs3の入力パラメータ48のうちの1つを修正するときに、従属しているものを見て、最終的なマテリアルm1 19を再算出する必要があり、シェーダーs3に対するキャッシュ47は無効になるが、この修正に依存していないシェーダーs2は影響されず、将来の評価のためにこのキャッシュ46をクリーンに保つ。
そして、s3のパラメータ48の修正の後にイメージ22を再シェーディングするときに、所定のサブピクセル44の下でのフラグメントのシェーディングは、再びマテリアルm1 19の評価をトリガし、これ自体は、キャッシュが無効であるシェーダーs3 20の評価をトリガし、これ自体は、シェーダーs2 20の評価をトリガし、キャッシュが有効であるためにシェーダーs2 20の評価はスキップされ、結果としての値は、所定のフラグメントに対するシェーダーキャッシュファイルから直接読み取られる。
カメラにより現在表されているリーフノードだけの代わりに、シェーディングツリーの任意のノードの結果を記憶するのに、ジオメトリフレームバッファファイルアプローチを使用することができる。それゆえ、シェーディングツリーにおいて、従属していないパラメータが変更されたときには、任意のノードは、そのキャッシュを使用して、その再評価をスキップすることができる。この方法では、シェーディングツリー中で変更されたノードより後のシェーディングノードのみを再算出する必要がある。シェーディングツリー中の先のノード算出は、既に記憶されており、シェーディングツリー全体を再計算する現在の関連技術とは異なって、変更させる必要はない。典型的な3Dシーンは何千ものシェーディングノードを含むので、残りのノードを記憶しつつ10個程度のノードのみを再算出することにより、100倍までインターラクティブレンダリングスピードを増加させることができる。
方法は、シェーディングツリーノードキャッシュを使用して、レンダリングの質を向上させるステップをさらに含む。
本方法は、3Dシーンレンダリングの質も向上させる。例えば、現在、3Dシーン中のシャドウのほとんどは、サンプリング技法を通して算出されている。これらのサンプリング技法は、ノイズを生成させる。ノイズを減らすために、一般的なアプローチは、サンプリングの数、それゆえの、算出時間を増加させることである。シャドーイング情報をジオメトリフレームバッファファイル中にキャッシュしているので、“実質的に”キャッシュされているイメージをフィルタリングし、通常そうするために必要とされる算出時間なしで、ノイズを減らすことができる。
別の実施形態では、ジオメトリフレームバッファファイルを動的に拡張できる。すなわち、3Dシーンに関する、複雑なジオメトリック計算だけではなく、例えば、算出の結果、または、外部情報へのインデックスのような、数あるタイプの情報を記憶させることができる。例えば、記憶装置中に記憶させることができる他のタイプの情報の中で、ピクセル当たりの色、パラメトリックUVマッピング、テクスチャUVマッピング、キャラクターの名前に対するインデックス、算出時間、または、最も高輝度のライトに対するインデックスである。
別の実施形態では、最大限の効率ためにカスタマイズされた、特殊化されたユーザインターフェース表示をユーザに提供するために、ジオメトリフレームバッファファイルアプローチを使用することができる。例えば、特殊化されたユーザインターフェース表示は、インターラクティブジオメトリや、マテリアルや、ライトや、または、キャラクターに取り組むアニメーターの名前を提供することができる。数ある情報の中で、キャラクターに対するアニメーションのバージョンを表示させて、特殊化されたユーザインターフェース表示から選択することができる。加えて、ワークフローに対する何らかの関連する情報を、より効率的な特殊化されたユーザインターフェース表示中に示すこともでき、ユーザの生産性を増加させ、完成した3Dシーンを生成させるのに必要なリソースを減少させる。
図4上で見ることができるように、レンダリングされたイメージウィンドウ38からのシーンコンポーネントの選択37や、または、プロダクションパイプラインデータを参照するために、ジオメトリフレームバッファファイル中でピクセルごとのベースで汎用情報39を記憶させることから活用することのような、3Dシーンのインターラクティブ制御のために、余分な情報の記憶装置を提供することもある。
この目的のために、プロダクション情報を含むことがある、レンダリングされた3Dキャラクター、または、3Dシーンに対して、ジオメトリフレームバッファファイルインデックス情報(メタデータ)を記憶させることができる。例えば、3Dキャラクターまたは3Dシーンが完全にレンダリングされた後に、例えば、バージョンや、レンダリング時間や、誰がこれに取り組んだかや、キャラクターの名前のような、キャラクターに関連するメタデータ情報を記憶させて、プロダクションプロセス間に検索するためにインデックス付けすることができる。これにより、ユーザが、プロダクションプロセスの任意のポイントにおいて、3Dキャラクターまたは3Dシーンを選択し、3Dキャラクターまたは3Dシーンに関連する情報にインターラクティブにアクセスし、3Dキャラクターまたは3Dシーンに関連する情報を表示させる能力を提供する。
通常そうであるように、各算出ステップを、レンダリングエンジンにより自動的にトリガでき、または、ユーザにより手動で動作させる/動作停止させることができる。実際に、ユーザは、ジオメトリフレームバッファや、シャドウマップや、シェーダーを再算出するか否かを決定することができる。これに加えて、ユーザは、所定のシェーダーの評価を明示的に動作停止でき、または、所定のシェーダーをフリーズさせて、前の算出のキャッシュを所定のシェーダーに使用させるようにすることができる。目的は、ユーザが役に立たないと考えることがある高価な算出を回避することである。
例えば、反射を有するシーンのケースでは、シーンの反射は、レイトレースライトにより実行される。反射算出は、これがシーンジオメトリ全体を処理する必要があるかもしれないので、非常に遅いことがある。シーンの他のライティングパラメータを修正しながら、このレイトレースされたライトをフリーズさせて、最終的なイメージ算出をスピードアップさせることができる。最終的なイメージが正しいものでなかったとしても、修正が反射に影響することがあることから、所定の状況では、芸術家にとってこれらの違いは必ずしも重要ではないかもしれない。
結論として、イメージが正しいか否かを芸術的に判断するために、何が重要であるかにおける決定は、ソフトウェアが賢く推測できない、主観的な人間のパラメータに依存している。芸術家が、その芸術的な作業を実行するときに、ライティングプロセスを調整し、これを、これ自体の方法論に適応させ、最高の柔軟性を確実なものにすることができるシステムを提案している。
本発明をある程度の特定性とともに記述してきたが、本開示が例示として行なわれていることを理解するだろう。本発明の範囲から逸脱することなく、上記の記述においてさまざまな変更が行なわれる際に、上記記述中に含まれる、または、添付している図面中に示している、すべての物事は、例示的なものとすべきであり、限定されているシーンにおいて使用しないことを意図している。
本発明をある程度の特定性とともに記述してきたが、本開示が例示として行なわれていることを理解するだろう。本発明の範囲から逸脱することなく、上記の記述においてさまざまな変更が行なわれる際に、上記記述中に含まれる、または、添付している図面中に示している、すべての物事は、例示的なものとすべきであり、限定されているシーンにおいて使用しないことを意図している。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1]3次元シーン(35)の2次元イメージ(12)を取得するために、前記3次元シーンのレンダリングまたはインターラクティブライティングをするための方法において、
1組のシェーダーと、前記シーンの3Dオブジェクトのマテリアルプロパティとを考慮して、シェーディングプロセス(15)を実行するステップを含み、
前記シェーディングプロセスは、前記2次元イメージ(12)中のイメージ位置(x、y、sx、sy)に関連して情報記録にアクセスできるフォーマットで、シェーダー(20)に、および/または、前記3次元シーン(35)のマテリアルプロパティ(19)に関する前記情報記録を記憶するのに使用されるシェーダーフレームバッファ(24)を生成させる方法。
[2]ジオメトリフレームバッファ(22)を生成させるために、ラスタ化プロセス(13)を実行するステップと、
シャドーマップ(23)を生成させるために、前記3次元シーン(35)中に規定されている1組のライト(18)に関して、前記シーン(35)のビジビリティプロセス(14)を実行するステップとを含み、
前記ジオメトリフレームバッファ(22)および/またはシェーディングフレームバッファ(24)は、前記2次元イメージ(12)の部分に対応している、バケットまたはフラグメントに分けられている[1]記載の方法。
[3]バケットまたはフラグメントは、永続的な記憶装置上に記憶され、対応するイメージ部分が処理されるときに、ライブメモリ中にロードされる[2]記載の方法。
[4]前記ラスタ化プロセス、前記ビジビリティプロセス、および/または、前記シェーディングプロセスが、サブプロセスに分割される[2]または[3]記載の方法。
[5]シェーダー(20)情報は、複数のノードを備えるシェーディングツリー構造中に記憶され、前記シェーダーフレームバッファ(24)は、前記シェーダーツリー構造からのノードの評価の結果を記憶するように構成されている先行する請求項のうちの1項記載の方法。
[6]前記シェーディングプロセス(14)の間に、前記イメージのサブ領域(33)のみが処理される先行する請求項のうちの1項記載の方法。
[7]レンダリングされた最終的なイメージビューからの前記シーンのコンポーネントにわたってナビゲートするのに使用されることになっている追加のシーン記述情報のような、前記シーン(35)のインターラクティブ制御のための追加的な情報(39)、または、レンダリングに関連しない使用のための追加的な情報(39)を、前記ジオメトリフレームバッファは含む先行する請求項のうちの1項記載の方法。
[8]前記ジオメトリフレームバッファ(22)は動的な拡張に対して適合される先行する請求項のうちの1項記載の方法。
[9]前記シェーダーフレームバッファは、前記シェーダー(20)による使用のための追加的な情報を記憶するのに適している先行する請求項のうちの1項記載の方法。
[10]前記ビジビリティプロセスは、各ライトソースに対して、別々に実行される先行する請求項のうちの1項記載の方法。
[11]中央処理ユニットおよびディスクを具備する、先行する請求項のうちの1項記載の方法を実現するシステム。
[12][1]〜[10]記載の方法を実現するコンピュータプログラムプロダクト。
[13][12]記載のコンピュータプログラムの、ソースコードまたは実行可能なコードを具備する記憶媒体。

Claims (13)

  1. 3次元シーン(35)の2次元イメージ(12)を取得するために、前記3次元シーンのレンダリングまたはインターラクティブライティングをするための方法において、
    1組のシェーダーと、前記シーンの3Dオブジェクトのマテリアルプロパティとを考慮して、シェーディングプロセス(15)を実行するステップを含み、
    前記シェーディングプロセスは、前記2次元イメージ(12)中のイメージ位置(x、y、sx、sy)に関連して情報記録にアクセスできるフォーマットで、シェーダー(20)に、および/または、前記3次元シーン(35)のマテリアルプロパティ(19)に関する前記情報記録を記憶するのに使用されるシェーダーフレームバッファ(24)を生成させる方法。
  2. ジオメトリフレームバッファ(22)を生成させるために、ラスタ化プロセス(13)を実行するステップと、
    シャドーマップ(23)を生成させるために、前記3次元シーン(35)中に規定されている1組のライト(18)に関して、前記シーン(35)のビジビリティプロセス(14)を実行するステップとを含み、
    前記ジオメトリフレームバッファ(22)および/またはシェーディングフレームバッファ(24)は、前記2次元イメージ(12)の部分に対応している、バケットまたはフラグメントに分けられている請求項1記載の方法。
  3. バケットまたはフラグメントは、永続的な記憶装置上に記憶され、対応するイメージ部分が処理されるときに、ライブメモリ中にロードされる請求項2記載の方法。
  4. 前記ラスタ化プロセス、前記ビジビリティプロセス、および/または、前記シェーディングプロセスが、サブプロセスに分割される請求項2または3記載の方法。
  5. シェーダー(20)情報は、複数のノードを備えるシェーディングツリー構造中に記憶され、前記シェーダーフレームバッファ(24)は、前記シェーダーツリー構造からのノードの評価の結果を記憶するように構成されている先行する請求項のうちの1項記載の方法。
  6. 前記シェーディングプロセス(14)の間に、前記イメージのサブ領域(33)のみが処理される先行する請求項のうちの1項記載の方法。
  7. レンダリングされた最終的なイメージビューからの前記シーンのコンポーネントにわたってナビゲートするのに使用されることになっている追加のシーン記述情報のような、前記シーン(35)のインターラクティブ制御のための追加的な情報(39)、または、レンダリングに関連しない使用のための追加的な情報(39)を、前記ジオメトリフレームバッファは含む先行する請求項のうちの1項記載の方法。
  8. 前記ジオメトリフレームバッファ(22)は動的な拡張に対して適合される先行する請求項のうちの1項記載の方法。
  9. 前記シェーダーフレームバッファは、前記シェーダー(20)による使用のための追加的な情報を記憶するのに適している先行する請求項のうちの1項記載の方法。
  10. 前記ビジビリティプロセスは、各ライトソースに対して、別々に実行される先行する請求項のうちの1項記載の方法。
  11. 中央処理ユニットおよびディスクを具備する、先行する請求項のうちの1項記載の方法を実現するシステム。
  12. 請求項1〜10記載の方法を実現するコンピュータプログラムプロダクト。
  13. 請求項12記載のコンピュータプログラムの、ソースコードまたは実行可能なコードを具備する記憶媒体。
JP2011528453A 2008-09-24 2009-09-24 複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム Pending JP2012503811A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9968508P 2008-09-24 2008-09-24
US61/099,685 2008-09-24
PCT/IB2009/007248 WO2010035141A2 (en) 2008-09-24 2009-09-24 Method and system for rendering or interactive lighting of a complex three dimensional scene

Publications (1)

Publication Number Publication Date
JP2012503811A true JP2012503811A (ja) 2012-02-09

Family

ID=41582009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011528453A Pending JP2012503811A (ja) 2008-09-24 2009-09-24 複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム

Country Status (5)

Country Link
US (1) US20110234587A1 (ja)
EP (1) EP2327060A2 (ja)
JP (1) JP2012503811A (ja)
CA (1) CA2734332A1 (ja)
WO (1) WO2010035141A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015535719A (ja) * 2012-10-05 2015-12-17 マテリアライズ エン.フェー. カスタマイズされた大動脈ステントデバイスおよびそれを作製する方法
JP2020515967A (ja) * 2017-03-30 2020-05-28 マジック リープ, インコーポレイテッドMagic Leap,Inc. 集中レンダリング
JP2022107493A (ja) * 2021-01-08 2022-07-21 北京小米移動軟件有限公司 操作リストの制御方法、操作リストの制御装置、電子機器及び記憶媒体
US11699262B2 (en) 2017-03-30 2023-07-11 Magic Leap, Inc. Centralized rendering

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810199B (zh) * 2012-06-15 2015-03-04 成都平行视野科技有限公司 一种基于gpu的图像处理方法
US9171401B2 (en) 2013-03-14 2015-10-27 Dreamworks Animation Llc Conservative partitioning for rendering a computer-generated animation
US9224239B2 (en) 2013-03-14 2015-12-29 Dreamworks Animation Llc Look-based selection for rendering a computer-generated animation
US9208597B2 (en) 2013-03-15 2015-12-08 Dreamworks Animation Llc Generalized instancing for three-dimensional scene data
US9218785B2 (en) 2013-03-15 2015-12-22 Dreamworks Animation Llc Lighting correction filters
US9811936B2 (en) 2013-03-15 2017-11-07 Dreamworks Animation L.L.C. Level-based data sharing for digital content production
US9514562B2 (en) 2013-03-15 2016-12-06 Dreamworks Animation Llc Procedural partitioning of a scene
US9659398B2 (en) 2013-03-15 2017-05-23 Dreamworks Animation Llc Multiple visual representations of lighting effects in a computer animation scene
US9589382B2 (en) 2013-03-15 2017-03-07 Dreamworks Animation Llc Render setup graph
US9230294B2 (en) 2013-03-15 2016-01-05 Dreamworks Animation Llc Preserving and reusing intermediate data
US9626787B2 (en) * 2013-03-15 2017-04-18 Dreamworks Animation Llc For node in render setup graph
US10134174B2 (en) 2016-06-13 2018-11-20 Microsoft Technology Licensing, Llc Texture mapping with render-baked animation
US10565802B2 (en) * 2017-08-31 2020-02-18 Disney Enterprises, Inc. Collaborative multi-modal mixed-reality system and methods leveraging reconfigurable tangible user interfaces for the production of immersive, cinematic, and interactive content
US10546416B2 (en) * 2018-03-02 2020-01-28 Microsoft Technology Licensing, Llc Techniques for modifying graphics processing unit (GPU) operations for tracking in rendering images

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022953A (ja) * 1999-07-09 2001-01-26 Square Co Ltd レンダリング方法及び装置、ゲーム装置、並びに仮想空間内のオブジェクトの陰影に関するデータを計算するためのプログラムを格納するコンピュータ読み取り可能な記録媒体
JP2003536153A (ja) * 2000-06-08 2003-12-02 イマジネイション テクノロジーズ リミテッド 三次元イメージレンダリングのためのタイリング及び圧縮
US20050248563A1 (en) * 2004-05-10 2005-11-10 Pixar Techniques for rendering complex scenes
US20060209067A1 (en) * 2005-03-03 2006-09-21 Pixar Hybrid hardware-accelerated relighting system for computer cinematography
US20070002066A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Procedural graphics architectures and techniques
WO2007049610A1 (ja) * 2005-10-25 2007-05-03 Mitsubishi Electric Corporation 画像処理装置
JP2007226572A (ja) * 2006-02-23 2007-09-06 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2008501189A (ja) * 2004-05-26 2008-01-17 ソニー オンライン エンタテインメント インク ルールベースの手続的地形生成用資源管理

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022953A (ja) * 1999-07-09 2001-01-26 Square Co Ltd レンダリング方法及び装置、ゲーム装置、並びに仮想空間内のオブジェクトの陰影に関するデータを計算するためのプログラムを格納するコンピュータ読み取り可能な記録媒体
JP2003536153A (ja) * 2000-06-08 2003-12-02 イマジネイション テクノロジーズ リミテッド 三次元イメージレンダリングのためのタイリング及び圧縮
US20050248563A1 (en) * 2004-05-10 2005-11-10 Pixar Techniques for rendering complex scenes
JP2008501189A (ja) * 2004-05-26 2008-01-17 ソニー オンライン エンタテインメント インク ルールベースの手続的地形生成用資源管理
US20060209067A1 (en) * 2005-03-03 2006-09-21 Pixar Hybrid hardware-accelerated relighting system for computer cinematography
US20070002066A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Procedural graphics architectures and techniques
WO2007049610A1 (ja) * 2005-10-25 2007-05-03 Mitsubishi Electric Corporation 画像処理装置
JP2007226572A (ja) * 2006-02-23 2007-09-06 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015535719A (ja) * 2012-10-05 2015-12-17 マテリアライズ エン.フェー. カスタマイズされた大動脈ステントデバイスおよびそれを作製する方法
JP2020515967A (ja) * 2017-03-30 2020-05-28 マジック リープ, インコーポレイテッドMagic Leap,Inc. 集中レンダリング
US11315316B2 (en) 2017-03-30 2022-04-26 Magic Leap, Inc. Centralized rendering
JP7168578B2 (ja) 2017-03-30 2022-11-09 マジック リープ, インコーポレイテッド 集中レンダリング
US11699262B2 (en) 2017-03-30 2023-07-11 Magic Leap, Inc. Centralized rendering
JP2022107493A (ja) * 2021-01-08 2022-07-21 北京小米移動軟件有限公司 操作リストの制御方法、操作リストの制御装置、電子機器及び記憶媒体

Also Published As

Publication number Publication date
CA2734332A1 (en) 2010-04-01
WO2010035141A3 (en) 2010-05-20
WO2010035141A2 (en) 2010-04-01
US20110234587A1 (en) 2011-09-29
EP2327060A2 (en) 2011-06-01

Similar Documents

Publication Publication Date Title
JP2012503811A (ja) 複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム
US11676325B2 (en) Layered, object space, programmable and asynchronous surface property generation system
CA2810865C (en) Streaming light propagation
US8223148B1 (en) Method and apparatus for computing indirect lighting for global illumination rendering in 3-D computer graphics
US7554550B2 (en) Non-destructive processing of digital image data
US20130271465A1 (en) Sort-Based Tiled Deferred Shading Architecture for Decoupled Sampling
US20080180440A1 (en) Computer Graphics Shadow Volumes Using Hierarchical Occlusion Culling
US20060290705A1 (en) Performing a pre-rendering pass in digital image processing
US11816783B2 (en) Enhanced techniques for traversing ray tracing acceleration structures
US7619628B2 (en) Caching digital image data
US20060250396A1 (en) Method and apparatus for rendering of translucent objects using volumetric grids
JP5731566B2 (ja) 情報処理装置、制御方法、及び記録媒体
KR20200067222A (ko) 그래픽스 파이프라인에서의 인덱스들의 압축 및 압축 해제
US20070008337A1 (en) Accumulating transforms through an effect graph in digital image processing
EP2973412B1 (en) Conservative partitioning for rendering a computer-generated animation
Schwärzler et al. Fast percentage closer soft shadows using temporal coherence
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
KR100900822B1 (ko) 실시간 재조명 렌더링 시스템 및 방법
WILLCOCKS Sparse volumetric deformation
US11657552B2 (en) Generating illuminated two-dimensional vector graphics using path tracing
Papanikolaou et al. Real-time separable subsurface scattering for animated virtual characters
Fu et al. Dynamic shadow rendering with shadow volume optimization
Huang et al. Scalable programmable motion effects on GPUs
Knuth et al. A Hybrid Ambient Occlusion Technique for Dynamic Scenes
Wang et al. Dynamic Shadow Synthesis Using Silhouette Edge Optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140204