(57)【要約】【課題】【解決手段】３次元グラフィックのためのレイトレーシング装置は、静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構築し、第１動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を行って第２動的客体を生成する中央処理装置、及び前記第１加速構造と前記第２動的客体に対する第２加速構造に基づいてレイトレーシングを行うレイトレーシングコアを含む。前記中央処理装置または前記レイトレーシングコアは前記第２動的客体に対する前記第２加速構造を構築する。【選択図】  図１
2012528376.tif 000002
【特許請求の範囲】
【請求項１】
静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構築し、第１動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を行って第２動的客体を生成する中央処理装置；及び
前記第１加速構造と前記第２動的客体に対する第２加速構造に基づいてレイトレーシングを行うレイトレーシングコアを含み、
前記中央処理装置または前記レイトレーシングコアは前記第２動的客体に対する前記第２加速構造を構築する、３次元グラフィックのためのレイトレーシング装置。
【請求項２】
前記レイトレーシングコアは、前記第１及び第２加速構造のそれぞれに対してレイ−三角形交差テスト（ｒａｙ−Ｔｒｉａｎｇｌｅ  Ｉｎｔｅｒｓｅｃｔｉｏｎ  Ｔｅｓｔ）を行うことを特徴とする、請求項１に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項３】
前記レイトレーシングコアは、前記第１または第２加速構造の中でレイと交差する三角形を持つ加速構造に基づいてレイトレーシングを行うことを特徴とする、請求項２に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項４】
前記レイトレーシングコアは、前記第１及び第２加速構造の両方がレイと交差する三角形を持つ場合には、前記レイの時点と前記交差する三角形のそれぞれの間の長さ（ｄｉｓｔａｎｃｅｓ）に基づいてレイトレーシングのための加速構造を決定することを特徴とする、請求項２に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項５】
前記レイトレーシングコアは、前記レイの時点と前記交差する三角形のそれぞれの間の長さの中で短い距離を有する三角形を選択することを特徴とする、請求項４に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項６】
静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）と第２動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）（前記第２動的客体は第１動的客体に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を遂行することにより生成される）に対する第２加速構造を格納するメモリ；及び
前記第１加速構造と前記第２加速構造に基づいてレイトレーシングを行うレイトレーシングコアを含む、３次元グラフィックのためのレイトレーシング装置。
【請求項７】
前記レイトレーシングコアは、前記レイトレーシングの前に前記第２動的客体に対する第２加速構造を構築することを特徴とする、請求項６に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項８】
前記レイトレーシングコアは、前記第１及び第２加速構造のそれぞれに対してレイ−三角形交差テスト（ｒａｙ−Ｔｒｉａｎｇｌｅ  Ｉｎｔｅｒｓｅｃｔｉｏｎ  Ｔｅｓｔ）を行うことを特徴とする、請求項６に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項９】
前記レイトレーシングコアは、前記第１または第２加速構造の中でレイと交差する三角形を持つ加速構造に基づいてレイトレーシングを行うことを特徴とする、請求項８に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項１０】
前記レイトレーシングコアは、前記第１及び第２加速構造の両方がレイと交差する三角形を持つ場合には、前記レイの時点と前記交差する三角形のそれぞれの間の長さ（ｄｉｓｔａｎｃｅｓ）に基づいてレイトレーシングのための加速構造を決定することを特徴とする、請求項８に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項１１】
前記レイトレーシングコアは、前記レイの時点と前記交差する三角形のそれぞれの間の長さの中で短い距離を有する三角形を選択することを特徴とする、請求項１０に記載の３次元グラフィックのためのレイトレーシング装置。
【請求項１２】
静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構築する段階；
第１動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を行って第２動的客体を生成する段階；
前記第２動的客体に対する前記第２加速構造を構築する段階；及び
前記第１加速構造と前記第２動的客体に対する第２加速構造に基づいてレイトレーシングを行う段階を含む、３次元グラフィックのためのレイトレーシング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元グラフィック処理に係り、特にレイトレーシング装置及び方法に関する。
【背景技術】
【０００２】
３次元グラフィック技術はコンピュータに格納された幾何学的データ（ｇｅｏｍｅｔｒｉｃ  ｄａｔａ）の３次元表現を使うグラフィック技術で、今日メディア産業とゲーム産業を含む多様な産業で広く使われている。一般に、３次元グラフィック技術は多くの演算量によって別個の高性能グラフィックプロセッサを要求する。
【０００３】
特に、近年プロセッサの発展によって非常に現実的な３次元グラフィックを生成することができるレイトレーシング（ｒａｙ  ｔｒａｃｉｎｇ）技術が研究されている。特に、レイトレーシング技術は、反射、屈折、陰影を含む多様な光効果（ｏｐｔｉｃａｌ  ｅｆｆｅｃｔｓ）をシミュレーションすることができる。
【図面の簡単な説明】
【０００４】
【図１】本発明の一実施例によるレイトレーシング装置（ｒａｙ  ｔｒａｃｉｎｇ  ａｐｐａｒａｔｕｓ）を説明するブロック図である。
【図２】図１のレイトレーシング装置の動作過程を説明するためのフローチャートである。
【図３】レイトレーシング過程を説明するための図である。
【図４】レイトレーシング過程を説明するための図である。
【図５】加速構造と幾何学的データを説明するための図である。
【発明を実施するための形態】
【０００５】
実施例において、３次元グラフィックのためのレイトレーシング装置は、静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構築し、第１動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を行って第２動的客体を生成する中央処理装置、及び前記第１加速構造と前記第２動的客体に対する第２加速構造に基づいてレイトレーシングを行うレイトレーシングコアを含む。前記中央処理装置または前記レイトレーシングコアは前記第２動的客体に対する前記第２加速構造を構築する。
【０００６】
実施例において、３次元グラフィックのためのレイトレーシング装置は、静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）と第２動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）（前記第２動的客体は第１動的客体に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を遂行することにより生成される）に対する第２加速構造を格納するメモリ、及び前記第１加速構造と前記第２加速構造に基づいてレイトレーシングを行うレイトレーシングコアを含む。
【０００７】
実施例において、３次元グラフィックのためのレイトレーシング方法は、静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構築する段階、第１動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を行って第２動的客体を生成する段階、前記第２動的客体に対する前記第２加速構造を構築する段階、及び前記第１加速構造と前記第２動的客体に対する第２加速構造に基づいてレイトレーシングを行う段階を含む。
【０００８】
本発明についての説明は構造的ないし機能的説明のための実施例に過ぎないので、本発明の権利範囲はこの明細書に説明された実施例によって制限されるものに解釈されてはいけない。すなわち、実施例は多様な変更が可能であり、さまざまな形態を持つことができるので、本発明の権利範囲は技術的思想を実現することができる均等物を含むものに理解されなければならない。
【０００９】
一方、本明細書に記述される用語の意味は次のように理解されるべきであろう。
【００１０】
“第１”、“第２”などの用語は一構成要素を他の構成要素から区別するためのもので、これら用語によって権利範囲が限定されてはいけない。例えば、第１構成要素は第２構成要素に命名されることができ、同様に第２構成要素も第１構成要素に命名されることができる。
【００１１】
“及び／または”の用語は１つ以上の関連項目から提示可能なすべての組合せを含むものに理解されなければならない。例えば、“第１項目、第２項目及び／または第３項目”の意味は第１、第２または第３項目だけでなく、第１項目、第２項目または第３項目の中で２つ以上から提示可能なすべての項目の組合せを意味する。
【００１２】
ある構成要素が他の構成要素に“連結されて”いると言及されたときには、その他の構成要素に直接連結されることもできるが、中間に他の構成要素が存在することもできると理解されなければならないであろう。一方、ある構成要素が他の構成要素に“直接連結されて”いると言及されたときには、中間に他の構成要素が存在しないものに理解されなければならないであろう。一方、構成要素間の関係を説明する他の表現、つまり“〜の間に”と“すぐ〜の間に”または“〜に隣り合う”と“〜に直接隣り合う”なども同様に解釈されなければならない。
【００１３】
単数の表現は文脈上明白に異なるように意味しない限り複数の表現を含むものに理解されなければならなく、“含む”または“持つ”などの用語は説示された特徴、数字、段階、動作、構成要素、部分品またはこれらを組み合わせたものが存在することを指定しようとするものであるばかり、１つまたはそれ以上の他の特徴、あるいは数字、段階、動作、構成要素、部分品またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないものに理解されなければならない。
【００１４】
各段階は文脈上明白に特定の手順を記載しない限り、明記された手順とは異なるように起こることができる。すなわち、各段階は明記された手順と同様に起こることもでき、実質的に同時に遂行されることもでき、反対の順に遂行されることもできる。
【００１５】
ここで使われるすべての用語は他の意味に定義されない限り、本発明が属する分野で通常の知識を持った者によって一般的に理解されるものと同一意味を持つ。一般的に使われる前もって定義されている用語は関連技術の文脈で有する意味と一致するものに解釈されなければならなく、本明細書で明白に定義しない限り、理想的にあるいは過度に形式的な意味を持つものに解釈されることができない。
【００１６】
図１は本発明の一実施例によるレイトレーシング装置（ｒａｙ  ｔｒａｃｉｎｇ  ａｐｐａｒａｔｕｓ）を説明するブロック図、図２は図１のレイトレーシング装置の動作過程を説明するためのフローチャートである。
【００１７】
図１を参照すれば、レイトレーシング装置１００は、中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、レイトレーシングコア１２０、システムメモリ１３０、及びローカルメモリ１４０を含む。
【００１８】
中央処理装置１１０は、静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）に対する第１加速構造（ＡＳ；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を構築する（段階Ｓ２１０）。図５は加速構造と幾何学的データを説明するための図である。加速構造（ＡＳ）は、レイトレーシングにおいて一般的に使われるｋｄ−ｔｒｅｅ（ｋ−ｄｅｐｔｈ  ｔｒｅｅ）またはＢＶＨ（Ｂｏｕｎｄｉｎｇ  Ｖｏｌｕｍｅ  Ｈｉｅｒａｒｃｈｙ）を含み、図５は加速構造がｋｄ−ｔｒｅｅに相応すると仮定した。
【００１９】
客体は、能動的に動かない静的客体（ｓｔａｔｉｃ  ｏｂｊｅｃｔ）と能動的に動く動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に区分される。例えば、３次元ゲームにおいて、静的客体は背景場面（ｂａｃｋｇｒｏｕｎｄ  ｓｃｅｎｅ）を含むことができ、動的客体は登場人物を含むことができる。これら全てを統合して加速構造を構築する方法は［Ｉｎｇｏ  Ｗａｌｄ，  Ｗｉｌｌｉａｍ  Ｒ  Ｍａｒｋ，  Ｊｏｈａｎｎｅｓ  Ｇｕｎｔｈｅｒ，  Ｓｏｌｏｍｏｎ  Ｂｏｕｌｏｓ，  Ｔｈｉａｇｏ  Ｉｚｅ，  Ｗａｒｒｅｎ  Ｈｕｎｔ，  Ｓｔｅｖｅｎ  Ｇ  Ｐａｒｋｅｒ，  ａｎｄ  Ｐｅｔｅｒ  Ｓｈｉｒｌｅｙ，  Ｓｔａｔｅ  ｏｆ  ｔｈｅ  Ａｒｔ  ｉｎ  Ｒａｙ  ｔｒａｃｉｎｇ  Ａｎｉｍａｔｅｄ  Ｓｃｅｎｅｓ，  Ｅｕｒｏｇｒａｐｈｉｃｓ  ２００７  Ｓｔａｔｅ  ｏｆ  ｔｈｅ  Ａｒｔ  Ｒｅｐｏｒｔｓ］に開示されている。
【００２０】
客体は幾何学的データで構成され、幾何学的データは空間を構成する三角形情報を含む。一実施例において、三角形情報は三角形の三点に対するテクスチャ座標（ｔｅｘｔｕｒｅ  ｃｏｏｒｄｉｎａｔｅ）と法線ベクトル（ｎｏｒｍａｌ  ｖｅｃｔｏｒ）を含むことができる。一実施例において、静的客体の場合、幾何学的データは構築された後にほとんど変わらないことができ、動的客体の場合、幾何学的データは頻繁に構築されることができる。
【００２１】
ｋｄ−ｔｒｅｅ５００は空間分割ツリー（ｓｐａｔｉａｌ  ｐａｒｔｉｔｉｏｎｉｎｇ  ｔｒｅｅ）の一種であり、レイ−三角形交差テスト（Ｒａｙ−Ｔｒｉａｎｇｌｅ  Ｉｎｔｅｒｓｅｃｔｉｏｎ  Ｔｅｓｔ）のために使われる。ｋｄ−ｔｒｅｅ５００はボックスノード（Ｂｏｘ  Ｎｏｄｅ）５１０、内部ノード（Ｉｎｎｅｒ  Ｎｏｄｅ）５２０、及びリーフノード（ｌｅａｆ  ｎｏｄｅ）５３０を含み、リーフノード５３０は幾何学的データに含まれた少なくとも１つの三角形情報をポインティングするための三角形リストを含む。一実施例において、幾何学的データに含まれた三角形情報が配列に具現された場合には、リーフノード５３０に含まれた三角形リストは配列インデックスに相応することができる。
【００２２】
また、中央処理装置１１０は第１動的客体（ｄｙｎａｍｉｃ  ｏｂｊｅｃｔ）に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）演算を行って第２動的客体を生成する（段階Ｓ２２０）。ＬＯＤは客体が観察者（ｖｉｅｗｅｒ）から遠くなるかあるいは客体の重要性（ｏｂｊｅｃｔ  ｉｍｐｏｒｔａｎｃｅ）、時点−空間速度または位置（ｅｙｅ−ｓｐａｃｅ  ｓｐｅｅｄ  ｏｒ  ｐｏｓｉｔｉｏｎ）のような他の基準によって３次元客体表現の複雑度を減少させることを含む。
【００２３】
一実施例において、第１動的客体が観察者から遠くなる場合には、中央処理装置１１０はもっと粗い表現（ｃｏａｒｓｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）で第２動的客体を生成することができる。他の一実施例において、第１動的客体が観察者から近くなる場合には、中央処理装置１１０はもっと洗練された表現（ｒｅｆｉｎｅｄ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）で第２動的客体を生成することができる。
【００２４】
中央処理装置１１０またはレイトレーシングコア１２０は第２動的客体に対する前記第２加速構造を構築する（段階Ｓ２３０）。第２加速構造の構築過程は前述した第１加速構造と実質的な違いがないので、これについての説明は省略する。
【００２５】
レイトレーシングコア１２０は、第１加速構造と第２動的客体に対する第２加速構造に基づいてレイトレーシングを遂行し（段階Ｓ２４０）、最終に現在フレームに対するイメージを生成する（段階Ｓ２５０）。動的客体が変わる場合、前記段階Ｓ２２０〜段階Ｓ２５０を遂行する。
【００２６】
以下、レイトレーシングコア１２０の動作を説明する。
【００２７】
図３及び図４はレイトレーシング過程を説明するための図である。
【００２８】
レイトレーシングはレイトレーシングコア１２０によって再帰的に遂行され、（ｉ）アイレイ生成過程（段階Ｓ４１０）、（ｉｉ）加速構造訪問（ＡＳ  Ｔｒａｖｅｒｓａｌ）過程（段階Ｓ４２０）、（ｉｉｉ）レイ−三角形交差テスト（ｒａｙ−Ｔｒｉａｎｇｌｅ  Ｉｎｔｅｒｓｅｃｔｉｏｎ  Ｔｅｓｔ）過程（段階Ｓ４３０）、（ｉｖ）シェーディング及びシェーディングレイ生成過程（段階Ｓ４４０）を含む。ここで、シェーディングレイはシャドーレイＳ、屈折レイＦ及び／または反射レイＲを含む。
【００２９】
レイトレーシングコア１２０は第１及び第２加速構造のそれぞれに対してレイ−三角形交差テストを遂行する。現在フレームのためのイメージは静的客体と動的客体の両方を含むことができるからである。
【００３０】
レイトレーシングコア１２０は第１または第２加速構造でレイと交差する三角形を持つ加速構造に基づいてレイトレーシングを遂行する。すなわち、第１または第２加速構造でレイと交差する三角形が存在する場合には、レイトレーシングコア１２０は三角形が存在する加速構造に対してレイトレーシングを遂行する。例えば、レイと交差する三角形が第１加速構造に存在する場合には、第１加速構造に対してレイトレーシングが遂行できる。
【００３１】
レイトレーシングコア１２０は第１及び第２加速構造の両方がレイと交差する三角形を持つ場合には、レイの時点と前記交差する三角形のそれぞれの間の長さ（ｄｉｓｔａｎｃｅｓ）に基づいてレイトレーシングのための加速構造を決定する。一実施例において、レイトレーシングコア１２０は、レイの時点と前記交差する三角形のそれぞれの間の長さの中で短い距離を有する三角形を選択することができる。短い距離を有する三角形が観察者に近くにある客体に相応することができるからである。
【００３２】
アイ時点と第１加速構造の交差する三角形の間の距離がＳ１に相応すると仮定し、アイ時点と第２加速構造の交差する三角形の間の距離がＳ２に相応すると仮定する。Ｓ１がＳ２より小さな場合には、レイトレーシングコア１２０は第１加速構造の交差する三角形に基づいてレイトレーシングを遂行し、Ｓ２がＳ１より小さな場合には、レイトレーシングコア１２０は第２加速構造の交差する三角形に基づいてレイトレーシングを遂行する。
【００３３】
また、図１において、レイトレーシング装置に含まれたシステムメモリ１３０とローカルメモリ１４０は論理的な区分のためのもので、必要によって、システムメモリ１３０とローカルメモリ１４０は単一メモリに統合できる。
【００３４】
システムメモリ１３０は中央処理装置１１０またはレイトレーシングコア１２０によって接近可能であり、三角形情報を含む幾何学的データ１３２とテクスチャのためのテクスチャデータ１３４を格納する。ローカルメモリはレイトレーシングコア１２０によって接近可能であり、静的及び第２動的客体のための幾何学的データ１４２ａ及び１４２ｂ、静的及び第２動的客体のための加速構造１４４ａ及び１４４ｂ、システムメモリ１３０にあるテクスチャデータの中で必要なテクスチャデータ１４６、及び現在フレームのためのフレームバッファ１４８を含む。
【００３５】
本発明は次の効果を持つことができる。ただ、特定の実施例が次の効果を全部含まなければならないかあるいは次の効果のみを含まなければならないという意味ではないので、本発明の権利範囲はこれによって制限されるものに理解されてはいけないであろう。
【００３６】
一実施例によるレイトレーシング装置は、レイトレーシングの効率的処理のために動的客体に対してＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）を遂行することができる。したがって、レイトレーシング装置は観察者からの距離を反映してレイトレーシングを効率よく遂行することができる。
【００３７】
一実施例によるレイトレーシング装置は、静的客体と動的客体のそれぞれに対する加速構造を使ってレイトレーシングを遂行することができる。したがって、レイトレーシング装置は速い速度で加速構造を構築することができ、結果としてレイトレーシングを効率よく遂行することができる。
【００３８】
以上、本発明の好適な実施例を参照して説明したが、当該技術分野の熟練した当業者は下記の特許請求の範囲に記載された本発明の思想及び領域から逸脱しない範囲内で本発明を多様に修正及び変更することができることが理解可能であろう。
【符号の説明】
【００３９】
１００    レイトレーシング装置
１１０    中央処理装置
１２０    レイトレーシングコア
１３０    システムメモリ
１４０    ローカルメモリ
【図１】
2012528376.tif 000003
【図２】
2012528376.tif 000004
【図３】
2012528376.tif 000005
【図４】
2012528376.tif 000006
【図５】
2012528376.tif 000007
【国際調査報告】
2012528376.tif 000008
2012528376.tif 000009
2012528376.tif 000010
2012528376.tif 000011