JP2000020746A - 画像処理装置および方法、並びに提供媒体 - Google Patents
画像処理装置および方法、並びに提供媒体Info
- Publication number
- JP2000020746A JP2000020746A JP10181873A JP18187398A JP2000020746A JP 2000020746 A JP2000020746 A JP 2000020746A JP 10181873 A JP10181873 A JP 10181873A JP 18187398 A JP18187398 A JP 18187398A JP 2000020746 A JP2000020746 A JP 2000020746A
- Authority
- JP
- Japan
- Prior art keywords
- ray
- image processing
- pixel
- image
- interpolation
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
ータを生成する。 【解決手段】 レイトレーシング方式の第1のレイによ
るトレーシングに代えて、オブジェクト53を複数のト
ライアングル53−1乃至53−6に区分し、各トライ
アングルをスクリーン52に投影し、3次元座標空間上
のデータをスクリーン52の座標系のデータに変換す
る。スクリーン座標系のトライアングルの3つの頂点の
データから、トライアングルの内部の画素データを補間
生成する。補間生成された画素データに対して、第2の
レイによるトレーシング処理を行い、画素データを補正
する。
Description
び方法、並びに提供媒体に関し、特に、レイトレーシン
グ方式で、より迅速に、画像データを生成することがで
きるようにした画像処理装置および方法、並びに提供媒
体に関する。
の原理を表している。同図に示すように、スクリーン5
2上の所定の位置の画素のデータを生成するとき、予め
設定された所定の位置に配置されているアイポイント5
1から、スクリーン52上の、その位置の画素に向かう
光線(レイ)を想定し、そのレイ(第1のレイ)が3次
元座標空間上に配置されている所定のオブジェクト(図
16の例の場合、オブジェクト53)に衝突させる。こ
のとき、スクリーン52上の、その画素には、オブジェ
クト53の第1のレイが衝突した位置の画像が描かれる
べきものとなる。
イが衝突する点の画像は、ライトソース55からの光
が、オブジェクト54で反射され、オブジェクト53
の、その点に照射されている場合、その影響も受けるこ
とになる。そこで、オブジェクト53の、その点から、
ライトソース55に向けて、光線を逆にたどり、オブジ
ェクト53からオブジェクト54に向かって、第2のレ
イを想定し、オブジェクト54からライトソース55に
向かって、第3のレイを想定する。そして、オブジェク
ト53上の第1のレイの衝突する点の画像を、第2のレ
イおよび第3のレイに基づく影響を計算することで補正
する。そして、その補正した結果が、スクリーン52上
の対応する画素に反映される。
定の3次元座標空間上に複数のオブジェクトを作成配置
し、その3次元上のオブジェクトを所定のアイポイント
から見た場合の画像を、スクリーン52上の画像として
演算し、表示することができる。
うなレイトレーシングによる方法は、各段階のレイがど
のオブジェクトに衝突するのかを判定しなければなら
ず、そのための計算量が膨大なものとなり、ポリゴンレ
ンダリング手法などに較べて、高速化が困難となる課題
があった。
ものであり、より迅速に画像データを生成することがで
きるようにするものである。
理装置は、第1のレイによるレイトレーシングに代え
て、3次元座標空間上のオブジェクトの表面の画像をス
クリーンに投影することにより生成されたスクリーン座
標系の画像データを出力する出力手段と、スクリーン座
標系の画像データから、表面の内部の画素データを補間
する補間手段と、補間手段により補間された画素データ
を、それに対応する第2のレイによるレイトレーシング
の成分を演算して補正する補正手段と、補正手段により
補正された画素データを描画する描画手段とを備えるこ
とを特徴とする。
のレイによるレイトレーシングに代えて、3次元座標空
間上のオブジェクトの表面の画像をスクリーンに投影す
ることにより生成されたスクリーン座標系の画像データ
を出力する出力ステップと、スクリーン座標系の画像デ
ータから、表面の内部の画素データを補間する補間ステ
ップと、補間ステップで補間された画素データを、それ
に対応する第2のレイによるレイトレーシングの成分を
演算して補正する補正ステップと、補正ステップで補正
された画素データを描画する描画ステップとを含むこと
を特徴とする。
ーシング方式により3次元座標空間上の複数のオブジェ
クトのスクリーン上の画像データを生成する画像処理装
置に、第1のレイによるレイトレーシングに代えて、3
次元座標空間上のオブジェクトの表面の画像をスクリー
ンに投影することにより生成されたスクリーン座標系の
画像データを出力する出力ステップと、スクリーン座標
系の画像データから、表面の内部の画素データを補間す
る補間ステップと、補間ステップで補間された画素デー
タを、それに対応する第2のレイによるレイトレーシン
グの成分を演算して補正する補正ステップと、補正ステ
ップで補正された画素データを描画する描画ステップと
を含む処理を情報処理装置に実行させるコンピュータが
読みとり可能なプログラムを提供することを特徴とす
る。
4に記載の画像処理方法、および請求項15に記載の提
供媒体においては、第1のレイによるレイトレーシング
に代えて、オブジェクトの表面の画像をスクリーンに投
影することにより生成されたスクリーン座標系の画像デ
ータを補間することで、表面の内部の画素データが生成
される。そして、補間された画素データが、第2のレイ
によるレイトレーシング成分で補正される。
が、特許請求の範囲に記載の発明の各手段と以下の実施
例との対応関係を明らかにするために、各手段の後の括
弧内に、対応する実施例(但し一例)を付加して本発明
の特徴を記述すると、次のようになる。但し勿論この記
載は、各手段を記載したものに限定することを意味する
ものではない。
レイによるレイトレーシングに代えて、3次元座標空間
上のオブジェクトの表面の画像をスクリーンに投影する
ことにより生成されたスクリーン座標系の画像データを
出力する出力手段(例えば、図1のパーソナルコンピュ
ータ1、ホストインタフェース2)と、スクリーン座標
系の画像データから、表面の内部の画素データを補間す
る補間手段(例えば、図1のDDA3)と、補間手段によ
り補間された画素データを、それに対応する第2のレイ
によるレイトレーシングの成分を演算して補正する補正
手段(例えば、図1のレイトレーサ6)と、補正手段に
より補正された画素データを描画する描画手段(例え
ば、図1のフレームバッファ7)とを備えることを特徴
とする。
段により補間された画素データの奥行き方向の座標を基
に、最も手前にある画素データを検索し、記憶する記憶
手段(例えば、図1のプリトレースバッファ5)をさら
に備えることを特徴とする。
ェクトの表面の代表的な奥行き座標を基に、オブジェク
トの表面をソートするソート手段(例えば、図11のト
ライアングルソート部21)をさらに備え、補正手段
は、ソート手段によりソートされた順序で、奥から順番
に、第2のレイによるレイトレーシングの成分を演算し
て補正処理を行うことを特徴とする。
ェクトの表面の代表的な奥行き座標を基に、前記オブジ
ェクトの表面をソートするソート手段(例えば、図4の
トライアングルソート部21)をさらに備え、補間手段
は、ソート手段によりソートされた順序で、手前から順
番に補間演算を行い、各画素の補間演算ごとに、その奥
行き座標を記憶し、補正手段は、補間手段に記憶されて
いる奥行き座標を基に、第2のレイによるレイトレーシ
ングの成分を演算して補正処理を行うことを特徴とす
る。
ムの構成例を表している。ホストコンピュータとしての
パーソナルコンピュータ1は、3次元座標空間上のオブ
ジェクトの各表面を複数のトライアングルに分割し、各
トライアングルを所定のスクリーン座標系に投影して得
られた画像データを生成する。そして、そのスクリーン
座標系の画像データと、光源に関する画像データを、ホ
ストインタフェース2を介して、DDA(Digital Differe
ntial Analizer)に供給する。具体的には、例えば、ト
ライアングルの3つの頂点における座標(x,y,z)
面の法線ベクトル、表面の拡散係数、表面の反射係数、
屈折係数、透明度、表面の色(R,G,B)といったデ
ータと、光源の座標(x,y,z)、明るさと色(R,
G,B)、光源の種類(点、平行、スポット径)といっ
た情報が、DDA3に入力される。
て、パーソナルコンピュータ1より入力された各トライ
アングルの頂点座標を元に、そのトライアングルの内部
の画素データを線形補間により生成する。生成された画
素データは、Zバッファ4に入力され、奥行き方向(z
軸方向)の座標を元に、ソート処理が行われる。すなわ
ち、より手前(アイポイントに近い方)の画素データが
選択され、最も手前に位置する画素データだけがプリト
レースバッファ5に供給され、記憶されるようになされ
ている。
5に記憶された画素データに対して、第2のレイ以降の
レイトレーシング処理を行い、プリトレースバッファ5
に記憶された画素データを補正し、補正した画素データ
をフレームバッファ7に出力し、描画するようになされ
ている。フレームバッファ7に描画された画素データ
は、CRTコントローラ(CRTC)8により適宜読み出さ
れ、ディスプレイ9に出力され、表示されるようになさ
れている。
その動作について説明する。最初に、ステップS1にお
いて、パーソナルコンピュータ1は、3次元座標空間上
におけるオブジェクトを複数のトライアングルに分割
し、そのトライアングルを所定のスクリーンに投影した
画像データを生成する。すなわち、図3に示すように、
オブジェクト53を複数のトライアングル53−i(i
=1,2,3,・・・)に分割する。そして、各トライ
アングル53−iをスクリーン52に投影した画像デー
タを生成する。図3においては、オブジェクト53のト
ライアングル53−1が、スクリーン52上に、トライ
アングル53−1’として投影されている様子が表され
ている。
シング方式における第1のレイ(Ray)によるトレーシ
ングが省略され、それに代わって、このような投影処理
が実行される。これにより、第1のレイが、どのオブジ
ェクトに衝突するのかを判定する演算が、従来の場合の
1/100程度に軽減することができる。
ナルコンピュータ1より供給されたトライアングルの3
つの頂点座標を元に、そのトライアングルの内部の画素
データを線形補間する処理を実行する。ステップS3に
おいて、DDA3は、補間演算の結果得られた画素データ
のz座標をZバッファ4に記憶させ、これを利用して、
最も手前の画素データだけをプリトレースバッファ5に
記憶させる。以上のようにして、第1のレイによるトレ
ーシングは行われないが、行った場合と同様の画像が得
られる。
面分の画像データがプリトレースバッファ5に記憶され
たとき、次に、ステップS4に進み、レイトレーサ6
は、第1のレイの条件に基づいて、第2のレイを各オブ
ジェクトに飛ばし、周辺光による色を決定し、その色
で、ステップS5において、対応する画素データを補正
する。この第2のレイによる処理は、例えば、そのオブ
ジェクトが光を反射しないオブジェクトであるような場
合には省略される。
て、第2のレイによる周辺光による色を決定したとき、
その色、テクスチャ、および、そのオブジェクトの色を
ブレンドし、そのオブジェクトの第1のレイが衝突した
位置の色とする。ステップS6において、レイトレーサ
6は、最終的に決定された色を、フレームバッファ7の
対応する画素の位置に描画する。
ムバッファ7に描画された画素データを読み出し、これ
を表示信号に変換して、ディスプレイ9に出力し、表示
させる。
いる。すなわち、スクリーン52に投影されたトライア
ングルの頂点の座標で規定されるトライアングルの内部
の画素の光ベクトル、反射ベクトル、屈折ベクトル、法
線ベクトル、(x,y,z)座標、u,vベクトルなど
が生成される。
ーシング処理に代えて、画像データが生成されたとき、
次に、第2のレイ以降のトレーシング処理が実行され
る。
位置する画像データだけをプリトレースバッファ5に記
憶させるようにしたが、以下においては、このようなプ
リトレースバッファ5が設けられていない場合の構成例
について説明する。
ェース2とDDA3の間に、トライアングルソート部21
とソートバッファ22が配置されている。DDA3は、Z
バッファ4を利用して、補間処理を実行するが、プリト
レースバッファ5は省略されている。レイトレーサ6
は、DDA3に接続され、DDA3との間でデータを授受する
ようになされている。DDA3はまた、画像データをフレ
ームバッファ7に出力し、記憶させるようになされてい
る。また、この例においては、ピクセルカバレージバッ
ファ23が設けられており、フレームバッファ7には、
このピクセルカバレージバッファ23の記憶値に対応し
て、所定の重み付け処理が実行され、画素データが描画
されるようになされている。その他の構成は、図1にお
ける場合と同様である。
その動作について説明する。最初に、ステップS21に
おいて、パーソナルコンピュータ1により、トライアン
グルをスクリーンに投影した画像データが生成される。
この処理は、図2のステップS1における場合と同様の
処理である。トライアングルソート部21は、パーソナ
ルコンピュータ1から、ホストインタフェース2を介し
て、スクリーン座標系の画素データの入力を受けたと
き、各トライアングルのz座標の代表値を決定し、その
代表値を元に、トライアングルをソートする。ソートし
た結果は、ソートバッファ22に記憶される。
は、例えば3つの頂点のz座標の平均値、あるいは3つ
の頂点のうちのいずれか任意の1つの頂点のz座標を用
いることができる。
は、ソートバッファ22から入力された各トライアング
ルの内部の画素データを線形補間により生成する。この
処理は、図2のステップS2における場合と同様の処理
である。
ルから順番に補間演算処理を行い、各画素の補間演算毎
に、Zバッファ4を用いて、さらに第2のレイの計算の
オン/オフを行う。
3は、処理対象とする画素が最も手前の画素であるか否
かを判定し、手前の画素である場合には、ステップS2
5において、その画素データをレイトレーサ6に出力
し、第2のレイによるデータを計算させる。レイトレー
サ6は、DDA3より入力された第1のレイの条件から、
第2のレイをオブジェクトに飛ばし、周辺光による色を
決定し、その色のデータをDDA3に出力する。
画素が最も手前の画素ではないと判定された場合、ステ
ップS25の処理(第2のレイの処理)を省略させる。
また、DDA3は、補間演算により求められた画素の反射
ベクトルの強さあるいは屈折ベクトルの強さが、予め設
定してある所定の基準値以下の場合、第2のレイの計算
を行わない(ステップS25の処理をスキップする)よ
うにすることができる。例えば、光を反射しないオブジ
ェクトの第2の処理は省略されることになる。
クト)の頂点での第2のレイのための情報を補間演算す
ることにより、トライアングルの内部の第2のレイのた
めの情報を計算することになるのであるが、補間演算の
途中で第2のレイを考慮する必要がないと判断できる場
合には、その処理を省略するようにすることで、第2の
レイの演算を減少させることができる。
ートしておき、手前のトライアングルから順番に、その
画素を補間演算し、補間演算毎に、Zバッファ4を用い
て、第2のレイの計算を制御するようにすると、トライ
アングルは、3つの頂点のz座標の代表値でソートが行
われているため、例えば図6(A)に示すように、図中
白で示されているトライアングルと、黒で示されている
トライアングルとが交差しているような場合、最初に図
6(B)に示すように、代表値で手前と判断された白の
三角形が描画された後、次に図6(C)に示すように、
代表値で後方と判断された黒で示す三角形が描画される
ことになる。そして、白の三角形の内部に描画されてい
る黒のトライアングルの領域では、白の三角形の画素が
一旦描画された後、その部分が白のトライアングルより
前方に位置しているため、黒のトライアングルの画素と
して再描画(上書き)される。描画が二重に行われるの
で、その分、処理速度が遅くなるが、実際には、このよ
うなトライアングルの関係(z座標の代表値と個々のz
座標との関係が逆転するような関係)が発生する可能性
は少ないので、それほど問題にはならない。
定してある所定の基準値より大きい場合(透明である場
合)、透明度が基準値より小さい(透明でない)オブジ
ェクトに第2のレイが衝突するまで、第2のレイの演算
処理を実行する。このようにすることで、描画速度は低
下するが、反射レイを第1のレイと同様に考慮すること
となり、透明なオブジェクトを完全な形で描画すること
ができる。オブジェクトのうち、透明なオブジェクトの
占める割合が比較的少ない場合には、透明なオブジェク
トについてのみ、完全な計算を行うようにしたとして
も、全体としては、処理速度が大きく低下するようなこ
とにはならない。
ていて、実際の描画に関与しない画素に対しては、DDA
3は、その補間演算と第2のレイ以降のレイトレーシン
グ処理をスキップさせるようにすることができる。この
ようなスキップを行った場合、補間演算に使用する変分
(単位当たりの変化量)にスキップする画素数を乗算し
た値を補間変数の新たな値として設定することができ
る。また、スキップした場合のスキップ後の座標値は、
スキップ前のx座標にスキップする画素の数を加算した
値から求めることができる。
計算を省略することで、全体の演算量を減らすことがで
きる。
アングルの一方の端部から水平方向の他方の端部までの
範囲)の最後の画素まで検査した結果、手前にあるトラ
イアングルが既に描画されている場合には、検査でその
ような検査結果が得られた時点において、その後の処理
を省略することができる。
は、変分にスキップする画素の数を乗算せずに、そのま
まスパンの処理を終了させることができる。スパンの途
中が一旦他の物体で覆われたような場合、そのスパンの
端までずっと覆われている場合も多く、実際に、変分に
スキップする画素の数を乗算する必要がないことにな
り、そのような場合、補間演算処理を大幅に減少させる
ことができる。
う場合、あるいは、反射レイ、もしくは屈折レイに関し
て、第2のレイの計算を行う場合、スパンの先頭の画素
においては、例えばバウンディングボックス(Bounding
box)、オクトリー(Octree)法などにより、ある程度
衝突が予想される物体との交差判定を行う。しかしなが
ら、第2番目以降の画素においては、直前の画素が衝突
したオブジェクトとの衝突判定を最初に行い、もしその
判定において、衝突していると判定された場合には、他
のオブジェクトとの衝突判定は行わないようにする。
ン内において、隣接する画素からのレイが所定のオブジ
ェクトに衝突した場合、その隣に位置する画素からのレ
イも同一のオブジェクトに衝突する可能性が高い。
る黒い画素は最初の画素であるので、関連しそうな全て
のオブジェクトに対する衝突判定処理が行われるが、続
く上2つの白い画素は、直前に隣接する画素と同一のオ
ブジェクト(オブジェクトAとオブジェクトB)に衝突
している。そこで、これらの画素からのレイに対して
は、他のオブジェクトに対する衝突は判定されない。
ら4番目の画素)からのレイは、直前の画素と同一のオ
ブジェクトに衝突していないので(直前のオブジェクト
は、オブジェクトAとオブジェクトBに衝突している
が、この画素のレイは、オブジェクトAには衝突してい
るが、オブジェクトBには衝突していないので)、関連
のありそうな全てのオブジェクトとの衝突判定処理が行
われる。
分かればよく、衝突したと分かった時点で、その後の処
理を打ち切ることが可能である。その結果、非常に多く
の画素の計算において、特定のオブジェクトとの衝突が
検出されたとき、その時点において処理を終了させるこ
とができる。その結果、比較的演算量が多い、不特定多
数のオブジェクトとの衝突判定における演算量を減らす
ことが可能となる。
る。
合、影の計算以外の反射レイおよび屈折レイに関して
は、第2のレイまでの計算を行い、第3のレイ以降の計
算は行わないようにし、影の計算のため、シャドーレイ
に関しては、第3のレイまで計算するようにすることが
できる。
射または屈折が発生する場合がある。このような反射お
よび屈折に関しては、第3のレイ以降の計算を行って
も、それほど良質な画像が得られるようになるわけでは
ない。従って、このような計算は省略するのが好まし
い。第3のレイ以降の計算が画質に影響する場合は、例
えば鏡張りの部屋の画像を描画するような場合である
が、このような場合以外には、その計算を行う実用的な
意味が殆どない。
計算した第2のレイが影のオブジェクトに当たっている
のか、影ではなく、光が当たっているオブジェクトに当
たっているのかは、第2のレイの値に大きく影響する。
従って、第2のレイの計算結果をできるだけ正しく使う
ために、シャドーレイに関しては、第3のレイまで計算
するのが好ましい。また、シャドーレイの計算は、反射
レイおよび屈折レイに較べて、その計算量は軽いもので
ある。
イのデータ計算処理が終了した後、ステップS26にお
いて、DDA3は、第2のレイで決定された周辺光による
色、テクスチャ、およびオブジェクトの色をブレンド
し、第1のレイが最初に衝突したオブジェクトの表面
の、その衝突した位置の最終の色として合成する処理を
行う。
合、図8(A)に示すように、手前のオブジェクトから
順番に、不透明なオブジェクトに達するまで順番に描画
して、第2のレイを計算して行けば、奥にあるオブジェ
クトの色も透けて見えることになる。しかしながら、図
8(A)に示す場合、重い演算処理である反射ベクトル
演算と屈折ベクトル演算処理が5回必要となる。
おけるオブジェクト表面のノーマルベクトルと視線ベク
トルとの演算とを行い、反射方向と屈折方向を計算し、
参照している点から、それぞれの方向にレイを飛ばし
て、関連のありそうな全部のオブジェクトとの衝突判定
を行い、その参照点に最も近いオブジェクトを決定する
必要がある。このため、非常に重い処理となる。
との間にオブジェクトがあるかないかの判定を行うだけ
でよいので、参照点とライトソースとの間の線分上にオ
ブジェクトがあるかないかの判定を行うことになり、最
初に衝突した段階で処理を打ち切ることができるので、
反射レイと屈折レイの処理に較べて軽い処理である。
オブジェクトだけを手前から描画するようにすることが
できる。このようにすれば、重い演算は、反射ベクトル
と屈折ベクトルのそれぞれ1回ずつの演算だけで済み、
演算量を少なくすることができる。しかしながら、この
ような処理を行うと、不完全な画像しか得ることができ
ない。
が予め設定してある所定の基準値より大きい(より透明
に近い)オブジェクトに関しては、遠くから順番に描画
するが、既に描画された画素の色とブレンドしながら描
画を行うようにすることで、正確ではないが、比較的高
速に透明感のある描画を行うことができる。
ては、屈折レイの計算は省略され、シャドーレイと反射
レイの計算だけが行われる。屈折レイの計算時には、そ
のレイと他のオブジェクトとの衝突判定が必要になるた
め、αブレンディングの計算に較べて非常に重い処理と
なる。従って、この屈折レイの計算とαブレンディング
の計算のその分だけ処理を迅速に行うことが可能とな
る。
算を中止しておいて、奥にあるオブジェクトから順番に
描画しながら、単純にその上に透明なオブジェクトを重
ねて、色のαブレンディングを行っていく。このような
方法で正しく描画ができるのは、透明なオブジェクトが
視線に対して垂直なため、屈折光が曲がらない場合であ
り、入射角が大きいか、屈折角が大きいときほど、誤差
が大きくなるが、それらの点が小さい場合には、その誤
差は無視することができる。
用いると、透明なオブジェクトの重なりが多くなるにつ
れて、図8(A)に示した完全な方法に較べて、重い演
算の数が1/2に近付いてくるので、それだけより迅速
な処理が可能となる。
成処理を行った後、ステップS27に進み、DDA3は、
ステップS26で合成した色をフレームバッファ7に書
き込ませる。このとき、DDA3は、アンチエリアシング
処理を行う。この処理の詳細は、図9のフローチャート
に示されている。
51において、フレームバッファ7とカバレージバッフ
ァ23の記憶値(Coverage Buffer)をクリアし、ステ
ップS52において、対象画素のカバレージ(Coverag
e)を計算する。例えば、図10(A)に示すように、
手前のトライアングルAが対象画素の面積のうち、80
%をカバーしているとすると、Coverageは80とされ
る。
は、次式を演算する。 Limit=100%−Coverage Buffer
バレージバッファの値は0にクリアされているので、L
imitは100となる。
S53で計算されたLimitの値が、ステップS52で計
算されたCoverageの値より小さいか否かが判定される。
いまの場合、Limit=100であり、Coverage=80で
あるため、NOの判定が行われる。そこで、次に、ステ
ップS56において、DDA3は、ステップS52で計算
されたCoverageの値に、対象としているトライアングル
の画素の色Caを乗算し、その乗算結果Ca×80%を
フレームバッファ7に出力し、値FBとして記憶させ
る。
ジバッファ23に、ステップS52で計算されたCovera
geの値を加算させる。いまの場合、Coverage Bufferの
値は、ステップS51で最初にクリアされているので、
ステップS52で計算された値80がCoverage Buffer
に設定される。
含まれるトライアングルについての演算が全て終了した
か否かが判定される。図10の例の場合、図10(B)
に示すように、対象画素には、後方のトライアングルB
も存在しているため、ここでNOの判定が行われ、ステ
ップS52に戻る。
トライアングルBのCoverageが計算される。いまの場
合、トライアングルBの対象画素に占める面積は40%
であるので、Coverageとして40が設定される。
Coverage Bufferに80が設定されているため、Limit=
20となる。
erageの値が比較される。いまの場合、Limit=20、Co
verage=40であるため、YESの判定が行われ、ステ
ップS55に進む。ステップS55において、DDA3
は、CoverageにLimitの値を設定する。すなわち、いま
の場合、Coverageに20が設定される。
overageに画素の色を乗算する。いまの場合、Coverage
=20%であり、対象画素の色はCbであるから、20
%×Cbが演算される。そして、演算された値が、フレ
ームバッファ7の対応する画素の位置に加算される。上
述した処理により、フレームバッファ7には、既に80
%×Caが記録されているため、結局、この対象画素の
色Cpは、次式で設定されることになる。 Cp=80%×Ca+20%×Cb
ライアングルAとトライアングルBの対象画素において
占める面積の割合に応じて、対象画素の色が重み付けさ
れることになる。
Bufferに、ステップS52で演算されたCoverageの値
が加算される。Coverage Bufferには、既に80の値が
記憶されているため、そこにさらに20の値が加算さ
れ、Coverage Bufferには、100が設定される。
セルの重み付け処理を行ったか否かが判定される。いま
の場合、全てのトライアングルの重み付け処理が終了し
たので、処理が終了される。
5に戻って、ステップS28において、CRTC8は、フレ
ームバッファ7に記憶されている画像データを読み出
し、これを表示信号に変換して、ディスプレイ9に出力
し、表示させる。
る。この構成例においては、図4におけるZバッファ4
が省略されている。その他の構成は、図4における場合
と同様である。
るZバッファ4を用いずに補間処理が実行されるように
なされている。その他の構成は、図4における場合と同
様である。
ている。そのステップS71乃至ステップS77の処理
は、基本的に、図5のステップS21乃至ステップS2
8の処理と同様の処理であるが、図5のステップS24
のZバッファ4における判定処理が省略されている。ま
た、図4の構成例においては、DDA3が、ステップS2
3において、手前のトライアングルから順番に補間処理
を行うようにしているが、図11の構成例においては、
DDA3が、ステップS73において、奥のトライアング
ルから順番に補間処理を行うようにしている。その他の
処理は、図5における場合と同様である。
重なりが少ない場合には、第1の例による演算処理は減
少しているので、全体的に高速に画像データを得ること
が可能である。
る。この構成例においては、図4におけるトライアング
ルソート部2とソートバッファ3が省略された構成とさ
れている。その他の構成は、図4における場合と同様で
ある。
ている。そのステップS91乃至ステップS97の処理
は、基本的に、図5のステップS21乃至ステップS2
8の処理と同様の処理である。但し、図5のステップS
22のトライアングルのz座標の代表値を元にトライア
ングルをソートする処理が省略されている。
93において、Zバッファ4の記憶値を用いて、各トラ
イアングルの画素のz方向の判定処理が行われる。図1
5(A)に示すように、最初に、より手前の白の三角形
Aがフレームバッファ7に既に描画された後、次に、図
15(B)に示すように、白の三角形より奥の黒の三角
形Bが描画されるとき、図中白い丸印で示す手前側の三
角形の画素については、第2のレイの計算処理は行われ
ない。その他の処理は、図5における場合と同様であ
る。
7上の、最初に手前のトライアングルAを描画した後、
次に奥側のトライアングルBを描画している途中の状態
を表している。
複数の装置により構成される装置全体を表すものとす
る。
ータプログラムをユーザに提供する提供媒体としては、
磁気ディスク、CD-ROM、固体メモリなどの記録媒体の
他、ネットワーク、衛星などの通信媒体を利用すること
ができる。
装置、請求項14に記載の画像処理方法、および請求項
15に記載の提供媒体によれば、3次元座標空間上のオ
ブジェクトの表面の画像をスクリーンに投影することに
より生成されたスクリーン座標系の画像データの表面の
内部の画素データを補間するようにしたので、より迅速
に画像データを生成することが可能となる。
図である。
ある。
ック図である。
ある。
説明する図である。
ートである。
る。
ロック図である。
トである。
示すブロック図である。
トである。
ある。
ッファ, 5 プリトレースバッファ, 6 レイトレ
ーサ, 7 フレームバッファ, 8 CRTコントロー
ラ, 9 ディスプレイ, 21 トライアングルソー
ト部, 22ソートバッファ, 23 カバレージバッ
ファ
Claims (15)
- 【請求項1】 レイトレーシング方式により3次元座標
空間上の複数のオブジェクトのスクリーン上の画像デー
タを生成する画像処理装置において、 第1のレイによるレイトレーシングに代えて、前記3次
元座標空間上のオブジェクトの表面の画像をスクリーン
に投影することにより生成されたスクリーン座標系の画
像データを出力する出力手段と、 前記スクリーン座標系の画像データから、前記表面の内
部の画素データを補間する補間手段と、 前記補間手段により補間された画素データを、それに対
応する第2のレイによるレイトレーシングの成分を演算
して補正する補正手段と、 前記補正手段により補正された画素データを描画する描
画手段とを備えることを特徴とする画像処理装置。 - 【請求項2】 前記補間手段により補間された画素デー
タの奥行き方向の座標を基に、最も手前にある画素デー
タを検索し、記憶する記憶手段をさらに備えることを特
徴とする請求項1に記載の画像処理装置。 - 【請求項3】 前記オブジェクトの表面の代表的な奥行
き座標を基に、前記オブジェクトの表面をソートするソ
ート手段をさらに備え、 前記補正手段は、前記ソート手段によりソートされた順
序で、奥から順番に、前記第2のレイによるレイトレー
シングの成分を演算して補正処理を行うことを特徴とす
る請求項1に記載の画像処理装置。 - 【請求項4】 前記補間手段は、補間演算ごとに、その
奥行き座標を記憶し、 前記補正手段は、前記補間手段に記憶されている奥行き
座標を基に、前記第2のレイによるレイトレーシングの
成分を演算して補正処理を行うことを特徴とする請求項
1に記載の画像処理装置。 - 【請求項5】 前記3次元座標空間上のオブジェクトの
表面の画像は、トライアングルであることを特徴とする
請求項1に記載の画像処理装置。 - 【請求項6】 前記オブジェクトの表面の代表的な奥行
き座標を基に、前記オブジェクトの表面をソートするソ
ート手段をさらに備え、 前記補間手段は、前記ソート手段によりソートされた順
序で、手前から順番に補間演算を行い、各画素の補間演
算ごとに、その奥行き座標を記憶し、 前記補正手段は、前記補間手段に記憶されている奥行き
座標を基に、前記第2のレイによるレイトレーシングの
成分を演算して補正処理を行うことを特徴とする請求項
1に記載の画像処理装置。 - 【請求項7】 前記補間手段と補正手段は、手前に位置
する他の前記オブジェクトの表面が既に描画されている
場合、その処理をスキップすることを特徴とする請求項
1に記載の画像処理装置。 - 【請求項8】 前記補間手段は、透明度が所定の基準値
以下の前記オブジェクトについては、第2のレイまでの
処理を行い、透明度が前記基準値より大きい前記オブジ
ェクトについては、前記透明度が前記基準値以下の前記
オブジェクトに衝突するまで、より高次のレイの処理を
行うことを特徴とする請求項1に記載の画像処理装置。 - 【請求項9】 前記補正手段は、前記補間手段による補
間演算された画素の反射ベクトルまたは屈折ベクトルの
値が、所定の基準値以下のとき、その画素の補正を行わ
ないことを特徴とする請求項1に記載の画像処理装置。 - 【請求項10】 前記補正手段は、影を生成する処理を
行う場合、または反射もしくは屈折レイの処理を行う場
合において、複数の前記オブジェクトとの衝突判定を順
次行うとき、所定のスパンにおいて、直前の画素が衝突
したした前記オブジェクトとの衝突判定を最初に行うこ
とを特徴とする請求項1に記載の画像処理装置。 - 【請求項11】 前記補正手段は、影を生成する処理を
行う場合、反射もしくは屈折レイの処理は第2のレイま
で行い、シャドウレイの処理は、第3のレイまで行うこ
とを特徴とする請求項1に記載の画像処理装置。 - 【請求項12】 前記描画手段は、前記オブジェクトの
透明度が所定の基準値より大きいとき、奥から順番に描
画するとともに、既に描画されている画素とブレンドす
ることを特徴とする請求項1に記載の画像処理装置。 - 【請求項13】 前記描画手段は、1つの画素に複数の
前記オブジェクトが対応する場合、前記画素を覆う面積
に基づいて重み付けを行うことを特徴とする請求項1に
記載の画像処理装置。 - 【請求項14】 レイトレーシング方式により3次元座
標空間上の複数のオブジェクトのスクリーン上の画像デ
ータを生成する画像処理装置の画像処理方法において、 第1のレイによるレイトレーシングに代えて、前記3次
元座標空間上のオブジェクトの表面の画像をスクリーン
に投影することにより生成されたスクリーン座標系の画
像データを出力する出力ステップと、 前記スクリーン座標系の画像データから、前記表面の内
部の画素データを補間する補間ステップと、 前記補間ステップで補間された画素データを、それに対
応する第2のレイによるレイトレーシングの成分を演算
して補正する補正ステップと、 前記補正ステップで補正された画素データを描画する描
画ステップとを含むことを特徴とする画像処理方法。 - 【請求項15】 レイトレーシング方式により3次元座
標空間上の複数のオブジェクトのスクリーン上の画像デ
ータを生成する画像処理装置に、 第1のレイによるレイトレーシングに代えて、前記3次
元座標空間上のオブジェクトの表面の画像をスクリーン
に投影することにより生成されたスクリーン座標系の画
像データを出力する出力ステップと、 前記スクリーン座標系の画像データから、前記表面の内
部の画素データを補間する補間ステップと、 前記補間ステップで補間された画素データを、それに対
応する第2のレイによるレイトレーシングの成分を演算
して補正する補正ステップと、 前記補正ステップで補正された画素データを描画する描
画ステップとを含む処理を情報処理装置に実行させるコ
ンピュータが読みとり可能なプログラムを提供すること
を特徴とする提供媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18187398A JP4078716B2 (ja) | 1998-06-29 | 1998-06-29 | 画像処理装置および方法、並びに提供媒体 |
US09/340,420 US6621925B1 (en) | 1998-06-29 | 1999-06-28 | Image processing apparatus and method and information providing medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18187398A JP4078716B2 (ja) | 1998-06-29 | 1998-06-29 | 画像処理装置および方法、並びに提供媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000020746A true JP2000020746A (ja) | 2000-01-21 |
JP2000020746A5 JP2000020746A5 (ja) | 2005-10-20 |
JP4078716B2 JP4078716B2 (ja) | 2008-04-23 |
Family
ID=16108357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18187398A Expired - Fee Related JP4078716B2 (ja) | 1998-06-29 | 1998-06-29 | 画像処理装置および方法、並びに提供媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6621925B1 (ja) |
JP (1) | JP4078716B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001266174A (ja) * | 2000-02-28 | 2001-09-28 | Mitsubishi Electric Research Laboratories Inc | グラフィックオブジェクトを表現する方法 |
JP2002216153A (ja) * | 2001-01-12 | 2002-08-02 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2010505164A (ja) * | 2006-09-27 | 2010-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | レイ・トレーシング画像処理システムにおけるピクセル色の決定方法および画像処理システム |
JP2010092462A (ja) * | 2008-09-26 | 2010-04-22 | Nvidia Corp | ハイブリッドレイトレーシングシステムのためのフラグメントシェーダ、及び操作方法 |
JP2010176663A (ja) * | 2009-01-28 | 2010-08-12 | Internatl Business Mach Corp <Ibm> | 変化する視野に基づいてフレーム間の光線追跡のアクセラレーション・データ構造体を更新する方法 |
JP2011513827A (ja) * | 2008-02-27 | 2011-04-28 | サムスン エレクトロニクス カンパニー リミテッド | 3次元映像プロセッサおよびプロセッシング方法 |
KR20110051315A (ko) * | 2009-11-10 | 2011-05-18 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
US10242492B2 (en) | 2015-09-21 | 2019-03-26 | Samsung Electronics Co., Ltd. | 3D rendering and shadow information storing method and apparatus |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090174554A1 (en) | 2005-05-11 | 2009-07-09 | Eric Bergeron | Method and system for screening luggage items, cargo containers or persons |
US7991242B2 (en) | 2005-05-11 | 2011-08-02 | Optosecurity Inc. | Apparatus, method and system for screening receptacles and persons, having image distortion correction functionality |
US7408553B1 (en) * | 2005-12-15 | 2008-08-05 | Nvidia Corporation | Inside testing for paths |
US7899232B2 (en) | 2006-05-11 | 2011-03-01 | Optosecurity Inc. | Method and apparatus for providing threat image projection (TIP) in a luggage screening system, and luggage screening system implementing same |
US8494210B2 (en) | 2007-03-30 | 2013-07-23 | Optosecurity Inc. | User interface for use in security screening providing image enhancement capabilities and apparatus for implementing same |
US8547395B1 (en) | 2006-12-20 | 2013-10-01 | Nvidia Corporation | Writing coverage information to a framebuffer in a computer graphics system |
US8004522B1 (en) | 2007-08-07 | 2011-08-23 | Nvidia Corporation | Using coverage information in computer graphics |
US8325203B1 (en) | 2007-08-15 | 2012-12-04 | Nvidia Corporation | Optimal caching for virtual coverage antialiasing |
US8471853B2 (en) * | 2007-10-26 | 2013-06-25 | Via Technologies, Inc. | Reconstructable geometry shadow mapping method |
JP2012181825A (ja) * | 2011-02-09 | 2012-09-20 | Canon Inc | 画像処理装置およびその方法 |
AU2012304490B2 (en) | 2011-09-07 | 2015-06-25 | Rapiscan Systems, Inc. | X-ray inspection system that integrates manifest data with imaging/detection processing |
US10614614B2 (en) | 2015-09-29 | 2020-04-07 | Adshir Ltd. | Path tracing system employing distributed accelerating structures |
CN108369639B (zh) * | 2015-12-11 | 2022-06-21 | 虞晶怡 | 使用多相机和深度相机阵列的基于图像的图像渲染方法和系统 |
US10614612B2 (en) | 2018-06-09 | 2020-04-07 | Adshir Ltd. | Fast path traced reflections for augmented reality |
US12008704B2 (en) | 2016-01-28 | 2024-06-11 | Snap Inc. | System for photo-realistic reflections in augmented reality |
US10302807B2 (en) | 2016-02-22 | 2019-05-28 | Rapiscan Systems, Inc. | Systems and methods for detecting threats and contraband in cargo |
DE102019109757A1 (de) * | 2018-04-12 | 2019-10-17 | Nvidia Corporation | Hinzufügen von mehr realismus zu einem von einem computergenerierten bild durch glätten von gezackten kanten |
US10699468B2 (en) * | 2018-06-09 | 2020-06-30 | Adshir Ltd. | Method for non-planar specular reflections in hybrid ray tracing |
US11017581B1 (en) | 2020-01-04 | 2021-05-25 | Adshir Ltd. | Method for constructing and traversing accelerating structures |
GB2599185B (en) * | 2021-03-23 | 2022-08-24 | Imagination Tech Ltd | Intersection testing in a ray tracing system |
GB2599186B (en) * | 2021-03-23 | 2022-10-12 | Imagination Tech Ltd | Intersection testing in a ray tracing system |
GB2599187B (en) | 2021-03-23 | 2022-09-21 | Imagination Tech Ltd | Intersection testing in a ray tracing system |
GB2599184B (en) | 2021-03-23 | 2022-11-23 | Imagination Tech Ltd | Intersection testing in a ray tracing system |
GB2605664B (en) | 2021-09-30 | 2023-03-29 | Imagination Tech Ltd | Processor with hardware pipeline |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111584A (en) * | 1995-12-18 | 2000-08-29 | 3Dlabs Inc. Ltd. | Rendering system with mini-patch retrieval from local texture storage |
JP3209402B2 (ja) * | 1996-11-01 | 2001-09-17 | 富士ゼロックス株式会社 | 画像処理装置 |
JPH10290373A (ja) * | 1997-04-15 | 1998-10-27 | Matsushita Electric Ind Co Ltd | 色補正装置 |
JPH10334275A (ja) * | 1997-05-29 | 1998-12-18 | Canon Inc | 仮想現実方法及び装置並びに記憶媒体 |
-
1998
- 1998-06-29 JP JP18187398A patent/JP4078716B2/ja not_active Expired - Fee Related
-
1999
- 1999-06-28 US US09/340,420 patent/US6621925B1/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001266174A (ja) * | 2000-02-28 | 2001-09-28 | Mitsubishi Electric Research Laboratories Inc | グラフィックオブジェクトを表現する方法 |
JP4610104B2 (ja) * | 2000-02-28 | 2011-01-12 | ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド | グラフィックオブジェクトを表現する方法 |
JP2002216153A (ja) * | 2001-01-12 | 2002-08-02 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP4698032B2 (ja) * | 2001-01-12 | 2011-06-08 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
JP2010505164A (ja) * | 2006-09-27 | 2010-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | レイ・トレーシング画像処理システムにおけるピクセル色の決定方法および画像処理システム |
JP2011513827A (ja) * | 2008-02-27 | 2011-04-28 | サムスン エレクトロニクス カンパニー リミテッド | 3次元映像プロセッサおよびプロセッシング方法 |
US8692828B2 (en) | 2008-02-27 | 2014-04-08 | Samsung Electronics Co., Ltd. | 3-dimensional image processor and processing method |
JP2010092462A (ja) * | 2008-09-26 | 2010-04-22 | Nvidia Corp | ハイブリッドレイトレーシングシステムのためのフラグメントシェーダ、及び操作方法 |
JP2010176663A (ja) * | 2009-01-28 | 2010-08-12 | Internatl Business Mach Corp <Ibm> | 変化する視野に基づいてフレーム間の光線追跡のアクセラレーション・データ構造体を更新する方法 |
KR20110051315A (ko) * | 2009-11-10 | 2011-05-18 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
KR101585998B1 (ko) | 2009-11-10 | 2016-01-15 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
US10242492B2 (en) | 2015-09-21 | 2019-03-26 | Samsung Electronics Co., Ltd. | 3D rendering and shadow information storing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
US6621925B1 (en) | 2003-09-16 |
JP4078716B2 (ja) | 2008-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4078716B2 (ja) | 画像処理装置および方法、並びに提供媒体 | |
US5083287A (en) | Method and apparatus for applying a shadowing operation to figures to be drawn for displaying on crt-display | |
EP0637813B1 (en) | Image processing | |
EP0638875B1 (en) | A 3-dimensional animation generating apparatus and a method for generating a 3-dimensional animation | |
JP2000020746A5 (ja) | ||
US20200357167A1 (en) | Systems and methods for ray-traced shadows of transparent objects | |
JPH0581438A (ja) | 三次元ソリツド対象物を表現する表示可能情報を発生する装置と方法 | |
JPH0273479A (ja) | 図形処理装置 | |
US6271848B1 (en) | Image processing device, image processing method and storage medium for storing image processing programs | |
EP0782105B1 (en) | Processing image data | |
EP3756162A1 (en) | Hybrid raytracing approach for modeling light reflection | |
US7327364B2 (en) | Method and apparatus for rendering three-dimensional images of objects with hand-drawn appearance in real time | |
JPH0434159B2 (ja) | ||
US7834879B2 (en) | Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen | |
JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
US6980214B2 (en) | Methods and apparatus for shading object drawings in video games | |
US10796474B2 (en) | Systems and methods for rendering reflections | |
US10818079B2 (en) | Systems and methods for rendering reflections | |
CN110874858B (zh) | 用于渲染反射的系统和方法 | |
US9595132B2 (en) | Methods and apparatuses of lens flare rendering using linear paraxial approximation, and methods and apparatuses of lens flare rendering based on blending | |
JP5413502B2 (ja) | ハレーションシミュレーション方法、装置、及びプログラム | |
US5619626A (en) | Processing image data | |
JP4308367B2 (ja) | 3次元画像生成装置および環境マップの生成方法 | |
JP2952585B1 (ja) | 画像生成方法 | |
JP2518712B2 (ja) | コンピュ―タグラフィックにおける高品質レンダリング図作成方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050624 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050624 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080110 |
|
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: 20080115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110215 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110215 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130215 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |