JP4078716B2 - 画像処理装置および方法、並びに提供媒体 - Google Patents
画像処理装置および方法、並びに提供媒体 Download PDFInfo
- Publication number
- JP4078716B2 JP4078716B2 JP18187398A JP18187398A JP4078716B2 JP 4078716 B2 JP4078716 B2 JP 4078716B2 JP 18187398 A JP18187398 A JP 18187398A JP 18187398 A JP18187398 A JP 18187398A JP 4078716 B2 JP4078716 B2 JP 4078716B2
- Authority
- JP
- Japan
- Prior art keywords
- ray
- screen
- interpolation
- image
- image processing
- 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 - Fee Related
Links
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/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)
Description
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに提供媒体に関し、特に、レイトレーシング方式で、より迅速に、画像データを生成することができるようにした画像処理装置および方法、並びに提供媒体に関する。
【0002】
【従来の技術】
図16は、従来のレイトレーシング方式の原理を表している。同図に示すように、スクリーン52上の所定の位置の画素のデータを生成するとき、予め設定された所定の位置に配置されているアイポイント51から、スクリーン52上の、その位置の画素に向かう光線(レイ)を想定し、そのレイ(第1のレイ)が3次元座標空間上に配置されている所定のオブジェクト(図16の例の場合、オブジェクト53)に衝突させる。このとき、スクリーン52上の、その画素には、オブジェクト53の第1のレイが衝突した位置の画像が描かれるべきものとなる。
【0003】
さらに、このオブジェクト53の第1のレイが衝突する点の画像は、ライトソース55からの光が、オブジェクト54で反射され、オブジェクト53の、その点に照射されている場合、その影響も受けることになる。そこで、オブジェクト53の、その点から、ライトソース55に向けて、光線を逆にたどり、オブジェクト53からオブジェクト54に向かって、第2のレイを想定し、オブジェクト54からライトソース55に向かって、第3のレイを想定する。そして、オブジェクト53上の第1のレイの衝突する点の画像を、第2のレイおよび第3のレイに基づく影響を計算することで補正する。そして、その補正した結果が、スクリーン52上の対応する画素に反映される。
【0004】
このようにして、例えばCADにおいて、所定の3次元座標空間上に複数のオブジェクトを作成配置し、その3次元上のオブジェクトを所定のアイポイントから見た場合の画像を、スクリーン52上の画像として演算し、表示することができる。
【0005】
【発明が解決しようとする課題】
しかしながら、このようなレイトレーシングによる方法は、各段階のレイがどのオブジェクトに衝突するのかを判定しなければならず、そのための計算量が膨大なものとなり、ポリゴンレンダリング手法などに較べて、高速化が困難となる課題があった。
【0006】
本発明はこのような状況に鑑みてなされたものであり、より迅速に画像データを生成することができるようにするものである。
【0007】
【課題を解決するための手段】
請求項1に記載の画像処理装置は、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力手段と、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間手段と、補間手段により補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正手段と、補正手段により補正された画素データを描画する描画手段とを備えることを特徴とする。
請求項2に記載の画像処理方法は、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間ステップと、補間ステップで補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正ステップと、補正ステップで補正された画素データを描画する描画ステップとを含むことを特徴とする。
請求項3に記載の提供媒体のプログラムは、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間ステップと、補間ステップで補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正ステップと、補正ステップで補正された画素データを描画する描画ステップとを含むことを特徴とする。
請求項4に記載の画像処理装置は、第1のレイによるレイトレーシングに代えて、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力手段と、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間手段と、補間手段により補間された画素データを、それに対応する第2のレイによるレイトレーシングの成分を演算して補正する補正手段と、補正手段により補正された画素データを描画する描画手段とを備えることを特徴とする。
【0008】
請求項17に記載の画像処理方法は、第1のレイによるレイトレーシングに代えて、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間ステップと、補間ステップで補間された画素データを、それに対応する第2のレイによるレイトレーシングの成分を演算して補正する補正ステップと、補正ステップで補正された画素データを描画する描画ステップとを含むことを特徴とする。
【0009】
請求項18に記載の提供媒体のプログラムは、レイトレーシング方式により3次元座標空間上の複数のオブジェクトのスクリーン上の画像データを生成する画像処理装置に、第1のレイによるレイトレーシングに代えて、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間ステップと、補間ステップで補間された画素データを、それに対応する第2のレイによるレイトレーシングの成分を演算して補正する補正ステップと、補正ステップで補正された画素データを描画する描画ステップとを含むことを特徴とする。
【0010】
請求項1に記載の画像処理装置、請求項2に記載の画像処理方法、および請求項3に記載の提供媒体のプログラムにおいては、オブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを補間することで、表面の内部の画素データが生成される。そして、補間された画素データが、レイによるレイトレーシング成分で補正される。
請求項4に記載の画像処理装置、請求項17に記載の画像処理方法、および請求項18に記載の提供媒体のプログラムにおいては、第1のレイによるレイトレーシングに代えて、オブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを補間することで、表面の内部の画素データが生成される。そして、補間された画素データが、第2のレイによるレイトレーシング成分で補正される。
【0011】
【発明の実施の形態】
以下に本発明の実施例を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施例との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施例(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【0012】
請求項1に記載の画像処理装置は、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力手段(例えば、図1のパーソナルコンピュータ1、ホストインタフェース2)と、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間手段(例えば、図1の DDA 3)と、補間手段により補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正手段(例えば、図1のレイトレーサ6)と、補正手段により補正された画素データを描画する描画手段(例えば、図1のフレームバッファ7)とを備えることを特徴とする。
請求項4に記載の画像処理装置は、第1のレイによるレイトレーシングに代えて、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力手段(例えば、図1のパーソナルコンピュータ1、ホストインタフェース2)と、スクリーン座標系の画像データから、表面の内部の画素データを補間する補間手段(例えば、図1のDDA3)と、補間手段により補間された画素データを、それに対応する第2のレイによるレイトレーシングの成分を演算して補正する補正手段(例えば、図1のレイトレーサ6)と、補正手段により補正された画素データを描画する描画手段(例えば、図1のフレームバッファ7)とを備えることを特徴とする。
【0013】
請求項5に記載の画像処理装置は、補間手段により補間された画素データの奥行き方向の座標を基に、最も手前にある画素データを検索し、記憶する記憶手段(例えば、図1のプリトレースバッファ5)をさらに備えることを特徴とする。
【0014】
請求項6に記載の画像処理装置は、オブジェクトの表面の代表的な奥行き座標を基に、オブジェクトの表面をソートするソート手段(例えば、図11のトライアングルソート部21)をさらに備え、補正手段は、ソート手段によりソートされた順序で、奥から順番に、第2のレイによるレイトレーシングの成分を演算して補正処理を行うことを特徴とする。
【0015】
請求項9に記載の画像処理装置は、オブジェクトの表面の代表的な奥行き座標を基に、前記オブジェクトの表面をソートするソート手段(例えば、図4のトライアングルソート部21)をさらに備え、補間手段は、ソート手段によりソートされた順序で、手前から順番に補間演算を行い、各画素の補間演算ごとに、その奥行き座標を記憶し、補正手段は、補間手段に記憶されている奥行き座標を基に、第2のレイによるレイトレーシングの成分を演算して補正処理を行うことを特徴とする。
【0016】
図1は、本発明を適用した画像処理システムの構成例を表している。ホストコンピュータとしてのパーソナルコンピュータ1は、3次元座標空間上のオブジェクトの各表面を複数のトライアングルに分割し、各トライアングルを所定のスクリーン座標系に投影して得られた画像データを生成する。そして、そのスクリーン座標系の画像データと、光源に関する画像データを、ホストインタフェース2を介して、DDA(Digital Differential Analyzer)に供給する。具体的には、例えば、トライアングルの3つの頂点における座標(x,y,z)面の法線ベクトル、表面の拡散係数、表面の反射係数、屈折係数、透明度、表面の色(R,G,B)といったデータと、光源の座標(x,y,z)、明るさと色(R,G,B)、光源の種類(点、平行、スポット径)といった情報が、DDA3に入力される。
【0017】
DDA3は、ホストインタフェース2を介して、パーソナルコンピュータ1より入力された各トライアングルの頂点座標を元に、そのトライアングルの内部の画素データを線形補間により生成する。生成された画素データは、Zバッファ4に入力され、奥行き方向(z軸方向)の座標を元に、ソート処理が行われる。すなわち、より手前(アイポイントに近い方)の画素データが選択され、最も手前に位置する画素データだけがプリトレースバッファ5に供給され、記憶されるようになされている。
【0018】
レイトレーサ6は、プリトレースバッファ5に記憶された画素データに対して、第2のレイ以降のレイトレーシング処理を行い、プリトレースバッファ5に記憶された画素データを補正し、補正した画素データをフレームバッファ7に出力し、描画するようになされている。フレームバッファ7に描画された画素データは、CRTコントローラ(CRTC)8により適宜読み出され、ディスプレイ9に出力され、表示されるようになされている。
【0019】
次に、図2のフローチャートを参照して、その動作について説明する。最初に、ステップS1において、パーソナルコンピュータ1は、3次元座標空間上におけるオブジェクトを複数のトライアングルに分割し、そのトライアングルを所定のスクリーンに投影した画像データを生成する。すなわち、図3に示すように、オブジェクト53を複数のトライアングル53−i(i=1,2,3,・・・)に分割する。そして、各トライアングル53−iをスクリーン52に投影した画像データを生成する。図3においては、オブジェクト53のトライアングル53−1が、スクリーン52上に、トライアングル53−1’として投影されている様子が表されている。
【0020】
すなわち、この例においては、レイトレーシング方式における第1のレイ(Ray)によるトレーシングが省略され、それに代わって、このような投影処理が実行される。これにより、第1のレイが、どのオブジェクトに衝突するのかを判定する演算が、従来の場合の1/100程度に軽減することができる。
【0021】
DDA3は、ステップS2において、パーソナルコンピュータ1より供給されたトライアングルの3つの頂点座標を元に、そのトライアングルの内部の画素データを線形補間する処理を実行する。ステップS3において、DDA3は、補間演算の結果得られた画素データのz座標をZバッファ4に記憶させ、これを利用して、最も手前の画素データだけをプリトレースバッファ5に記憶させる。以上のようにして、第1のレイによるトレーシングは行われないが、行った場合と同様の画像が得られる。
【0022】
以上のようにして、スクリーン52の1画面分の画像データがプリトレースバッファ5に記憶されたとき、次に、ステップS4に進み、レイトレーサ6は、第1のレイの条件に基づいて、第2のレイを各オブジェクトに飛ばし、周辺光による色を決定し、その色で、ステップS5において、対応する画素データを補正する。この第2のレイによる処理は、例えば、そのオブジェクトが光を反射しないオブジェクトであるような場合には省略される。
【0023】
レイトレーサ6は、ステップS5において、第2のレイによる周辺光による色を決定したとき、その色、テクスチャ、および、そのオブジェクトの色をブレンドし、そのオブジェクトの第1のレイが衝突した位置の色とする。ステップS6において、レイトレーサ6は、最終的に決定された色を、フレームバッファ7の対応する画素の位置に描画する。
【0024】
CRTC8は、ステップS7において、フレームバッファ7に描画された画素データを読み出し、これを表示信号に変換して、ディスプレイ9に出力し、表示させる。
【0025】
図3には、以上の処理が模式的に表されている。すなわち、スクリーン52に投影されたトライアングルの頂点の座標で規定されるトライアングルの内部の画素の光ベクトル、反射ベクトル、屈折ベクトル、法線ベクトル、(x,y,z)座標、u,vベクトルなどが生成される。
【0026】
以上のようにして、第1のレイによるトレーシング処理に代えて、画像データが生成されたとき、次に、第2のレイ以降のトレーシング処理が実行される。
【0027】
図1の実施の形態においては、最も手前に位置する画像データだけをプリトレースバッファ5に記憶させるようにしたが、以下においては、このようなプリトレースバッファ5が設けられていない場合の構成例について説明する。
【0028】
図4の構成例においては、ホストインタフェース2とDDA3の間に、トライアングルソート部21とソートバッファ22が配置されている。DDA3は、Zバッファ4を利用して、補間処理を実行するが、プリトレースバッファ5は省略されている。レイトレーサ6は、DDA3に接続され、DDA3との間でデータを授受するようになされている。DDA3はまた、画像データをフレームバッファ7に出力し、記憶させるようになされている。また、この例においては、ピクセルカバレージバッファ23が設けられており、フレームバッファ7には、このピクセルカバレージバッファ23の記憶値に対応して、所定の重み付け処理が実行され、画素データが描画されるようになされている。その他の構成は、図1における場合と同様である。
【0029】
次に、図5のフローチャートを参照して、その動作について説明する。最初に、ステップS21において、パーソナルコンピュータ1により、トライアングルをスクリーンに投影した画像データが生成される。この処理は、図2のステップS1における場合と同様の処理である。トライアングルソート部21は、パーソナルコンピュータ1から、ホストインタフェース2を介して、スクリーン座標系の画素データの入力を受けたとき、各トライアングルのz座標の代表値を決定し、その代表値を元に、トライアングルをソートする。ソートした結果は、ソートバッファ22に記憶される。
【0030】
各トライアングルのz座標の代表値としては、例えば3つの頂点のz座標の平均値、あるいは3つの頂点のうちのいずれか任意の1つの頂点のz座標を用いることができる。
【0031】
次に、ステップS23において、DDA3は、ソートバッファ22から入力された各トライアングルの内部の画素データを線形補間により生成する。この処理は、図2のステップS2における場合と同様の処理である。
【0032】
DDA3は、手前と判断されたトライアングルから順番に補間演算処理を行い、各画素の補間演算毎に、Zバッファ4を用いて、さらに第2のレイの計算のオン/オフを行う。
【0033】
すなわち、ステップS24において、DDA3は、処理対象とする画素が最も手前の画素であるか否かを判定し、手前の画素である場合には、ステップS25において、その画素データをレイトレーサ6に出力し、第2のレイによるデータを計算させる。レイトレーサ6は、DDA3より入力された第1のレイの条件から、第2のレイをオブジェクトに飛ばし、周辺光による色を決定し、その色のデータをDDA3に出力する。
【0034】
DDA3は、ステップS24において、対象画素が最も手前の画素ではないと判定された場合、ステップS25の処理(第2のレイの処理)を省略させる。また、DDA3は、補間演算により求められた画素の反射ベクトルの強さあるいは屈折ベクトルの強さが、予め設定してある所定の基準値以下の場合、第2のレイの計算を行わない(ステップS25の処理をスキップする)ようにすることができる。例えば、光を反射しないオブジェクトの第2の処理は省略されることになる。
【0035】
DDA3は、トライアングル(面状オブジェクト)の頂点での第2のレイのための情報を補間演算することにより、トライアングルの内部の第2のレイのための情報を計算することになるのであるが、補間演算の途中で第2のレイを考慮する必要がないと判断できる場合には、その処理を省略するようにすることで、第2のレイの演算を減少させることができる。
【0036】
このように、トライアングルを奥行順にソートしておき、手前のトライアングルから順番に、その画素を補間演算し、補間演算毎に、Zバッファ4を用いて、第2のレイの計算を制御するようにすると、トライアングルは、3つの頂点のz座標の代表値でソートが行われているため、例えば図6(A)に示すように、図中白で示されているトライアングルと、黒で示されているトライアングルとが交差しているような場合、最初に図6(B)に示すように、代表値で手前と判断された白の三角形が描画された後、次に図6(C)に示すように、代表値で後方と判断された黒で示す三角形が描画されることになる。そして、白の三角形の内部に描画されている黒のトライアングルの領域では、白の三角形の画素が一旦描画された後、その部分が白のトライアングルより前方に位置しているため、黒のトライアングルの画素として再描画(上書き)される。描画が二重に行われるので、その分、処理速度が遅くなるが、実際には、このようなトライアングルの関係(z座標の代表値と個々のz座標との関係が逆転するような関係)が発生する可能性は少ないので、それほど問題にはならない。
【0037】
DDA3は、オブジェクトの透明度が予め設定してある所定の基準値より大きい場合(透明である場合)、透明度が基準値より小さい(透明でない)オブジェクトに第2のレイが衝突するまで、第2のレイの演算処理を実行する。このようにすることで、描画速度は低下するが、反射レイを第1のレイと同様に考慮することとなり、透明なオブジェクトを完全な形で描画することができる。オブジェクトのうち、透明なオブジェクトの占める割合が比較的少ない場合には、透明なオブジェクトについてのみ、完全な計算を行うようにしたとしても、全体としては、処理速度が大きく低下するようなことにはならない。
【0038】
手前にあるトライアングルが既に描画されていて、実際の描画に関与しない画素に対しては、DDA3は、その補間演算と第2のレイ以降のレイトレーシング処理をスキップさせるようにすることができる。このようなスキップを行った場合、補間演算に使用する変分(単位当たりの変化量)にスキップする画素数を乗算した値を補間変数の新たな値として設定することができる。また、スキップした場合のスキップ後の座標値は、スキップ前のx座標にスキップする画素の数を加算した値から求めることができる。
【0039】
このように、必要のない第2のレイ以降の計算を省略することで、全体の演算量を減らすことができる。
【0040】
また、各トライアングルのスパン(トライアングルの一方の端部から水平方向の他方の端部までの範囲)の最後の画素まで検査した結果、手前にあるトライアングルが既に描画されている場合には、検査でそのような検査結果が得られた時点において、その後の処理を省略することができる。
【0041】
スパンの端部までスキップできる場合には、変分にスキップする画素の数を乗算せずに、そのままスパンの処理を終了させることができる。スパンの途中が一旦他の物体で覆われたような場合、そのスパンの端までずっと覆われている場合も多く、実際に、変分にスキップする画素の数を乗算する必要がないことになり、そのような場合、補間演算処理を大幅に減少させることができる。
【0042】
また、レイトレーサ6が影の生成処理を行う場合、あるいは、反射レイ、もしくは屈折レイに関して、第2のレイの計算を行う場合、スパンの先頭の画素においては、例えばバウンディングボックス(Bounding box)、オクトリー(Octree)法などにより、ある程度衝突が予想される物体との交差判定を行う。しかしながら、第2番目以降の画素においては、直前の画素が衝突したオブジェクトとの衝突判定を最初に行い、もしその判定において、衝突していると判定された場合には、他のオブジェクトとの衝突判定は行わないようにする。
【0043】
すなわち、図7に示すように、所定のスパン内において、隣接する画素からのレイが所定のオブジェクトに衝突した場合、その隣に位置する画素からのレイも同一のオブジェクトに衝突する可能性が高い。
【0044】
図7の例では、図中最も下側に位置している黒い画素は最初の画素であるので、関連しそうな全てのオブジェクトに対する衝突判定処理が行われるが、続く上2つの白い画素は、直前に隣接する画素と同一のオブジェクト(オブジェクトAとオブジェクトB)に衝突している。そこで、これらの画素からのレイに対しては、他のオブジェクトに対する衝突は判定されない。
【0045】
それに対して、図中上側の黒い画素(下から4番目の画素)からのレイは、直前の画素と同一のオブジェクトに衝突していないので(直前のオブジェクトは、オブジェクトAとオブジェクトBに衝突しているが、この画素のレイは、オブジェクトAには衝突しているが、オブジェクトBには衝突していないので)、関連のありそうな全てのオブジェクトとの衝突判定処理が行われる。
【0046】
影の処理に際しては、衝突していることが分かればよく、衝突したと分かった時点で、その後の処理を打ち切ることが可能である。その結果、非常に多くの画素の計算において、特定のオブジェクトとの衝突が検出されたとき、その時点において処理を終了させることができる。その結果、比較的演算量が多い、不特定多数のオブジェクトとの衝突判定における演算量を減らすことが可能となる。
【0047】
反射レイおよび屈折レイの場合も同様である。
【0048】
また、DDA3は、影の生成処理を行う場合、影の計算以外の反射レイおよび屈折レイに関しては、第2のレイまでの計算を行い、第3のレイ以降の計算は行わないようにし、影の計算のため、シャドーレイに関しては、第3のレイまで計算するようにすることができる。
【0049】
2つの同じオブジェクトの間で繰り返し反射または屈折が発生する場合がある。このような反射および屈折に関しては、第3のレイ以降の計算を行っても、それほど良質な画像が得られるようになるわけではない。従って、このような計算は省略するのが好ましい。第3のレイ以降の計算が画質に影響する場合は、例えば鏡張りの部屋の画像を描画するような場合であるが、このような場合以外には、その計算を行う実用的な意味が殆どない。
【0050】
しかしながら、シャドーレイに関しては、計算した第2のレイが影のオブジェクトに当たっているのか、影ではなく、光が当たっているオブジェクトに当たっているのかは、第2のレイの値に大きく影響する。従って、第2のレイの計算結果をできるだけ正しく使うために、シャドーレイに関しては、第3のレイまで計算するのが好ましい。また、シャドーレイの計算は、反射レイおよび屈折レイに較べて、その計算量は軽いものである。
【0051】
図5に戻って、ステップS25の第2のレイのデータ計算処理が終了した後、ステップS26において、DDA3は、第2のレイで決定された周辺光による色、テクスチャ、およびオブジェクトの色をブレンドし、第1のレイが最初に衝突したオブジェクトの表面の、その衝突した位置の最終の色として合成する処理を行う。
【0052】
なお、透明なオブジェクトを描画する場合、図8(A)に示すように、手前のオブジェクトから順番に、不透明なオブジェクトに達するまで順番に描画して、第2のレイを計算して行けば、奥にあるオブジェクトの色も透けて見えることになる。しかしながら、図8(A)に示す場合、重い演算処理である反射ベクトル演算と屈折ベクトル演算処理が5回必要となる。
【0053】
反射レイと屈折レイの計算には、参照点におけるオブジェクト表面のノーマルベクトルと視線ベクトルとの演算とを行い、反射方向と屈折方向を計算し、参照している点から、それぞれの方向にレイを飛ばして、関連のありそうな全部のオブジェクトとの衝突判定を行い、その参照点に最も近いオブジェクトを決定する必要がある。このため、非常に重い処理となる。
【0054】
これに対して、シャドーは、ライトソースとの間にオブジェクトがあるかないかの判定を行うだけでよいので、参照点とライトソースとの間の線分上にオブジェクトがあるかないかの判定を行うことになり、最初に衝突した段階で処理を打ち切ることができるので、反射レイと屈折レイの処理に較べて軽い処理である。
【0055】
そこで、図8(B)に示すように、透明なオブジェクトだけを手前から描画するようにすることができる。このようにすれば、重い演算は、反射ベクトルと屈折ベクトルのそれぞれ1回ずつの演算だけで済み、演算量を少なくすることができる。しかしながら、このような処理を行うと、不完全な画像しか得ることができない。
【0056】
そこで、図8(C)に示すように、透明度が予め設定してある所定の基準値より大きい(より透明に近い)オブジェクトに関しては、遠くから順番に描画するが、既に描画された画素の色とブレンドしながら描画を行うようにすることで、正確ではないが、比較的高速に透明感のある描画を行うことができる。
【0057】
この透明なオブジェクトの描画処理においては、屈折レイの計算は省略され、シャドーレイと反射レイの計算だけが行われる。屈折レイの計算時には、そのレイと他のオブジェクトとの衝突判定が必要になるため、αブレンディングの計算に較べて非常に重い処理となる。従って、この屈折レイの計算とαブレンディングの計算のその分だけ処理を迅速に行うことが可能となる。
【0058】
このように、この例では、第2のレイの計算を中止しておいて、奥にあるオブジェクトから順番に描画しながら、単純にその上に透明なオブジェクトを重ねて、色のαブレンディングを行っていく。このような方法で正しく描画ができるのは、透明なオブジェクトが視線に対して垂直なため、屈折光が曲がらない場合であり、入射角が大きいか、屈折角が大きいときほど、誤差が大きくなるが、それらの点が小さい場合には、その誤差は無視することができる。
【0059】
このようなαブレンディングによる方法を用いると、透明なオブジェクトの重なりが多くなるにつれて、図8(A)に示した完全な方法に較べて、重い演算の数が1/2に近付いてくるので、それだけより迅速な処理が可能となる。
【0060】
図5に戻って、ステップS26で、色の合成処理を行った後、ステップS27に進み、DDA3は、ステップS26で合成した色をフレームバッファ7に書き込ませる。このとき、DDA3は、アンチエリアシング処理を行う。この処理の詳細は、図9のフローチャートに示されている。
【0061】
すなわち、DDA3は、最初に、ステップS51において、フレームバッファ7とカバレージバッファ23の記憶値(Coverage Buffer)をクリアし、ステップS52において、対象画素のカバレージ(Coverage)を計算する。例えば、図10(A)に示すように、手前のトライアングルAが対象画素の面積のうち、80%をカバーしているとすると、Coverageは80とされる。
【0062】
次に、ステップS53において、DDA3は、次式を演算する。
Limit=100%−Coverage Buffer
【0063】
いまの場合、ステップS51において、カバレージバッファの値は0にクリアされているので、Limitは100となる。
【0064】
次に、ステップS54において、ステップS53で計算されたLimitの値が、ステップS52で計算されたCoverageの値より小さいか否かが判定される。いまの場合、Limit=100であり、Coverage=80であるため、NOの判定が行われる。そこで、次に、ステップS56において、DDA3は、ステップS52で計算されたCoverageの値に、対象としているトライアングルの画素の色Caを乗算し、その乗算結果Ca×80%をフレームバッファ7に出力し、値FBとして記憶させる。
【0065】
次に、ステップS57において、カバレージバッファ23に、ステップS52で計算されたCoverageの値を加算させる。いまの場合、Coverage Bufferの値は、ステップS51で最初にクリアされているので、ステップS52で計算された値80がCoverage Bufferに設定される。
【0066】
次に、ステップS58に進み、その画素に含まれるトライアングルについての演算が全て終了したか否かが判定される。図10の例の場合、図10(B)に示すように、対象画素には、後方のトライアングルBも存在しているため、ここでNOの判定が行われ、ステップS52に戻る。
【0067】
ステップS52においては、対象画素でのトライアングルBのCoverageが計算される。いまの場合、トライアングルBの対象画素に占める面積は40%であるので、Coverageとして40が設定される。
【0068】
次に、ステップS53において、
Limit=100%−Coverage Buffer
が演算される。いまの場合、ステップS57において、Coverage Bufferに80が設定されているため、Limit=20となる。
【0069】
次に、ステップS54に進み、LimitとCoverageの値が比較される。いまの場合、Limit=20、Coverage=40であるため、YESの判定が行われ、ステップS55に進む。ステップS55において、DDA3は、CoverageにLimitの値を設定する。すなわち、いまの場合、Coverageに20が設定される。
【0070】
次に、ステップS56に進み、DDA3は、Coverageに画素の色を乗算する。いまの場合、Coverage=20%であり、対象画素の色はCbであるから、20%×Cbが演算される。そして、演算された値が、フレームバッファ7の対応する画素の位置に加算される。上述した処理により、フレームバッファ7には、既に80%×Caが記録されているため、結局、この対象画素の色Cpは、次式で設定されることになる。
Cp=80%×Ca+20%×Cb
【0071】
すなわち、図10(C)に示すように、トライアングルAとトライアングルBの対象画素において占める面積の割合に応じて、対象画素の色が重み付けされることになる。
【0072】
次に、ステップS57において、Coverage Bufferに、ステップS52で演算されたCoverageの値が加算される。Coverage Bufferには、既に80の値が記憶されているため、そこにさらに20の値が加算され、Coverage Bufferには、100が設定される。
【0073】
次に、ステップS58に進み、全てのピクセルの重み付け処理を行ったか否かが判定される。いまの場合、全てのトライアングルの重み付け処理が終了したので、処理が終了される。
【0074】
このような重み付け処理が行われた後、図5に戻って、ステップS28において、CRTC8は、フレームバッファ7に記憶されている画像データを読み出し、これを表示信号に変換して、ディスプレイ9に出力し、表示させる。
【0075】
図11は、さらに他の構成例を表している。この構成例においては、図4におけるZバッファ4が省略されている。その他の構成は、図4における場合と同様である。
【0076】
すなわち、この例においては、図4におけるZバッファ4を用いずに補間処理が実行されるようになされている。その他の構成は、図4における場合と同様である。
【0077】
図12は、図11の構成例の処理例を表している。そのステップS71乃至ステップS77の処理は、基本的に、図5のステップS21乃至ステップS28の処理と同様の処理であるが、図5のステップS24のZバッファ4における判定処理が省略されている。また、図4の構成例においては、DDA3が、ステップS23において、手前のトライアングルから順番に補間処理を行うようにしているが、図11の構成例においては、DDA3が、ステップS73において、奥のトライアングルから順番に補間処理を行うようにしている。その他の処理は、図5における場合と同様である。
【0078】
このように処理しても、トライアングルの重なりが少ない場合には、第1の例による演算処理は減少しているので、全体的に高速に画像データを得ることが可能である。
【0079】
図13は、さらに他の構成例を表している。この構成例においては、図4におけるトライアングルソート部2とソートバッファ3が省略された構成とされている。その他の構成は、図4における場合と同様である。
【0080】
図14は、図13の構成例の処理例を表している。そのステップS91乃至ステップS97の処理は、基本的に、図5のステップS21乃至ステップS28の処理と同様の処理である。但し、図5のステップS22のトライアングルのz座標の代表値を元にトライアングルをソートする処理が省略されている。
【0081】
すなわち、この例の場合には、ステップS93において、Zバッファ4の記憶値を用いて、各トライアングルの画素のz方向の判定処理が行われる。図15(A)に示すように、最初に、より手前の白の三角形Aがフレームバッファ7に既に描画された後、次に、図15(B)に示すように、白の三角形より奥の黒の三角形Bが描画されるとき、図中白い丸印で示す手前側の三角形の画素については、第2のレイの計算処理は行われない。その他の処理は、図5における場合と同様である。
【0082】
なお、図15(C)は、フレームバッファ7上の、最初に手前のトライアングルAを描画した後、次に奥側のトライアングルBを描画している途中の状態を表している。
【0083】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものとする。
【0084】
なお、上記したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【0085】
【発明の効果】
以上の如く、本発明によれば、3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データの表面の内部の画素データを補間するようにしたので、より迅速に画像データを生成することが可能となる。
【図面の簡単な説明】
【図1】本発明の画像処理装置の構成例を示すブロック図である。
【図2】図1の装置の動作を説明するフローチャートである。
【図3】図1の装置の動作を説明する図である。
【図4】本発明の画像処理装置の他の構成例を示すブロック図である。
【図5】図4の装置の動作を説明するフローチャートである。
【図6】互いに交差するオブジェクトを描画する動作を説明する図である。
【図7】衝突判定を説明する図である。
【図8】透明物体を描画する処理を説明する図である。
【図9】アンチエリアシング処理を説明するフローチャートである。
【図10】アンチエリアシング処理を説明する図である。
【図11】本発明の画像処理装置の他の構成例を示すブロック図である。
【図12】図11の装置の動作を説明するフローチャートである。
【図13】本発明の画像処理装置のさらに他の構成例を示すブロック図である。
【図14】図13の装置の動作を説明するフローチャートである。
【図15】Zバッファの動作を説明する図である。
【図16】従来のレイトレーシング方式を説明する図である。
【符号の説明】
1 パーソナルコンピュータ, 3 DDA, 4 Zバッファ, 5 プリトレースバッファ, 6 レイトレーサ, 7 フレームバッファ, 8 CRTコントローラ, 9 ディスプレイ, 21 トライアングルソート部, 22 ソートバッファ, 23 カバレージバッファ
Claims (18)
- レイトレーシング方式により3次元座標空間上の複数のオブジェクトのスクリーン上の画像データを生成する画像処理装置において、
前記3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力手段と、
前記スクリーン座標系の画像データから、前記表面の内部の画素データを補間する補間手段と、
前記補間手段により補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正手段と、
前記補正手段により補正された画素データを描画する描画手段と
を備えることを特徴とする画像処理装置。 - レイトレーシング方式により3次元座標空間上の複数のオブジェクトのスクリーン上の画像データを生成する画像処理装置の画像処理方法において、
前記3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、
前記スクリーン座標系の画像データから、前記表面の内部の画素データを補間する補間ステップと、
前記補間ステップで補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正ステップと、
前記補正ステップで補正された画素データを描画する描画ステップと
を含むことを特徴とする画像処理方法。 - レイトレーシング方式により3次元座標空間上の複数のオブジェクトのスクリーン上の画像データを生成する画像処理装置に、
前記3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、
前記スクリーン座標系の画像データから、前記表面の内部の画素データを補間する補間ステップと、
前記補間ステップで補間された画素データを、それに対応するレイによるレイトレーシングの成分を演算して補正する補正ステップと、
前記補正ステップで補正された画素データを描画する描画ステップと
を含むことを特徴とするプログラムを提供する提供媒体。 - レイトレーシング方式により3次元座標空間上の複数のオブジェクトのスクリーン上の画像データを生成する画像処理装置において、
第1のレイによるレイトレーシングに代えて、前記3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力手段と、
前記スクリーン座標系の画像データから、前記表面の内部の画素データを補間する補間手段と、
前記補間手段により補間された画素データを、それに対応する第2のレイによるレイトレーシングの成分を演算して補正する補正手段と、
前記補正手段により補正された画素データを描画する描画手段と
を備えることを特徴とする画像処理装置。 - 前記補間手段により補間された画素データの奥行き方向の座標を基に、最も手前にある画素データを検索し、記憶する記憶手段を
さらに備えることを特徴とする請求項4に記載の画像処理装置。 - 前記オブジェクトの表面の代表的な奥行き座標を基に、前記オブジェクトの表面をソートするソート手段をさらに備え、
前記補正手段は、前記ソート手段によりソートされた順序で、奥から順番に、前記第2のレイによるレイトレーシングの成分を演算して補正処理を行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記補間手段は、補間演算ごとに、その奥行き座標を記憶し、
前記補正手段は、前記補間手段に記憶されている奥行き座標を基に、前記第2のレイによるレイトレーシングの成分を演算して補正処理を行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記3次元座標空間上のオブジェクトの表面の画像は、トライアングルである
ことを特徴とする請求項4に記載の画像処理装置。 - 前記オブジェクトの表面の代表的な奥行き座標を基に、前記オブジェクトの表面をソートするソート手段をさらに備え、
前記補間手段は、前記ソート手段によりソートされた順序で、手前から順番に補間演算を行い、各画素の補間演算ごとに、その奥行き座標を記憶し、
前記補正手段は、前記補間手段に記憶されている奥行き座標を基に、前記第2のレイによるレイトレーシングの成分を演算して補正処理を行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記補間手段と補正手段は、手前に位置する他の前記オブジェクトの表面が既に描画されている場合、その処理をスキップする
ことを特徴とする請求項4に記載の画像処理装置。 - 前記補間手段は、透明度が所定の基準値以下の前記オブジェクトについては、第2のレイまでの処理を行い、透明度が前記基準値より大きい前記オブジェクトについては、前記透明度が前記基準値以下の前記オブジェクトに衝突するまで、より高次のレイの処理を行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記補正手段は、前記補間手段による補間演算された画素の反射ベクトルまたは屈折ベクトルの値が、所定の基準値以下のとき、その画素の補正を行わない
ことを特徴とする請求項4に記載の画像処理装置。 - 前記補正手段は、影を生成する処理を行う場合、または反射もしくは屈折レイの処理を行う場合において、複数の前記オブジェクトとの衝突判定を順次行うとき、所定のスパンにおいて、直前の画素が衝突した前記オブジェクトとの衝突判定を最初に行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記補正手段は、影を生成する処理を行う場合、反射もしくは屈折レイの処理は第2のレイまで行い、シャドウレイの処理は、第3のレイまで行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記描画手段は、前記オブジェクトの透明度が所定の基準値より大きいとき、奥から順番に描画するとともに、既に描画されている画素とブレンドする
ことを特徴とする請求項4に記載の画像処理装置。 - 前記描画手段は、1つの画素に複数の前記オブジェクトが対応する場合、前記画素を覆う面積に基づいて重み付けを行う
ことを特徴とする請求項4に記載の画像処理装置。 - レイトレーシング方式により3次元座標空間上の複数のオブジェクトのスクリーン上の画像データを生成する画像処理装置の画像処理方法において、
第1のレイによるレイトレーシングに代えて、前記3次元座標空間上のオブジェクトの表面の画像をスクリーンに投影することにより生成されたスクリーン座標系の画像データを出力する出力ステップと、
前記スクリーン座標系の画像データから、前記表面の内部の画素データを補間する補間ステップと、
前記補間ステップで補間された画素データを、それに対応する第2のレイによるレイトレーシングの成分を演算して補正する補正ステップと、
前記補正ステップで補正された画素データを描画する描画ステップと
を含むことを特徴とする画像処理方法。 - レイトレーシング方式により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 JP2000020746A (ja) | 2000-01-21 |
JP2000020746A5 JP2000020746A5 (ja) | 2005-10-20 |
JP4078716B2 true 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) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6580425B1 (en) * | 2000-02-28 | 2003-06-17 | Mitsubishi Electric Research Laboratories, Inc. | Hierarchical data structures for surface elements |
JP4698032B2 (ja) * | 2001-01-12 | 2011-06-08 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
WO2006119603A1 (en) | 2005-05-11 | 2006-11-16 | Optosecurity Inc. | 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 |
US7884819B2 (en) * | 2006-09-27 | 2011-02-08 | International Business Machines Corporation | Pixel color accumulation in a ray tracing image processing system |
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 |
KR101536197B1 (ko) | 2008-02-27 | 2015-07-13 | 삼성전자주식회사 | 3차원 영상 프로세서 및 프로세싱 방법 |
US8379022B2 (en) * | 2008-09-26 | 2013-02-19 | Nvidia Corporation | Fragment shader for a hybrid raytracing system and method of operation |
US8350846B2 (en) * | 2009-01-28 | 2013-01-08 | International Business Machines Corporation | Updating ray traced acceleration data structures between frames based on changing perspective |
KR101585998B1 (ko) * | 2009-11-10 | 2016-01-15 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
JP2012181825A (ja) * | 2011-02-09 | 2012-09-20 | Canon Inc | 画像処理装置およびその方法 |
EP2753920B1 (en) | 2011-09-07 | 2018-04-04 | Rapiscan Systems, Inc. | X-ray inspection system that integrates manifest data with imaging/detection processing |
KR20170034727A (ko) | 2015-09-21 | 2017-03-29 | 삼성전자주식회사 | 그림자 정보 저장 방법 및 장치, 3d 렌더링 방법 및 장치 |
US10614614B2 (en) | 2015-09-29 | 2020-04-07 | Adshir Ltd. | Path tracing system employing distributed accelerating structures |
WO2017100487A1 (en) * | 2015-12-11 | 2017-06-15 | Jingyi Yu | Method and system for image-based image rendering using a multi-camera and depth camera array |
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 |
GB2564038B (en) | 2016-02-22 | 2021-11-10 | 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 |
GB2599186B (en) * | 2021-03-23 | 2022-10-12 | 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 |
GB2599185B (en) * | 2021-03-23 | 2022-08-24 | Imagination Tech Ltd | Intersection testing in a ray tracing system |
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
Also Published As
Publication number | Publication date |
---|---|
US6621925B1 (en) | 2003-09-16 |
JP2000020746A (ja) | 2000-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4078716B2 (ja) | 画像処理装置および方法、並びに提供媒体 | |
Chan et al. | Rendering Fake Soft Shadows with Smoothies. | |
JP2000020746A5 (ja) | ||
EP0638875B1 (en) | A 3-dimensional animation generating apparatus and a method for generating a 3-dimensional animation | |
US10586375B2 (en) | Hybrid raytracing approach for modeling light reflection | |
JPH0581438A (ja) | 三次元ソリツド対象物を表現する表示可能情報を発生する装置と方法 | |
US20200357167A1 (en) | Systems and methods for ray-traced shadows of transparent objects | |
JPH0273479A (ja) | 図形処理装置 | |
US6271848B1 (en) | Image processing device, image processing method and storage medium for storing image processing programs | |
EP0782105B1 (en) | Processing image data | |
US20040056858A1 (en) | Image generating method, storage medium, image generating apparatus, data signal and program | |
US10621774B2 (en) | Systems and methods for rendering reflections | |
US20030184546A1 (en) | Image processing method | |
US10796474B2 (en) | Systems and methods for rendering reflections | |
US10818079B2 (en) | Systems and methods for rendering reflections | |
US5499324A (en) | Graphic display apparatus with improved shading capabilities | |
US6590582B1 (en) | Clipping processing method | |
CN110874858B (zh) | 用于渲染反射的***和方法 | |
US5872570A (en) | Method and apparatus for use in generating a rendering order for use in rendering images | |
JPH0772915B2 (ja) | 図形シェーディング装置 | |
JP2952585B1 (ja) | 画像生成方法 | |
Hamza | Realistic Shadows In Computer Graphics | |
JP2007299080A (ja) | 画像生成方法及び画像生成装置 | |
Talton et al. | Voronoi rasterization of sparse point sets | |
JPH0345428B2 (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 |