(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-31
(45)【発行日】2023-04-10
(54)【発明の名称】照明レンダリング方法、装置、電子装置及びコンピュータプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20230403BHJP
G06T 15/50 20110101ALI20230403BHJP
【FI】
G06T19/00 A
G06T15/50
(21)【出願番号】P 2021536692
(86)(22)【出願日】2020-05-06
(86)【国際出願番号】 CN2020088629
(87)【国際公開番号】W WO2020233396
(87)【国際公開日】2020-11-26
【審査請求日】2021-06-22
(31)【優先権主張番号】201910413385.7
(32)【優先日】2019-05-17
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】魏 知▲曉▼
【審査官】板垣 有紀
(56)【参考文献】
【文献】特開2015-215890(JP,A)
【文献】特表2017-511514(JP,A)
【文献】特開2015-228186(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06T 15/50
(57)【特許請求の範囲】
【請求項1】
端末が実行する照明レンダリング方法であって、
バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得するステップであって、前記第1のピクチャは、前記ターゲットの視点からの前記バーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含むステップと、
前記第1のピクチャにおける各サブピクチャに対して、前記サブピクチャにおける各ピクセルポイントの関連ピクセルポイントを決定して、前記サブピクチャの関連ピクセルポイントセットを取得するステップであって、前記第1のピクチャは、複数のサブピクチャを含むステップと、
前記関連ピクセルポイントセットにおいて出現頻度が最も高い前のM個のピクセルポイントを前記サブピクチャのオリジナルバーチャル光源ポイントセットとして決定するステップであって、前記Mは、ゼロより大きい整数であるステップと、
前記各サブピクチャの前記オリジナルバーチャル光源ポイントセットをマージして、ターゲットバーチャル光源ポイントセットを取得するステップであって、前記ターゲットバーチャル光源ポイントセットは、重複する光源ポイントを含まないステップと、
前記ターゲットバーチャル光源ポイントセットに従って、前記第1のピクチャにおける前記バーチャルオブジェクトに対して照明レンダリングするステップと、を含む方法。
【請求項2】
前記サブピクチャにおける各ピクセルポイントの関連ピクセルポイントを決定して、前記サブピクチャの関連ピクセルポイントセットを取得する前記ステップは、
前記サブピクチャにおける各ピクセルポイントをそれぞれ第1のピクセルポイントとして決定し、次の操作を実行し、即ち、前記第1のピクセルポイントの上、下、左、右の4つの方向のそれぞれで、前記第1のピクセルポイントに最も近く且つ深度値が前記ピクセルポイントの深度値より大きい1つのピクセルポイントを第2のピクセルポイントとして決定し、深度値が最小の前記第2のピクセルポイントを前記第1のピクセルポイントの関連ピクセルポイントとして決定するステップと、
前記サブピクチャにおける各ピクセルポイントの関連ピクセルポイントを前記サブピクチャの関連ピクセルポイントセットとしてマージするステップであって、前記関連ピクセルポイントセットは、重複するピクセルポイントを含むステップと、を含む請求項
1に記載の方法。
【請求項3】
前記ターゲットバーチャル光源ポイントセットに従って、前記第1のピクチャにおける前記バーチャルオブジェクトに対して照明レンダリングする前記ステップは、
前記ターゲットバーチャル光源ポイントセットから前記第1のピクチャにおける各ピクセルポイントへの照明結果を取得し、前記第1のピクチャの照明マップを取得するステップであって、前記照明マップには前記第1のピクチャにおける各ピクセルポイントの照明値が記録されているステップと、
前記照明マップ
を前記第1のピクチャのカラーマップ
に重ね合わせて、
1つの混合ピクチャを取得するするステップ
であって、前記混合ピクチャは前記第1のピクチャを照明レンダリングしたピクチャであるステップと、を含む請求項1
または2に記載の方法。
【請求項4】
前記ターゲットバーチャル光源ポイントセットから前記第1のピクチャにおける各ピクセルポイントへの照明結果を取得する
ことは、
前記第1のピクチャにおける各ピクセルポイントを第3のピクセルポイントとし、前記第1のピクチャにおける各ピクセルポイントの照明結果を決定するまで、
前記ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントから前記第3のピクセルポイントへの第1の照明値を決定し、
前記ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントから前記第3のピクセルポイントへの第1の照明値を累積して、前記照明結果を取得する、操作を実行するステップを含む、請求項
3に記載の方法。
【請求項5】
端末が実行する照明レンダリング方法であって、
バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得するステップであって、前記第1のピクチャは、前記ターゲットの視点からの前記バーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含むステップと、
前記第1のピクチャにおける前記バーチャルオブジェクトに対して照明レンダリングするターゲットバーチャル光源ポイントセットを決定するステップと、
ピクチャセットにおける前記第1のピクチャの前にある各処理済みピクチャのターゲットバーチャル光源ポイントセットを取得するステップと、
前記ピクチャセットにおける各処理済みピクチャに設置された重み値を取得するステップと、
前記第1のピクチャのターゲットバーチャル光源ポイントセットにおける各ピクセルポイントについて、処理済みピクチャのターゲットバーチャル光源ポイントセットにおいて前記ピクセルポイントを含む処理済みピクチャの重みを取得するステップと、
前記重みの和を取得して、前記第1のピクチャのターゲットバーチャル光源ポイントセットにおける各ピクセルポイントの重みの和を取得するステップと、
前記第1のピクチャにおいて重みの和が最大のK個のピクセルポイントを、前記第1のピクチャの第2のバーチャル光源ポイントセットとするステップであって、前記Kはゼロより大きい整数であり、前記第1のピクチャは、前記ピクチャセットにおける最後のピクチャであるステップと、
前記第1のピクチャの1フレーム前にある処理済みピクチャの第1のバーチャル光源ポイントセットにおけるN個のピクセルポイントを使用して、前記第1のピクチャの第2のバーチャル光源ポイントセットにおけるN個のピクセルポイントを置き換えて、置き換えた前記第2のバーチャル光源ポイントセットを前記第1のピクチャの第1のバーチャル光源ポイントセットとして決定するステップと、
前記第1のピクチャの前記第1のバーチャル光源ポイントセットを使用して、前記第1のピクチャにおける前記バーチャルオブジェクトに対して照明レンダリングするステップと、を含
む方法。
【請求項6】
照明レンダリング装置であって、
バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得するための取得ユニットであって、前記第1のピクチャは、前記ターゲットの視点からの前記バーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含む取得ユニットと、
前記第1のピクチャにおける前記バーチャルオブジェクトに対して照明レンダリングするターゲットバーチャル光源ポイントセットを決定するための決定ユニットと、
ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおける前記バーチャルオブジェクトに対して照明レンダリングするためのレンダリングユニットと、を含
み、
前記決定ユニットは、
複数のサブピクチャを含む前記第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定するための第1の決定モジュールと、
前記各サブピクチャの前記オリジナルバーチャル光源ポイントセットをマージして前記ターゲットバーチャル光源ポイントセットを取得するための第1のマージモジュールであって、前記ターゲットバーチャル光源ポイントセットは、重複する光源ポイントを含まない第1のマージモジュールを含み、
前記第1の決定モジュールは、
前記第1のピクチャにおける各サブピクチャに対して、前記サブピクチャにおける各ピクセルポイントの関連ピクセルポイントを決定して、前記サブピクチャの関連ピクセルポイントセットを取得するための第1の決定サブモジュールと、
前記関連ピクセルポイントセットにおいて出現頻度が最も高い前のM個のピクセルポイントを前記サブピクチャの前記オリジナルバーチャル光源ポイントセットとして決定するための第2の決定サブモジュールと、を含み、
なお、前記Mはゼロより大きい整数である、装置。
【請求項7】
電子装置であって、メモリ及びプロセッサーを含み、前記メモリにコンピュータプログラムが記憶され、前記プロセッサーは、前記コンピュータプログラムによって請求項1~
5のいずれか一項に記載の方法を実行するように設置される電子装置。
【請求項8】
コンピュータプログラムであって、
前記コンピュータプログラムが実行される場合、請求項1~
5のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2019年5月17日に中国専利局に提出した、出願番号が201910413385.7であって、発明の名称が「照明レンダリング方法、装置、記憶媒体及び電子装置」である中国特許出願の優先権を主張し、本願で、その全ての内容を援用するものとする。
【0002】
本出願は、コンピュータ分野に関し、具体的に、照明レンダリング技術に関する。
【背景技術】
【0003】
関連技術では、バーチャル3次元シーンにおけるバーチャルオブジェクトを表示する前に、通常、バーチャル3次元シーンにおけるバーチャルオブジェクトに対してリアルタイムのグローバル照明レンダリングを実行してから、レンダリングしたバーチャルシーンにおけるオブジェクトを表示する必要がある。
【0004】
しかしながら、3次元シーンにおけるバーチャルオブジェクトをリアルタイムにレンダリングすることは、複雑なステップを必要とし、大量のリソースを消費するため、関連技術で提出されているグローバル照明レンダリングの方法のレンダリング効率は低い。
【0005】
上記の問題に対して、現在効果的な解決策は提案されていない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本出願の実施例は、照明レンダリング方法、装置、記憶媒体及び電子装置を提供し、少なくとも、関連技術のバーチャル3次元シーンにおけるバーチャルオブジェクトのグローバル照明レンダリング効率が低いという技術問題を解決するようになる。
【課題を解決するための手段】
【0007】
本出願の実施例の1つの態様によれば、照明レンダリング方法を提供し、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得するステップであって、第1のピクチャはターゲットの視点からのバーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含むステップと、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行するターゲットバーチャル光源ポイントセットを決定するステップと、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行するステップと、を含む。
【0008】
本出願の実施例の他の態様によれば、照明レンダリング装置を提供し、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得し、第1のピクチャはターゲットの視点からのバーチャル3次元シーンにおける照明レンダリングすべきバーチャルオブジェクトを含む取得ユニットと、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行するターゲットバーチャル光源ポイントセットを決定するための決定ユニットと、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行するためのレンダリングユニットと、を含む。
【0009】
任意の例として、上記の決定ユニットは、上記の第1のピクチャの各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、上記の第1のピクチャは複数のサブピクチャを含む第1の決定モジュールと、上記の各サブピクチャの上記のオリジナルバーチャル光源ポイントセットをマージしてターゲットバーチャル光源ポイントセットを取得し、上記のターゲットバーチャル光源ポイントセットは、重複する光源ポイントを含まない第1のマージモジュールと、を含む。
【0010】
任意の例として、上記の第1の決定モジュールは、第1のピクチャの各サブピクチャに対して、サブピクチャの各ピクセルポイントの関連ピクセルポイントを決定し、サブピクチャの関連ピクセルポイントセットを取得するための第1の決定サブモジュールと、上記の関連ピクセルポイントセットにおおいて出現頻度が最も高い前のM個のピクセルポイントを、サブピクチャの上記のオリジナルバーチャル光源ポイントセットとして決定して、なお、上記のMはゼロより大きい整数である第2の決定サブモジュールと、を含む。
【0011】
任意の例として、上記の第1の決定サブモジュールは、次のステップをさらに実行し、即ち、上記のサブピクチャにおける各ピクセルポイントをそれぞれ第1のピクセルポイントとして決定することは、上記の第1のピクセルポイントの上、下、左、右の4つの方向のそれぞれで、上記の第1のピクセルポイントに最も近く且つ上記の第1のピクセルポイントの深度値より大きい1つのピクセルポイントを第2のピクセルポイントとして決定し、深度値が最小の第2のピクセルポイントを上記の第1のピクセルポイントの関連ピクセルポイントとして決定することを実行し、上記のサブピクチャにおける各ピクセルポイントの関連ピクセルポイントを上記のサブピクチャの関連ピクセルポイントセットにマージして、上記の関連ピクセルポイントセットは重複するピクセルポイントを含む。
【0012】
任意の例として、上記の決定ユニットは、上記の第1のピクチャを取得した時間と第J-1枚の処理済みピクチャを取得した時間との時間差が第1の閾値以上である場合、上記の第1のピクチャの各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、なお、上記の第1のピクチャは複数のサブピクチャを含み、上記の第1のピクチャはピクチャセットにおける第J枚のピクチャであり、上記のJは1より大きい整数である第2の決定モジュールと、上記の各サブピクチャの上記のオリジナルバーチャル光源ポイントセットをマージして上記の第1のピクチャの上記のターゲットバーチャル光源ポイントセットを取得し、上記のターゲットバーチャル光源ポイントセットは、重複する光源ポイントを含まないための第2のマージモジュールと、を含む。
【0013】
任意の例として、上記の決定ユニットは、上記の第1のピクチャを取得した時間と第J-1枚の処理済みピクチャを取得した時間との時間差が第1の閾値より小さい場合、上記の第J-1枚の処理済みピクチャのターゲットバーチャル光源ポイントセットを上記の第1のピクチャのターゲットバーチャル光源ポイントセットとするための第3の決定モジュールと、をさらに含み、なお、上記の第1のピクチャはピクチャセットにおける第J枚のピクチャであり、上記のJは1より大きい整数である。
【0014】
任意の例として、上記のレンダリングユニットは、上記の第1のピクチャにおける各ピクセルポイントに対する上記のターゲットバーチャル光源ポイントセットの照明結果を取得し、上記の第1のピクチャの照明マップを取得するための第1の取得モジュールであって、上記の照明マップに上記の第1のピクチャにおける各ピクセルポイントの照明値を記録されている第1の取得モジュールと、上記の照明マップと上記の第1のピクチャのカラーマップを重ね合わせて、レンダリングした上記の第1のピクチャを取得するための重ね合わせモジュールと、を含む。
【0015】
任意の例として、上記の取得モジュールは、上記の第1のピクチャにおける各ピクセルポイントを第3のピクセルポイントとし、上記の第1のピクチャにおける各ピクセルポイントの照明結果を決定するまで、以下の動作を実行するための実行サブモジュールを含む。即ち、上記の第3のピクセルポイントに対する上記のターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントの第1の照明値を決定し、上記の第3のピクセルポイントに対する上記のターゲットバーチャル光源ポイントセットにおけるバーチャル光源ポイントの第1の照明値を累積して、上記の照明結果を取得する。
【0016】
任意の例として、上記のレンダリングユニットは、ピクチャセットにおける上記の第1のピクチャの前の各処理済みピクチャのターゲットバーチャル光源ポイントセットを取得し、上記のピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って、上記の第1のピクチャの第2のバーチャル光源ポイントセットを決定し、なお、上記の第1のピクチャは上記のピクチャセットの最後のピクチャであり、上記の第1のピクチャの1フレーム前にある処理済みピクチャの第1のバーチャル光源ポイントセットにおけるN個のピクセルポイントを使用して上記の第1のピクチャの第2のバーチャル光源ポイントセットにおけるN個のピクセルポイントを置き換えて、置き換えられた上記の第2のバーチャル光源ポイントセットを上記の第1のピクチャの第1のバーチャル光源ポイントセットとして決定し、上記の第1のピクチャの上記の第1のバーチャル光源ポイントセットを使用して上記の第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングする。
【0017】
任意の例として、上記の処理ユニットは、上記のピクチャセットにおける各処理済みピクチャに設置する重み値を取得するための第2の取得モジュールと、第1のピクチャのターゲットバーチャル光源ポイントセットにおける各ピクセルポイントに対して、処理済みピクチャのターゲットバーチャル光源ポイントセットにおいて上記のピクセルポイントを含む処理済みピクチャの重みを取得するための第3の取得モジュールと、上記の重みの和を取得して、上記の第1のピクチャにおける各ピクセルポイントの重みの和を取得するための第4の取得モジュールと、上記の第1のピクチャにおいて重みの和が最大のK個のピクセルポイントを上記の第1のピクチャの第2のバーチャル光源ポイントセットとし、なお、上記のKはゼロより大きい整数である第4の決定モジュールと、をさらに含む。
【0018】
本出願の実施例の他の態様によれば、記憶媒体をさらに提供し、当該記憶媒体にコンピュータプログラムが記憶され、当該コンピュータプログラムは、実行される場合、上記の照明レンダリング方法を実行するように設置される。
【0019】
本出願の実施例の他の態様によれば、電子装置をさらに提供し、メモリ、プロセッサー、及びメモリに記憶されプロセッサーで実行されるコンピュータプログラムを含み、さらに、上記のプロセッサーはコンピュータプログラムによって上記の照明レンダリング方法を実行する。
【0020】
本出願の実施例では、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得し、第1のピクチャはターゲットの視点からのバーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含み、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするターゲットバーチャル光源ポイントセットを決定し、ターゲットバーチャル光源ポイントセットはバーチャル3次元シーンでバーチャルオブジェクトをレンダリングする主な光源ポイントであり、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行する方法を採用する。上記の方法では、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを直接取得し、第1のピクチャのターゲットバーチャル光源ポイントセットに従って、第1のピクチャを照明レンダリングするので、バーチャル3次元シーンでバーチャルオブジェクトをレンダリングする必要がなく、バーチャルオブジェクトをレンダリングする主な光源ポイントを素早く取得し、バーチャル3次元シーンにおけるバーチャルオブジェクトをレンダリングする効率を向上させて、関連技術のバーチャル3次元シーンにおけるバーチャルオブジェクトに対してグローバル照明レンダリングを実行する効率が低い技術問題を解決できる。
【0021】
ここで説明する図面は、本出願のさらなる理解を提供し、本出願の一部を構成する。本出願の例示的な実施例及び説明は、本出願を説明するためのもので、本出願の不適切な制限を構成するものではない。
【図面の簡単な説明】
【0022】
【
図1】本出願の実施例による任意の照明レンダリング方法の適用環境の概略図である。
【
図2】本出願の実施例による任意の照明レンダリング方法の概略フローチャートである。
【
図3】本出願の実施例による任意の照明レンダリング方法の概略図である。
【
図4】本出願の実施例による他の任意の照明レンダリング方法の概略図である。
【
図5】本出願の実施例によるさらに他の任意の照明レンダリング方法の概略図である。
【
図6】本出願の実施例によるさらに他の任意の照明レンダリング方法の概略図である。
【
図7】本出願の実施例による他の任意の照明レンダリング方法の概略フローチャートである。
【
図8】本出願の実施例によるさらに他の任意の照明レンダリング方法の概略図である。
【
図9】本出願の実施例による任意の照明レンダリング装置の概略構造図である。
【
図10】本出願の実施例による任意の電子装置の概略構造図である。
【発明を実施するための形態】
【0023】
当業者に本出願の解決策をよりよく理解させるために、次に本出願の実施例における図面に基づいて、本出願の実施例における技術案を明確かつ完全に説明する。明らかに、説明する実施例は、全ての実施例ではなく、本出願の実施例の一部にすぎない。本出願における実施例に基づいて、当業者が創造的な労力をしない前提で得た全ての他の実施例は、本出願の保護の範囲に属する。
【0024】
なお、本出願の明細書及び特許請求の範囲及び上記の図面における「第1の」、「第2の」などの用語は、類似の対象を区別するために使用され、必ずしも特定の順序又は優先を説明するために使用されるわけではない。このように使用されるデータは、適切な状況で交換することができ、その結果、本明細書に記載の本出願の実施例は、本明細書に図示または記載されたもの以外の順序で実施できることを理解すべきである。また、「含む」および「有する」という用語およびそれらの変形は、非排他的な包含をカバーすることを意図している。例えば、一連のステップまたはユニットを含むプロセス、方法、システム、製品、またはデバイスは、必ずしも明確に記載されているステップまたはユニットに限定されず、明確に記載されていない、またはこれらのプロセス、方法、製品、またはデバイスに固有の他のステップまたはユニットが含まれる場合がある。
【0025】
本出願の実施例の1つの態様によれば、照明レンダリング方法を提供し、任意選択で、任意の実施形態として、上記の照明レンダリング方法は、
図1に示すような環境に適用できるが、これに限定されない。
【0026】
図1では、ユーザー102とユーザーデバイス104とは、マンマシンインタラクションを実行することができる。ユーザーデバイス104は、インタラクションデータを記憶するためのメモリ106と、インタラクションデータを処理するためのプロセッサー108とを含む。ユーザーデバイス104は、ネットワーク110によってサーバー112とデータインタラクションを実行することができる。サーバー112は、インタラクションデータを記憶するためのデータベース114と、インタラクションデータを処理するための処理エンジン116とを含む。ユーザーデバイス104で、バーチャル3次元シーンを実行する。ユーザーデバイス104は、ステップS102からステップS106で、ターゲットの視点からの第1のピクチャを取得し、第1のピクチャのターゲットバーチャル光源ポイントセットを決定し、ターゲットバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルオブジェクトをレンダリングする方法によって、第1のピクチャを照明レンダリングして、バーチャル3次元シーンにおけるバーチャルオブジェクトに対してグローバル照明レンダリングを実行する必要がなく、バーチャル3次元シーンを照明レンダリングする効率を向上させる。
【0027】
任意選択で、上記の照明レンダリング方法は、フォン、タブレットコンピューター、ノートパソコン、PC機などのデータを計算する端末に適用することができるが、これらに限定されない。上記のネットワークは、無線ネットワーク又は有線ネットワークを含むが、これらに限定されない。なお、当該無線ネットワークは、無線ローカルネットワーク(Wireless Fidelity,WIFI)及び他の無線通信を実現するネットワークを含む。上記の有線ネットワークは、広域ネットワーク、メトロポリタンエリアネットワーク、ローカルネットワークを含むが、これらに限定されない。上記のサーバーは、計算を実行できる任意のハードウェアデバイスを含むが、これらに限定されない。
【0028】
任意の実施形態として、
図2に示すように、上記の照明レンダリング方法は、次のステップを含む。
S202、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得し、なお、第1のピクチャに現在視点からのバーチャル3次元シーンにおける照明レンダリング対象バーチャルオブジェクトが含まれる。
S204、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行するターゲットバーチャル光源ポイントセットを決定する。
S206、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行する。
【0029】
任意選択で、上記の照明レンダリング方法は、3次元バーチャルシーンを照明レンダリングするプロセスに適用することができるが、これらに限定されない。例えば、ゲームの3次元バーチャルシーンに対して照明レンダリングを実行するか、バーチャルトレーニングの3次元バーチャルシーンに対して照明レンダリングを実行するか、バーチャルショッピングの3次元バーチャルシーンに対してレンダリングを実行するプロセスである。
【0030】
ゲームのバーチャル3次元シーンに対して照明レンダリングを実行することを例として説明する。ゲームのプロセスでは、ゲームにはバーチャル3次元シーンが実行されている。バーチャル3次元シーンには、グローバル照明レンダリング対象のバーチャルオブジェクトが含まれている。関連技術では、通常、バーチャル3次元シーンにおけるバーチャル光源からバーチャル3次元シーンにおけるバーチャルオブジェクトへの照明影響に従って、リアルタイム計算を実行して、計算結果を得て、バーチャルオブジェクトに対してグローバル照明レンダリングを実行する必要がある。しかしながら、上記の方法は計算量が多く、バーチャル3次元シーンに対するグローバル照明レンダリングの効率が低い。本実施例では、バーチャル3次元シーンのターゲットの視点からの第1のピクチャを取得し、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするターゲットバーチャル光源ポイントセットを決定し、ターゲットバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行することで、第1のピクチャのみに対して照明レンダリングを実行し、バーチャル3次元シーンに対してリアルタイムレンダリングを実行する必要がなく、レンダリングプロセスでの計算量を減らし、バーチャル3次元シーンをレンダリングする効率を向上させる。
【0031】
任意選択で、本実施例では、ターゲットバーチャル光源ポイントセットを決定する場合、第1のピクチャを複数のサブピクチャに分割し、各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、オリジナルバーチャル光源ポイントセットをマージし、重複光源ポイントが含まれていないターゲットバーチャル光源ポイントセットを取得してもよい。
【0032】
図3は、第1のピクチャを分割する概略図である。
図3に示すように、第1のピクチャ302を複数のサブピクチャ304に分割する。なお、
図3の各白い矩形枠は、1つのサブピクチャを示す。
【0033】
任意選択で、各サブピクチャのオリジナルバーチャル光源ポイントセットを決定する場合、各サブピクチャにおける各ピクセルポイントの関連ピクセルポイントを決定し、オリジナルバーチャル光源ポイントセットを決定する必要がある。
【0034】
本出願の実施例では、複数の方法を使用して、サブピクチャの関連ピクセルポイントセットを決定することができる。1つの可能な実現形態では、サブピクチャの関連ピクセルポイントセットを決定する方式は、サブピクチャにおける各ピクセルポイントをそれぞれに第1のピクセルポイントとして決定し、各第1のピクセルポイントに対して、第1のピクセルポイントの上、下、左、右の4つの方向のそれぞれに、第1のピクセルポイントに最も近く、深度値がピクセルポイント深度値より大きい1つのピクセルポイントを第2のピクセルポイントとして決定してもよい。そして、深度値が最小の第2のピクセルポイントを第1のピクセルポイントの関連ピクセルポイントとして決定し、サブピクチャにおける各ピクセルポイントの関連ピクセルポイントをマージしてサブピクチャの関連ピクセルポイントセットを取得し、なお、関連ピクセルポイントセットに重複したピクセルポイントが含まれる。
【0035】
1つのサブピクチャを例として、
図4に示すように、サブピクチャ402を平面直交座標系に配置し、サブピクチャにおける各ピクセルポイント404は、正のx、正のy、負のx、負のyの4つの方向に対応する。正のx方向をデフォルトで右に、正のy方向をデフォルトで上に設定すると、各ピクセルポイントは上、下、左、右の4つの方向に対応する。サブピクチャにおける各ピクセルポイントを第1のピクセルポイントとして決定すると、第1のピクセルポイントの上、下、左、右の4つの方向で最も近いピクセルポイント、例えば、隣接するピクセルポイントをトラバースし、第1のピクセルポイントに隣接するピクセルポイントの深度値を決定する。隣接するピクセルポイントの深度値が第1のピクセルポイントの深度値より小さいと、当該方向のトラバースを停止し、隣接するピクセルポイントの深度値が第1のピクセルポイントの深度値より大きいと、各方向で1つの深度値が第1のピクセルポイントの深度値より小さいピクセルポイントをトラバースするまで、当該方向のトラバースを続ける。
図5に示すように、
図5は、第1のピクセルポイント502をトラバースした後、4つの方向で第2のピクセルポイント504をトラバースした概略図である。トラバースプロセス中に1つの値を設定する必要があり、4つの方向のそれぞれに、規定の数のピクセルポイントをトラバースした後、第2のピクセルポイントがトラバースされなくてもトラバースを停止する。1つの第2のピクセルポイントもトラバースされないと、第1のピクセルポイントを第2のピクセルポイントとして決定する。第2のピクセルポイントをトラバースした後、深度値が最小の第2のピクセルポイントを第1のピクセルポイントの関連ピクセルポイントとして決定する。
【0036】
任意選択で、1つのサブピクチャにおける各ピクセルポイントの関連ピクセルポイントを決定した後、各ピクセルポイントの関連ピクセルポイントを関連ピクセルポイントセットにマージして、関連ピクセルポイントセットには重複した関連ピクセルポイントが含まれる。関連ピクセルポイントセットにおける出現頻度が最も高い前のM個のピクセルポイントを、サブピクチャのオリジナルバーチャル光源ポイントセットとして決定する。各サブピクチャのオリジナルバーチャル光源ポイントセットを取得した後、各サブピクチャのオリジナルバーチャル光源ポイントセットを1つの重複光源ポイントを含まない光源ポイントセットにマージし、マージした光源ポイントセットを第1のピクチャのターゲットバーチャル光源ポイントセットとして決定し、第1のピクチャのターゲットバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルオブジェクトに対して照明レンダリングを実行する。
【0037】
任意選択で、本実施例では、第1のピクチャのターゲットバーチャル光源ポイントを計算するプロセスで、所定の時間ごとに1回計算する。第1のピクチャはピクチャセットにおける第J枚のピクチャであり、Jは1より大きい整数であると、第1のピクチャの1フレーム前にある(例えば、第J-1枚)処理済みピクチャを取得する時間と第1のピクチャを取得する時間を決定する。2つの時間の時間差が第1の閾値より小さいと、第1のピクチャの1フレーム前にある処理済みピクチャのターゲットバーチャル光源ポイントセットを第1のピクチャのターゲットバーチャル光源ポイントセットとして決定し、システムの演算量を減らす。
【0038】
2つの時間の時間差が第1の閾値以上である場合、第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、各サブピクチャのオリジナルバーチャル光源ポイントセットをマージして、重複光源ポイントを含まないターゲットバーチャル光源ポイントセットを取得する。
【0039】
任意選択で、第1のピクチャのターゲットバーチャル光源ポイントセットを算出した後、第1のピクチャのターゲットバーチャル光源ポイントセットを使用して、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングすることができる。レンダリングする場合、第1のピクチャにおける各ピクセルポイントについて、ターゲットバーチャル光源ポイントセットによる当該ピクセルポイントへの照明結果を計算し、ターゲットバーチャル光源ポイントセットによる第1のピクチャにおける各ピクセルポイントへの照明結果を算出した後、各ピクセルポイント照明値を記録している照明マップを取得する。第1のピクチャの照明マップを取得した後、当該照明マップを第1のピクチャのカラーマップに重ね合わせて、1つの混合ピクチャを取得し、混合ピクチャは第1のピクチャを照明レンダリングしたピクチャである。
【0040】
任意選択で、ターゲットバーチャル光源ポイントセットによる1つのピクセルポイントへの照明結果を計算する場合、第1のピクチャにおける各ピクセルポイントを第3のピクセルポイントとし、第1のピクチャにおける各ピクセルポイントの照明結果を決定するまで、次の動作を実行し、例えば、ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントによる1つのピクセルポイント(例えば、第3のピクセルポイント)への第1の照明値を計算し、ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントによる第3のピクセルポイントへの第1の照明値を重ね合わせて、ターゲットバーチャル光源ポイントセットにおける各ターゲットバーチャル光源ポイントによる1つのピクセルポイントへの第1の照明値の和を取得し、算出した和をターゲットバーチャル光源ポイントセットによる1つのピクセルポイントへの照明結果とする。
【0041】
任意選択で、上記の方法では、ターゲットバーチャル光源ポイントセットにおけるターゲットバーチャル光源ポイントを使用して第1のピクチャを照明レンダリングする。他の方式として、第1のピクチャのターゲットバーチャル光源ポイントセットを取得した後、ターゲットバーチャル光源ポイントセットを処理して、第1のバーチャル光源ポイントセットを取得し、第1のバーチャル光源ポイントセットを使用して第1のピクチャをレンダリングする。
【0042】
任意選択で、上記の処理プロセスは、第1のピクチャのターゲットバーチャル光源ポイントセットを取得した後、第1のピクチャの前の全ての処理済みピクチャのターゲットバーチャル光源ポイントセットを取得する。例えば、レンダリングプロセスでは、各第1のピクチャと当該第1のピクチャの前の複数のレンダリングされたピクチャを、1つのピクチャセットとして決定する。ピクチャセットの具体的なピクチャ数を設定できる。第1のピクチャは、ピクチャセットにおける最後のピクチャである。ピクチャセットにおける各ピクチャについて、上記の方法によりターゲットバーチャル光源ポイントセットを決定する。ピクチャセットにおける各ピクチャに、重み値を設定する。そして、第1のピクチャのターゲットバーチャル光源ポイントセットにおける各ピクセルポイントについて、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットをトラバースする。当該ピクセルポイントがピクチャセットにおける一つのピクチャのターゲットバーチャル光源ポイントセットにあると、当該ピクチャの重みを取得する。ピクチャセットにおける全てのターゲットバーチャル光源ポイントセットをトラバースした後、全ての取得した重みを累積して、第1のピクチャのターゲットバーチャル光源ポイントセットにおける当該ピクセルポイントの重みを取得する。上記の方法により、第1のピクチャにおける各ピクセルポイントの重みを取得することができる。その中の重みが最大の前のK個のピクセルポイントを、第1のピクチャの第2のバーチャル光源ポイントセットとして決定する。第1のピクチャの1フレーム前にある処理済みピクチャの第1のバーチャル光源ポイントセットにおけるN個のピクセルポイントを使用して、第1のピクチャの第2のバーチャル光源ポイントセットにおけるN個のピクセルポイントに置き換えて、置き換えた第2のバーチャル光源ポイントセットを第1のピクチャの第1のバーチャル光源ポイントセットとする。第1のバーチャル光源ポイントセットを使用して、第1のピクチャをレンダリングする。当該方法によりレンダリングされた第1のピクチャは、ターゲットバーチャル光源ポイントを直接使用して第1のピクチャをレンダリングする方法に比べて安定しており、ピクチャのタイミングでのちらつきを回避する。
【0043】
以下にゲームシーンを結合して、上記の照明レンダリング方法を説明する。
図6に示すように、
図6は、ゲームの表示インターフェースである。ゲームにはバーチャル3次元シーンが実行されている。本解決策は、バーチャル3次元シーンでゲーム内で実行されているバーチャルオブジェクトに対してリアルタイム照明レンダリングを実行する必要がなく、クライアントにバーチャル3次元シーンにおけるピクチャを表示する前に、ピクチャをレンダリングする。以下、レンダリング対象ピクチャをオリジナルピクチャ、即ち第1のピクチャと称する。
図7のステップS702からステップS722を結合して、説明する。
【0044】
予め次の式を定義する。
1、abs(x):xの絶対値を表す。
2、p2w(x,y,z):2次元(2dimensional,2D)画像上の座標(x,y)、深度zの点が、シーン世界における3次元(3dimensional,3D)位置に対応することを表す。
3、normalize(x):ベクトルxの帰一化ベクトルを求めることを表す。
4、cross(x,y):ベクトルxとベクトルyの外積ベクトルを求めることを表す。
5、depth(x,y):2D画像上の座標(x,y)である点に対応する3Dシーンにおける位置と観測位置との奥行き距離を表し、ピクセル深度とも称する。
6、Indirect(px,py,x,y):2D画像座標(px,py)に対応するシーン位置から、2D画像座標(x,y)に対応するシーン位置への間接光照明を表す。
7、length(v):ベクトルvの長さを求めることを表す。
8、dot(x,y):ベクトルxとベクトルyに対して内積計算を実行して、内積結果を取得することを表す。
【0045】
オリジナルピクチャを取得した後、オリジナルピクチャのカラーマップ、深度マップ及び法線マップを取得する。オリジナルピクチャのカラーマップは、オリジナルピクチャにおける各ピクセルポイントのカラー値を記録する。オリジナルピクチャの深度マップは、オリジナルピクチャにおける各ピクセルポイントの深度値を記録する。深度マップとカラーマップは、システムがオリジナルピクチャをエクスポートするときに自動的に取得できるため、ここで具体的に説明しない。法線マップは、オリジナルピクチャにおける各ピクセルポイントの法線値を記録する。
【0046】
任意選択で、深度マップに従って法線マップを決定するための具体的な手順は、次のようである。
ピクセル位置(x,y)での法線値をN(x,y)とし、深度マップから取得した当該ピクセル位置の深度値をD(x,y)とする。D(x,y)は、既知のデータである。
c=D(x,y)、L=D(x-1,y)、r=D(x+1,y)、u=D(x,y+1)、d=D(x,y-1)とすると、
abs(c-L)<abs(c-r)の場合、minLr=abs(c-L)に設定し、そうでない場合、minlr=abs(c-r)に設定し、
abs(c-u)<abs(c-d)の場合、minud=abs(c-u)に設定し、そうではない場合、minud=abs(c-d)に設定し、
Mid=p2w(x,y,c)とすると、
Right=p2w(x+1,y,c+minLr)-Midであり、
Top=p2w(x,y+1,c+minud)-Midであり、
N(x,y)=normalize(cross(Right,Top))である。
なお、c、L、r、u、d、minLr、minud、Mid、Right、Topは、計算プロセスを説明するために定義した変数である。
【0047】
上記の方法により、オリジナルピクチャの法線マップを取得した。オリジナルピクチャの法線マップとカラーマップを予備する。
【0048】
オリジナルピクチャを取得した後、オリジナルピクチャのターゲットバーチャル光源ポイントセットを決定する必要がある。具体的に、次のステップを実行する。
【0049】
オリジナルピクチャにおける各ピクセルポイントの関連ピクセルポイントを計算する。オリジナルピクチャにおける1つのピクセルポイントの座標を(x,y)として規定し、幅N1*W、高さN2*Hの解像度を使用して計算し(このプロセスの計算効率を向上させるために、通常、N1とN2は1未満である)、ポイント(x,y)の関連ピクセルポイントの位置を(Uvpl(x,y),Vvpl(x,y))とする。なお、Wはオリジナルピクチャの幅で、Hはオリジナルピクチャの高さである。この計算方法は、次の通りである。
1、まず、ピクセルポイント(x,y)の深度値depth(x,y)を計算する。depth(x,y)>Gであると、次のステップ2-4をスキップし、(Uvpl(x,y),Vvpl(x,y))=(0,0)に設定し、そうではない場合、続ける。なお、Gはプリセットされた制御パラメータである。
2、正のx、負のx、正のy、負のyの4つの方向に各ピクセルポイント(px,py)をトラバースし、次のステップの操作を行う。
3、当該ピクセルポイントの深度値depth(px,py)がピクセルポイント(x,y)の深度値depth(x,y)より小さい場合、ピクセルポイント(px,py)がピクセルポイント(x,y)よりも観測位置に近いピクセルポイントであるか、或いは(px,py)が現在の観測位置(ターゲットの視野)から(x,y)へ間接照明を発生できるポイントであるとみなし、(px,py)をピクセルポイント(x,y)の当該方向の1つの第2のピクセルポイントとして設定し、当該方向のトラバースを停止する。そうでないと、指定された方向の次のピクセルポイントにトラバースし続けるが、最も多くトラバースしたピクセルポイント数は、プレセット数を超えない。
4、これらの4つの方向で最大の第2のピクセルポイント(Pmaxx,Pmaxy)を見つけて、(Uvpl(x,y),Vvpl(x,y))=(Pmaxx,Pmaxy)を設定する。4つの方向のいずれでも1つの第2のピクセルポイントが見つからないと、(Uvpl(x,y),Vvpl(x,y))=(0,0)を設定する。
【0050】
上記のステップ1~4によって、オリジナルピクチャにおける各ピクセルポイントの関連ピクセルポイントを取得できる。
【0051】
オリジナルピクチャにおける各ピクセルポイントの関連ピクセルポイントを取得した後、オリジナルピクチャを長さGwと幅Ghのサイズのサブピクチャに均等に分割し、即ち、各サブピクチャに(W/Gw,H/Gh)個のピクセルポイントが含まれる。WとHは、オリジナルピクチャの長さ及び幅であり、GwとGhは1より大きい整数である。各サブピクチャについて、当該サブピクチャ内の各ピクセルポイントの前のステップで見つかった関連ピクセルポイントの位置をトラバースして、1つの位置の関連ピクセルポイントセットSを取得し、Sで出現頻度が最も高いM個の位置を統計して、オリジナルバーチャル光源ポイントセットSnを取得し、Snに含まれる関連ピクセルポイントの位置を、当該サブピクチャに影響を与える最も重要な間接光源として設置する。Sで頻度が最も高い間接光源位置を統計する場合、第2の閾値tを追加する必要があり、2Dで距離tにある2つの位置(u1,v1)及び(u2,v2)は、同じ位置(u1,v1)と見なされる。
図8に示すように、
図8では、第1の位置(u1,v1)を統計した場合、(u1,v1)を原点とし、tを半径とする円を、(u1,v1)の関連領域として設置する。統計プロセスでは、(u2,v2)などの(u1,v1)の関連領域にある他のポイントを統計する場合、(u2,v2)を新しいポイントとして統計せず、(u1,v1)の統計数に1を加える。(u3,v3)のような他のポイントである場合、(u3,v3)が(u1,v1)の関連領域の外にあるので、(u3,v3)を新しいポイントとして統計する。あるポイントが(u1,v1)と(u3,v,3)の2つのポイントの関連領域にある場合、当該ポイントが(u3,v3)よりも(u1,v1)に近いと、(u1,v1)の統計数を増やす。当該ポイントが(u1,v1)よりも(u3,v3)に近いと、(u3,v3)の統計数を増やす。最後に、当該オリジナルピクチャの各サブピクチャ領域内のすべてのSnを、要素が重複しないターゲットバーチャル光源ポイントセットsfにマージする。
【0052】
ターゲットバーチャル光源ポイントセットを決定した後、ターゲットバーチャル光源ポイントセットを使用してオリジナルピクチャをレンダリングすることができる。レンダリングプロセスをより安定させることを保証するために、本実施例では、ターゲットバーチャル光源ポイントセットを処理して、第1のバーチャル光源ポイントセットを取得し、第1のバーチャル光源ポイントセットを使用して、オリジナルピクチャをレンダリングする。第1のバーチャル光源ポイントセットを決定するプロセスは次のようである。
【0053】
SfをデータベースDataに追加し、データベースの履歴情報とSfに基づいてSf’を計算する。Sf’は、Sfに比べて時間領域でより滑らかな間接照明値を生成すると見なされる。Sf’を計算する具体的な方法は、データベースDataから過去hフレームの各フレームのターゲットバーチャル光源ポイントセットS={Sf,Sf-1,Sf-2,…Sf-h+1}を取得することである。hは1より大きい整数である。
【0054】
過去の各フレームの重みをセットW={Wf,Wf-1,Wf-2,…Wf-h+1}に設置し、Sum(x,y)を座標(x,y)での光源の重みの和に設置し、{Sf,Sf-1,Sf-2,…Sf-h+1}における各間接光源Eをトラバースし、Eが位置する座標位置(Xe,Ye)とEが位置するフレーム番号iを取得し、1つトラバースするたびに、Sum(Xe,Ye)は、i番目のフレームに対応する重みセットWにおける重み値W(i)だけ増加する。最後に、重みの降順に従って、すべての座標位置のSumをソートし、前のK個の座標位置を取得してオリジナルピクチャの第2のバーチャル光源ポイントセットSfを構成する。
【0055】
オリジナルピクチャの1フレーム前にある処理済みピクチャの第1のバーチャル光源ポイントセットをSf-1’とし、Sf”とSf-1’における各要素位置に対して1対1のマッピングを実行する。このようなマッピングにより、Sf`’とSf-1’における各要素とそのマッピング要素との間の距離の合計が最小になる。Sf`’におけるk番目の要素をPkとし、Sf-1’でマッピングされた要素をPk_matchとすると、マッピングされたすべての要素ペア(Pk,Pk_match)を、それらの間の2D距離に従って昇順ソートし、その中の最小のn個の要素ペアを見つけて(nは配置可能な定数である)、当該Sf`’におけるn個の要素を、Sf-1’に対応するマッピング要素に置き換えて、新しいセット、即ち、オリジナルピクチャの第1のバーチャル光源ポイントセットSf’を取得する。
【0056】
オリジナルピクチャの第1のバーチャル光源ポイントセットを取得した後、第1のバーチャル光源ポイントセットを使用して、オリジナルピクチャを照明レンダリングする。
【0057】
照明レンダリングする場合、第1のバーチャル光源ポイントセットSf’を適用して現在のピクチャを間接的に照明し、セットSf’内の任意の第1のバーチャル光源ポイントLについて、既存のピクチャ情報のカラーマップ、深度マップ、法線マップから、対応する色Lc、バーチャル3次元シーンにおける位置Lw、法線Lnを見つけることができ、オリジナルピクチャにおける各ピクセルポイントpについても、既存のカラーマップ、深度マップ、法線マップから、対応する色pc、バーチャル3次元シーンにおける位置pw、法線pnを見つけることができる。ポイント光源の減衰係数をcに設定し、depth(p)≦第3の閾値の場合、ピクチャにおける各ピクセルポイントpについて、Lを適用して、所定の照明モデルM1で、既知の情報を使用して間接照明計算を実行し、照明結果piを取得する。実施できる照明モデルの式は、次のようである。
pi=Lc*dot(Ln,normalize(pw-lw))*dot(pn,normalize(lw-pw))/(c*length(pw-lw))。
【0058】
Sf’におけるすべての間接光源からピクセルポイントpへの間接照明結果を累積して、照明結果pi_sumを取得し、最終的にオリジナルピクチャの照明マップを取得し、それをオリジナルピクチャのカラーマップに重ね合わせて、新しいレンダリングされた総合マップを取得する。そして、
図6に示すようなゲームシーンでは、レンダリングされた総合マップをクライアントに表示して、ゲームの3次元バーチャルシーンのレンダリングを実現する。
【0059】
なお、本実施例では、ターゲットバーチャル光源ポイントセットにおける1つのバーチャル光源ポイントからオリジナルピクチャにおける1つのピクセルポイントへの第1の照明値を計算する場合、ターゲットバーチャル光源ポイントをピクセルポイントとターゲットバーチャル光源ポイントの延長線に沿って一定の距離だけ移動させ、ポイント光源の照明輻射度の減衰係数cを下げることもできる。このように、ポイント光源を使用して、面積光源の照明効果をシミュレートすることができ、照明品質を改善することができる。
【0060】
本実施例によれば、バーチャル3次元シーンのターゲットの視点からの第1のピクチャを取得し、第1のピクチャにおけるバーチャルピクチャのターゲットバーチャル光源ポイントセットを決定し、ターゲットバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルピクチャを照明レンダリングすることで、バーチャル3次元シーンでバーチャルオブジェクトに対してリアルタイムレンダリングを実行する必要がなく、第1のピクチャを照明レンダリングするだけで済むので、レンダリングプロセスでの計算量を減らし、バーチャル3次元シーンをレンダリングする効率を向上させる。
【0061】
任意の実施形態として、第1のピクチャを照明レンダリングするターゲットバーチャル光源ポイントセットを決定するステップは、次のステップを含む。
S1、第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、なお、第1のピクチャは複数のサブピクチャを含む。
S2、各サブピクチャのオリジナルバーチャル光源ポイントセットをマージして、ターゲットバーチャル光源ポイントセットを取得し、なお、ターゲットバーチャル光源ポイントセットは重複光源ポイントを含まない。
【0062】
任意選択で、本実施例では、第1のピクチャを取得した後、第1のピクチャを複数のサブピクチャに分割し、各サブピクチャのオリジナルバーチャル光源ポイントセットを計算する。
図3に示すように、オリジナルピクチャ302を複数のサブピクチャ304に分割し、各サブピクチャ304のオリジナルバーチャル光源ポイントセットを計算し、各サブピクチャのオリジナルバーチャル光源ポイントセットに従って、ターゲットバーチャル光源ポイントセットにマージする。
【0063】
本実施例によれば、第1のピクチャを複数のサブピクチャに分割し、そして各サブピクチャのオリジナルバーチャル光源ポイントセットを計算し、ターゲットバーチャル光源ポイントセットにマージすることで、ターゲットバーチャル光源ポイントセットのターゲットバーチャル光源ポイントは比較的散乱しており、オリジナルピクチャの小さな領域に集中しないため、ターゲットバーチャル光源ポイントを決定する正確性を向上させる。
【0064】
任意の実施形態として、第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定するステップは、次のステップを含む。
S1、第1のピクチャの各サブピクチャに対して、サブピクチャの各ピクセルポイントの関連ピクセルポイントを決定して、当該サブピクチャの関連ピクセルポイントセットを取得する。
S2、関連ピクセルポイントセットにおける出現頻度が最も高い前のM個のピクセルポイントを当該サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、なお、Mはゼロより大きい整数である。
【0065】
任意選択で、各ピクセルポイントの関連ピクセルポイントを決定する場合、現在のピクセルポイントの深度値が制限値より大きいと、現在のピクセルポイントの関連ピクセルポイントを(0,0)として決定し、現在のピクセルポイントの深度値が制限値より小さい又は制限値に等しいと、現在のピクセルポイントの上下左右の4つの方向のピクセルポイントをトラバースして、現在のピクセルポイントの関連ピクセルポイントを決定することができる。
【0066】
本実施例によれば、サブピクチャの関連ピクセルポイントセットを決定する場合、サブピクチャのピクセルポイントの関連ピクセルポイントで出現頻度が最も高いいくつかのピクセルポイントを、オリジナルバーチャル光源ポイントセットとして決定することで、計算する必要のある光源ポイント数が大きいことによる計算量が大きい問題が軽減される。さらに、上記の方法により選択された頻度が最も高いいくつかのピクセルポイントの重要性が高いため、ターゲットバーチャル光源ポイントを決定する場合の正確率も保証される。
【0067】
本出願の実施例では、複数の方法を使用して、サブピクチャの関連ピクセルポイントセットを決定することができる。任意選択の実施形態として、サブピクチャの各ピクセルポイントの関連ピクセルポイントを決定して、当該サブピクチャの関連ピクセルポイントセットを取得するステップは、次のステップを含む。
S1、サブピクチャにおける各ピクセルポイントをそれぞれ第1のピクセルポイントとして決定し、次の操作を実行する。第1のピクセルポイントの上、下、左、右の4つの方向のそれぞれで、第1のピクセルポイントに最も近く且つ深度値がピクセルポイントより大きい1つピクセルポイントを第2のピクセルポイントとして決定し、深度値が最小の第2のピクセルポイントを第1のピクセルポイントの関連ピクセルポイントとして決定する。
S2、各サブピクチャにおける各ピクセルポイントの関連ピクセルポイントをマージして、サブピクチャの関連ピクセルポイントセットを取得し、なお、関連ピクセルポイントセットは重複ピクセルポイントを含む。
【0068】
例えば、各ピクセルポイントの関連ピクセルポイントを決定する場合、当該ピクセルポイントの上下左右の4つの方向におけるピクセルポイントをトラバースする必要があり、第1の深度値が当該ピクセルポイント深度値より小さいピクセルポイントをトラバースして、当該ピクセルポイントの第2のピクセルポイントとして決定する。
【0069】
なお、本実施例における1つのピクセルポイントの第2のピクセルポイントの数は、0から4であり得る。第2のピクセルポイントの数がゼロの場合、当該ピクセルポイントの関連ピクセルポイントを(0,0)に設置する。
【0070】
本実施例によれば、上記の方法により各ピクセルポイントの関連ピクセルポイントをトラバースすることで、すべてのピクセルポイントをトラバースすることなく、短時間で条件を満たす関連ピクセルポイントにトラバースすることが可能であり、各ピクセルポイントの関連ピクセルポイントを取得する効率を向上させる。
【0071】
任意選択の実施形態として、第1のピクチャを照明レンダリングするターゲットバーチャル光源ポイントセットを決定するスッテプは、次のスッテプを含む。
S1、第1のピクチャを取得する時間から第J-1枚の処理済みピクチャを取得する時間までの時間差が第1の閾値以上である場合、第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、なお、第1のピクチャは複数のサブピクチャを含み、第1のピクチャはピクチャセットにおける第J枚のピクチャであり、Jは1より大きい整数である。
S2、各サブピクチャのオリジナルバーチャル光源ポイントセットをマージして、ターゲットバーチャル光源ポイントセットを取得し、なお、ターゲットバーチャル光源ポイントセットは重複光源ポイントを含まない。
【0072】
任意選択で、本実施例では、予め1つの第1の閾値を設定する。第1の閾値は、第1のピクチャのターゲットバーチャル光源ポイントを計算するかどうかを制御する。例えば、10枚のレンダリング対象ピクチャを準備し、各ピクチャの間の間隔が0.04秒で、第1の閾値が0.2秒であることを例として、10枚のピクチャにおける第1枚ピクチャについてターゲットバーチャル光源ポイントを計算し、第1枚のピクチャのターゲットバーチャル光源ポイントを第1枚~第5枚のピクチャに付与する。そして、第6枚のピクチャのターゲットバーチャル光源ポイントを計算し、第6枚のピクチャのターゲットバーチャル光源ポイントを第6枚~第10枚のピクチャに付与する。即ち、0.2秒ごとに計算し、ピクチャごとに計算する必要はない。
【0073】
本実施例によれば、第1の閾値を設定する方法により、第1の閾値ごとに1回のターゲットバーチャル光源ポイントを計算することで、ターゲットバーチャル光源ポイントを計算する頻度が減少し、ターゲットバーチャル光源ポイントを決定する効率が向上する。
【0074】
任意選択の実施形態として、第1のピクチャを照明レンダリングするターゲットバーチャル光源ポイントセットを決定するステップは、次のステップをさらに含む。
S1、第1のピクチャを取得した時間から第J-1枚の処理済みピクチャを取得する時間までの時間差が第1の閾値より小さい場合、第J-1枚の処理済みピクチャのターゲットバーチャル光源ポイントセットを第1のピクチャのターゲットバーチャル光源ポイントセットとし、なお、第1のピクチャはピクチャセットにおける第J枚のピクチャであり、Jは1より大きい整数である。
【0075】
本実施例によれば、第1の閾値を設定する方法により、第1のピクチャと前のピクチャとの間の時間間隔が第1の閾値より小さい場合、前のピクチャのターゲットバーチャル光源ポイントを第1のピクチャに直接に付与することで、ターゲットバーチャル光源ポイントを決定する効率が向上する。
【0076】
任意選択の実施形態として、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャを照明レンダリングするステップは、次のステップを含む。
S1、ターゲットバーチャル光源ポイントセットから第1のピクチャにおける各ピクセルポイントへの照明結果を取得し、第1のピクチャの照明マップを取得し、なお、照明マップに第1のピクチャにおける各ピクセルポイントの照明値が記録されている。
S2、照明マップを第1のピクチャのカラーマップに重ね合わせて、レンダリングされた第1のピクチャを取得する。
【0077】
任意選択で、ターゲットバーチャル光源ポイントセットを取得した後、ターゲットバーチャル光源ポイントセットを使用して第1のピクチャにおける各ピクセルポイントの照明結果を決定し、第1のピクチャの照明マップを取得し、照明マップとカラーマップを結合して、レンダリングされた第1のピクチャを決定する。照明マップとカラーマップを結合する場合、透明度を調整した照明マップをカラーマップに重ね合わせたり、照明マップをカラーマップに直接に重ね合わせたりすることができる。
【0078】
本実施例によれば、照明マップをカラーマップに重ね合わせることによって、第1のピクチャを直接に処理して、バーチャル3次元シーンにおけるバーチャルオブジェクトを照明レンダリングする目的を実現でき、照明レンダリングの効率が向上する。
【0079】
任意選択の実施形態として、ターゲットバーチャル光源ポイントセットから第1のピクチャにおける各ピクセルポイントへの照明結果を取得するステップは、次のステップを含む。
S1、第1のピクチャにおける各ピクセルポイントを第3のピクセルポイントとし、第1のピクチャにおける各ピクセルポイントの照明結果を決定するまで、次の操作を実行する。
S2、ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントから第3のピクセルポイントへの第1の照明値を決定する。
S3、ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントから第3のピクセルポイントへの第1の照明値を累積して、照明結果を取得する。
【0080】
本実施例によれば、ターゲットバーチャル光源ポイントセットにおける各ターゲットバーチャル光源ポイントから1つのピクセルポイントへの第1の照明値を決定し、第1の照明値を重ね合わせて照明結果を取得することで、第1のピクチャの照明マップを取得する効率を向上させる。
【0081】
任意選択の実施形態として、ターゲットバーチャル光源ポイントセットに従って、前記第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングする方式は、次のようである。S1、ピクチャセットにおける、第1のピクチャの前にある各処理済みピクチャのターゲットバーチャル光源ポイントセットを取得し、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って、第1のピクチャの第2のバーチャル光源ポイントセットを決定し、なお、第1のピクチャはピクチャセットにおける最後のピクチャであり、第1のピクチャの1フレーム前にある処理済みピクチャの第1のバーチャル光源ポイントセットにおけるN個のピクセルポイントを使用して、第1のピクチャの第2のバーチャル光源ポイントセットにおけるN個のピクセルポイントを置き換えて、置き換えた第2のバーチャル光源ポイントセットを第1のピクチャの第1のバーチャル光源ポイントセットを決定し、第1のピクチャの第1のバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングする。
【0082】
任意選択で、本実施例では、ターゲットバーチャル光源ポイントセットを取得した後、ターゲットバーチャル光源ポイントセットを使用して第1のピクチャを処理するのではなく、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って第1のピクチャの第1のバーチャル光源ポイントセットを計算し、計算した第1のバーチャル光源ポイントセットを使用して第1のピクチャを処理する。
【0083】
本実施例によれば、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って第1のピクチャの第1のバーチャル光源ポイントセットを決定し、第1のバーチャル光源ポイントセットに従って第1のピクチャを照明レンダリングすることで、レンダリングプロセスで発生するちらつきの問題を避ける。
【0084】
任意選択の実施形態として、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って、第1のピクチャの第2のバーチャル光源ポイントセットを決定するステップは、次のステップを含む。
S1、ピクチャセットにおける処理済み各ピクチャに設置された重み値を取得する。
S2、第1のピクチャのターゲットバーチャル光源ポイントセットにおける各ピクセルポイントに対して、処理済みピクチャのターゲットバーチャル光源ポイントセットにおいて当該ピクセルポイントを含む処理済みピクチャの重みを取得する。
S3、重みの和を取得し、第1のピクチャのターゲットバーチャル光源ポイントにおける各ピクセルポイントの重みの和を取得する。
S4、第1のピクチャのターゲットバーチャル光源ポイントセットにおける重みの和が最大のK個のピクセルポイントを、第1のピクチャの第2のバーチャル光源ポイントセットとし、なお、Kはゼロより大きい整数である。
【0085】
例えば、第1のピクチャの前に3つの処理済みピクチャが含まれることを例として、処理順序は、処理済みピクチャ1、処理済みピクチャ2、処理済みピクチャ3である。重みは、それぞれ0.1、0.3、0.6である。第1のピクチャのターゲットバーチャル光源ポイントセットにおける1つのピクセルポイントについて、処理済みピクチャ1-3における各ピクチャのターゲットバーチャル光源ポイントセットをトラバースする。当該ピクセルポイントをトラバースした場合、例えば、処理済みピクチャ1のターゲットバーチャル光源ポイントセットで当該ピクセルポイントを見つけると、処理済みピクチャ1の重みである0.1を取得し、処理済みピクチャ3のターゲットバーチャル光源ポイントセットで当該ピクセルポイントを見つけると、処理済みピクチャ3の重みである0.6を取得し、重みの和の0.7を計算する。当該方法によって、第1のピクチャのターゲットバーチャル光源ポイントにおける各ピクセルポイントの重みの和を決定し、ソートし、その中で重みの和が最大のいくつかのピクセルポイントを選択し、第2のバーチャル光源ポイントセットとして決定する。そして、第1のピクチャの1枚前のピクチャの第1のバーチャル光源ポイントセットと第1のピクチャの第2のバーチャル光源ポイントセットに従って、第1のピクチャの第1のバーチャル光源ポイントセットを決定する。
【0086】
本実施例によれば、上記の方法により第1のバーチャル光源ポイントセットを決定することで、第1のバーチャル光源ポイントセットを決定する正確性を保証する。
【0087】
なお、前記の方法実施例について、簡単に説明するために、一連の動作の組み合わせとして記述する。但し、当業者は、本出願によれば、あるステップが他の順序又は同時に実行され得るので、本出願が記述した動作順序によって制限されないことを理解すべきである。また、当業者は、明細書に記述した実施例がいずれも好ましい実施例に属し、係る動作及びモジュールが本出願に必ずしも必要ではないないことを理解すべきである。
【0088】
本出願の実施例の他の態様によれば、上記の照明レンダリング方法を実施するための照明レンダリング装置を提供する。
図9に示すように、当該装置は、
(1)バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得し、なお、第1のピクチャは、ターゲットの視点からのバーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含む取得ユニット902と、
(2)第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするターゲットバーチャル光源ポイントセットを決定するための決定ユニット904と、
(3)ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするためのレンダリングユニット906と、を含む。
【0089】
任意選択で、上記の照明レンダリング方法は、3次元バーチャルシーンを照明レンダリングするプロセスに適用できるが、これらに限定されない。例えば、ゲームの3次元バーチャルシーンに対して照明レンダリングを実行するか、バーチャルトレーニングの3次元バーチャルシーンに対して照明レンダリングを実行するか、バーチャルショッピングの3次元バーチャルシーンに対してレンダリングを実行するプロセスに適用できる。
【0090】
ゲームのバーチャル3次元シーンに対して照明レンダリングを実行することを例として説明する。ゲームのプロセスでは、ゲームにはバーチャル3次元シーンが実行されている。バーチャル3次元シーンに、グローバル照明レンダリング対象のバーチャルオブジェクトが含まれている。関連技術では、通常、バーチャル3次元シーンにおけるバーチャル光源からバーチャル3次元シーンにおけるバーチャルオブジェクトへの照明影響に従って、リアルタイム計算を実行して、計算結果を取得し、バーチャルオブジェクトに対してグローバル照明レンダリングを実行する。しかしながら、上記の方法は計算量が多く、バーチャル3次元シーンに対するグローバル照明レンダリングの効率が低い。本実施例では、バーチャル3次元シーンのターゲットの視点からの第1のピクチャを取得し、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするターゲットバーチャル光源ポイントセットを決定し、ターゲットバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングすることで、バーチャル3次元シーンをリアルタイムにレンダリングする必要がなく、第1のピクチャのみに対して照明レンダリングを実行するので、レンダリングプロセスでの計算量を減らし、バーチャル3次元シーンをレンダリングする効率を向上させる。
【0091】
任意選択の実施形態として、上記の決定ユニットは、
(1)第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、なお、第1のピクチャは複数のサブピクチャを含む第1の決定モジュールと、
(2)各サブピクチャのオリジナルバーチャル光源ポイントセットをマージして、ターゲットバーチャル光源ポイントセットを取得し、なお、ターゲットバーチャル光源ポイントセットは重複光源ポイントを含まない第1のマージモジュールと、を含む。
【0092】
本実施例によれば、オリジナルピクチャを複数のサブピクチャに分割し、各サブピクチャのオリジナルバーチャル光源ポイントセットを計算し、ターゲットバーチャル光源ポイントセットにマージすることで、ターゲットバーチャル光源ポイントセットにおけるターゲットバーチャル光源ポイントは比較的散乱しており、オリジナルピクチャの小さな領域に集中しないため、ターゲットバーチャル光源ポイントを決定する正確性を向上させる。
【0093】
任意選択の実施形態として、上記の第1の決定モジュールは、
(1)第1のピクチャの各サブピクチャに対して、サブピクチャの各ピクセルポイントの関連ピクセルポイントを決定して、サブピクチャの関連ピクセルポイントセットを取得するための第1の決定サブモジュールと、
(2)上記の関連ピクセルポイントセットにおける、出現頻度が最も高い前のM個のピクセルポイントを、サブピクチャの上記のオリジナルバーチャル光源ポイントセットとして決定して、なお、Mはゼロより大きい整数である第2の決定サブモジュールと、を含む。
【0094】
本実施例によれば、サブピクチャの関連ピクセルポイントセットを決定する場合、サブピクチャのピクセルポイントの関連ピクセルポイントにおける出現頻度が最も高いいくつかのピクセルポイントを、オリジナルバーチャル光源ポイントセットとして決定することで、計算する必要のある光源ポイントの数が大きいことによる計算量が大きい問題を減らす。さらに、上記の方法により選択された頻度が最も高いいくつかのピクセルポイントの重要性が高いので、ターゲットバーチャル光源ポイントを決定する場合の正確率を保証できる。
【0095】
任意選択の実施形態として、上記の第1の決定サブモジュールは、次のステップをさらに実行する。
(1)サブピクチャにおける各ピクセルポイントをそれぞれ第1のピクセルポイントとして決定し、次の操作を実行する。上記の第1のピクセルポイントの上、下、左、右の4つの方向のそれぞれで、第1のピクセルポイントに最も近く且つ深度値が上記の第1のピクセルポイントの深度値より大きい1つのピクセルポイントを、第2のピクセルポイントとして決定し、深度値が最小の第2のピクセルポイントを上記の第1のピクセルポイントの関連ピクセルポイントとして決定する。
(2)サブピクチャにおける各ピクセルポイントの関連ピクセルポイントをサブピクチャの関連ピクセルポイントセットにマージし、なお、関連ピクセルポイントセットは重複ピクセルポイントを含む。
【0096】
本実施例によれば、上記の方法により、各ピクセルポイントの関連ピクセルポイントをトラバースすることで、すべてのピクセルポイントをトラバースする必要がなく、短時間で条件を満たす関連ピクセルポイントにトラバースすることが可能であり、各ピクセルポイントの関連ピクセルポイントを取得する効率を向上させる。
【0097】
任意選択の実施形態として、上記の決定ユニットは、
(1)第1のピクチャを取得する時間と第J-1枚の処理済みピクチャを取得する時間との時間差が第1の閾値以上である場合、第1のピクチャにおける各サブピクチャのオリジナルバーチャル光源ポイントセットを決定し、なお、第1のピクチャは複数のサブピクチャを含み、第1のピクチャはピクチャセットにおける第J枚のピクチャであり、Jは1より大きい整数である第2の決定モジュールと、
(2)各サブピクチャのオリジナルバーチャル光源ポイントセットをマージして、第1のピクチャのターゲットバーチャル光源ポイントセットを取得し、なお、ターゲットバーチャル光源ポイントセットは重複光源ポイントを含まない第2のマージモジュールと、を含む。
【0098】
本実施例によれば、第1の閾値を設定する方法により、第1の閾値ごとに1回のターゲットバーチャル光源ポイントを計算することで、ターゲットバーチャル光源ポイントを計算する頻度が減少し、ターゲットバーチャル光源ポイントを決定する効率が向上する。
【0099】
任意選択の実施形態として、上記の決定ユニットは、
(1)第1のピクチャを取得する時間と第J-1枚の処理されたピクチャを取得する時間との時間差が第1の閾値より小さい場合、第J-1枚の処理済みピクチャのターゲットバーチャル光源ポイントセットを第1のピクチャのターゲットバーチャル光源ポイントセットとし、なお、第1のピクチャはピクチャセットにおける第J枚のピクチャであり、Jは1より大きい整数である第3の決定モジュールと、をさらに含む。
【0100】
本実施例によれば、第1の閾値を設定する方法により、第1のピクチャと前のピクチャとの間の時間間隔が第1の閾値より小さい場合、前のピクチャのターゲットバーチャル光源ポイントを第1のピクチャに直接に付与することで、ターゲットバーチャル光源ポイントを決定する効率が向上する。
【0101】
任意選択の実施形態として、上記のレンダリングユニットは、
(1)ターゲットバーチャル光源ポイントセットから第1のピクチャにおける各ピクセルポイントへの照明結果を取得し、第1のピクチャの照明マップを取得し、なお、照明マップに第1のピクチャにおける各ピクセルポイントの照明値が記録されている第1の取得モジュールと、
(2)照明マップを第1のピクチャのカラーマップに重ね合わせて、レンダリングされた第1のピクチャを取得するための重ね合わせモジュールと、を含む。
本実施例によれば、照明マップをカラーマップに重ね合わせることで、第1のピクチャを直接に処理して、バーチャル3次元シーンにおけるバーチャルオブジェクトを照明レンダリングする目的を実現でき、照明レンダリングの効率が向上する。
【0102】
任意選択の実施形態として、上記の取得モジュールは、実行サブモジュールを含み、実行サブモジュールは、
(1)第1のピクチャにおける各ピクセルポイントを第3のピクセルポイントとし、第1のピクチャにおける各ピクセルポイントの照明結果を決定するまで、次の操作を実行し、
(2)ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントから第3のピクセルポイントへの第1の照明値を決定し、
(3)ターゲットバーチャル光源ポイントセットにおける各バーチャル光源ポイントから第3のピクセルポイントへの第1の照明値を累積して、照明結果を取得する。
【0103】
本実施例によれば、ターゲットバーチャル光源ポイントセットにおける各ターゲットバーチャル光源ポイントから1つのピクセルポイントへの第1の照明値を決定し、第1の照明値を重ね合わせて照明結果を取得することで、第1のピクチャの照明マップを取得する効率を向上させる。
【0104】
任意選択の実施形態として、上記のレンダリングユニットは、ピクチャセットにおける第1のピクチャの前にある各処理済みピクチャのターゲットバーチャル光源ポイントセットを取得し、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って、第1のピクチャの第2のバーチャル光源ポイントセットを決定し、なお、第1のピクチャはピクチャセットにおける最後のピクチャであり、第1のピクチャの1フレーム前にある処理済みピクチャの第1のバーチャル光源ポイントセットにおけるN個のピクセルポイントを使用して、第1のピクチャの第2のバーチャル光源ポイントセットにおけるN個のピクセルポイントを置き換えて、置き換えた第2のバーチャル光源ポイントセットを第1のピクチャの第1のバーチャル光源ポイントセットに決定し、第1のピクチャの第1のバーチャル光源ポイントセットを使用して第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングする。
【0105】
本実施例によれば、ピクチャセットにおける各ピクチャのターゲットバーチャル光源ポイントセットに従って第1のピクチャの第1のバーチャル光源ポイントセットを決定し、第1のバーチャル光源ポイントセットに従って第1のピクチャを照明レンダリングするので、レンダリングプロセスで発生するちらつきの問題を避ける。
【0106】
任意選択の実施形態として、上記の処理ユニットは、
(1)ピクチャセットにおける処理済み各ピクチャに設置された重み値を取得するための第2の取得モジュールと、
(2)第1のピクチャのターゲットバーチャル光源ポイントセットにおける各ピクセルポイントについて、処理済みピクチャのターゲットバーチャル光源ポイントセットにおいてピクセルポイントを含む処理済みピクチャの重みを取得するための第3の取得モジュールと、
(3)重みの和を取得し、第1のピクチャにおける各ピクセルポイントの重みの和を取得するための第4の取得モジュールと、
(4)第1のピクチャにおける、重みの和が最大のK個のピクセルポイントを第1のピクチャの第2のバーチャル光源ポイントセットとし、なお、Kはゼロより大きい整数である第4の決定モジュールと、をさらに含む。
【0107】
本実施例によれば、上記の方法により第1のバーチャル光源ポイントセットを決定することで、第1のバーチャル光源ポイントセットを決定する正確性を保証する。
【0108】
本出願の実施例のさらに他の態様によれば、上記の照明レンダリング方法を実施するための電子装置を提供し、
図10に示すように、当該電子装置は、メモリ1002と、プロセッサー1004とを含む。当該メモリ1002はコンピュータプログラムを記憶し、当該プロセッサー1004は、コンピュータプログラムによって上記のいずれかの一項の方法実施例におけるステップを実行するように設置される。
【0109】
任意選択で、本実施例では、上記の電子装置は、コンピュータネットワークの複数のネットワークデバイスのうちの少なくとも1つのネットワークデバイスに位置してもよい。
【0110】
任意選択で、本実施例では、上記のプロセッサーは、コンピュータプログラムによって、次のステップを実行するように設置される。
S1、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得し、なお、第1のピクチャは、ターゲットの視点からのバーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含む。
S2、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするターゲットバーチャル光源ポイントセットを決定する。
S3、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングする。
【0111】
任意選択で、当業者は、
図10に示す構成が例示に過ぎず、電子装置がスマートフォン(例えば、Androidフォン、iOSフォンなど)、タブレットコンピューター、パームトップコンピューター、及びモバイルインターネットデバイス(Mobile Internet Devices,MID)、PADなどの端末デバイスであってもよいことを理解すべきである。
図10は、上記の電子装置の構造を制限するものではない。例えば、電子装置は、
図10に示すよりも多いまたは少ないコンポーネント(例えば、ネットワークインターフェースなど)を含み得るか、または
図10に示すものとは異なる配置を有し得る。
【0112】
なお、メモリ1002は、ソフトウェアプログラム及びモジュール、例えば、本出願の実施例における照明レンダリング方法及び装置に対応するプログラム指令/モジュールを記憶し、プロセッサー1004は、メモリ1002に記憶されるソフトウェアプログラム及びモジュールを実行することによって、各機能アプリケーション及びデータ処理を実行し、即ち、上記の照明レンダリング方法を実行する。メモリ1002は、高速ランダムメモリを含み得、また、1つ又は複数の磁気記憶装置、フラッシュメモリ、又は他の不揮発性ソリッドステートメモリなどの不揮発性メモリを含み得る。特定の例では、メモリ1002は、プロセッサー1004に対して遠隔的に設置されるメモリをさらに含み得、これらのリモートメモリは、ネットワークを介して端末に接続され得る。上記のネットワークの例は、インターネット、イントラネット、ローカルネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせを含むが、これらに限定されない。さらに、メモリ1002は、具体的に、第1のピクチャとターゲットバーチャル光源ポイントセットなどの情報を記憶するが、これらに限定されない。一例として、
図10に示すように、上記のメモリ1002は、上記の照明レンダリング装置における取得ユニット902と、決定ユニット904と、レンダリングユニット906とを含むことができるが、これらに限定されない。なお、上記の照明レンダリング装置における他のモジュールユニットを含み得るが、これらに限定されない。この例では、繰り返して説明しない。
【0113】
任意選択で、上記の伝送装置1006は、ネットワークを介して、データを送受信する。上記のネットワークの具体的な例として、有線ネットワーク及び無線ネットワークを含み得る。一例では、伝送装置1006は、ネットワークアダプタ(Network Interface Controller,NIC)を含み、ネットワークケーブルを介して他のネットワークデバイスやルーターに接続して、インターネット又はローカルネットワークと通信できる。一例では、伝送装置1006は、無線方式でインターネットと通信するための無線周波数(Radio Frequency,RF)モジュールである。
【0114】
また、上記の電子装置は、照明レンダリングした第1のピクチャを表示するためのディスプレイ1008と、上記の電子装置における各モジュール構成要素を接続するための接続バス1010と、をさらに含む。
【0115】
本出願の実施例のさらに他の態様によれば、記憶媒体を提供し、当該記憶媒体にコンピュータプログラムを記憶し、なお、当該コンピュータプログラムは、実行される場合、上記のいずれか一項に記載の方法実施例におけるステップを実行するように設置される。
【0116】
任意選択で、本実施例では、上記の記憶媒体は、次のステップを実行するためのコンピュータプログラムを記憶するように設置される。
S1、バーチャル3次元シーンにおけるターゲットの視点からの第1のピクチャを取得し、なお、第1のピクチャにターゲットの視点からのバーチャル3次元シーンにおける照明レンダリング対象のバーチャルオブジェクトを含む。
S2、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングするターゲットバーチャル光源ポイントセットに決定する。
S3、ターゲットバーチャル光源ポイントセットに従って、第1のピクチャにおけるバーチャルオブジェクトを照明レンダリングする。
【0117】
任意選択で、本実施例では、当業者は、上記の実施例の各方法におけるステップの全て又は一部が、プログラムを通じて端末デバイスの関連するハードウェアに指示することによって完成することができることを理解できる。当該プログラムは、コンピュータ可読記憶媒体に記憶することができる。記憶媒体は、フラッシュメモリディスク、読み取り専用メモリ(Read-Only Memory,ROM)、ランダムアクセスメモリ(Random Access Memory,RAM)、磁気ディスク又は光ディスクなどを含んでもよい。上記の本出願の実施例の番号は、説明を目的としており、実施例の長所および短所を表さない。
【0118】
上記の実施例における集積ユニットがソフトウェア機能ユニットの形で実現され、独立した製品として販売又は使用される場合、上記のコンピュータ可読記憶媒体に記憶できる。このような理解に基づいて、本出願の技術案は、本質的に、または既存の技術に寄与する部分、又は当該技術案の全て又は一部は、ソフトウェア製品の形で具体化することができる。当該コンピュータソフトウェア製品は、記憶媒体に記憶し、1つ又は複数のコンピュータデバイス(パーソナルコンピュータ、サーバー又はネットワークデバイスなど)に本出願の各実施例に記載される方法のステップの全て又は一部を実行させるためのいくつかの指令を含む。
【0119】
本出願の上記の実施例では、各実施例についての説明は、それぞれ独自の焦点を持っている。ある実施例で詳細に説明していない部分については、他の実施例の関連説明を参照することができる。
【0120】
本出願に提供されるいくつかの実施例では、開示のクライアントは、他の方式でも実現できる。以上の装置の実施例は、例示に過ぎない。例えば、前記ユニットの分割は、論理機能分割に過ぎず、実際に実現する場合、他の分割方式もある。例えば、複数のユニット又はコンポーネントを結合したり、別のシステムに統合したり、一部の機能を無視したり、実行しなかったりすることができる。また、記載又は議論された相互結合または直接結合または通信接続は、特定のインターフェース、ユニットまたはモジュールを介する間接結合または通信接続であり得て、電気または他の形態であり得る。
【0121】
前記の個別部品として説明したユニットは、物理的に分離されても分離されなくてもよく、ユニットとして表示した部品は、物理ユニットであってもそうでなくてもよく、即ち、1つの場所に配置してもよく、複数のネットワークユニットに分散してもよい。実際の必要に応じて、ユニットのいくつかまたはすべてを選択して、本実施例の目的を実現することができる。
【0122】
また、本出願の各実施例における各機能ユニットは、1つの処理ユニットに集積されてもよく、各ユニットが物理的に単独で存在してもよく、2つ以上のユニットが1つのユニットに集積されてもよい。上記の集積ユニットは、ハードウェアの形で実現されてもよく、ソフトウェア機能ユニットの形で実現されてもよい。
【0123】
以上は、本出願の好ましい実施形態に過ぎない。なお、当業者にとって、本出願の原理から逸脱することなく、若干の改善および修正を行うことができ、これらの改善および修正も本出願の保護範囲と見なす。
【符号の説明】
【0124】
902 取得ユニット
904 決定ユニット
906 レンダリングユニット