JP3390463B2 - 3次元グラフィックスにおけるシャドウ・テスト方法 - Google Patents

3次元グラフィックスにおけるシャドウ・テスト方法

Info

Publication number
JP3390463B2
JP3390463B2 JP07849192A JP7849192A JP3390463B2 JP 3390463 B2 JP3390463 B2 JP 3390463B2 JP 07849192 A JP07849192 A JP 07849192A JP 7849192 A JP7849192 A JP 7849192A JP 3390463 B2 JP3390463 B2 JP 3390463B2
Authority
JP
Japan
Prior art keywords
point
shadow
projection
scan
points
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.)
Expired - Lifetime
Application number
JP07849192A
Other languages
English (en)
Other versions
JPH05114032A (ja
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH05114032A publication Critical patent/JPH05114032A/ja
Application granted granted Critical
Publication of JP3390463B2 publication Critical patent/JP3390463B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、コンピュータ
・グラフィックスの領域に関連したものである。とりわ
け、本発明は、ラジオシティ(radiosity)及
び光線追跡(ray tracing)のような3次元
表現に関する広域照射技法に関して用いられる加速(a
ccelerated)シャドウ・テスト法に関連した
ものである。
【0002】
【従来の技術】3次元コンピュータ・グラフィックスに
おけるリアルなイメージの合成には、シーン(scen
e)または環境内における光の伝搬をシミュレートする
シャドウイング・モデルの評価が必要になる。リアルな
シャドウイング、従って、リアルなイメージの合成に
は、直接照明及び反射光の両方による、シーンに関する
全ての照射を考慮した広域照射モデルの使用が必要にな
る。
【0003】リアルなイメージを合成するには、光源間
(直接光と反射光の両方)にある表面によって生じるシ
ャドウイングを測定し、考慮にいれなければならない。
先行技術の場合、シャドウ・テストとして知られるこの
プロセスは、全ての物体について、シーン内の全てのポ
イントをテストして、実際にそのポイントにシャドウを
与えているのがどの物体かを判定しなければならないの
で、多大の時間を費やすことになった。
【0004】リアルなシャドウイングを施された3次元
グラフィックスを生成するための広域照射技法のいくつ
かが知られているが、そのほとんどに共通しているの
は、光線追跡及びラジオシティである。参考までに本書
に組み込まれている下記の出版物に、例証がある:Co
mputer Graphics、第18巻、第3号、
213〜222頁(1984年7月)のGoral,C
indy M.その他による「Modeling th
e Interaction of LightBet
ween Diffuse Surfaces」;SI
GGRAPHProceedings、 第19巻、第
3号、31〜40頁(1985)のCohen,Mic
hael F.その他による「The Hemicub
e:A Radiosity Solution Fo
r Compex Environments」;Th
e Visual Computer、第2巻、291
〜297頁(1986年)のGreenberg,Do
nald P.その他による「Radiosity:
A Method For Computing Gl
obal I1lumination」;IEEE C
G&A、26〜35頁(1986年3月)のCohe
n,Michael F.その他による「An Eff
icient Radiosity Approach
ForRealistic Image Synth
esis」;ComputerGraphics、第2
2巻、第4号、75〜84頁(1988年8月)のCo
hen,Michael F.その他による「A Pr
ogressive Refinement Appr
oach to Fast RadiosityIma
ge Generation」。また、参考までに本書
に組み込まれている、各種光線追跡技法を解説した下記
の出版物も参照されたい:Computer Aide
d Design、第18巻、第7号、371〜379
頁(1986年9月)のMaxwell,Gregor
y M.その他による「Calculation of
the Radiation Configurat
ion Using Ray Casting」;マサ
チューセッツ州チェルムズフォードにあるApollo
Computer,Inc.のArvo,James
による「Backward Ray Tracing」
(日付けは未知);Computer Graphic
s、第18巻、第3号、137〜145頁(1984年
7月)のCook,Robert L.その他による
「Distributed Ray Tracin
g」;Proceedings of Compute
r Graphics 1987、335〜343頁
(1987)のChattopadhyay,Sude
bその他による「Bi−Directional Ra
y Tracing」。
【0005】特定の光線追跡技法の場合、シャドウ・テ
ストは、通常、計算上最も不経済なプロセスである。そ
の他、全環境(シーン)内の各物体をテストして、それ
が、光線の全ての交差点について各光源(直線及び反射
の両方)を遮るか否かを判定しなければならないからで
ある。複雑な証明構成によるシーンの場合、遮光テスト
(すなわち、シャドウ・テスト)に必要な時間のパーセ
ンテージは、全計算時間の80%にまで増大する可能性
がある。これは、光線追跡を用いて、ラジオシティによ
って用いられる形状因子を計算するラジオシティ技法に
も当てはまる。例えば、1990年5月31日に出願さ
れた、「Three Dimensional Com
puter Graphics EmployingR
ayTracing to Computer For
m Factors inRadiosity」と題す
る、譲渡先が共通の、米国同時係属出願第531,37
7号;さらに、Computer Graphics、
第23巻、第3号、315〜324頁(1989年7
月)のWallace,John R.その他による
「A Ray Tracing Algorithm
For Progressive Radiosit
y」も参照されたい。
【0006】先行技術において、シャドウ・テストに必
要な時間の短縮が試みられた。例えば、IEEE CG
&A、6〜11頁(1986年9月)のHaines,
Eric A.その他による「The Light B
uffer:A Shadow−Testing Ac
celerator」参照のこと。この文書には、それ
ぞれが、個々の光源に関して環境を区分する光バッファ
を設けることによって、光線追跡技法におけるシャドウ
・テスト時間を短縮する方法が開示されている。さら
に、シャドウ・テスト時に、該区分の説明を利用するこ
とにより、交差点についてテストしなければならない物
体の小部分集合が迅速に判定される。深さマップを用い
るシャドウ・アルゴリズムに関するエイリアシング問題
を対象とした、Computer Graphics、
第21巻、第4号、283〜291頁(1987年7
月)のReeves,William T.その他によ
る「Rendering Antialiased S
hadows With Depth Maps」も参
照されたい。しかし、この文書に解説の解決法は、必要
な処理時間及び必要な記憶空間に両方に関して、実現す
るには不経済である。
【0007】
【発明の目的】従って、特に複雑なシーンの場合、必要
なメモリに関して、迅速で、経済的なシャドウ・テスト
法を提供することが望ましい。また、該方法は、偽信号
及びアーティファクトを生じないこと、シーン内におけ
るポイントの可視性の判定が、浮動少数点数の公差まで
正確であることが望ましい。本発明は、これらの目標を
達成するものである。
【0008】
【発明の概要】本発明の方法は、シーン適応及び分析に
よるものであり、実行時間を速める掃引アルゴリズムを
用いるものである。該方法は、シーンの複雑さに適応し
て、さまざまなシーン・タイプについて短い実行時間を
達成するため、シーン適応形である。該方法は、シェー
ド・ポイントにおけるシャドウを浮動小数点数の確度内
まで判定することができるので、分析形である。該方法
は、幾何学形状の光線追跡と同じ結果を算出するが、か
なり高速である。ドロップ・アウトまたは小物体の欠落
は許容されない。該方法は、シーンに対する複数の走査
領域から成る走査面を掃引することによって有効となる
掃引アルゴリズムを用いる。この目的は、シーンの複雑
さに制限を加える、すなわち、実行時間を達成すること
にある。
【0009】本発明の方法では、3次元のシーンを2次
元の投影面に投影し、該投影面の掃引を行い、同時に、
通常は、光の1点である、投影の中心視点からシェーデ
ィングのサンプル・ポイントの可視性を判定する。光の
複数のポイントを利用して、半影捕捉及び確度を改良す
ることができる。
【0010】本発明によれば、光源の1点といったポイ
ントから3次元シーンの物体表面における複数ポイント
の可視性を判定する方法には、まず、共通のポイントか
ら該シーン内の物体の2次元投影を作成するステップが
含まれる。この2次元投影には、物体表面における複数
のポイントの投影が含まれる。次に、ほぼ平行な複数の
境界が、投影に重ねられる。境界は、投影面に直交する
無限に薄い平面と考えることができるので、すぐ隣接し
た各対をなす境界の間には、空間が存在することにな
る。各空間は、走査領域を形成するので、投影に重ねら
れる複数の走査領域が存在することになる。各走査領域
の幅は、隣接する境界間における空間のサイズによって
決まる。さらに、各走査領域毎に、投影される物体のエ
ッジが、他の投影される他の物体における1つ以上の投
影ポイントを包含しているか否かの判定を行う。これら
のポイントは、シャドウのかかる可能性のあるポイント
として識別され、シャドウつきのポイントを包含する物
体は、このシャドウのかかる可能性のあるポイントに対
してシャドウをかける可能性のある物体として識別され
る。次に、シャドウのかかる可能性のあるポイントと、
シャドウをかける可能性のある物体とに限定して、テス
トを行い、シャドウのかかる可能性のあるポイントが、
シャドウをかける可能性のある物体のどれかによって共
通のポイントから実際にぼやけることになるか否かの判
定が行われる。本書に解説のいくつかの異なるテスト
は、もしあるとして、シャドウをかける可能性のある物
体のうちどれが、実際に、シャドウのかかる可能性のあ
るポイントに対してシャドウをかける物体であるかを判
定するために実施される。
【0011】従って、本発明によれば、シャドウのかか
る可能性のあるポイントに限って、シャドウをかける可
能性のある物体とのテストを行い、共通のポイントから
それらがぼやけることになるか否かが判定されるので、
従って、全ての投影ポイントと他の全ての投影物体との
テストを必要とせずに、投影ポイントの可視性が判定さ
れることになる。本発明については、本書でさらに詳述
するものとする。
【0012】
【実施例】図1には、本発明の方法の基本的な流れに関
する全般的な概要が示されている。10で示すように、
3次元のシーンが、形成されると、12で示すように、
周知の方法で、2次元の平面に投影される。2次元投影
におけるシェード・ポイント(すなわち、2次元の平面
に投影された3次元のシーンにおける物体表面のポイン
ト)の可視性テストが、ステップ14に示すように、実
施される。シェード・ポイントは、3次元シーンの物体
を離散化することによって得られる。離散化される物体
の頂点をシェード・ポイントとして用いて、シーンのシ
ェーディング及びシャドウイングの捕捉が行われる。次
に、ステップ16に示すように、ステップ14の結果を
利用して、ラジオシティ及びシャドウ・フラクション
算が行われる。最後に、18で示すように、そのシーン
が、グラフィックス表示装置に関連したCRTに表示さ
れる。
【0013】本発明の方法は、ステップ14、すなわ
ち、シーンを照射する光源の1点といった共通のポイン
トから2次元投影におけるシェード・ポイントの可視性
を判定するステップにおいて特に用いられるものであ
る。
【0014】図2〜図7は、本発明の基本概念を明らか
にするためのものである。これらの図には、2つの物体
しかない極めて単純なシーンに関連した本発明の適用を
示すものであるが、この単純なシーンは、単なる説明の
ためのものであり、本発明は、その複雑さには関係な
く、あらゆるシーンに適用されるものと理解すべきであ
る。
【0015】図2を参照すると、光源Lの照射を受ける
2つの物体O1及びO2を含んでいる単純な3次元シー
ンが示されている。図示のように、物体O1は、光源L
と物体O2の間に配置されてているので、物体O1のシ
ャドウSO1が物体O2上に生じることになる。
【0016】物体O1は、網目上の3つのシェード・ポ
イントP1によって覆われ、物体O2は、網目状の25
のシェード・ポイントP2によって覆われている。シェ
ード・ポイントは、物体O1及びO2の各頂点に加え、
物体O2のエッジに沿っても配置されている。図示のよ
うに、物体O2上のシェード・ポイントの一部PSO2
は、物体O1のシャドウ内に入るので、従って、物体O
1のために光源Lから覆い隠されることになる(すなわ
ち、物体O1によってシャドウがかけられる)。 本発
明の目的は、シェード・ポイントPSO2のアイデンテ
ィティを素早く判定する、すなわち、シーン内の全ての
物体について全てのシェード・ポイントのシャドウ・テ
ストを行なうことなく、各シェード・ポイントが光源L
のシャドウ内にあるか、あるいは、光源Lにさらされて
いるかの判定を行うことにある。
【0017】3次元コンビュータ・グラフィックス表現
においては一般的であるが、図2の3次元シーンは、図
3に示すように、2次元に投影される。3次元から2次
元への投影を実施する原理については、周知のところで
ある。例えば、Addison−Wesley Pub
lishing Co.から出版された国際標準図書番
号(ISBN)0−201−14468−9の、Fol
ey,James D.その他による「Fundame
ntal of Interactive Compu
ter Graphics」第8章参照のこと。例え
ば、図3には、図2と同じであるが、光源Lの視点によ
るシーンが示されている。本発明の望ましい実施例によ
れば、視野があまりに広い場合には、透視圧縮がシーン
の中心に対してかなり大きくなるので、図3の投影の視
野は、ほぼ120度に制限される。この最大値を超える
視野が必要になる場合、180度の領域の光にとっては
通常のことであるが、本書に解説の2ハーフ・サイズ・
パスの方法を実施することができる。
【0018】図4に示すように、2次元の投影に、複数
の、間隔をあけた、平行な境界線B1〜B8が重ねられ
る。これらの境界線は、2次元投影に直交して交差する
無限に薄い平面とみなすことができる。境界線B1〜B
8は、投影に重ねられる複数の走査領域SA1〜SA7
を画定する。各走査領域は、隣接する境界Bのy座標に
よって決まる幅である。このステップの目的は、シャド
ウ・テストの実施に必要なシェード・ポイント/物体の
数を制限することにある。図4に示すように、投影にお
ける各シェード・ポイントは、S0、S1等で表示さ
れ、物体O2の各エッジは、E0、E1、E2、E3で
表示され、各物体O1のエッジは、E0、E1、E2で
表示される。各シェード・ポイント及び各エッジが走査
領域内に配置されていることが分かる。図4以下での本
発明の方法の説明を簡略化するため、物体O1及びO2
の投影を本書では単純に「物体」と呼ぶことにする。例
えば、走査領域SA4からSA7内に位置するのは、物
体O1の投影であるが、以下の説明では、これらの走査
領域における「物体」と呼ぶことにする。
【0019】今後明らかになるように、光源から覆い隠
されないのは、シェード・ポイントS0、S1等のうち
のどれかを判定するため、走査領域を順次横切って、走
査が行われる。
【0020】先行技術において周知のように、「走査変
換」と呼ばれるプロセスを用いて、シーン内における立
体領域の可視性が判定される。例えば、McGraw−
Hill Book Companyから出版された国
際標準図書番号(ISBN)0−07−046338−
7の、Newman,William M.その他によ
る「Principles of Interacti
ve Computer Graphics」第2版、
第16章;及びMcGraw−Hill Book C
ompanyから出版された国際標準図書番号(ISB
N)0−07−053534.5の、Rogers,D
avid F.による「Procedural Ele
ments For Computer Graphi
cs」第2章参照のこと。先行技術による走査変換方法
によれば、あるシーンの2次元投影に複数の無限に薄い
「走査線」が重ねられることになり、走査時に出くわす
各投影物体の可視性を判定するため、走査線を横切っ
て、走査が行われる。しかし、先行技術の技法では、走
査線は、一般に、表示を目的として用いられた、すなわ
ち、シャドウの計算には用いられなかった。先行技術の
走査線には、面積がなかったので、走査線が交差する物
体だけしか考慮されないことになるため、シャドウの計
算に走査線を用いると、問題を生じる可能性がある。例
えば、正確であるためには、非常に多くの走査線を必要
とするので、この先行技術の技法を用いたシャドウ計算
は時間がかかるし、走査線の間に位置する物体は、処理
を受けないので、エイリアシング及びアーティファクト
を生じる可能性がある。しかし、本発明によれば、本発
明を実施するためには、走査線自体ではなく、走査線の
間の領域を走査することになる。図4の場合、該当領域
は、走査領域SA1〜SA7である。従って、本発明の
この態様だけが、先行技術との大幅な違いを示すことに
なる。
【0021】3次元シーンが形成され(図1)、2次元
に投影され(図3)、複数の走査領域がこれに重ねられ
ると(図4)、本発明の下記追加原理による処理に対し
て、該シーンの準備が整ったことになる。図5に示すよ
うに、本書では「物体活動化バケットのリスト」と呼ぶ
レジスタ20が、設けられている。該レジスタは、走査
領域SA1〜SA7のそれぞれに対応する複数の記憶場
所を備えている。各走査領域SA1〜SA7の走査につ
れて、新たに出くわした物体のIDが、その物体に最初
に出くわした走査領域に対応する、レジスタ20の記憶
場所に記憶される。従って、図示のように、走査領域の
走査時に出くわす物体がないので、物体活動化バケット
SA1は空である。走査領域SA2の走査時には、初め
て物体O2に出くわすので、そのアイデンティティが、
レジスタ20の物体活性化バケットSA2に記憶され
る。走査領域SA3の走査時には、新たな物体に出くわ
さないので、レジスタ20の物体活動化バケットSA3
は、空である。最後に、走査領域SA4の走査時には、
初めて物体O1に出くわすので、物体O1のアイデンテ
ィティが、レジスタ20の物体活動化バケットSA4に
記憶される。残りの全ての物体活性化バケットは、対応
する走査領域の走査時に出くわす新しい物体がないの
で、空である。レジスタ20の内容は、後述のようにし
て用いられる。
【0022】図6を参照すると明らかなように、本書
で、それぞれ、「活動物体リスト」及び「活動シェード
・ポイントリスト」と呼ばれる2つの追加レジスタ2
2、24を用いて、各走査領域の処理が行われる。さら
に、本書で「活動エッジ・リスト」と呼ばれるもう1つ
のレジスタ26も、各走査領域の処理に用いられる。
【0023】図6には、物体O2に初めて出くわす走査
領域である、走査領域SA2の処理が示されている。走
査領域SA2の処理が開始すると、走査領域SA2に対
応する物体活動化バケット(図5)の内容が、まず、活
動物体リスト22に転送される。活動物体リスト22の
機能は、現在検討中の走査領域内にある全ての物体、す
なわち、全ての「活動物体」のアイデンティティを記憶
することにある。従って、図6に示すように、走査領域
SA2の場合、物体活動化バケット20の対応する1つ
から取り出された物体O2が、この走査領域における唯
一の活動物体である。図6にも示すように、検討中の走
査領域内にある各活動物体エッジのIDが、活動エッジ
・リスト26に記憶される。さらに、各活動物体に関す
るいくつかの座標が、活動物体リストに記憶される。図
示のように、各活動物体に関するxMIN、xMAX、
及び、zMINが、記憶される。座標xMINは、走査
領域SA2における物体O2のエッジE0の位置に対応
しており、座標xMAXは、走査領域SA2における物
体O2のエッジE2の位置に対応している。各物体毎に
記憶される第3の座標zMINは、3次元空間における
活動物体上のどのポイントよりも光源L(z座標=
0)に最も近い活動物体のポイントのz座標であ
る。ここで、z軸は、光源Lから2次元投影面に垂直に
伸びる光線に沿った軸である。
【0024】従って、要約すると、走査領域内の各活動
物体のアイデンティティは、活動物体リスト22に記憶
される。そのアイデンティティが活動物体リストに記憶
される各活動物体毎に、その走査領域内にある活動物体
のエッジのIDが、やはり、その活動物体の座標xMI
N、xMAX、及び、zMINのように記憶される。以
下で明らかになるように、各活動物体のアイデンティテ
ィは、分類され、走査時に出くわす順番に(すなわち、
xMIN値の増大に従って)活動物体のリスト22に記
憶される。また、走査領域の走査時にもはや出くわすこ
とのない物体のアイデンティティが、活動物体リスト2
2から除去されるのも、明らかである。
【0025】活動シェード・ポイント・リスト24は、
走査領域の走査時に出くわす各シェード・ポイントのア
イデンティティを記憶する。活動物体リスト22の場合
のように、シェード・ポイントは、分類され、走査時に
出くわす順番に活動シェード・ポイントリスト24に記
憶される。従って、図6の場合、見ての通り、シェード
・ポイントS0〜S4は順番に記憶されている。
【0026】図7には、走査時に両方の物体O1とO2
が現れるもう1つの走査領域SA4の詳細が示されてい
る。物体活動化バケット20から分かるように、物体O
1は、最初に走査領域SA4に現れる。従って、活動物
体リスト22に物体O1が加えられ、物体O2及びO1
が、両方とも、走査領域SA4の走査時に出くわすの
で、活動物体リストに記憶される。新しい項目(すなわ
ち、物体)は、活動物体リスト22に付加されるが、留
意すべきは、該項目は、後で、左から右への走査時に出
くわす順に、すなわち、xMIN座標順に分類されると
いう点である。もはや、走査領域の走査時に現れること
のないエッジは、活動エッジ・リスト26から除去され
る。従って、物体O2のエッジE1が、活動エッジ・リ
スト26から除去される。さらに、各物体に関する値x
MIN、xMAX、及び、zMINが、この走査領域の
走査時に更新される。
【0027】活動シェード・ポイント・リストが、各走
査領域の走査前に、クリアされ、前述のように、新しい
走査線の走査時に出くわす各シェード・ポイントのアイ
デンティティが、活動シェード・ポイント・リスト24
に付加され、該シェード・ポイントは、後で、走査時に
出くわす順に、すなわち、増大するx座標順に分類され
る。従って、図7を参照すると分かるように、走査領域
SA4に現れるシェード・ポイントと出くわす順序は、
S10、S11(両方とも物体O2に関して)、S15
(物体O1に関して)、さらにS12、S13、及び、
S14(物体O2に関して現れる)である。
【0028】次に、活動物体リスト、活動エッジ・リス
ト、及び、活動シェード・ポイントリストに記憶された
データを本発明に関連して用いる方法について説明す
る。
【0029】特定の走査領域の走査が済むと、次に、該
走査領域の活動シェード・ポイント・リストに記憶され
た各シェード・ポイントについて調べる。そのxMIN
及びxMAX値が、シェード・ポイントのx値を包含す
る同じ走査領域に関する活動物体リスト22における各
活動物体は、そのシェード・ポイントに対してシャドウ
をかける可能性のある物体と考えられる。図7の場合、
見ての通り、これらのシェード・ポイントのx値は、物
体O2のxMIN及びxMAX値によって包含されるの
で、シェード・ポイントS10、S11、S13、及
び、S14に関してシャドウをかける可能性のあるのは
物体O2である。ただし、シェード・ポイントS12に
関して、物体O1及びO2は、両方とも、同じ理由で、
シャドウをかける可能性のある物体であることを表して
いる。
【0030】シャドウをかける可能性のある物体とシャ
ドウのかかる可能性のあるポイントが、走査領域内で識
別されると、いくつかのテストにかけられ、シャドウの
かかる可能性のある各ポイントに対するシャドウをかけ
る可能性のある物体数を減らして、シャドウのかかる可
能性のあるこうした各ポイントに対して実際にシャドウ
をかける物体を見つけ出す。
【0031】本発明の望ましい実施例を実行する際に
は、検討中の走査領域について、シェード・ポイントが
活動シェード・ポイント・リスト24に現れる順番に
(x座標順の分類後)、各シェード・ポイントに対し
て、後述のテストが行われる。
【0032】最初にかけられるテストは、物体はそれ自
体にシャドウをかけることはできないという知識に基づ
くものである。従って、ある物体上にあるシャドウのか
かる可能性のあるどのポイントについても、同じ物体が
シャドウをかけることはできない。従って、このテスト
に必要とされるのは、シャドウのかかる可能性のあるポ
イントの1つを選択し、選択されたポイントが位置する
シャドウをかける可能性のある物体を識別し、こうして
識別されたシャドウをかける可能性のある物体を該ポイ
ントに対して実際にシャドウをかける物体としては除去
することだけである。図7の場合、このテストによっ
て、ポイントS10、S11、S13、及び、S14に
対してシャドウをかける可能性のある物体のうちから物
体O2が除去される。これらのシェード・ポイントに
は、もはやシャドウをかける可能性のある物体がないの
で、該ポイントは、光の中にある(すなわち、覆い隠さ
れない)ものと判定されたことになる。図7から分かる
ように、このテストにかけた後、物体O1は、依然とし
てシェード・ポイント12に対してシャドウをかける可
能性のある物体であり、物体O2は、依然としてシェー
ド・ポイント15に対してシャドウをかける可能性のあ
る物体である。
【0033】シャドウのかかる可能性のある各ポイント
に対して行われる次のテストは、シャドウをかける可能
性のある物体によって覆い隠されるためには、シャドウ
のかかる可能性のあるポイントのz座標が、シャドウを
かける可能性のある物体のzMIN値より大きくなけれ
ばならないという知識に基づくものである。換言する
と、シャドウをかける可能性のあるどの部分よりも光源
Lに近いシェード・ポイントには、シャドウをかける可
能性のある物体によってシャドウをかけることができな
い。従って、このテストでは、シャドウのかかる可能性
のある各ポイントのz座標値とそれに対してシャドウを
かける可能性のある物体のそれぞれに関するzMIN座
標値を比較し、そのシャドウをかける可能性のある物体
が実際にシャドウをかける物体としては除去できるか否
かの判定が必要になる。図7の場合、シェード・ポイン
トS12のz座標値が、物体O1のzMIN座標値より
も大きいので、物体O1は、依然としてシェード・ポイ
ント12に対してシャドウをかける可能性のある物体の
ままである。しかし、このテストにかけることによっ
て、物体O2が、実際にシェード・ポイントS15にシ
ャドウをかける物体としては除去されることになる。
【0034】次に行われるテストは、周知の平面方程式
Ax+By+Cz+D=0に基づくものであり、ここ
で、A、B、C、及び、Dは、3次元空間における平面
の配向及び位置を規定する定数であり、x、y、zは、
該表面におけるポイントの3次元座標である。この平面
方程式を用いることによって、シーン内における物体の
各ファセットの平面が規定され、各物体のファセットの
平面によって、該シーンが2つの部分、すなわち、該平
面の正の側と負の側に分割される。この平面方程式が与
えられたからには、シャドウのかかる可能性のあるポイ
ントがこの平面のどちら側に位置するかの判定は、ポイ
ントx、y、zをこの平面方程式に用いて、結果の符号
を確かめることによって、簡単な問題となる。平面によ
ってシェード・ポイントにシャドウがかかる場合、光源
とシェード・ポイントは、該平面をはさんで反対側にな
ければならない。これが当てはまらなければ、この平面
に対応するシャドウをかける可能性のある物体が、検討
中のシャドウのかかる可能性のあるポイントに対して実
際にシャドウをかける物体としては除去されることにな
る。図7のシェード・ポイントS12及び物体O1をこ
のテストにかけると、シェード・ポイントS12と光源
Lが、物体O1をはさんで反対側にあることが明らかに
なるので、物体O1は、依然としてシェード・ポイント
S12に対してシャドウをかける可能性のある物体であ
る。すなわち、物体O1は、シェード・ポイント12に
対して実際にシャドウをかける物体として除去すること
ができない。
【0035】以上のテストを全て行った後、シャドウの
かかる可能性のあるポイントが、1つ以上のシャドウを
かける可能性のある物体によって覆い隠されているとい
う場合、そのポイントがシャドウをかける可能性のある
物体のシャドウ内にあることを証明するための条件が、
1つだけ残っている。光源の視界に相当すシーンの2
次元投影において、シャドウのかかる可能性のあるポイ
ントが、それに対してシャドウをかける可能性のある物
体の投影の「内側」にある場合、そのポイントは、シャ
ドウをかける可能性のある物体によってシャドウがかけ
られる。この条件の立証または反証を行うためのテスト
には、検討中のシャドウのかかる可能性のあるポイント
から検討中のシャドウをかける可能性のある物体の外側
の位置に至る光線(あるポイントから一方向に無限に伸
びる線を示す)を形成し、該光線がシャドウをかける可
能性のある物体のエッジと偶数回数交差するか、あるい
は、奇数回数交差するかを判定することが必要になる。
走査領域内では、活動エッジだけしか交差する必要がな
い。光線/エッジの交差回数が奇数の場合、シャドウの
かかる可能性のあるポイントが、シャドウをかける可能
性のある物体の内側、従って、そのシャドウ内にあり、
そのシャドウをかける可能性のある物体によって覆い隠
されることになる。このテストについてさらに検討する
には、上述のNewmanその他による「Princi
ples of Interactive Comput
er Graphics」と題するテキストのセクショ
ン16−2参照のこと。図7の場合、シェード・ポイン
トS12から物体O1の外側の位置まで形成された光線
は、1回だけしかエッジと交差しない。換言すると、こ
の場合、光線/エッジの交差回数は1回(奇数)であ
り、従って、ポイントS12は、物体O1のシャドウ内
にあり、それによって覆い隠されていることになる。
【0036】上述のように、本発明の実施に当たって用
いられる走査領域は、幅、すなわち、y方向における次
元を有している。各走査領域の幅は、シーンの2次元投
影を重ねるように選択された走査領域によって決まるこ
とになる。本発明の実施例の1つによれば、用いられる
走査総数は、まず2次元投影の物体の総数を確認し、各
走査領域が重ねられる投影表面の平均数を選択し、さら
に、投影表面の総数を各走査領域が重ねられる投影表面
の平均数で割ることによって得られる。走査領域数、従
って、各走査領域の幅は、割算の結果に基づくものであ
る。本発明をヒューレット・パッカード社製のモデルH
P9000/350コンピュータに用いて明らかになっ
たのは、各走査領域が重ねられる物体の平均数が、約1
00〜400の場合に、許容可能な結果が得られるとい
うことである。
【0037】利用してみて、よい結果の得られた、走査
領域数、従って、走査領域の幅を選択するもう1つの方
法は、以下の通りである。投影シーンにおける物体表面
の総数を求めて、第1の所定の量で割ることにより、投
影に重ねる走査領域数の第1の推定値が得られる。該投
影におけるシェード・ポイントの総数を求めて、第2の
所定の量で割ることにより、投影に重ねる走査領域数の
第2の推定値が得られる。第1または第2の推定値のど
ちらが大きいにせよ、シーンに重ねる走査領域数であ
る。本発明の方法をヒューレット・パッカード社製のモ
デルHP9000/350コンピュータで実施してみて
分かったことは、第1の所定の量に適した値は、約20
0であり、第2の所定の量に適した値は、約40という
ことである。
【0038】走査領域及び幅を選択する上記2つの方法
に関する問題の1つは、シーン内における物体のシェー
ド・ポイント及び表面の分散次第で、ほんのわずかなシ
ェード・ポイント及び表面しかない走査領域もあれば、
多数のシェード・ポイント及び表面を含む走査領域もあ
ることになる。従って、各走査領域の処理を行うための
計算時間は、大幅に変わる可能性があるが、各走査領域
毎の計算時間は、できるだけ一定していることが望まし
い。走査領域数及び幅を選択するための下記方法によっ
て、この問題に対する好結果を生む解決策が得られた。
【0039】図10に示す第1の改良方法によれば、そ
れぞれ、予備幅を備えた、予備数の走査領域が割り当て
られ、200で示すように、2次元投影に重ねられる。
さらに、走査領域の処理を行う際、210で示すよう
に、各走査領域内における物体表面の総数としきい値の
比較が行われる。走査領域内の物体表面の数が、しきい
値を超えると、その走査領域は、220で示すように、
より幅の狭い、複数のより小さい走査領域に分割され、
より幅の狭い各走査領域内における物体表面の数が、し
きい値未満になるまで、該プロセスが繰り返される。本
発明の方法をヒューレット・パッカード社製のモデルH
P9000/350コンピュータにおいて実施すると、
走査領域の予備割当を約50にし、しきい値を約200
にセットすると、許容可能な結果が得られることが分か
った。
【0040】図11には、本発明による走査領域及び幅
の最も望ましい選択方法が示されている。250で示す
ように、シーンの複雑さとは関係なく、多数の記憶場所
がレジスタ20に設けられる。260で示すように、そ
れぞれ、予備幅を備えた、等しい数の走査領域が、投影
に重ねるように、予備割当を施される。物体の走査を行
って、その物体に初めて出くわした走査領域に対応する
物体活動化リスト20に納められる。270で示すよう
に、走査領域の走査を行い、各走査領域の走査時に新し
い物体に出くわすと、新たに出くわした各物体毎に、そ
のIDが活動化リストに追加される。活動化リスト20
に記憶された物体のIDの総数に関するカウントが保持
されており、280及び290で示すように、カウント
がしきい値に達すると、走査領域の境界を調整して、そ
のIDがしきい値に達するまでカウントされた全ての物
体に重なる予備幅を超える幅を備えた、新しい走査領域
が形成される。このプロセスは、後続する全ての走査領
域について繰り返されるので、最終結果は、幅は変動す
るが、それぞれ、(おそらく、最後のものを除くと)ほ
ぼ等しい数の物体を含んでいるいくつかの走査領域が得
られる。本発明の方法をヒューレット・パッカード社製
のモデルHP9000/350コンピュータにおいて実
施すると、物体活動化リスト20に約10,000の記
憶場所を割り当て、しきい値を約200にセットするこ
とによって、許容可能な結果の得られることが分かっ
た。
【0041】図8A及び図8Bのフロー・チャートに
は、さらに、本発明の方法が示されている。図9A及び
図9Bのフロー・チャートには、図8A及び図8Bのス
テップ114及び116が詳細に示されている。
【0042】次に、図8Aを参照すると、シーンに関す
るデータ・ベースが、ステップ100に示すように、周
知のやり方で定義され、生成される。ステップ102に
示すように、主要素(多角形のような)が、周知のやり
方で各物体毎に定義され、シェード・ポイントが、やは
り周知のやり方で各要素の頂点毎に定義される。ステッ
プ104において、シーンに重ねられる走査領域の数
が、上述の方法の1つを利用して決定される。ステップ
106に示すように、フロー・チャートの最初のパス時
に、そのシーンを照射する最も明るい光源が選択され、
さらに、各後続パス時に、それぞれ、次に明るい光源が
選択されることになる。
【0043】ステップ108で示すように、各光源毎
に、周知のやり方で、いくつかのサンプル・ポイントが
定義され、該サンプル・ポイントの1つが選択される。
ステップ110で示すように、選択されたサンプル・ポ
イントから見たシーンの2次元投影が、周知のやり方で
生成される。ステップ112において、走査領域が、投
影に重ねられ、該走査領域を横切って、走査が行われ、
各走査領域内における各物体のxMIN、xMAX、及
び、zMINが求められる。後述のように、活動物体リ
ストにおけるxMIN順に従って、出くわした物体の分
類が行われ、活動シェード・ポイント・リストにおいて
xの増大する順に、シェード・ポイントの分類が行われ
る。次に、ステップ114、116(図9A及び図9B
に関連して詳述する)に示すように、各走査領域におけ
るシェード・ポイントの可視性が求められる。
【0044】現在の光源の選択されたサンプル・ポイン
トからの別の眺めがあれば、ステップ118に示すよう
に、別の各眺め毎に、ステップ110〜116が繰り返
される。現在の光源に別のサンプル・ポイントがあれ
ば、ステップ120に示すように、別の各サンプル・ポ
イント毎に、ステップ108〜118が繰り返される。
ステップ122に示すように、シャドウ内にあると判定
されなかった各シェード・ポイント毎のラジオシティ及
びシャドウ・フラクションが、求められる。別の光源が
あれば、124で示すように、別の各光源毎に、ステッ
プ106〜122が繰り返される。所望の場合、126
及び128で示すように、新しい各光源が選択される前
に、シーンを表示することができる。全ての光源の選択
が済み、上述のように、シーンの処理が済むと、ステッ
プ130において、最終シーンが表示され、ステップ1
32で示すように、プロセスが完了する。
【0045】次に、図9A及び図9Bを参照すると、ス
テップ114及びステップ116がさらに詳細に説明さ
れている。図9A及び図9Bのフロー・チャートは、物
体が物体活動化リスト20の記憶場所に既に記憶されて
いるという仮定に立つものである。ステップ150に示
すように、最初の走査領域が選択されると、選択された
走査領域について、活動物体リスト22の更新が行われ
る。前の走査領域には現れたが、現在の走査領域には存
在しないエッジは、ステップ154で示すように、活動
エッジ・リストから除去される。現在の走査領域に初め
て現れるエッジが、156及び158で示すように、活
動エッジ・リストに加えられ、各物体毎のxMIN、x
MAX、及び、zMIN座標が、セットされ、現在の走
査領域に関する活動物体リスト22に記憶される。
【0046】ステップ160において、現在の走査領域
にシェード・ポイントがあるか否かの判定が行われる。
存在しなければ、順次次の走査領域が選択され、次の走
査領域について、ステップ152〜158が繰り返され
る。一方、シェード・ポイントが存在すれば、シェード
・ポイントは、活動シェード・ポイント・リスト24内
においてx座標の順に(すなわち、x値が増大する順
に)分類される。同様に、現在の走査領域に関する活動
物体リスト22内の物体は、164で示すように、xM
IN座標に従って(すなわち、xMIN値が増大するよ
うに)分類される。ステップ162の実施には、周知の
QUICKSORTアルゴリズムを用いるのが望まし
く、ステップ164の実施には、周知のSHELLSO
RTアルゴリズムを用いるのが望ましい。QUICKS
ORTアルゴリズム及びSHELLSORTアルゴリズ
ムの完全な説明及びその実現については、Addiso
n−Wesley Publishing Co.から
出版された国際標準図書番号(ISBN)0−201−
06673−4のSedgewick,Robertに
よる「Algorithms」第2版に記載がある。
【0047】各走査領域毎に、ステップ166で示すよ
うに、活動物体リスト(活動エッジ・リストを含む)及
び活動シェード・ポイント・リストの生成及び分類が済
むまで、後続の全ての走査領域についてステップ152
〜164が繰り返される。従って、全ての走査領域の処
理が済むと、各走査領域毎に、分類された活動物体リス
ト22(分類された活動エッジ・リスト26を含む)
と、分類された活動シェード・ポイント・リスト24が
作成されたことになる。これらのリスト生成が済むと、
下記のステップ168が実施される。
【0048】ステップ168に示すように、各走査領域
毎に活動物体リスト及び活動シェード・ポイントリスト
に記憶されている情報を調べて、走査領域内にある物体
のエッジが、同じ走査領域内における1つ以上のシェー
ド・ポイントを包含しているか否かの判定が行われる。
換言すれば、ステップ166、168に示すように、検
討中の選択されたシェード・ポイントに関して、選択さ
れたシェード・ポイントに対してシャドウをかける可能
性のある物体の有無が判定される。このシェード・ポイ
ントに対してシャドウをかける可能性のある物体が、存
在しなければ、ステップ170、184に示すように、
シェード・ポイントに可視(覆い隠されていない)のマ
ーキングが施され、順次次のシェード・ポイントが選択
される。一方、選択されたシェード・ポイント(現在シ
ャドウのかかる可能性のあるポイント)に対してシャド
ウをかける可能性のある物体が、1つ以上存在すると分
かれば、選択されたシェード・ポイントに関して、下記
のステップ172が実施される。ステップ172、17
0において、選択されたシェード・ポイントの親(すな
わち、選択されたシェード・ポイントが存在する物体)
は、該シェード・ポイントに対してシャドウをかける可
能性のある物体としては除去される。親が、選択された
シェード・ポイントに対してシャドウをかける可能性の
ある物体としては除去された後、他に選択されたシェー
ド・ポイントに対してシャドウをかける可能性のある物
体があれば、下記のステップ174が実施される。ステ
ップ174において、光源と選択されたシェード・ポイ
ントの間に位置する部分のない、シャドウをかける可能
性のある物体は、選択されたシェード・ポイントに対し
て実際にシャドウをかける物体としては除去される。こ
の判定は、上述の近/遠テストを利用して行われる。ス
テップ176において、選択されたシェード・ポイント
を覆い隠すことのできる平面投影を有していない、シャ
ドウをかける可能性のある物体は、シェード・ポイント
に対して実際にシャドウをかける物体としては除去され
る。この判定は、上述の平面方程式を利用して行われ
る。最後に、ステップ178において、選択されたシェ
ード・ポイントからの光線がその活動エッジと偶数回数
交差する、シャドウをかける可能性のある物体は、選択
されたシェード・ポイントに対して実際にシャドウをか
ける物体としては除去される。ステップ172〜178
のテストを切り抜けた、シャドウをかける可能性のある
物体は、選択されたシェード・ポイントに対して実際に
シャドウをかける物体であり、従って、選択されたシェ
ード・ポイントは、ステップ180で示すように、シャ
ドウ内にある(光から覆い隠される)というマーキング
が施される。次のシェード・ポイントが選択され、ステ
ップ182で示すように、以下のステップ168が繰り
返される。
【0049】通常、シャドウのかかる可能性のあるポイ
ント(すなわち、包含されるシェード・ポイント)が1
回に1つずつ選択され(シェード・ポイントリストにお
けるx座標順に従って)、シャドウをかける可能性のあ
る物体のそれぞれについて、テストにかけられる。ただ
し、1つのシェード・ポイントにシャドウをかける物体
が、まわりのシェード・ポイントにもシャドウをかける
可能性がある。シャドウ・コヒーレンスとして知られる
この概念を利用して、本発明を実施することにより、シ
ャドウのかかった(覆い隠された)シェード・ポイント
の識別をさらに促進することが可能になる。従って、本
発明の望ましい実施例によれば、シェード・ポイントに
対して実際にシャドウをかける物体を突き止めると、そ
の実際にシャドウをかける物体に対して走査線内におけ
る後続のシェード・ポイントをテストした後で、他のシ
ャドウをかける可能性のある物体に対してテストを行う
ようにする。実際にシャドウをかける物体のシャドウ内
にあることが分かった後続のシェード・ポイントは、既
に、光から覆い隠されていると判定されているので、他
のシャドウをかける可能性のある物体に対してテストを
行う必要はない。
【0050】下記のアルゴリズムを用いることによっ
て、本発明によるシャドウ・コヒーレンスの原理を実現
することが可能である。
【0051】
【表1】
【0052】本方法を実際に行うことによって、従来の
光線追跡技法に比べると3〜5倍速いことが分かった。
さらに、本発明の方法は、正確であり、他の広域照射技
法に関連したエイリアシングが生じない。また、本発明
の方法は、ラジオシティのような物理ベースの領域照
明、あるいは、コンピュータ・グラフィクス・ポイント
及び方向性照明に用いることが可能である。
【0053】シーンに対して本発明の方法を実施するコ
ンピュータ・プログラム(「C」でコード化)がExh
ibit Aとして参照されている。Exhibit
Aのコンピュータ・プログラムには、広域照射計算アル
ゴリズムが含まれていないが、こうしたアルゴリズム
は、周知のところである。例えば、既述の同時係属米国
特許出願第531,377号に開示のアルゴリズムは、
広域照射の計算に用いることが可能である。Exhib
it Aのコンピュータ・プログラムには、データ・ベ
ース横断アルゴリズムも含まれていないが、こうしたア
ルゴリズムは、一般に、ユーザが定義するものであり、
ユーザ定義による適合する横断アルゴリズムを用いるこ
とが可能である。用いることの可能なデータ・ベース横
断アルゴリズムの一例については、譲渡先が共通の、1
989年4月3日に出願された、「Method Fo
r Employing Hierarchical
Display List in Global Re
ndering」と題する同時係属の米国特許出願第3
32,748号に開示がある。最後に、Exhibit
Aのコンピュータ・プログラムには、該プログラムに
よって呼び出されるが、リスティングされていないモジ
ュールは含まれないが、該モジュール及びその実施につ
いては、当該技術の熟練者がExhibit Aを含め
て、本明細書を吟味すれば明らかである。
【0054】
【発明の効果】以上説明したように、本発明を用いるこ
とにより、迅速で、経済的なシャドウ・テストを、偽信
号及びアーティファクトを生じることなく、また、シー
ン内におけるポイントの可視性判定が浮動小数点数の公
差までの正確さとなるようにして行うことができる。
【図面の簡単な説明】
【図1】本発明の概略的な動作シーケンスを示す概略流
れ図である。
【図2】表現されるべき3次元シーンを概念的に示す図
である。
【図3】図2の3次元シーンの2次元投影を概念的に示
す図である。
【図4】走査領域が上に重ねられた2次元投影を示す図
である。
【図5】本発明に関連して使用される「物体活動化バケ
ットのリスト」として呼ばれるレジスタを概念的に示す
図である。
【図6】本発明と関連して用いられる「活動物体リス
ト」、「活動エッジ・リスト」、および「活性シェード
・ポイント・リスト」として知られる追加レジスタの概
念とともに、図4の走査領域SA2の詳細をも示す図で
ある。
【図7】図4の走査領域SA4のさらなる詳細を示す図
である。
【図8】本発明の方法の一実施例を示す流れ図である。
【図9】本発明の方法の一実施例を示す流れ図である。
【図10】本発明の一実施例による、シーンの投影上に
重ねられるべき走査領域の数及び幅を選択するための一
方法を示す図である。
【図11】本発明の別の実施例による、シーンの投影上
に重ねられるべき走査領域の数及び幅を選択するための
別の方法を示す図である。
【符号の説明】
L:光源、 O1、O2:物体 SO1:物体O1のシャドウ、 P1、P2:シェード
・ポイント
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド・ダブリュー・アーセノルト アメリカ合衆国ニューヨーク州イサカ・ レキシントン・ドライブ 154 (56)参考文献 特開 平3−211686(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/40

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 コンピュータ・グラフィックス・レンダ
    で実行する3次元グラフィックスにおけるシャドウ・
    テストにおいて、光源(L)上の1点といったような
    通ポイントからの、3次元シーンにおける物体(O1、
    O2)の表面上のポイント(P1、P2)の可視性を決
    定する方法であって、 (a)前記物体の表面上のポイントを含む、前記シーン
    内の前記物体の、前記共通ポイントからの2次元投影を
    作成するステップであって、前記2次元投影内の各物体
    およびポイントは、それぞれ、投影物体および投影ポイ
    ントと定義される、ステップと、 (b)前記2次元投影上に複数のほぼ平行な境界(B1
    〜B8)を重ねるステップであって、前記各境界は、直
    ぐ隣接する境界との間に空間を有し、該各空間は走査領
    域(SA1〜SA7)を画定し、前記各走査領域は、前
    記隣接する境界間の空間の大きさによって決定される幅
    を有し、複数の前記走査領域が前記2次元投影上に重ね
    られる、ステップと、 (c)前記各走査領域における投影物体の数の測定に基
    づいて、前記走査領域の幅を自動調節するステップと、 (d)前記各走査領域内の投影ポイントが、同じ走査領
    域内の投影物体によって前記共通ポイントから見えなく
    されるかどうかを決定し、見えなくされると決定された
    前記投影ポイント(PSO2)を識別するステップと、 (e)前記ステップ(d)の結果に基づいて、前記投影
    ポイントの可視性を記録するステップと、(f)前記投影ポイントの前記記録された可視性の関数
    として前記3次元シーンをシェーディングするステップ
    と、 (g)前記グラフィックス・レンダラに関連した表示装
    置に前記シェーディングされたシーンを表示するステッ
    プと、 を備えて成る、3次元グラフィックスにおけるシャドウ
    ・テスト方法。
  2. 【請求項2】 前記ステップ(b)が、 (i)前記投影物体に重ねるための、それぞれ所定の幅
    を有する走査領域の数を予め決定するステップ、 を備えて成り、前記ステップ(c)が、 (ii)前記各走査領域を選択し、該選択された走査領
    域に対し、該選択された走査領域における投影物体の数
    が、所定のしきい値を超えるかどうかを決定するステッ
    プと、 (iii)前記選択された走査領域内の投影物体の数が
    前記所定のしきい値を超える場合、前記選択された走査
    領域を、前記所定の幅より幅の狭い複数の走査領域に分
    割するステップと、 (iV)前記幅の狭い各走査領域における投影物体の数
    を前記所定のしきい値と比較するステップと、 (v)前記幅の狭い各走査領域内における投影物体の数
    が前記所定のしきい値を超えなくなるまで、前記選択さ
    れた走査領域に対し、前記ステップ(iii)および
    (iv)を繰り返すステップと、 を備えて成ることを特徴とする、請求項1に記載の3次
    元グラフィックスにおけるシャドウ・テスト方法。
  3. 【請求項3】 前記ステップ(b)が、 (i)所定の数の記憶場所をレジスタ(20)に設け、
    前記2次元投影に重ねるための、それぞれ所定の幅を有
    する、前記所定の数と同じ数の走査領域をそれぞれ前記
    記憶場所に対応させて予め割り当てるステップ、 を備えて成り、前記ステップ(c)が、 (ii)前記各走査領域を連続的に走査し、各走査中に
    新たな投影物体に出くわしたかどうかを検出するステッ
    プと、 (iii)前記各走査中に新たに出くわした投影物体の
    各々の識別を前記レジスタに記憶するステップであっ
    て、各識別を、前記投影物体に新たに出くわした前記走
    査領域に対応する記憶場所に記憶する、ステップと、 (iv)前記レジスタの記憶場所を検索して、その中に
    記憶された識別の数のカウントを保持し、該カウントを
    しきい値と比較するステップと、 (v)前記カウントが前記しきい値より小さい場合、複
    数個の隣接する走査領域の境界を再定義して、前記所定
    の幅より幅の広い新たな単一の走査領域を定義すること
    によって、前記ステップ(i)で予め割り当てられた走
    査領域の数および幅を再割り当てするステップであっ
    て、前記新たな単一走査領域は、前記しきい値に達する
    数の全ての前記投影物体に重なる、ステップと、 (vi)前記新たに定義された単一走査領域に後続する
    全ての走査領域に対し、前記ステップ(iv)および
    (v)を繰り返すステップと、 を備えて成ることを特徴とする、請求項1に記載の3次
    元グラフィックスにおけるシャドウ・テスト方法。
  4. 【請求項4】 前記各投影物体がエッジ(E0〜E3)
    を有し、前記ステップ(d)が、 前記各走査領域に対し、1つの投影物体のエッジが別の
    投影物体上の1つ以上の投影ポイントを包含するかどう
    かを決定し、そのようなエッジによって包含された投影
    ポイントをシャドウのかかる可能性のあるポイントとし
    て識別し、そのようなエッジを有する投影物体をシャド
    ウのかかる可能性のあるポイントにシャドウをかける可
    能性のある物体として識別し、シャドウのかかる可能性
    のあるポイントを前記共通ポイントから実際に見えなく
    するシャドウをかける可能性のある物体を、前記シャド
    ウのかかる可能性のあるポイントに実際にシャドウをか
    ける物体として定義するステップ、 を備えて成ることを特徴とする、請求項1、2、または
    3に記載の3次元グラフィックスにおけるシャドウ・テ
    スト方法。
  5. 【請求項5】 前記ステップ(d)が、 前記シャドウのかかる可能性のあるポイントが、前記シ
    ャドウをかける可能性のある物体によって前記共通ポイ
    ントから実際に見えなくされるかどうかのみを決定する
    ことによって行われ、 これにより、投影ポイントの可視性が、他の全ての投影
    物体に対して全ての投影ポイントをテストすることなく
    決定されることを特徴とする、請求項4に記載の3次元
    グラフィックスにおけるシャドウ・テスト方法。
  6. 【請求項6】 前記ステップ(d)が、 (i)前記シャドウのかかる可能性のあるポイントの1
    つを選択するステップと、 (ii)選択されたポイントが配置された物体を前記
    シャドウをかける可能性のある物体の中から識別し、か
    く識別されたシャドウをかける可能性のある物体を、前
    記選択されたポイントに実際にシャドウをかける物体と
    しては削除するステップと、 を備えて成ることを特徴とする請求項4に記載の3次元
    グラフィックスにおけるシャドウ・テスト方法。
  7. 【請求項7】 前記ステップ(d)が、 (i)前記シャドウのかかる可能性のあるポイントの1
    つを選択するステップと、 (ii)前記選択されたポイントにシャドウをかける可
    能性のある各物体上のポイントのうち、前記共通ポイン
    トに最も近いポイントを識別するステップと、 (iii)前記選択されたポイントにシャドウをかける
    可能性のある各物体に対し、前記ステップ(ii)で識
    別された前記ポイントが前記選択されたポイントより前
    記共通ポイントに近いか遠く離れているかを決定するス
    テップと、 (iv)前記ステップ(ii)で識別されたポイントが
    前記選択されたポイントより前記共通ポイントから遠く
    離れていると決定されたシャドウをかける可能性のある
    各物体を、前記選択されたポイントに実際にシャドウを
    かける物体としては削除するステップと、 を備えて成ることを特徴とする請求項4に記載の3次元
    グラフィックスにおけるシャドウ・テスト方法。
  8. 【請求項8】 各シャドウをかける可能性のある物体
    が、平面方程式Ax+By+Cz+D=0(ここで、
    A、B、C、Dは定数であり、x、y、zは平面におけ
    るポイントの座標である)によって定義される平面の一
    部であり、さらに、各シャドウをかける可能性のある物
    体が、前記共通ポイントに対面する光側と、その裏側の
    暗がり側とを有し、前記ステップ(d)が、 (i)前記シャドウのかかる可能性のあるポイントの1
    つを選択するステップと、 (ii)前記選択されたポイントにシャドウをかける可
    能性のある各物体に対し、前記平面方程式および前記選
    択されたポイントの座標に基づいて、前記選択されたポ
    イントが前記シャドウをかける可能性のある物体の前記
    光側に配置されているか暗がり側に配置されているかを
    決定するステップと、 (iii)前記選択されたポイントが前記シャドウをか
    ける可能性のある物体の前記光側に配置されていると決
    定された場合、前記シャドウをかける可能性のある物体
    を、前記選択されたポイントに実際にシャドウをかける
    物体としては削除するステップと、 を備えて成ることを特徴とする請求項4に記載の3次元
    グラフィックスにおけるシャドウ・テスト方法。
  9. 【請求項9】 前記ステップ(d)が、 (i)前記シャドウのかかる可能性のあるポイントの1
    つを選択するステップと、 (ii)前記選択されたポイントから、該選択されたポ
    イントにシャドウをかける可能性のある所定の物体の外
    部位置へと向かう光線を定義するステップと、 (iii)前記光線が前記シャドウをかける可能性のあ
    る所定の物体のエッジに偶数回交差するか奇数回交差す
    るかを決定するステップと、 (iv)前記光線が偶数回交差する場合、前記シャドウ
    をかける可能性のある所定の物体を、前記選択されたポ
    イントに実際にシャドウをかける物体としては削除する
    ステップと、 を備えて成る請求項4に記載の3次元グラフィックスに
    おけるシャドウ・テスト方法。
JP07849192A 1991-02-28 1992-02-28 3次元グラフィックスにおけるシャドウ・テスト方法 Expired - Lifetime JP3390463B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US662159 1991-02-28
US07/662,159 US5299298A (en) 1991-02-28 1991-02-28 Accelerated shadow testing method for three dimensional graphics rendering system

Publications (2)

Publication Number Publication Date
JPH05114032A JPH05114032A (ja) 1993-05-07
JP3390463B2 true JP3390463B2 (ja) 2003-03-24

Family

ID=24656612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07849192A Expired - Lifetime JP3390463B2 (ja) 1991-02-28 1992-02-28 3次元グラフィックスにおけるシャドウ・テスト方法

Country Status (4)

Country Link
US (1) US5299298A (ja)
EP (1) EP0501635B1 (ja)
JP (1) JP3390463B2 (ja)
DE (1) DE69224928T2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0591325B1 (en) * 1991-06-28 2007-12-05 LIM, Hong Lip Improvements in visibility calculations for 3d computer graphics
TW241196B (ja) * 1993-01-15 1995-02-21 Du Pont
US5495562A (en) * 1993-04-12 1996-02-27 Hughes Missile Systems Company Electro-optical target and background simulation
IL109462A0 (en) * 1993-04-30 1994-07-31 Scitex Corp Ltd Method for generating artificial shadow
US5742292A (en) * 1993-10-29 1998-04-21 Kabushiki Kaisha Toshiba System and method for realistically displaying images indicating the effects of lighting on an object in three dimensional space
JP3313221B2 (ja) * 1993-12-28 2002-08-12 松下電器産業株式会社 画像生成方法及び画像生成装置
JP2763499B2 (ja) * 1994-11-30 1998-06-11 株式会社ナムコ 画像合成装置及び画像合成方法
US5579459A (en) * 1995-03-09 1996-11-26 Hewlett-Packard Co. Method for clipping a line segment against an arbitrary polygon in the floating point domain
US5949428A (en) * 1995-08-04 1999-09-07 Microsoft Corporation Method and apparatus for resolving pixel data in a graphics rendering system
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5990904A (en) * 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5768415A (en) * 1995-09-08 1998-06-16 Lucent Technologies Inc. Apparatus and methods for performing electronic scene analysis and enhancement
US5739819A (en) * 1996-02-05 1998-04-14 Scitex Corporation Ltd. Method and apparatus for generating an artificial shadow in a two dimensional color image
US6023279A (en) * 1997-01-09 2000-02-08 The Boeing Company Method and apparatus for rapidly rendering computer generated images of complex structures
US6088102A (en) 1997-10-31 2000-07-11 Silicon Light Machines Display apparatus including grating light-valve array and interferometric optical system
KR100542072B1 (ko) * 1998-10-13 2006-05-03 권오섭 3차원 반도체 식각 공정 시뮬레이션을 위한가시도 계산 방법
US6956570B2 (en) * 2001-06-27 2005-10-18 Believe, Inc. Object visibility control for ray tracing
US7106326B2 (en) * 2003-03-03 2006-09-12 Sun Microsystems, Inc. System and method for computing filtered shadow estimates using reduced bandwidth
AU2003247441A1 (en) * 2003-05-30 2005-01-04 Dreamworks Rendering of soft shadows using depth maps
US7542038B2 (en) * 2005-06-30 2009-06-02 Intel Corporation Method and system for pivot-point based adaptive soft shadow estimation
US9563980B2 (en) * 2005-11-18 2017-02-07 Autodesk, Inc. Grip manipulatable shadows in 3D models
US8379021B1 (en) * 2008-01-30 2013-02-19 Adobe Systems Incorporated System and methods for rendering height-field images with hard and soft shadows
US9460546B1 (en) 2011-03-30 2016-10-04 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US9142043B1 (en) 2011-06-24 2015-09-22 Nvidia Corporation System and method for improved sample test efficiency in image rendering
US8970584B1 (en) 2011-06-24 2015-03-03 Nvidia Corporation Bounding box-based techniques for improved sample test efficiency in image rendering
US9147270B1 (en) 2011-06-24 2015-09-29 Nvidia Corporation Bounding plane-based techniques for improved sample test efficiency in image rendering
US9269183B1 (en) 2011-07-31 2016-02-23 Nvidia Corporation Combined clipless time and lens bounds for improved sample test efficiency in image rendering
US9305394B2 (en) 2012-01-27 2016-04-05 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
US9171394B2 (en) 2012-07-19 2015-10-27 Nvidia Corporation Light transport consistent scene simplification within graphics display system
US9159158B2 (en) 2012-07-19 2015-10-13 Nvidia Corporation Surface classification for point-based rendering within graphics display system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625289A (en) * 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4897806A (en) * 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
US4928250A (en) * 1986-07-02 1990-05-22 Hewlett-Packard Company System for deriving radiation images
US5088054A (en) * 1988-05-09 1992-02-11 Paris Ii Earl A Computer graphics hidden surface removal system
US5083287A (en) * 1988-07-14 1992-01-21 Daikin Industries, Inc. Method and apparatus for applying a shadowing operation to figures to be drawn for displaying on crt-display
US5058042A (en) * 1989-04-03 1991-10-15 Hewlett-Packard Company Method for employing a hierarchical display list in global rendering

Also Published As

Publication number Publication date
EP0501635A3 (en) 1993-11-10
DE69224928T2 (de) 1998-07-30
EP0501635B1 (en) 1998-04-01
EP0501635A2 (en) 1992-09-02
DE69224928D1 (de) 1998-05-07
US5299298A (en) 1994-03-29
JPH05114032A (ja) 1993-05-07

Similar Documents

Publication Publication Date Title
JP3390463B2 (ja) 3次元グラフィックスにおけるシャドウ・テスト方法
US5442733A (en) Method and apparatus for generating realistic images using a discrete representation
Isenberg et al. A developer's guide to silhouette algorithms for polygonal models
EP0610004B1 (en) Image generating apparatus and method of generating an image
US6618047B1 (en) Visibility calculations for 3d computer graphics
US6952204B2 (en) 3D computer modelling apparatus
US7362332B2 (en) System and method of simulating motion blur efficiently
Markosian et al. Real-time nonphotorealistic rendering
Bartz et al. OpenGL-assisted occlusion culling for large polygonal models
US6040835A (en) System for depicting surfaces using volumetric distance maps
Jansen Data structures for ray tracing
Greene Detecting Intersection of a Rectangular Solid and a Convex Polyhedron.
US5497453A (en) Method and apparatus for detecting and visualizing interferences between solids
JP2002529868A (ja) 3次元コンピュータ生成画像のシェーディング
JP2572515B2 (ja) 画素処理方法及び装置並びにグラフィックバッファ
Livnat et al. Interactive point-based isosurface extraction
CN101271588B (zh) 可重建几何阴影图方法
US6542154B1 (en) Architectural extensions to 3D texturing units for accelerated volume rendering
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
JP3341549B2 (ja) 3次元形状データ処理装置
JPH09305791A (ja) 立体画像生成装置および立体画像生成方法
Heflin et al. Shadow volume generation from free form surfaces
Demiris et al. 3-D visualization in medicine: an overview
Mesquita et al. Non-overlapping geometric shadow map
JP2952585B1 (ja) 画像生成方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120117

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10