(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-22
(54)【発明の名称】2D/3Dモデルをレンダリングするための、コンピュータにより実現される方法およびプログラム可能なシステム
(51)【国際特許分類】
G06T 15/00 20110101AFI20220914BHJP
【FI】
G06T15/00 501
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021575420
(86)(22)【出願日】2020-06-19
(85)【翻訳文提出日】2022-02-09
(86)【国際出願番号】 EP2020067126
(87)【国際公開番号】W WO2020254593
(87)【国際公開日】2020-12-24
(31)【優先権主張番号】102019116715.9
(32)【優先日】2019-06-20
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】520288076
【氏名又は名称】グリットワールド ゲーエムベーハー
【氏名又は名称原語表記】GritWorld GmbH
【住所又は居所原語表記】Emil-von-Behring-Str. 12 60439 Frankfurt am Main Germany
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】レンマーヒルト,クリストフ
(72)【発明者】
【氏名】アルトゥス,パスカル
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA13
5B080AA19
5B080BA00
5B080CA01
5B080CA04
5B080DA06
5B080GA00
5B080GA02
5B080GA11
(57)【要約】
本発明は、2D/3Dモデルをレンダリングするための、コンピュータにより実現される方法に関する。本方法は、メモリユニットおよび第1の効果ユニットを提供するステップを含み、メモリユニットは、モデルに関するデータを記憶し、そのデータを少なくとも第1の効果ユニットに送信するように構成され、第1の効果ユニットは、送信されたデータを受信し、受信されたデータに基づいてモデルをレンダリングし、第1のレンダリング結果を生成するように構成され、本方法はさらに、レンダリングプロセスを実行するための第2の効果ユニットを生成するステップと、第2の効果ユニットが第1のレンダリング結果およびメモリユニットからのデータのうちの少なくとも1つを受信するように構成されるように第2の効果ユニットを構成するステップと、メモリユニットに記憶されるデータの変化を検出するステップと、第1の効果ユニットおよび第2の効果ユニットによって、2D/3Dモデルをレンダリングするステップとを含む。
【特許請求の範囲】
【請求項1】
2D/3Dモデルをレンダリングするための、コンピュータにより実現される方法であって、
メモリユニットおよび第1の効果ユニットを提供するステップを含み、
前記メモリユニットは、前記モデルに関するデータを記憶し、前記データを少なくとも前記第1の効果ユニットに送信するように構成され、
前記第1の効果ユニットは、前記送信されたデータを受信し、前記受信されたデータに基づいて前記モデルをレンダリングし、第1のレンダリング結果を生成するように構成され、前記方法はさらに、
レンダリングプロセスを実行するための第2の効果ユニットを生成するステップと、
前記第2の効果ユニットが前記第1のレンダリング結果を受信するように構成されるか、または前記第2の効果ユニットが前記メモリユニットから前記データを受信するように構成されるように、前記第2の効果ユニットを構成するステップと、
前記メモリユニットに記憶された前記データの変化を検出するステップと、
前記第1の効果ユニットおよび前記第2の効果ユニットによって、前記2D/3Dモデルをレンダリングするステップとを含む、方法。
【請求項2】
前記第2の効果ユニットが、前記第1のレンダリング結果を受信するように構成される場合、前記方法は、さらに、前記第2の効果ユニットによって実行され、
前記受信された第1のレンダリング結果に基づいて第2のレンダリング結果を生成するか、または
前記受信された第1のレンダリング結果および前記メモリユニットからの前記モデルに関する前記データに基づいて第3のレンダリング結果を生成するかのいずれかのステップを含む、請求項1に記載の方法。
【請求項3】
前記第2の効果ユニットが前記メモリユニットから前記データを受信するように構成される場合、前記方法は、さらに、前記第2の効果ユニットによって実行され、前記メモリユニットからの前記受信されたデータに基づいて第4のレンダリング結果を生成するステップを含む、請求項1に記載の方法。
【請求項4】
前記方法は、さらに、
前記メモリユニットに記憶される前記モデルに関する前記データを変換するステップ、特にバッチ化および/またはインスタンス化するステップと、
前記変換されたデータを前記第1の効果ユニットおよび/または前記第2の効果ユニットに送信するステップとを含む、先行する請求項のいずれか1項に記載の方法。
【請求項5】
前記方法は、さらに、前記第2の効果ユニットを除去するステップを含み、前記第2の効果ユニットの生成または除去は、前記第1の効果ユニットおよび/または前記第2の効果ユニットによる前記モデルのレンダリング中に実行される、先行する請求項のいずれか1項に記載の方法。
【請求項6】
前記方法は、さらに、特に前記第1の効果ユニットによる前記モデルのレンダリング中に前記第2の効果ユニットを前記第1の効果ユニットおよび/または前記メモリユニットに接続するための接続要素を提供するステップを含み、前記第1の効果ユニットおよび前記第2の効果ユニットならびに前記メモリユニットは、有向非巡回グラフとして接続される、先行する請求項のいずれか1項に記載の方法。
【請求項7】
前記第1の効果ユニットおよび前記第2の効果ユニットは、それぞれ少なくともシェーダサブユニットを含み、前記シェーダサブユニットは、特に前記メモリユニットに記憶される少なくともシェーダファイルから生成され、前記シェーダサブユニットは、前記シェーダファイルが修正される場合に前記第1の効果ユニットおよび/または前記第2の効果ユニットによる前記モデルのレンダリング中に自動的に更新される、先行する請求項のいずれか1項に記載の方法。
【請求項8】
2D/3Dモデルをレンダリングするためのプログラム可能なシステムであって、メモリユニットと、第1の効果ユニットと、第2の効果ユニットとを備え、
前記メモリユニットは、前記モデルに関するデータを記憶し、前記データを少なくとも前記第1の効果ユニットに送信するように構成され、
前記第1の入力ユニットは、前記送信されたデータを受信し、前記受信されたデータに基づいて前記モデルをレンダリングし、第1のレンダリング結果を生成するように構成され、
前記第2の効果ユニットは、前記第1のレンダリング結果および前記メモリユニットからの前記データのうちの少なくとも1つを受信するように構成され、
前記第1の効果ユニットおよび前記第2の効果ユニットは、前記メモリユニットに記憶される前記データの変化を検出し、前記2D/3Dモデルをレンダリングするように構成される、プログラム可能なシステム。
【請求項9】
コンピュータによって実行されると前記コンピュータに請求項1~7のいずれか1項に記載の方法を実行させる命令を含むコンピュータプログラム。
【請求項10】
コンピュータによって実行されると前記コンピュータに請求項1~7のいずれか1項に記載の方法を実行させる命令を含むコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2D/3Dモデルをレンダリングするための、コンピュータにより実現される方法、2D/3Dモデルをレンダリングするためのプログラム可能なシステム、コンピュータに当該方法を実行させる命令を含むコンピュータプログラム、およびコンピュータに請求項1、8、9および10に記載の方法をそれぞれ実行させる命令を含むコンピュータ可読媒体に関する。
【背景技術】
【0002】
コンピュータビジョンおよびコンピュータグラフィックスにおいて、3D再構築は、実際の物体の形状および外観の再現を実現する。この目的を達成するために、実際の物体のデジタル3次元(3D)モデルが作成される。2次元(2D)幾何学モデルも、技術図、ロゴ、フォントのグリフなどの特定のタイプの人工画像を記述するのに便利である。これらは、2Dコンピュータグラフィックスの必須ツールであり、3D幾何学モデルの構成要素としてしばしば用いられる。
【0003】
レンダリングは、コンピュータプログラムによって2Dまたは3Dモデルからフォトリアリスティックまたは非フォトリアリスティック画像を生成する自動プロセスである。これらのレンダリングのためのコンピュータプログラムは、「レンダラ」または「レンダリングエンジン」と呼ばれることが多く、全体としていわゆる「レンダリングパイプライン」を形成するレンダリング効果を定義する。レンダリングパイプラインは、最終画像をレンダリングするために効果が実行される順序を定義する。各効果は、レンダリング状態セットアップコマンドのリストを含み得る「パス」の形態でGPU上で実行され得る(小さいプログラムの形態の)「シェーダ」のセットによって定義される。
【0004】
このようなレンダリングパイプラインは、管理するのに非常に大きく複雑になり得る。その理由の1つは、それが多数のパスに成長し、それらの多くは、再構成されるか、交換されるか、または完全に除去される必要があることである。これは、異なるハードウェアがターゲットにされている場合にコンパイル時に静的に、または品質設定が変更された場合にランタイム中に動的に起こり得る。
【0005】
加えて、レンダリングパイプラインのための開発プロセスを改善することは常に有益である。
【0006】
ユニティなどのいくつかの市販のリアルタイムレンダリングエンジンは、レンダリングパイプラインへのエントリポイントを提供することによって特定の自由度を提供する静的レンダリングパイプラインのみをサポートする。エンジン開発者が許可する場合には、ユーザは、そのようなエントリポイントを用いて、パイプラインに、自身の特定の効果および/またはパスを追加することができる。さらに、エントリポイントにおいてユーザがアクセスできるデータも制限される。さらに、ユーザは、それらのエンジンによって提供される高レベルの抽象化のため、利用可能なGPU機能のサブセットを使用することしか許可されない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明は、レンダリングのための柔軟な設計を提供し、レンダリングパイプラインのための開発プロセスを改善するという目的に基づいている。
【0008】
この目的は、請求項1、8、9および10によって発明的に解決される。有利なさらなる発展形態は、従属請求項から得ることができる。
【課題を解決するための手段】
【0009】
本発明は、第1の局面によれば、2D/3Dモデルをレンダリングするための、コンピュータにより実現される方法を提供する。本方法は、メモリユニットおよび第1の効果ユニットを提供するステップを含み、メモリユニットは、モデルに関するデータを記憶し、そのデータを少なくとも第1の効果ユニットに送信するように構成され、第1の効果ユニットは、送信されたデータを受信し、受信されたデータに基づいてモデルをレンダリングし、第1のレンダリング結果を生成するように構成され、本方法はさらに、レンダリングプロセスを実行するための第2の効果ユニットを生成するステップと、第2の効果ユニットが第1のレンダリング結果を受信するように構成されるかまたは第2の効果ユニットがメモリユニットからのデータを受信するように構成されるように、第2の効果ユニットを構成するステップと、メモリユニットに記憶されるデータの変化を検出するステップと、第1の効果ユニットおよび第2の効果ユニットによって2D/3Dモデルをレンダリングするステップとを含む。
【0010】
本発明の方法は、第1の効果ユニットおよびメモリユニットを含む既存のパイプラインに第2の効果ユニットを追加するなど、ユーザが既存のパイプラインに自由かつ容易に(効果)ユニットを追加することを可能にすることが、特に有利である。したがって、ユーザは、レンダリングエンジンによって提供されるシェーダのサブセットのみを使用することに限定されることなく、レンダリングプロセスまたはレンダリングパイプラインを柔軟に設計することができ、レンダリングエンジンの開発者によって提供されるレンダリングエンジンのエントリポイントへのアクセスのみを有することができ、レンダリングエンジンの開発者によって定義されるエントリポイントで特定のデータ/データタイプへのアクセスのみを有することができる。
【0011】
例えば、発明的には、ユーザは、シャドウのレンダリングを達成するための新たなシャドウマッピングアルゴリズムを実現するために、第2の効果ユニットを生成し、プログラムしてもよい。
【0012】
ユーザが、例えばレンダリング結果を比較するために、データの変化を自動的に検出する助けを借りて、レンダリングプロセス中に入力データを絶えず修正する場合、レンダリングシステムの開発プロセスが改善されることは、さらに有利である。
【0013】
好ましい実施形態では、第2の効果ユニットが第1のレンダリング結果を受信するように構成されるとき、本方法は、さらに、第2の効果ユニットによって実行され、受信された第1のレンダリング結果に基づいて第2のレンダリング結果を生成するか、または受信された第1のレンダリング結果およびメモリユニットからのモデルに関するデータに基づいて第3のレンダリング結果を生成するステップを含む。
【0014】
上記のステップの第1の代替が実行される場合、第1の効果ユニットの出力は、第2の効果ユニットの唯一の入力として用いられる。上記のステップの第2の代替が実行される場合、第1の効果ユニットの出力だけでなく、メモリユニットに記憶されるデータも、異なる特定のパラメータを含む異なるデータを第2の効果ユニットに入力するための、第2の効果ユニットの入力として用いられる。
【0015】
別の好ましい実施形態では、第2の効果ユニットがメモリユニットからデータを受信するように構成される場合、本方法は、さらに、第2の効果ユニットによって実行され、メモリユニットからの受信されたデータに基づいて第4のレンダリング結果を生成するステップを含む。
【0016】
この実施形態では、メモリユニットに記憶されるデータは、異なるレンダリング効果を生成するために、第1の効果ユニットおよび第2の効果ユニットにそれぞれ入力されてもよく、次いで、異なるレンダリング効果は、いくつかの他の効果ユニットへの入力として別々に、および/または別の効果ユニットへの入力としてあわせて用いられてもよい。
【0017】
別の好ましい実施形態では、本方法は、メモリユニットに記憶されるモデルに関するデータを変換するステップ、特にバッチ化および/またはインスタンス化するステップと、変換されたデータを第1の効果ユニットおよび/または第2の効果ユニットに送信するステップとをさらに含む。
【0018】
ユーザが、例えばシーンファイルからのデータの再構成を考慮する必要がなく、レンダリングシステムの開発に集中し得るように、メモリユニットに記憶されるデータは、効果ユニットに送信される前に変換および/または概して編集されることが好ましい。
【0019】
好ましくは、例えばシーンファイルからのデータは、セットまたはグループに構成されるために、発明的にバッチ化される。幾何学データなどのデータも、同様に、または代替的に、(3Dコンピュータグラフィックスにおいて多面体オブジェクトの形状を定義する頂点および面の集合である)同じメッシュの複数のコピーを、あるシーンにおいて一度にレンダリングするためにインスタンス化されてもよい。
【0020】
別の好ましい実施形態では、本方法は、第2の効果ユニットを除去するステップをさらに含み、第2の効果ユニットの生成または除去は、第1の効果ユニットおよび/または第2の効果ユニットによるモデルのレンダリング中に実行される。これにより、開発プロセスがさらに簡略化される。
【0021】
別の好ましい実施形態では、本方法は、特に第1の効果ユニットによるモデルのレンダリング中に、第2の効果ユニットを第1の効果ユニットおよび/またはメモリユニットに接続するための接続要素を提供するステップをさらに含み、第1の効果ユニットおよび第2の効果ユニットならびにメモリユニットは、いかなる巡回も伴わずにユニットを直接接続するグラフである有向非巡回グラフとして接続される。
【0022】
これにより、完全に機能するレンダリングパイプラインを発明的に作成することができ、そのトポロジーは動的に変化し、レンダリングエンジンの柔軟な設計が実現される。
【0023】
別の好ましい実施形態では、第1の効果ユニットおよび第2の効果ユニットは、それぞれ少なくともシェーダサブユニットを備え、シェーダサブユニットは、特にメモリユニットに記憶される少なくともシェーダファイルから生成され、シェーダサブユニットは、シェーダファイルが修正される場合に第1の効果ユニットおよび/または第2の効果ユニットによるモデルのレンダリング中に自動的に更新される。
【0024】
シェーダファイルは、ランタイム中に特殊化され得るシェーダコードを含む。メモリユニットに記憶される変更された入力データに応じて、シェーダファイル内の少なくとも1つの対応するコードパスを、ランタイム中に新たな特殊化されたシェーダを生成するために、自動的に選択することができる。これにより、開発プロセスをさらに向上させることができる。
【0025】
本発明はさらに、第2の局面によれば、メモリユニットと、第1の効果ユニットと、第2の効果ユニットとを備える、2D/3Dモデルをレンダリングするためのプログラム可能なシステムを提供し、メモリユニットは、モデルに関するデータを記憶し、そのデータを少なくとも第1の効果ユニットに送信するように構成され、第1の入力ユニットは、送信されたデータを受信し、受信されたデータに基づいてモデルをレンダリングし、第1のレンダリング結果を生成するように構成され、第2の効果ユニットは、第1のレンダリング結果およびメモリユニットからのデータのうちの1つを受信するように構成される。第1の効果ユニットおよび第2の効果ユニットは、メモリユニットに記憶されるデータの変化を検出し、2D/3Dモデルをレンダリングするように構成される。
【0026】
本発明はさらに、第3の局面によれば、コンピュータによって実行されるとコンピュータに第1の局面による方法を実行させる命令を含むコンピュータプログラムを提供する。
【0027】
任意のコンピュータ言語が、本発明のユニットおよびレンダリングシステムの他の要素のためのコードを書くために用いられ得る。
【0028】
本発明はさらに、第4の局面によれば、コンピュータによって実行されるとコンピュータに第1の局面による方法を実行させる命令を含むコンピュータ可読媒体を提供する。
【0029】
さらなる有利な詳細および特徴は、図面と併せて、本発明の例示的な実施形態の以下の説明から得ることができる。
【図面の簡単な説明】
【0030】
【
図1】2D/3Dモデルをレンダリングするための本発明のプログラム可能なシステムの一実施形態の概略図を示す。
【
図2】
図1に示す実施形態による新たなパスインスタンス/シェーダの生成の概略図を示す。
【発明を実施するための形態】
【0031】
図1によれば、2D/3Dモデルをレンダリングするための本発明のプログラム可能なシステム100の実施形態は、5つの効果ユニット6、10、20、30、40と、4つのメモリユニット2、12、14、16とを備える。効果ユニット6は、メモリユニット2に記憶されるデータを変換するか、またはそれらをシステムへの適合のために概して編集するためのものである。
【0032】
メモリユニット2に記憶されたシーンファイルからのデータは、シーンジオメトリを含んでもよく、効果ユニット6に入力される。図示の実施形態では、メッシュに関する入力されたデータは、グループに構成するために、効果ユニット6によってバッチ化される。
【0033】
バッチ化されたデータは、レンダリング深度効果ユニットである効果ユニット20に転送され、効果ユニット20は、例えば、フレームバッファに色を書き込まずにジオメトリをレンダリングする。レンダリング深度効果ユニット20は、プレ深度効果ユニット20を実行するためのレンダリング深度サブユニット21を含む。
【0034】
カメラに関するいくつかの追加のレンダリングパラメータは、メモリユニット16に記憶され、レンダリング深度効果ユニット20およびフォワードププラスユニット30に入力され、フォワードププラスユニット30は、照明を計算し、グラフィックスをレンダリングする。
【0035】
バッチ化されたデータは、3Dコンピュータグラフィックスにシャドウを追加することを可能にするシャドウマッピング効果ユニット10にも入力される。シャドウマッピング効果ユニット10には、メモリユニット12,14に記憶される各種光パラメータがそれぞれ入力される。シャドウマッピング効果ユニット10は、シャドウマッピング効果ユニット10を実行するためのシャドウマッピングサブユニット11を含む。
【0036】
フォワードプラスユニット30には、レンダリング深度効果ユニット20およびシャドウマッピング効果ユニット10のレンダリング結果ならびにバッチ化されたデータも入力される。フォワードププラスユニット30は、シェーディング中に考慮されなければならない光の数を低減するために関連の幾何学的オブジェクトを選別する選別サブユニット31と、光を分類するための光ビニングサブユニット32と、幾何学的オブジェクトがどのように照らされるべきかを決定するためにシーン内の光のリストにわたって反復するシェーディングサブユニット33とを備える。
【0037】
フォワードプラス効果ユニット30のレンダリング結果は後処理効果ユニット40に転送され、後処理効果ユニット40は、通常は各3Dオブジェクトは孤立してレンダリングされるため、画像全体の認識を必要とする効果が用いられることを可能にする。後処理ユニット40は、図示の実施形態では、後処理ユニット40を実行するための2つの後処理サブユニット41、42を備える。
【0038】
その後、後処理ユニット40のレンダリング結果は、別の効果ユニット(図示せず)に転送されるか、またはさらなる使用のために記憶されてもよい。
【0039】
一例として、フォーワードプラス効果ユニット30のシェーディングサブユニット33(
図2参照)を考えると、それは、ランタイム中に特殊化することができるシェーダコード330を含むシェーダファイルから生成される。変更された入力データに応じて、シェーダコード330からの対応するコードパスが、ランタイム中に新たなパスインスタンス/シェーダ331、332を生成するために、自動的に選択され得る。これにより、開発プロセスをさらに向上させることができる。
【0040】
示された本発明のプログラム可能なシステム100の助けを借りて、2D/3Dモデルのレンダリングのための柔軟な設計およびレンダリングパイプラインの単純な変更が達成される。
【0041】
本発明は、上述の好ましい実施形態によって詳細に説明および図示される。しかしながら、本発明は、開示される実施例によって限定されず、本発明の保護範囲内に依然としてありながら、他の変形例がそこから導出され得る。
【国際調査報告】