JP4902748B2 - 階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム - Google Patents
階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム Download PDFInfo
- Publication number
- JP4902748B2 JP4902748B2 JP2009540471A JP2009540471A JP4902748B2 JP 4902748 B2 JP4902748 B2 JP 4902748B2 JP 2009540471 A JP2009540471 A JP 2009540471A JP 2009540471 A JP2009540471 A JP 2009540471A JP 4902748 B2 JP4902748 B2 JP 4902748B2
- Authority
- JP
- Japan
- Prior art keywords
- shadow
- volume
- polygon
- triangle
- light source
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 144
- 238000009877 rendering Methods 0.000 claims description 55
- 238000012545 processing Methods 0.000 claims description 36
- 239000000872 buffer Substances 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000002131 composite material Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 241000699666 Mus <mouse, genus> Species 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000010561 standard procedure Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001125 extrusion Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
VIA Technologies, Inc.に譲渡された米国特許第7,030,878号
Autodesk Canada, Inc.に譲渡された米国特許第6,525,730号
Ferguson氏等の米国特許出願第2006/0158450号
Xu氏等の米国特許出願公開第2006/0038822号及び第2005/206647号
Hybrid Graphics, Ltd.に譲渡された米国特許出願公開第2005/0134588号、及び
Discreet Logic, Inc.(現在、Autodesk)に譲渡された米国特許出願公開第2002/0089501号
(1)光源に対する三角形平面上の任意の点からの表面法線と方向との間のドット積として三角形のパラメータdを計算すること。
(2)シャドウキャップを生成すること。上記シャドウキャップの生成は、
(a)必要ならば、上記シャドウボリュームのニアキャップ(near cap)を生成するため上記三角形をレンダリングし、
(b)必要ならば、上記シャドウボリュームのファーキャップ(far cap)をレンダリングするため、三角形頂点を無限に延長してそれらの配向を反転させ、
(c)もし、dが負であるならば、シャドウボリューム面を正しい順序とするため反転頂点配向でもって(a)及び(b)を行う、
ことを含む。そして、
(3)処理される三角形のdパラメータが隣接する三角形に対するdパラメータとは異なる符号を有するような三角形の各エッジを無限に押し出し、その結果生ずる四角形をレンダリングし、それに関連した隣接する三角形を有しないエッジをも無限に押し出し、頂点順序を調整するためパラメータdの正又は負の符号を再び使用すること。
(1)全シーンを保持するルートノードで開始し、繰り返しトラバースすること、
(2)現在ノードのシャドウボリュームを生成し、上記生成は、包囲ジオメトリの実際のボリュームの代わりに、上記現在ノードのバウンディングボリュームのシャドウボリュームを生成することを含むこと、
(3)ビューイングフラスタムと交差するかについて上記生成されたボリュームをテストし、もし、交差しないならば、このノードの子をスキップし、そうでなければ、非同期的に、ステンシルバッファに書き込むことなく、ボリュームジオメトリに対するオクルージョンクエリーをなし、そのクエリー結果に依存して、上記子を無視するか、又は繰り返しトラバースすること、及び
(4)リーフノードに達し、そのノードシャドウボリュームが可視であると見出される時、その実際のジオメトリシャドウボリュームを上記ステンシルバッファへとレンダリングすること。
を含む。
(1)先ず、隣接するポリゴンを有していないエッジを押し出すこと。
(2)次に、ありうるシルエットエッジを押し出して上記シャドウキャップの生成を可能とするように、上記シミュレート光源に面したポリゴン表面(「トワード表面」)及び上記シミュレート光源から背けられているポリゴン表面(「アウエイ表面」)を含めて上記メッシュにおける全てのポリゴンを考慮すること。
を含み、上記メッシュにおける全てのポリゴンを考慮することは、
(a)第1のセットのシャドウボリュームを生成するため上記トワード表面を押し出し、
(b)第2のセットのシャドウボリュームを生成するため上記アウエイ表面を押し出し、そして、
(c)上記全メッシュ表現に対する正しい合成シャドウボリュームを形成するため上記第1のセットのシャドウボリュームと上記第2のセットのシャドウボリュームとを組み合わせる、
ことを含み、ここで、上記トワード表面及びアウエイ表面に共通なエッジは、2回押し出されており、その結果生ずるサイドは、光向きポリゴン及び非光向きポリゴンの両者のシャドウボリュームを閉じている。
1.0 序論
1.1 シャドウボリューム生成技法
1.2 バウンディングボリューム階層型トラバーサル
2.1 リアリティーサーバーインプリメンテーション
2.2 シャドウボリュームのオーバービュー
2.2.1 zパス及びzフェイル
2.2.2 ボリューム生成
2.2.2.1 レンダリングステップ
2.2.2.2 無限でのレンダリング
2.2.3 性能及び最適化
2.3 リアリティーサーバーインプリメンテーション
2.3.1 低品質メッシュに対するロバストシャドウ
2.3.1.1 変更ボリューム生成技法
2.3.1.2 性能コスト
2.3.2 ジオメトリシェーダーでのダイナミックボリューム生成
2.3.3 階層型オクルージョンカリングでの性能改善
2.4 リアリティーサーバーインプリメンテーション:結論
3.0 本発明を実施することのできるデジタル処理環境
オクルーディングジオメトリとして作用することのできるメッシュに関して、シャドウボリューム技法をより一般化することができように動作でき、且つ特に大きな複雑な入力シーンに対してその技法を加速できるような技法について説明する。従って、ここで説明する技法は、シャドウボリューム生成時で不正確なメッシュの処理ができるようにする技法によって与えられるロバストネス及び一時的コヒーレンスを考慮した新しい階層型非同期オクルージョンクエリー技法によって与えられる性能の点で、以前から知られている技法に優るものである。
縮退面、ランダム頂点配向、非クローズドメッシュ、及び交差面を含めて、オクルーダーとして任意の三角形データを取り扱うことのできるシャドウボリューム生成のための技法について、ここで、説明する。このような能力は、例えば、前述したような特性を有するシーンを生ずる傾向にあるCDAシステムにより生成されるデータを取り扱う場合に、重要である。図2は、本発明の一態様による技法100のフローチャートを示している。ここで説明する技法は、次のように進む。
ボックス101−画像レンダリングに使用される三角形に対して
ボックス102−表面法線と三角形平面上の任意の点から光源への方向との間のドット積として三角形のパラメータdを計算する
ボックス103−シャドウキャップを生成する:
103a−必要ならば、シャドウボリュームのニアキャップを生成するため、元の三角形をレンダリングする
103b−必要ならば、ファーキャップをレンダリングするため、頂点を無限へと延長し、それらの配向を反転する
(もし、dが負であるならば、シャドウボリューム面を正しい順序とするため反転された頂点配向でもってステップ103a及び103bを行う)
ボックス104−現在三角形のdパラメータが隣接する三角形に対するものとは異なる符号を有するような三角形の各エッジを無限へと押し出し、その結果生ずる四角形をレンダリングし、隣接する三角形を有しないエッジに対して同じことを行う。再び、頂点順序を調整するためdの符号を考慮する。
特に、アーキテクチャーモデル又はシティーシーンの如き高度に幾何学的複雑性を有するシーンに対して、シャドウボリューム技法の使用を加速するための技法について、以下説明する。
ボックス121−全シーンを保持するルートノードで開始し、繰り返しトラバースする。
ボックス122−現在ノードのシャドウボリュームを生成する。即ち、包囲ジオメトリの実際のボリュームの代わりに、現在ノードのバウンディングボリュームのシャドウボリュームを生成する。
ボックス123−ビューイングフラスタムとの交差について生成されたボリュームをテストする。もし、それが交差しないならば、このノードの子をスキップする。さもなければ、ステンシルバッファへ書き込むことなく、ボリュームジオメトリに関するオクルージョンクエリーを行う。これは、グラフィックパイプラインを停止しないように非同期的になされ、即ち、オクルージョンクエリーが発せられ、BVHトラバーサルがスタックの異なるノードでもって続けられる。ある後のポイントで、そのクエリー結果が使用できるとき、ツリートラバーサルは、現在ノードでもって続けることができる。そのクエリー結果に依存して、その子を無視するか、又は繰り返しトラバースする
ボックス124−リーフノードに達し、そのノードシャドウボリュームが可視であると見出されるとき、その実際のジオメトリシャドウボリュームをステンシルバッファへとレンダリングする
前述した技法について、3Dウエブサービス及び他のアプリケーションを生成して配置するためのプラットフォームである、MENTAL IMAGES GMBHにより市販されているリアリティーサーバーに関して、以下より詳細に考察する。
シャドウボリュームでもってシャドウをレンダリングする概念は、ある間おおよそのものであったが、ロバスト技法及び増強型グラフィックハードウエア支援の開発により比較的に最近になって実施可能となってきたものである。このアプローチの基本原理について、以下に簡単に説明する。
図4Aから図4Cは、シャドウボリュームの背後にある主概念を例示する一連の図である。図4Aは、オクルーダー202が光源204と受け表面206との間に位置しているようなシーン200を例示している。受け表面の一部分208は、カメラ212の可視フラスタム210内にある。受け表面206のこの可視部分は、光領域214及び影領域216を含む。
シャドウボリュームを生成するための本発明の一態様による技法については、セクション1.1にて前述している。前述した技法は、典型的には、オブジェクトが穴、クラック又は自己交差を有することができないことを意味する、閉じた2−マニホルドポリゴンメッシュに対してのみ正しく働く。このような制約を克服する本発明の別の態様による技法については、セクション2.3.1.1において以下に説明する。
セクション1.1にて前述し、図2に例示されているように、シャドウボリュームのレンダリングは、次の3つのステップに分けられる。
1.フロントキャップのレンダリング
2.バックキャップのレンダリング
3.オブジェクトの押し出しシルエット、即ち、ボリュームのサイドのレンダリング
無限でのレンダリングは、オープンGLにおける同次座標に固有のものである(及び直接3Dでも同様)。頂点は、位置の代わりに方向を通すことにより、あたかも無限に大きい球へと投影されたかのように、レンダリングすることができる。この場合において、この方向は、光位置からその頂点に向かうベクトルである。同次座標において、方向は、w成分を零にセットすることにより、特定され、一方、位置は、通常、wが1にセットされる。
あまり複雑でないシーンの場合、シャドウボリュームは、多くの性能を犠牲にすることができる。従って、多くの最適化が開発されている。zパスは、通常、zフェイルより速く動作することに注意されたい。その主たる理由は、ボリュームキャップをレンダリングする必要がないからである。その上、そのシャドウボリュームのオクルーディングされる部分は、通常、オクルーディングされない部分よりも、スクリーン上にて大きく、これは、zフェイルにより充填レートを消費させてしまう。従って、可能なときにはいつでもzパスを使用し、必要なときのみ、即ち、カメラがシャドウボリュームの内側にあるときのみ、zフェイルへ切り換えるのが好ましい。
ロバストネス及び性能を改善するための本発明の態様による技法について、次に説明する。特に、シャドウボリュームを、リアリティーサーバーの要件に合わせるための技法について、以下に説明する。
シャドウボリューム技法は、ゲームエンジンが処理しなければならいメッシュに亘ってアーティストが完全に制御するようなゲームの如きアプリケーションにおいて、普通に使用される。従って、オクルーダーを2−マニホルドメッシュであるように限定することができることが多く、これにより、シャドウボリューム生成が簡単化される。しかしながら、リアリティーサーバーは、閉じていない又は交差ジオメトリを有するメッシュの如き低品質のメッシュを正しく取り扱うことができることが必要とされる。この種のメッシュは、CADソフトウエア又は変換ツールにより生成されることが多い。従って、性能を犠牲にし過ぎることなく、アーチファクトの無いシャドウがレンダリングされるメッシュに対する制約を低くすることが望ましい。
図5は、前述のボリューム生成技法への変更250のフローチャートを示している。このアプローチにおいては、キャップを描写することに加えて、光に面するポリゴンのエッジが、その対応する隣接ポリゴンがその光に面していないときはいつでも、押し出されている。
ボックス251−先ず、隣接するポリゴンを全く有していないエッジが押し出される。この拡張は、非クローズドメッシュに対して必要とされる。非クローズドメッシュの実施例は、例えば、単一三角形のみがオクルーダーである場合である。
ボックス252−次に、ありうるシルエットエッジを押し出し且つキャップを描写するため、光に面するものだけでなく、メッシュにおけるすべてのポリゴンを考慮する。この拡張は、隣接ポリゴンを有する全てのシルエットエッジが、実際に、各接続ポリゴンに対して1回ずつ、2回押し出されることを意味しており、次のことを含む。
(a)シャドウボリュームの第1のセットを生成するため、「トワード」表面を押し出すこと、
(b)シャドウボリュームの第2のセットを生成するため、「アウエイ」表面を押し出すこと、及び
(c)全メッシュ表現に対する正しい合成シャドウボリュームを形成するため、シャドウボリュームの第1のセットと第2のセットとを組み合わせること。ここで、トワード表面及びアウエイ表面に共通のエッジは、2回押し出され、その結果生ずるサイドが、光に面しているポリゴン及び光に面していないポリゴンの両者のシャドウボリュームを閉じる。
この新しい技法は、簡単で効果的であるが、コストが掛かってしまう。もし、例えば、2−マニホルドメッシュがレンダリングされる場合には、非ロバスト技法の動作が2回行われることになる。zフェイルの場合、キャップが、1回でなく、2回レンダリングされ、即ち、前面及び後面に対して行われ、全てのありうるシルエットエッジも2回押し出される。しかしながら、キャップは、一般的には、それほど問題ではない。何故ならば、ほとんどシーンの場合、zフェイルで取り扱われる必要のあるオクルーダーは数個でしかないからである。zパスについて前述したように、どのキャップも描写する必要はない。
NVIDIAのGeForce 8クラスのハードウエアによれば、ジオメトリシェーダー(GS)と称される新しいパイプラインステージにおいてGPUでのプログラマブル基本要素生成を行うことができる。ジオメトリシェーダーは、基本要素に関して動作するもので、頂点シェーダー(VS)とフラグメントシェーダー(FS)との間に論理的に置かれる。全基本要素の頂点は、入力パラメータにて使用できる。
シャドウボリュームは、主として、シャドウマップが、典型的には、十分に行えないような、シティーモデルの如き大きなシーンにおいて使用するためリアリティーサーバーに組み入れられている。このようなシーンでは、レンダリング性能は、階層型オクルージョンカリング方法を使用することにより、相当に増強される。
シャドウボリュームジオメトリを生成するための非標準方法を使用することにより、難しいメッシュに対しても、シャドウのロバストレンダリングを達成することができる。階層型ハードウエアオクルージョンクエリー及びジオメトリシェーダーと組み合わせてこの方法を使用することにより、ステンシルシャドウでは以前には上手くいかなかった情況に対しても、高性能を達成することも可能となる。ここで説明する技法の全ては、実施するのが比較的に簡単である。
前述した本発明をインプリメンテーションし実施することのできる、典型的な、比較的に通常のデジタル処理構造及び環境について、図11、及び図12A及び図12Bに関連して、以下に説明する。
Claims (9)
- 人間が知覚できるディスプレイ要素に表示するための画像をレンダリングするためのコンピュータグラフィックシステムであって、前記レンダリングすることは、エッジ、頂点及び関連三角形平面を各々が有する三角形に対応するデータを処理することを含み、且つ前記表示することは、シミュレート光源に関して表示されるべき、3次元(3D)シーンにおける影を表示することを含むコンピュータグラフィックシステムにおいて、
当該コンピュータグラフィックシステムは、シャドウボリューム生成方法とバウンディングボリューム階層型(BVH)トラバーサル方法とを内部で実行するデジタル処理装置を含み、
前記BVHトラバーサル方法は、
(1)全シーンを保持するルートノードで開始し、繰り返しトラバースするステップと、
(2)前記シャドウボリューム生成方法を使用して現在ノードのシャドウボリュームを生成するステップであって、包囲ジオメトリの実際のボリュームの代わりに、前記現在ノードのバウンディングボリュームのシャドウボリュームを生成することを含むステップと、
(3)ビューイングフラスタムと交差するかについて前記生成されたボリュームをテストし、もし、交差しないならば、このノードの子をスキップし、さもなければ、非同期的に、ステンシルバッファに書き込むことなく、ボリュームジオメトリに対するオクルージョンクエリーを行い、そのクエリー結果に依存して、前記子を無視するか、又は繰り返しトラバースするステップと、
(4)リーフノードに達し、そのノードシャドウボリュームが可視であると見出される時、その実際のジオメトリシャドウボリュームを前記ステンシルバッファへとレンダリングするステップと、
を含み、
前記シャドウボリューム生成方法は、
画像レンダリングにおいて使用される各非縮退三角形に対して、
(1)表面法線と三角形平面上の任意の点から光源への方向との間のドット積として三角形のパラメータdを計算するステップと、
(3)処理される三角形のdパラメータが隣接する三角形に対するdパラメータとは異なる符号を有するような三角形の各エッジを無限に押し出し、その結果生ずる四角形をレンダリングし、それに関連した隣接する三角形を有しないエッジをも無限に押し出し、頂点順序を調整するためパラメータdの正又は負の符号を再び使用するステップと、
を含む、
コンピュータグラフィックシステム。 - 人間が知覚できるディスプレイ要素に表示するための画像をレンダリングするためのコンピュータグラフィックシステムであって、前記レンダリングすることは、エッジ、頂点及び関連三角形平面を各々が有する三角形に対応するデータを処理することを含み、且つ前記表示することは、シミュレート光源に関して表示されるべき、3次元(3D)シーンにおける影を表示することを含むコンピュータグラフィックシステムにおいて、
前記コンピュータグラフィックシステムに含まれるデジタル処理装置は、
シャドウボリューム生成方法の実行する第1の手段であって、画像レンダリングにおいて使用される各非縮退三角形に対してシャドウボリューム計算を実行する第2の手段を備える、第1手段と、
バウンディングボリューム階層型(BVH)トラバーサル方法を実行する第3の手段と、
を備えており、
前記BVHトラバーサル方法は、
(1)全シーンを保持するルートノードで開始し、繰り返しトラバースするステップと、
(2)前記シャドウボリューム生成方法を使用して現在ノードのシャドウボリュームを生成するステップであって、包囲ジオメトリの実際のボリュームの代わりに、前記現在ノードのバウンディングボリュームのシャドウボリュームを生成することを含むステップと、
(3)ビューイングフラスタムと交差するかについて前記生成されたボリュームをテストし、もし、交差しないならば、このノードの子をスキップし、そうでなければ、非同期的に、ステンシルバッファに書き込むことなく、ボリュームジオメトリに対するオクルージョンクエリーをなし、そのクエリー結果に依存して、前記子を無視するか、又は繰り返しトラバースするステップと、
(4)リーフノードに達し、そのノードシャドウボリュームが可視であると見出される時、その実際のジオメトリシャドウボリュームを前記ステンシルバッファへとレンダリングするステップと、
を含み、
各非縮退三角形に対して前記シャドウボリューム計算を実行する第2の手段は、
(1)表面法線と三角形平面上の任意の点から光源への方向との間のドット積として三角形のパラメータdを計算する手段と、
(3)処理される三角形のdパラメータが隣接する三角形に対するdパラメータとは異なる符号を有するような三角形の各エッジを無限に押し出し、その結果生ずる四角形をレンダリングし、それに関連した隣接する三角形を有しないエッジをも無限に押し出し、頂点順序を調整するためパラメータdの正又は負の符号を再び使用する手段と、
を備えることを特徴とするコンピュータグラフィックシステム。 - コンピュータ読み取り可能な媒体にエンコードされたコンピュータプログラム命令を備えるコンピュータプログラム製品であって、前記コンピュータプログラム命令は、人間が知覚できるディスプレイ要素に表示するため画像をレンダリングするためのコンピュータグラフィックシステム内で動作できるものであり、前記レンダリングすることは、エッジ、頂点及び関連三角形平面を各々が有する三角形に対応するデータを処理することを含み、且つ前記表示することは、シミュレート光源に関して表示されるべき、3次元(3D)シーンにおける影を表示することを含み、
前記コンピュータプログラム命令は、
前記コンピュータグラフィックシステムに含まれるデジタル処理装置にシャドウボリューム生成方法を実行させる第1の命令であって、画像レンダリングにおいて使用される各非縮退三角形に対して、シャドウボリューム計算を実行する第2の命令を備える第1の命令と、
前記デジタル処理装置にバウンディングボリューム階層型(BVH)トラバーサル方法を実行させる第3の命令と、
を備えており、
前記BVHトラバーサル方法は、
(1)全シーンを保持するルートノードで開始し、繰り返しトラバースするステップと、
(2)前記シャドウボリューム生成方法を使用して現在ノードのシャドウボリュームを生成するステップであって、包囲ジオメトリの実際のボリュームの代わりに、前記現在ノードのバウンディングボリュームのシャドウボリュームを生成することを含むステップと、
(3)ビューイングフラスタムと交差するかについて前記生成されたボリュームをテストし、もし、交差しないならば、このノードの子をスキップし、そうでなければ、非同期的に、ステンシルバッファに書き込むことなく、ボリュームジオメトリに対するオクルージョンクエリーをなし、そのクエリー結果に依存して、前記子を無視するか、又は繰り返しトラバースするステップと、
(4)リーフノードに達し、そのノードシャドウボリュームが可視であると見出される時、その実際のジオメトリシャドウボリュームを前記ステンシルバッファへとレンダリングするステップと、
を含み、
各非縮退三角形に対して前記シャドウボリューム計算を実行する第2の命令は、
(1)表面法線と三角形平面上の任意の点から光源への方向との間のドット積として三角形のパラメータdを計算する命令と、
(3)現在の三角形のdパラメータが隣接する三角形に対するdパラメータとは異なる符号を有するような三角形の各エッジを無限に押し出し、その結果生ずる四角形をレンダリングし、それに関連した隣接する三角形を有しないエッジをも無限に押し出し、頂点順序を調整するためdの正又は負の符号を再び使用する命令と、
を備える、コンピュータプログラム製品。 - 前記シャドウボリューム生成方法は、更に、
シミュレート光源に関してポリゴンメッシュ表現の選択処理を含み、
前記ポリゴンメッシュ表現によって表現される幾つかの表面は、前記シミュレート光源の方に向かって面しており(「トワード表面」)、前記ポリゴンメッシュ表現によって表現される幾つかの表面は、シミュレート光源から背けられており(「アウエイ表面」)、多数のエッジが、前記トワード表面及び前記アウエイ表面により共有され又は共通とされており、
前記選択処理は、
(1)先ず、隣接するポリゴンを有していないエッジを押し出すステップと、
(2)次に、ありうるシルエットエッジを押し出して前記シャドウキャップの生成を可能とするように、前記シミュレート光源に向いたポリゴン表面(「トワード表面」)及び前記シミュレート光源から背けられているポリゴン表面(「アウエイ表面」)を含めて前記メッシュにおける全てのポリゴンを考慮するステップと、
を含み、前記メッシュにおける全てのポリゴンを考慮するステップは、
(a)シャドウボリュームの第1のセットを生成するため、前記トワード表面を押し出す段階と、
(b)シャドウボリュームの第2のセットを生成するため、前記アウエイ表面を押し出す段階と、
(c)全メッシュ表現に対する正しい合成シャドウボリュームを形成するため、シャドウボリュームの前記第1のセットと前記第2のセットとを組み合わせる段階とを含み、前記トワード表面及びアウエイ表面に共通のエッジは、2回押し出されており、その結果生ずるサイドは、光に面しているポリゴン及び光に面していないポリゴンの両者のシャドウボリュームを閉じていることを特徴とする請求項1に記載のコンピュータグラフィックシステム。 - 請求項4に記載の選択処理を適用することにより縮退三角形を取り扱うことを含むことを特徴とする請求項4に記載のコンピュータグラフィックシステム。
- 前記シャドウボリューム生成方法を実行する第1の手段は、更に、
シミュレート光源に関してポリゴンメッシュ表現の選択処理を実行する第4の手段を備え、
前記ポリゴンメッシュ表現によって表現される幾つかの表面は、前記シミュレート光源の方に向かって面しており(「トワード表面」)、前記ポリゴンメッシュ表現によって表現される幾つかの表面は、シミュレート光源から背けられており(「アウエイ表面」)、多数のエッジが、前記トワード表面及び前記アウエイ表面により共有され又は共通とされており、
前記選択処理は、
(1)先ず、隣接するポリゴンを有していないエッジを押し出すステップと、
(2)次に、ありうるシルエットエッジを押し出して前記シャドウキャップの生成を可能とするように、前記シミュレート光源に面したポリゴン表面(「トワード表面」)及び前記シミュレート光源から背けられているポリゴン表面(「アウエイ表面」)を含めて前記メッシュにおける全てのポリゴンを考慮するステップと、
を含み、前記メッシュにおける全てのポリゴンを考慮するステップは、
(a)シャドウボリュームの第1のセットを生成するため、前記トワード表面を押し出す段階と、
(b)シャドウボリュームの第2のセットを生成するため、前記アウエイ表面を押し出す段階と、
(c)全メッシュ表現に対する正しい合成シャドウボリュームを形成するため、シャドウボリュームの前記第1のセットと前記第2のセットとを組み合わせる段階とを含み、前記トワード表面及びアウエイ表面に共通のエッジは、2回押し出されており、その結果生ずるサイドは、光に面しているポリゴン及び光に面していないポリゴンの両者のシャドウボリュームを閉じていることを特徴とする請求項2に記載のコンピュータグラフィックシステム。 - 請求項6に記載の選択処理を適用することにより縮退三角形を取り扱う手段を備えることを特徴とする請求項6に記載のコンピュータグラフィックシステム。
- 前記デジタル処理装置に前記シャドウボリューム生成方法を実行させる前記第1の命令は、
シミュレート光源に関してポリゴンメッシュ表現の選択処理を実行する第4の命令を更に備え、
前記ポリゴンメッシュ表現によって表現される幾つかの表面は、前記シミュレート光源に向かって面しており(「トワード表面」)、前記ポリゴンメッシュ表現によって表現される幾つかの表面は、シミュレート光源から背けられており(「アウエイ表面」)、多数のエッジが、前記トワード表面及び前記アウエイ表面により共有され又は共通とされており、
前記選択処理は、
(1)先ず、隣接するポリゴンを有していないエッジを押し出すステップと、
(2)次に、ありうるシルエットエッジを押し出して前記シャドウキャップの生成を可能とするように、前記シミュレート光源に面したポリゴン表面(「トワード表面」)及び前記シミュレート光源から背けられているポリゴン表面(「アウエイ表面」)を含めて前記メッシュにおける全てのポリゴンを考慮するステップと、
を含み、前記メッシュにおける全てのポリゴンを考慮するステップは、
(a)第1のセットのシャドウボリュームを生成するため、前記トワード表面を押し出す段階と、
(b)第2のセットのシャドウボリュームを生成するため、前記アウエイ表面を押し出す段階と、
(c)全メッシュ表現に対する正しい合成シャドウボリュームを形成するため、シャドウボリュームの前記第1のセットと前記第2のセットとを組み合わせる段階とを含み、前記トワード表面及びアウエイ表面に共通のエッジは、2回押し出されており、その結果生ずるサイドは、光に面しているポリゴン及び光に面していないポリゴンの両者のシャドウボリュームを閉じていることを特徴とする請求項3に記載のコンピュータプログラム製品。 - 請求項8に記載の選択処理を適用することにより縮退三角形を取り扱うため前記コンピュータグラフィックシステム内で動作できるコンピュータ読み取り可能な命令を更に含む、請求項8に記載のコンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86922206P | 2006-12-08 | 2006-12-08 | |
US60/869,222 | 2006-12-08 | ||
PCT/US2007/086606 WO2008073798A2 (en) | 2006-12-08 | 2007-12-06 | Computer graphics shadow volumes using hierarchical occlusion culling |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010512582A JP2010512582A (ja) | 2010-04-22 |
JP4902748B2 true JP4902748B2 (ja) | 2012-03-21 |
Family
ID=39512406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009540471A Active JP4902748B2 (ja) | 2006-12-08 | 2007-12-06 | 階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8115767B2 (ja) |
JP (1) | JP4902748B2 (ja) |
DE (1) | DE112007002991B4 (ja) |
WO (1) | WO2008073798A2 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9123151B2 (en) * | 2008-08-05 | 2015-09-01 | Autodesk, Inc. | Exchanging data between vertex shaders and fragment shaders on a graphics processing unit |
WO2010048093A2 (en) * | 2008-10-20 | 2010-04-29 | Intel Corporation | Graphics processing using culling on groups of vertices |
US8669977B2 (en) | 2009-10-01 | 2014-03-11 | Intel Corporation | Hierarchical mesh quantization that facilitates efficient ray tracing |
US8175734B2 (en) * | 2009-10-08 | 2012-05-08 | 3D M. T. P. Ltd. | Methods and system for enabling printing three-dimensional object models |
CN102087752B (zh) * | 2009-12-08 | 2013-11-20 | 鸿富锦精密工业(深圳)有限公司 | 光照环境模拟系统及方法 |
US20110141112A1 (en) * | 2009-12-11 | 2011-06-16 | William Allen Hux | Image processing techniques |
US10109103B2 (en) | 2010-06-30 | 2018-10-23 | Barry L. Jenkins | Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation |
EP2589023B1 (en) * | 2010-06-30 | 2021-05-19 | Barry Lynn Jenkins | System and method of from-region visibility determination and delta-pvs based content streaming using conservative linearized umbral event surfaces |
US9916763B2 (en) | 2010-06-30 | 2018-03-13 | Primal Space Systems, Inc. | Visibility event navigation method and system |
US9171396B2 (en) * | 2010-06-30 | 2015-10-27 | Primal Space Systems Inc. | System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3D graphical information using a visibility event codec |
US9892546B2 (en) | 2010-06-30 | 2018-02-13 | Primal Space Systems, Inc. | Pursuit path camera model method and system |
US8659597B2 (en) * | 2010-09-27 | 2014-02-25 | Intel Corporation | Multi-view ray tracing using edge detection and shader reuse |
US8823736B2 (en) * | 2012-01-20 | 2014-09-02 | Intel Corporation | Graphics tiling architecture with bounding volume hierarchies |
FR2988891A1 (fr) | 2012-03-29 | 2013-10-04 | Thomson Licensing | Procede d'estimation de niveau d'opacite dans une scene et dispositif correspondant |
US9053582B2 (en) | 2012-06-11 | 2015-06-09 | Disney Enterprises, Inc. | Streaming light propagation |
US8957896B2 (en) * | 2012-06-11 | 2015-02-17 | Disney Enterprises, Inc. | Streaming hierarchy traversal renderer |
US9123162B2 (en) | 2012-06-11 | 2015-09-01 | Disney Enterprises, Inc. | Integration cone tracing |
US20130342535A1 (en) * | 2012-06-20 | 2013-12-26 | Microsoft Corporation | Hierarchical Tree Traversal in Graphics Pipeline Stages |
US9437025B2 (en) | 2012-07-12 | 2016-09-06 | Nvidia Corporation | Stencil data compression system and method and graphics processing unit incorporating the same |
US9123154B2 (en) | 2012-10-09 | 2015-09-01 | Disney Enterprises, Inc. | Distributed element rendering |
US9117306B2 (en) * | 2012-12-26 | 2015-08-25 | Adshir Ltd. | Method of stencil mapped shadowing |
US9986225B2 (en) * | 2014-02-14 | 2018-05-29 | Autodesk, Inc. | Techniques for cut-away stereo content in a stereoscopic display |
US9760968B2 (en) | 2014-05-09 | 2017-09-12 | Samsung Electronics Co., Ltd. | Reduction of graphical processing through coverage testing |
US9842428B2 (en) | 2014-06-27 | 2017-12-12 | Samsung Electronics Co., Ltd. | Dynamically optimized deferred rendering pipeline |
US10169909B2 (en) * | 2014-08-07 | 2019-01-01 | Pixar | Generating a volumetric projection for an object |
US10210655B2 (en) * | 2015-09-25 | 2019-02-19 | Intel Corporation | Position only shader context submission through a render command streamer |
WO2017164923A1 (en) * | 2016-03-21 | 2017-09-28 | Siemens Product Lifecycle Management Software Inc. | Gpu batch occlusion query with spatial update |
US10553010B2 (en) | 2017-04-01 | 2020-02-04 | Intel IP Corporation | Temporal data structures in a ray tracing architecture |
CN109712211B (zh) * | 2018-12-21 | 2023-02-10 | 西安恒歌数码科技有限责任公司 | 基于osg的高效体阴影生成方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002074391A (ja) * | 2000-08-31 | 2002-03-15 | Konami Co Ltd | 3次元画像処理方法、装置、3次元画像処理プログラムを記録した可読記録媒体及びビデオゲーム装置 |
JP2004280596A (ja) * | 2003-03-17 | 2004-10-07 | Nintendo Co Ltd | シャドウボリューム生成プログラム及びゲーム装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867166A (en) * | 1995-08-04 | 1999-02-02 | Microsoft Corporation | Method and system for generating images using Gsprites |
US6072497A (en) * | 1997-05-30 | 2000-06-06 | Hewlett-Packard Company | Volumetric pre-clipping method that guarantees minimal number of sample points through a volume |
US6999073B1 (en) * | 1998-07-20 | 2006-02-14 | Geometrix, Inc. | Method and system for generating fully-textured 3D |
US6437782B1 (en) * | 1999-01-06 | 2002-08-20 | Microsoft Corporation | Method for rendering shadows with blended transparency without producing visual artifacts in real time applications |
US6366283B1 (en) | 1999-03-03 | 2002-04-02 | Discreet Logic Inc. | Generating image data |
US6489955B1 (en) * | 1999-06-07 | 2002-12-03 | Intel Corporation | Ray intersection reduction using directionally classified target lists |
SG93211A1 (en) * | 1999-07-28 | 2002-12-17 | Univ Singapore | Method and apparatus for generating atomic parts of graphic representation through skeletonization for interactive visualization applications |
GB2372188B (en) * | 2001-02-08 | 2005-07-13 | Imagination Tech Ltd | Volume clipping in computer 3-D Graphics |
JP2004028059A (ja) | 2002-06-28 | 2004-01-29 | Hitachi Koki Co Ltd | 携帯式エンジン刈払機の燃料タンク装置 |
US6876362B1 (en) * | 2002-07-10 | 2005-04-05 | Nvidia Corporation | Omnidirectional shadow texture mapping |
US7145565B2 (en) * | 2003-02-27 | 2006-12-05 | Nvidia Corporation | Depth bounds testing |
US7248261B1 (en) * | 2003-12-15 | 2007-07-24 | Nvidia Corporation | Method and apparatus to accelerate rendering of shadow effects for computer-generated images |
US20050134588A1 (en) * | 2003-12-22 | 2005-06-23 | Hybrid Graphics, Ltd. | Method and apparatus for image processing |
US7030878B2 (en) * | 2004-03-19 | 2006-04-18 | Via Technologies, Inc. | Method and apparatus for generating a shadow effect using shadow volumes |
US7554538B2 (en) * | 2004-04-02 | 2009-06-30 | Nvidia Corporation | Video processing, such as for hidden surface reduction or removal |
US7688323B2 (en) * | 2004-07-20 | 2010-03-30 | Luxology, Llc | Function portions of animation program |
US7277098B2 (en) * | 2004-08-23 | 2007-10-02 | Via Technologies, Inc. | Apparatus and method of an improved stencil shadow volume operation |
US7782318B2 (en) * | 2006-11-22 | 2010-08-24 | International Business Machines Corporation | Method for reducing network bandwidth by delaying shadow ray generation |
-
2007
- 2007-12-06 WO PCT/US2007/086606 patent/WO2008073798A2/en active Application Filing
- 2007-12-06 DE DE112007002991T patent/DE112007002991B4/de active Active
- 2007-12-06 JP JP2009540471A patent/JP4902748B2/ja active Active
- 2007-12-06 US US11/951,666 patent/US8115767B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002074391A (ja) * | 2000-08-31 | 2002-03-15 | Konami Co Ltd | 3次元画像処理方法、装置、3次元画像処理プログラムを記録した可読記録媒体及びビデオゲーム装置 |
JP2004280596A (ja) * | 2003-03-17 | 2004-10-07 | Nintendo Co Ltd | シャドウボリューム生成プログラム及びゲーム装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2008073798A2 (en) | 2008-06-19 |
US8115767B2 (en) | 2012-02-14 |
US20080180440A1 (en) | 2008-07-31 |
JP2010512582A (ja) | 2010-04-22 |
WO2008073798A3 (en) | 2008-07-31 |
DE112007002991B4 (de) | 2011-09-08 |
DE112007002991T5 (de) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4902748B2 (ja) | 階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
US11804002B2 (en) | Techniques for traversing data employed in ray tracing | |
US20160379401A1 (en) | Optimized Stereoscopic Visualization | |
US20020186216A1 (en) | 3D computer modelling apparatus | |
US9508191B2 (en) | Optimal point density using camera proximity for point-based global illumination | |
US20070182732A1 (en) | Device for the photorealistic representation of dynamic, complex, three-dimensional scenes by means of ray tracing | |
US20230316632A1 (en) | Hardware-based techniques applicable for ray tracing for efficiently representing and processing an arbitrary bounding volume | |
US9684997B2 (en) | Efficient rendering of volumetric elements | |
US11450057B2 (en) | Hardware acceleration for ray tracing primitives that share vertices | |
KR20080052328A (ko) | 광선 추적을 위한 광선-삼각형 충돌 처리 방법 및 장치 | |
JP2011238213A (ja) | 配置されたパラメトリック曲線の階層的バウンディング | |
US20210390760A1 (en) | Ray tracing hardware acceleration for supporting motion blur and moving/deforming geometry | |
Schneider et al. | Real-time rendering of complex vector data on 3d terrain models | |
CN107392990B (zh) | 渲染3d场景的全局照明 | |
US20130127895A1 (en) | Method and Apparatus for Rendering Graphics using Soft Occlusion | |
Popescu et al. | The depth discontinuity occlusion camera | |
JPH05290174A (ja) | 三次元モデルの構造を取扱うためのグラフィックス・ワークステーションおよびモデルの構造の三次元グラフィック画像を生ずる方法 | |
Stich et al. | Efficient and robust shadow volumes using hierarchical occlusion culling and geometry shaders | |
WILLCOCKS | Sparse volumetric deformation | |
Jabłoński et al. | Real-time voxel rendering algorithm based on screen space billboard voxel buffer with sparse lookup textures | |
JP2010282498A (ja) | ポリゴン処理装置,プログラム及び情報記録媒体 | |
US20240095996A1 (en) | Efficiency of ray-box tests | |
Valter | Dynamic real-time scene voxelization and an application for large scale scenes | |
Doghramachi | Tile-Based Omnidirectional Shadows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110509 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110524 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110824 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111206 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4902748 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |