JPH05303652A - レイトレーシング方法及びグラフィック表示装置 - Google Patents
レイトレーシング方法及びグラフィック表示装置Info
- Publication number
- JPH05303652A JPH05303652A JP10777592A JP10777592A JPH05303652A JP H05303652 A JPH05303652 A JP H05303652A JP 10777592 A JP10777592 A JP 10777592A JP 10777592 A JP10777592 A JP 10777592A JP H05303652 A JPH05303652 A JP H05303652A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- pixel
- ray
- intersecting
- stored
- 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.)
- Withdrawn
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】グラフィック表示装置におけるレイトレーシン
グ方式に関し、レイトレーシングアルゴリズムにおける
交差判定の処理を既存のハードウェアを利用して効率よ
く行ない、レイトレーシングを高速化することを目的と
する。 【構成】その表示内容を決定しようとする画素を通過す
る視線と最初に交差する物体を、Zバッファアルゴリズ
ムで探索する第一のステップと、視線と交差物体との交
点から伸びる反射視線又は透過視線を新たな視線とし
て、この視線と最初に交差する物体を、Zバッファアル
ゴリズムで探索する第二のステップとを含むことにより
構成する。
グ方式に関し、レイトレーシングアルゴリズムにおける
交差判定の処理を既存のハードウェアを利用して効率よ
く行ない、レイトレーシングを高速化することを目的と
する。 【構成】その表示内容を決定しようとする画素を通過す
る視線と最初に交差する物体を、Zバッファアルゴリズ
ムで探索する第一のステップと、視線と交差物体との交
点から伸びる反射視線又は透過視線を新たな視線とし
て、この視線と最初に交差する物体を、Zバッファアル
ゴリズムで探索する第二のステップとを含むことにより
構成する。
Description
【0001】
【産業上の利用分野】本発明は、グラフィック表示装置
におけるレイトレーシング方式に関する。近年、コンピ
ュータを用いて三次元画像を生成する技術がより広く普
及し、その利用者はより写実感のある画像を必要として
いる。精巧な画像を得たい場合には、物体の反射・透過
性、影などの光学的効果を表現し、更にアンチエリアジ
ングを簡単に取り込めるレイトレーシングの手法が、非
常に良く使用されている。
におけるレイトレーシング方式に関する。近年、コンピ
ュータを用いて三次元画像を生成する技術がより広く普
及し、その利用者はより写実感のある画像を必要として
いる。精巧な画像を得たい場合には、物体の反射・透過
性、影などの光学的効果を表現し、更にアンチエリアジ
ングを簡単に取り込めるレイトレーシングの手法が、非
常に良く使用されている。
【0002】しかし、レイトレーシングは、今日使われ
ているレンダリングアルゴリズムの中で、最も長い処理
時間を必要とするため、このレイトレーシングを使用す
る場合には、いかに効率の良い手段を用いて画像を生成
するかが、大きな課題となっている。
ているレンダリングアルゴリズムの中で、最も長い処理
時間を必要とするため、このレイトレーシングを使用す
る場合には、いかに効率の良い手段を用いて画像を生成
するかが、大きな課題となっている。
【0003】
【従来の技術】図5は、レイトレーシングの原理を説明
する図である。レイトレーシングにおいては、まず視点
からスクリーン30上の一点に向けて視線(以下、「レ
イ」という。)を出し、その先に物体が存在するか否か
を探索する。そして、物体が存在するならば、その物体
31の材質、表面状態などから、スクリーン30上のそ
の一点の輝度を計算する。
する図である。レイトレーシングにおいては、まず視点
からスクリーン30上の一点に向けて視線(以下、「レ
イ」という。)を出し、その先に物体が存在するか否か
を探索する。そして、物体が存在するならば、その物体
31の材質、表面状態などから、スクリーン30上のそ
の一点の輝度を計算する。
【0004】続いて、スクリーン30上の別の一点に向
けてレイを出し、同様にその一点の輝度を計算する。こ
の手続きをスクリーン30上の全ての点について行な
う。探索して得られる物体31からは、更に反射レイや
透過レイが出るので、これらのレイと交差する物体につ
いても探索を行なう。
けてレイを出し、同様にその一点の輝度を計算する。こ
の手続きをスクリーン30上の全ての点について行な
う。探索して得られる物体31からは、更に反射レイや
透過レイが出るので、これらのレイと交差する物体につ
いても探索を行なう。
【0005】原理は上記の通りだが、その手順を簡単に
まとめると、 視点、スクリーンの位置を決定する。 スクリーンにおいて輝度を決定しようとする画素(ピ
クセル)を定める。 視点からピクセル直線(レイ)を伸ばす。 レイと交差する物体を探索する(交差判定)。 レイと物体とが交差する場合、その交点における照明
効果や物体の材質等を考慮してピクセルの輝度を決定す
る。 物体の反射率、透過率に応じて最初に交点がある場所
から更にレイを伸ばして同様に交差判定を行なう。
まとめると、 視点、スクリーンの位置を決定する。 スクリーンにおいて輝度を決定しようとする画素(ピ
クセル)を定める。 視点からピクセル直線(レイ)を伸ばす。 レイと交差する物体を探索する(交差判定)。 レイと物体とが交差する場合、その交点における照明
効果や物体の材質等を考慮してピクセルの輝度を決定す
る。 物体の反射率、透過率に応じて最初に交点がある場所
から更にレイを伸ばして同様に交差判定を行なう。
【0006】これらの処理の中で大半を占めるのは、
の交差判定の処理であるので、以下、従来から行なわれ
ている交差判定の処理を、具体例を用いて詳述する。ま
ず、視点の座標Vを(Vx ,Vy ,Vz )とし、スクリ
ーン上のピクセル座標Sを(x1 ,y1 ,z1 )とす
る。
の交差判定の処理であるので、以下、従来から行なわれ
ている交差判定の処理を、具体例を用いて詳述する。ま
ず、視点の座標Vを(Vx ,Vy ,Vz )とし、スクリ
ーン上のピクセル座標Sを(x1 ,y1 ,z1 )とす
る。
【0007】すると、レイの方程式は、tをパラメータ
として、 x = Ax t + Vx Y = Ay t + Vy Z = Az t + Vz と表わすことができる。なお、A=(Ax ,Ay ,A
z )は、ピクセル直線(レイ)の方向ベクトルである。
として、 x = Ax t + Vx Y = Ay t + Vy Z = Az t + Vz と表わすことができる。なお、A=(Ax ,Ay ,A
z )は、ピクセル直線(レイ)の方向ベクトルである。
【0008】ここで、レイの方程式が決定したので、ス
クリーンの先に存在するさまざまな物体との交差判定を
行なう。例えば、半径r、中心(x0 ,y0 ,z0 )の
球が存在する場合、この球との交差判定をしてみる。こ
の球の方程式は、 (x−x0)2+(y−y0)2+(z−z0)2=r2 と表わすことができる。
クリーンの先に存在するさまざまな物体との交差判定を
行なう。例えば、半径r、中心(x0 ,y0 ,z0 )の
球が存在する場合、この球との交差判定をしてみる。こ
の球の方程式は、 (x−x0)2+(y−y0)2+(z−z0)2=r2 と表わすことができる。
【0009】この方程式に、レイの方程式を代入する
と、 (Axt+Vx−x0)2+(Ayt+Vy−y0)2+(Azt+Vz−z0)2=r2 となり、これを整理すると、 at2+bt+c=0 となって、2次方程式となる。
と、 (Axt+Vx−x0)2+(Ayt+Vy−y0)2+(Azt+Vz−z0)2=r2 となり、これを整理すると、 at2+bt+c=0 となって、2次方程式となる。
【0010】ただし、 a = Ax2 + Ay2 + Az2 b = 2{ Ax(Vx−x0) + Ay(Vy−y0) + Az(Vz−z0) } c = (Vx−x0)2 + (Vy−y0)2 + (Vz−z0)2 である。
【0011】よって、2次方程式についての判別式を用
いれば、実数解の存在がわかるので、レイと球とが交差
するか否かを判定することができる。また、交点座標の
パラメータtは、前掲した2次方程式を実際に解くこと
で求めることができる。
いれば、実数解の存在がわかるので、レイと球とが交差
するか否かを判定することができる。また、交点座標の
パラメータtは、前掲した2次方程式を実際に解くこと
で求めることができる。
【0012】なお、球の場合には、交点が二つ存在す
る。一つは、レイが球に入る点であり、もう一つは、レ
イが球から出ていく点である。もし、球が不透明なら
ば、レイは球の内部には入らないので、より視点に近い
方のパラメータを使用する。
る。一つは、レイが球に入る点であり、もう一つは、レ
イが球から出ていく点である。もし、球が不透明なら
ば、レイは球の内部には入らないので、より視点に近い
方のパラメータを使用する。
【0013】求めたパラメータtは、視点から球までの
距離を表わしている。もしも、この球が視点に最も近い
位置にある物体であるならば、この球が、そのピクセル
について表示する物体となる。しかし、他の物体であっ
て、視点により近く位置するものが存在する可能性があ
るので、他の物体についても同様に交差判定を行なう。
そして、交差する場合には、視点からの距離を求めて、
遠近を比較する。
距離を表わしている。もしも、この球が視点に最も近い
位置にある物体であるならば、この球が、そのピクセル
について表示する物体となる。しかし、他の物体であっ
て、視点により近く位置するものが存在する可能性があ
るので、他の物体についても同様に交差判定を行なう。
そして、交差する場合には、視点からの距離を求めて、
遠近を比較する。
【0014】このようにして、一つのピクセルに表示す
べき物体を決定することができる。続いて、この交差判
定の処理を、別のピクセルについて行なう。ここでの処
理においても、さまざまな物体とレイとの交点の探索が
行なわれる。結局、この探索は、スクリーン上の全ての
ピクセルについて行なうことになる。
べき物体を決定することができる。続いて、この交差判
定の処理を、別のピクセルについて行なう。ここでの処
理においても、さまざまな物体とレイとの交点の探索が
行なわれる。結局、この探索は、スクリーン上の全ての
ピクセルについて行なうことになる。
【0015】
【発明が解決しようとする課題】上述したように、一つ
のピクセルについての交差判定の計算は、スクリーンの
先に存在する多くの物体に対して行なわなくてはならな
い。従って、この交差判定の計算を全てのピクセルにつ
いて行なうと、その計算時間が膨大なものになるという
問題点があった。
のピクセルについての交差判定の計算は、スクリーンの
先に存在する多くの物体に対して行なわなくてはならな
い。従って、この交差判定の計算を全てのピクセルにつ
いて行なうと、その計算時間が膨大なものになるという
問題点があった。
【0016】本発明は、このような従来の問題点に鑑
み、レイトレーシングアルゴリズムにおいて、現在75
%〜95%の時間を占めている交差判定の処理を、既存
のハードウェアを利用して効率よく行なうことにより、
レイトレーシングを高速化することを目的とする。
み、レイトレーシングアルゴリズムにおいて、現在75
%〜95%の時間を占めている交差判定の処理を、既存
のハードウェアを利用して効率よく行なうことにより、
レイトレーシングを高速化することを目的とする。
【0017】
【課題を解決するための手段】本発明によれば、上述の
目的は、前記特許請求の範囲に記載した手段にて達成さ
れる。
目的は、前記特許請求の範囲に記載した手段にて達成さ
れる。
【0018】すなわち、請求項1の発明は、さまざまな
形状、材質、色彩を有する物体を描画するグラフィック
表示装置のある画素に表示する内容を決定する場合にお
いて、その画素を通過する視線と最初に交差する物体
を、Zバッファアルゴリズムで探索する第一のステップ
と、視線と交差物体との交点から伸びる反射視線又は透
過視線を新たな視線として、この視線と最初に交差する
物体を、Zバッファアルゴリズムで探索する第二のステ
ップとを含むレイトレーシング方法である。
形状、材質、色彩を有する物体を描画するグラフィック
表示装置のある画素に表示する内容を決定する場合にお
いて、その画素を通過する視線と最初に交差する物体
を、Zバッファアルゴリズムで探索する第一のステップ
と、視線と交差物体との交点から伸びる反射視線又は透
過視線を新たな視線として、この視線と最初に交差する
物体を、Zバッファアルゴリズムで探索する第二のステ
ップとを含むレイトレーシング方法である。
【0019】また、請求項2の発明は、さまざまな形
状、材質、色彩を有する物体を描画するグラフィック表
示装置において、各画素に表示する、前記第一のステッ
プで得た交差物体を特定する情報を格納する第一のバッ
ファと、ある画素に描画される物体の表示内容に影響を
与える、前記第二のステップで得た交差物体を特定する
情報を格納する第二のバッファと、Zバッファアルゴリ
ズムに使用するZバッファとを設けるグラフィック表示
装置である。
状、材質、色彩を有する物体を描画するグラフィック表
示装置において、各画素に表示する、前記第一のステッ
プで得た交差物体を特定する情報を格納する第一のバッ
ファと、ある画素に描画される物体の表示内容に影響を
与える、前記第二のステップで得た交差物体を特定する
情報を格納する第二のバッファと、Zバッファアルゴリ
ズムに使用するZバッファとを設けるグラフィック表示
装置である。
【0020】本発明では、スクリーンの一つのピクセル
上のレイと交差する物体を探索するのにZバッファアル
ゴリズムを使用する。図6は、Zバッファアルゴリズム
を説明するための図である。図6において、画像処理装
置40のフレームバッファ42とZバッファ43とは、
スクリーンサイズの配列を有している。
上のレイと交差する物体を探索するのにZバッファアル
ゴリズムを使用する。図6は、Zバッファアルゴリズム
を説明するための図である。図6において、画像処理装
置40のフレームバッファ42とZバッファ43とは、
スクリーンサイズの配列を有している。
【0021】フレームバッファ42は、各ピクセルの輝
度を格納するものであり、また、Zバッファ43は、各
ピクセルのZ値(奥行き値)を格納するものである。画
像生成部41は、スクリーン上での表示範囲を調べると
共に、その中でピクセル毎に前のZ値と、今回表示しよ
うとしている物体のZ値とを比較する。
度を格納するものであり、また、Zバッファ43は、各
ピクセルのZ値(奥行き値)を格納するものである。画
像生成部41は、スクリーン上での表示範囲を調べると
共に、その中でピクセル毎に前のZ値と、今回表示しよ
うとしている物体のZ値とを比較する。
【0022】後者のZ値の方が小さい場合には、フレー
ムバッファ42の輝度値並びにZバッファ43のZ値と
を更新する。後者のZ値の方が大きい場合には、更新は
行なわない。こうすることで、視点から見て一番手前の
物体の輝度値のみがフレームバッファ42に格納され
る。
ムバッファ42の輝度値並びにZバッファ43のZ値と
を更新する。後者のZ値の方が大きい場合には、更新は
行なわない。こうすることで、視点から見て一番手前の
物体の輝度値のみがフレームバッファ42に格納され
る。
【0023】上記したZバッファアルゴリズムは、メモ
リ空間をたくさん使用するが、一度物体を表示したらそ
のデータを記憶しなくてよいという利点があるため、数
多くのハードウェアが製造されている。
リ空間をたくさん使用するが、一度物体を表示したらそ
のデータを記憶しなくてよいという利点があるため、数
多くのハードウェアが製造されている。
【0024】
【作用】図1は、本発明の原理説明図である。図1にお
いて、Zバッファと、フレームバッファと、Pバッファ
Iとは、スクリーンサイズの5×5の配列を有してお
り、それぞれの升目は、一つのピクセルに対応してい
る。一方のPバッファIIは、物体の番号を階層的に格納
できる構成をしている。
いて、Zバッファと、フレームバッファと、Pバッファ
Iとは、スクリーンサイズの5×5の配列を有してお
り、それぞれの升目は、一つのピクセルに対応してい
る。一方のPバッファIIは、物体の番号を階層的に格納
できる構成をしている。
【0025】まず、スクリーン上における各物体の表示
範囲を調べ、ピクセル毎に、視点に対して一番手前にあ
る物体の番号をPバッファIに格納する。このとき、Z
バッファを参照して、Z値が最も小さい物体の番号を得
るようにする。PバッファIに格納した物体は、各ピク
セル上のレイと最初に交差する物体を示している。
範囲を調べ、ピクセル毎に、視点に対して一番手前にあ
る物体の番号をPバッファIに格納する。このとき、Z
バッファを参照して、Z値が最も小さい物体の番号を得
るようにする。PバッファIに格納した物体は、各ピク
セル上のレイと最初に交差する物体を示している。
【0026】続いて、PバッファIの各ピクセル毎に、
その物体の属性を調べ、反射や透過によって新たなレイ
が発生するかどうかを判定する。もし、新たなレイを発
生する場合、物体と入射レイの交点を算出して、その点
を新たな視点とする。そして、物体のスクリーン上での
表示範囲を調べる。
その物体の属性を調べ、反射や透過によって新たなレイ
が発生するかどうかを判定する。もし、新たなレイを発
生する場合、物体と入射レイの交点を算出して、その点
を新たな視点とする。そして、物体のスクリーン上での
表示範囲を調べる。
【0027】更に交差物体があれば、その物体の番号を
PバッファIIに格納する。以降、この作業をレイと交差
物体がなくなるまで何回か繰り返す。なお、このとき検
出した交差物体は、すべてPバッファIIに格納する。こ
うして、PバッファIIには、PバッファIのある一つの
ピクセルの表示内容に効果を与えることとなる、いくつ
かの物体の番号が、階層的に格納される。
PバッファIIに格納する。以降、この作業をレイと交差
物体がなくなるまで何回か繰り返す。なお、このとき検
出した交差物体は、すべてPバッファIIに格納する。こ
うして、PバッファIIには、PバッファIのある一つの
ピクセルの表示内容に効果を与えることとなる、いくつ
かの物体の番号が、階層的に格納される。
【0028】図1において、PバッファIに格納されて
いる番号”1”の物体は、レイを反射及び透過させるも
のである。従って、新たなレイが二本発生するが、これ
らは番号”5”の物体と、番号”6”の物体とにそれぞ
れ交差する。これは、PバッファIIに格納されている情
報を参照することでわかる。
いる番号”1”の物体は、レイを反射及び透過させるも
のである。従って、新たなレイが二本発生するが、これ
らは番号”5”の物体と、番号”6”の物体とにそれぞ
れ交差する。これは、PバッファIIに格納されている情
報を参照することでわかる。
【0029】番号”5”の物体と番号”6”の物体は、
更にレイを発生し、これらのレイは他の物体と交差する
こととなるが、このときの交差物体の情報もPバッファ
IIに格納されている。PバッファIの一つのピクセルに
関する情報は、このようにしてねずみ算的に増えていく
が、これらの情報は全て、PバッファIIに格納されてい
る。
更にレイを発生し、これらのレイは他の物体と交差する
こととなるが、このときの交差物体の情報もPバッファ
IIに格納されている。PバッファIの一つのピクセルに
関する情報は、このようにしてねずみ算的に増えていく
が、これらの情報は全て、PバッファIIに格納されてい
る。
【0030】フレームバッファの各ピクセルに輝度を格
納する場合には、PバッファI及びPバッファIIを参照
して、交差する物体が有する輝度に関する情報を、随時
足しこんでいく。そして、レイが発生しなくなったと
き、最終的にそのピクセルの輝度を決定し、格納を行な
う。
納する場合には、PバッファI及びPバッファIIを参照
して、交差する物体が有する輝度に関する情報を、随時
足しこんでいく。そして、レイが発生しなくなったと
き、最終的にそのピクセルの輝度を決定し、格納を行な
う。
【0031】
【実施例】図2は、本発明の実施例を示す図である。図
2において、まず最初に視点1、スクリーン2に、ユー
ザーが定めた値を設定する。画像生成部3は、物体がス
クリーン2に投影されるように座標変換、クリッピング
(特定の表示範囲のみを切り取る)を行なう。それか
ら、ドット展開を行ない、Zバッファ6を参照しながら
Z値が一番小さい物体の番号を、PバッファI4に格納
する。これで、スクリーン2の各ピクセルについて、最
初に交差する物体が判明する。
2において、まず最初に視点1、スクリーン2に、ユー
ザーが定めた値を設定する。画像生成部3は、物体がス
クリーン2に投影されるように座標変換、クリッピング
(特定の表示範囲のみを切り取る)を行なう。それか
ら、ドット展開を行ない、Zバッファ6を参照しながら
Z値が一番小さい物体の番号を、PバッファI4に格納
する。これで、スクリーン2の各ピクセルについて、最
初に交差する物体が判明する。
【0032】続いて、一ピクセル毎に以下の処理を行な
う。レイ発生判定部7は、PバッファI4の一個のピク
セルについて、その番号が示す物体の属性を参照し、更
にその物体からレイを発生させる必要があるかどうかを
判定する。レイ発生判定部7は、例えばその内部に、図
3に示すような物体の属性テーブルを持つものとする。
う。レイ発生判定部7は、PバッファI4の一個のピク
セルについて、その番号が示す物体の属性を参照し、更
にその物体からレイを発生させる必要があるかどうかを
判定する。レイ発生判定部7は、例えばその内部に、図
3に示すような物体の属性テーブルを持つものとする。
【0033】交差物体の透過率、反射率が共にゼロなら
ばレイは発生しないので、この場合には、その交差物体
の輝度を計算し、これと前の輝度とを足したものをその
ピクセルの輝度として、フレームバッファ8への格納を
行なう。透過率、及び反射率が共にゼロでなければ、レ
イを発生するので、この場合には、その交差物体の輝度
を計算し、これと前の輝度とを足したものを内部的に保
持しておく。
ばレイは発生しないので、この場合には、その交差物体
の輝度を計算し、これと前の輝度とを足したものをその
ピクセルの輝度として、フレームバッファ8への格納を
行なう。透過率、及び反射率が共にゼロでなければ、レ
イを発生するので、この場合には、その交差物体の輝度
を計算し、これと前の輝度とを足したものを内部的に保
持しておく。
【0034】交点算出部9は、物体と入射レイとの交点
を算出し、交点と新たに発生するレイ(反射レイ、透過
レイ)からサブスクリーンを生成する。ここで計算され
た交点とサブスクリーンの値は、視点1とスクリーン2
にそれぞれ設定される。
を算出し、交点と新たに発生するレイ(反射レイ、透過
レイ)からサブスクリーンを生成する。ここで計算され
た交点とサブスクリーンの値は、視点1とスクリーン2
にそれぞれ設定される。
【0035】画像生成部3は、新たに設定された視点1
とスクリーン2とをもとに、次の交差物体を探索する。
ここで、最初の交差物体から見て、そのZ値が一番手前
を示す物体の番号をPバッファIIに格納する。視点1か
らは、最大二本のレイ(反射レイ、透過レイ)が出るの
で、一つのピクセルについて二個の物体の番号が一回の
処理で、PバッファIIに格納されることもある。
とスクリーン2とをもとに、次の交差物体を探索する。
ここで、最初の交差物体から見て、そのZ値が一番手前
を示す物体の番号をPバッファIIに格納する。視点1か
らは、最大二本のレイ(反射レイ、透過レイ)が出るの
で、一つのピクセルについて二個の物体の番号が一回の
処理で、PバッファIIに格納されることもある。
【0036】この処理で、交差物体が存在し、更にレイ
が発生することとなった場合には、次の交差物体を探す
こととなる。以降検出される交差物体の情報は、順番に
PバッファIIに格納する。
が発生することとなった場合には、次の交差物体を探す
こととなる。以降検出される交差物体の情報は、順番に
PバッファIIに格納する。
【0037】通常、座標変換をすることにより、物体は
スクリーンの任意の位置に投影される。そして、その結
果が、スクリーンと同じ大きさを持つフレームバッファ
やPバッファなどに書き込まれる。しかし、上述したよ
うに、レイと交差する物体を探していく時には、何度も
繰り返して座標変換を行なうので、従来と同様の方法で
は、何枚ものPバッファを必要とする。
スクリーンの任意の位置に投影される。そして、その結
果が、スクリーンと同じ大きさを持つフレームバッファ
やPバッファなどに書き込まれる。しかし、上述したよ
うに、レイと交差する物体を探していく時には、何度も
繰り返して座標変換を行なうので、従来と同様の方法で
は、何枚ものPバッファを必要とする。
【0038】ところが、一本のレイと交差する物体は一
個であるため、実際にはPバッファの一部分にしか情報
は書き込まれない。本発明においては、交差する物体の
番号を知りたいのであって、二回目以降の座標変換で
は、投影される位置を参照することはない。そこで、本
発明では、座標変換の際に投影された結果を、更に平行
移動させて、他のPバッファ、例えば上述したPバッフ
ァIIに順番に情報を書き込んでいくこととしている。
個であるため、実際にはPバッファの一部分にしか情報
は書き込まれない。本発明においては、交差する物体の
番号を知りたいのであって、二回目以降の座標変換で
は、投影される位置を参照することはない。そこで、本
発明では、座標変換の際に投影された結果を、更に平行
移動させて、他のPバッファ、例えば上述したPバッフ
ァIIに順番に情報を書き込んでいくこととしている。
【0039】この方法により、PバッファIにおける各
ピクセルの情報は、PバッファIIという一枚のバッファ
に格納されることになる。図4は、座標変換のアルゴリ
ズムの一例を示している。図4において、図(a)に示
す物体21をスクリーン20に投影した状態が、図
(b)の左側に示されている。また、図(b)の右側に
示すPバッファIIには、反射レイや透過レイと交差する
物体、例えば物体22などの情報が階層的に格納されて
いる。
ピクセルの情報は、PバッファIIという一枚のバッファ
に格納されることになる。図4は、座標変換のアルゴリ
ズムの一例を示している。図4において、図(a)に示
す物体21をスクリーン20に投影した状態が、図
(b)の左側に示されている。また、図(b)の右側に
示すPバッファIIには、反射レイや透過レイと交差する
物体、例えば物体22などの情報が階層的に格納されて
いる。
【0040】これらの処理は、スクリーンの各ピクセル
に対して、レイ発生判定部から出力されるレイがなくな
るまで繰り返す。レイがなくなったとき、そのピクセル
の輝度が決定するので、これをフレームバッファに書き
込む。フレームバッファの内容は、ディスプレイに表示
される。
に対して、レイ発生判定部から出力されるレイがなくな
るまで繰り返す。レイがなくなったとき、そのピクセル
の輝度が決定するので、これをフレームバッファに書き
込む。フレームバッファの内容は、ディスプレイに表示
される。
【0041】
【発明の効果】以上説明したように、本発明によれば、
複雑な交差判定のための方程式を解くことなく、レイと
物体の交差判定を瞬時に行なうことができる。その際
に、大きなバッファ容量を必要とせず、また既存のハー
ドウェアを利用できるという利点があり、レイトレーシ
ングの処理速度の向上に寄与するところが大きい。
複雑な交差判定のための方程式を解くことなく、レイと
物体の交差判定を瞬時に行なうことができる。その際
に、大きなバッファ容量を必要とせず、また既存のハー
ドウェアを利用できるという利点があり、レイトレーシ
ングの処理速度の向上に寄与するところが大きい。
【図1】本発明の原理説明図である。
【図2】本発明の実施例を示す図である。
【図3】物体の属性テーブルの一例を示す図である。
【図4】座標変換のアルゴリズムの一例を示す図であ
る。
る。
【図5】レイトレーシングの原理を説明する図である。
【図6】Zバッファアルゴリズムを説明するための図で
ある。
ある。
1 視点 2,20,30 スクリーン 3,41 画像生成部 4 PバッファI 5 PバッファII 6,43 Zバッファ 7 レイ発生判定部 8,42 フレームバッファ 9 交点算出部 21,22,31 物体 40 画像処理装置
Claims (2)
- 【請求項1】さまざまな形状、材質、色彩を有する物体
を描画するグラフィック表示装置のある画素に表示する
内容を決定するレイトレーシング方法において、 その画素を通過する視線と最初に交差する物体を、Zバ
ッファアルゴリズムで探索する第一のステップと、 視線と交差物体との交点から伸びる反射視線又は透過視
線を新たな視線として、この視線と最初に交差する物体
を、Zバッファアルゴリズムで探索する第二のステップ
とを含むことを特徴とするレイトレーシング方法。 - 【請求項2】さまざまな形状、材質、色彩を有する物体
を描画するグラフィック表示装置において、 各画素に表示する、前記第一のステップで得た交差物体
を特定する情報を格納する第一のバッファと、 ある画素に描画される物体の表示内容に影響を与える、
前記第二のステップで得た交差物体を特定する情報を格
納する第二のバッファと、 Zバッファアルゴリズムに使用するZバッファとを設け
ることを特徴とするグラフィック表示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10777592A JPH05303652A (ja) | 1992-04-27 | 1992-04-27 | レイトレーシング方法及びグラフィック表示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10777592A JPH05303652A (ja) | 1992-04-27 | 1992-04-27 | レイトレーシング方法及びグラフィック表示装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05303652A true JPH05303652A (ja) | 1993-11-16 |
Family
ID=14467705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10777592A Withdrawn JPH05303652A (ja) | 1992-04-27 | 1992-04-27 | レイトレーシング方法及びグラフィック表示装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05303652A (ja) |
-
1992
- 1992-04-27 JP JP10777592A patent/JPH05303652A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5579454A (en) | Three dimensional graphics processing with pre-sorting of surface portions | |
US4888712A (en) | Guardband clipping method and apparatus for 3-D graphics display system | |
US20010012018A1 (en) | Occlusion culling for complex transparent scenes in computer generated graphics | |
JPH06223201A (ja) | 並列画像生成装置 | |
US6144387A (en) | Guard region and hither plane vertex modification for graphics rendering | |
KR20050050139A (ko) | 2차원 디스플레이 디바이스를 이용하여 가상 3차원디스플레이를 생성하는 방법 및 시스템 | |
JP2750318B2 (ja) | グラフィカル・オブジェクトをインターロックする方法及び装置 | |
KR100700307B1 (ko) | 굴절이 있는 이미지를 렌더링하는 방법 및 장치 | |
US6664957B1 (en) | Apparatus and method for three-dimensional graphics drawing through occlusion culling | |
US20030095137A1 (en) | Apparatus and method for clipping primitives in a computer graphics system | |
JP2003115055A (ja) | 画像生成装置 | |
KR100256472B1 (ko) | 사용자가 정의한 룸 및 윈도우를 이용하는 효율적인 렌더링 | |
EP1139294B1 (en) | Graphical image system and apparatus | |
US6144382A (en) | Three-dimensional arrow for computer graphics | |
KR100295709B1 (ko) | 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템 | |
JPH05303652A (ja) | レイトレーシング方法及びグラフィック表示装置 | |
JP3394067B2 (ja) | 画像発生装置 | |
JP2667949B2 (ja) | ピック事象の処理方法及び処理装置 | |
JP3093444B2 (ja) | グラフィック表示装置 | |
JP2935315B2 (ja) | 三次元図形処理システムにおける図形選択入力方式 | |
JPH05128274A (ja) | 図形表示装置 | |
JPH0773342A (ja) | 画像生成装置 | |
JPH0546782A (ja) | 図形表示装置 | |
JPH0729034A (ja) | 影付け処理装置および画像生成装置 | |
JPH04125787A (ja) | 3次元図形表示処理法、3次元図形表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990706 |