JPS6380378A - 画像生成方法 - Google Patents
画像生成方法Info
- Publication number
- JPS6380378A JPS6380378A JP22479686A JP22479686A JPS6380378A JP S6380378 A JPS6380378 A JP S6380378A JP 22479686 A JP22479686 A JP 22479686A JP 22479686 A JP22479686 A JP 22479686A JP S6380378 A JPS6380378 A JP S6380378A
- Authority
- JP
- Japan
- Prior art keywords
- shadow
- memory
- value
- picture element
- reflection
- 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
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は画像生成方法に関し、特にZ−バッファ法とレ
イトレーシング法の組み合せによる3次元物体の陰影付
き画像の生成方法に関するものである。
イトレーシング法の組み合せによる3次元物体の陰影付
き画像の生成方法に関するものである。
(従来の技術)
従来、この種の画像生成方法は、例えば「情報処理学会
研究報告、Vol、85.No、20.グラフィクスと
CAD研究会報告No、184 (1985) No
、18−4(p、1−9)に開示されたものがあり、以
下その手順を説明する。
研究報告、Vol、85.No、20.グラフィクスと
CAD研究会報告No、184 (1985) No
、18−4(p、1−9)に開示されたものがあり、以
下その手順を説明する。
まず、表示対象となる物体それぞれについて、画像生成
プログラム実行のためのデータを用意する。1シーンの
データの構成を第8図に示す。同図に示すように、一つ
の物体81についてのデータは、その物体を構成する基
本形状についての形状データ82、各基本形状の表面属
性を表す属性データ83、さらに、物体全体を囲むbo
x (ボックス)と呼ばれる直方体の形状データ84
とからなる。これらのデータは、視点を原点とする座標
系で記述されている。視点座標系で見たスクリーンを第
9図に示す。同図において、91は視点、92は視線、
93はZ=−1にあるスクリーンである。なお、スクリ
ーン93を分割した矩形領域をブロック94と呼ぶこと
にする。
プログラム実行のためのデータを用意する。1シーンの
データの構成を第8図に示す。同図に示すように、一つ
の物体81についてのデータは、その物体を構成する基
本形状についての形状データ82、各基本形状の表面属
性を表す属性データ83、さらに、物体全体を囲むbo
x (ボックス)と呼ばれる直方体の形状データ84
とからなる。これらのデータは、視点を原点とする座標
系で記述されている。視点座標系で見たスクリーンを第
9図に示す。同図において、91は視点、92は視線、
93はZ=−1にあるスクリーンである。なお、スクリ
ーン93を分割した矩形領域をブロック94と呼ぶこと
にする。
次に、各物体のboxをスクリーン上に投影する。この
とき、それぞれのブロックに映り込む可能性のある物体
を視点に近い順にソーティングし、そわらの番号をリス
ト(以下ブロックリストと呼ぶ)にしておく。ブロック
に対応して得られるブロックリストの一例を第1θ図(
a) 、 (b)に示す。同図(a)は、物体A 10
1.物体B 102をスクリーン103の各ブロック1
04に投影した状態を示すものである。また、各ブロッ
ク内の数字は、ブロック番号を示す。同図(b)は、同
図(a)の場合のブロックリストである。
とき、それぞれのブロックに映り込む可能性のある物体
を視点に近い順にソーティングし、そわらの番号をリス
ト(以下ブロックリストと呼ぶ)にしておく。ブロック
に対応して得られるブロックリストの一例を第1θ図(
a) 、 (b)に示す。同図(a)は、物体A 10
1.物体B 102をスクリーン103の各ブロック1
04に投影した状態を示すものである。また、各ブロッ
ク内の数字は、ブロック番号を示す。同図(b)は、同
図(a)の場合のブロックリストである。
最後に、それぞれのブロックについて、上で用意してお
いたデータとブロックリストを用い、隠面消去、影付け
、輝度計算、反射・透過の各処理を行い、画像データを
出力する。
いたデータとブロックリストを用い、隠面消去、影付け
、輝度計算、反射・透過の各処理を行い、画像データを
出力する。
以下、これらの処理について詳述する。
■隠面消去
隠面消去を行うには、まず、ブロックリスト中の各物体
について、その物体を構成する基本形状を順次ブロック
に投影する。
について、その物体を構成する基本形状を順次ブロック
に投影する。
次に、ブロック内の各画素について、視線と交点をもつ
基本形状基を調べる。
基本形状基を調べる。
最後に、視点に最も近い交点をもつ基本形状基とその交
点のZ値、および、その交点における法線ベクトルを記
録する。
点のZ値、および、その交点における法線ベクトルを記
録する。
■影付け
まず、各画素に対応する交点に影を落す物体が存在する
かどうかを調べるために、化リストを参照する。化リス
トは、各物体について、光源からの直接光をさえぎる可
能性のある物体基を保持している。この−例として、第
11図(a)に光源(1)Ill。
かどうかを調べるために、化リストを参照する。化リス
トは、各物体について、光源からの直接光をさえぎる可
能性のある物体基を保持している。この−例として、第
11図(a)に光源(1)Ill。
(2)112と物体(A〜D)113〜+16の状態を
示し、第11図(b)に物体A113の化リストを示す
。
示し、第11図(b)に物体A113の化リストを示す
。
次に、化リストから求められた物体の基本形状に対して
、光源と交点を結ぶ直線との交差判定を行う。この影付
は処理の一例を第12図に示す。同図において、121
はスクリーン、122は視線、123は交点、124は
光源、125は物体である。126は、光源124と交
点123を結ぶ直線である。ある光源からの直接光がさ
えぎられている場合には、その光源に対する化フラグを
セットする。
、光源と交点を結ぶ直線との交差判定を行う。この影付
は処理の一例を第12図に示す。同図において、121
はスクリーン、122は視線、123は交点、124は
光源、125は物体である。126は、光源124と交
点123を結ぶ直線である。ある光源からの直接光がさ
えぎられている場合には、その光源に対する化フラグを
セットする。
最後に画素ごとの輝度計算を行う際に、化フラグの立っ
ている画素については、直接光を考慮しないで輝度計算
を行う。
ている画素については、直接光を考慮しないで輝度計算
を行う。
■輝度計算
輝度計算では、ブロックに映り込んだ物体の属性データ
、交点の座標値、法線ベクトルから各画素の輝度を計算
し、出力する。映り込んだ物体が反射・透過属性をもつ
場合には、その画素に対応する反射・透過フラグをセッ
トし、画像データの出力を行わず後段で処理する。
、交点の座標値、法線ベクトルから各画素の輝度を計算
し、出力する。映り込んだ物体が反射・透過属性をもつ
場合には、その画素に対応する反射・透過フラグをセッ
トし、画像データの出力を行わず後段で処理する。
輝度計算は、Whitted (ホヮイテッド)の光源
モデルに基づいており、求める輝度は、R,G、B3構
成をもつベクトルIで表現される。
モデルに基づいており、求める輝度は、R,G、B3構
成をもつベクトルIで表現される。
たたし、
R,G、B:物体の色
ko:周囲光係数
kd:散乱反射係数
にに金属反射係数
θd:入射方向と法線のなす角度
θ、二反射方向と視線のなす角度
L:光源数
n:金属反射指数
上式で、“×”はベクトルの要素ごとの積を表す。
また、第2項、第3項は、影付は処理において求めた化
フラグに基づき、化フラグのたっていない光源について
のみ、直接光による輝度を加算する。
フラグに基づき、化フラグのたっていない光源について
のみ、直接光による輝度を加算する。
■反射・透過
輝度計算後、反射・透過フラグがセットされている画素
について、反射・透過処理を行う。すなわち、各交点を
仮想的に視点とみなし、反射・透過方向の仮想的な視線
に対し隠面消去、影付は処理を繰り返して輝度計算を行
い、その結果とじて得られた画像データを出力する。
について、反射・透過処理を行う。すなわち、各交点を
仮想的に視点とみなし、反射・透過方向の仮想的な視線
に対し隠面消去、影付は処理を繰り返して輝度計算を行
い、その結果とじて得られた画像データを出力する。
輝度計算式は、次式で得られる。
ただし、
k3:反射係数
kt:透過係数
S二反射光による輝度
T:透過光による輝度
(発明が解決しようとする問題点)
以上述べた画像生成方法では、影の有無を知るために、
物体の基本形状と直線との交差判定という比較的時間の
かかる処理を多数回行わなければならない。このため、
影付は処理に多大の処理時間を必要とするという問題点
があった。
物体の基本形状と直線との交差判定という比較的時間の
かかる処理を多数回行わなければならない。このため、
影付は処理に多大の処理時間を必要とするという問題点
があった。
本発明は、上記の欠点を除去するものであって、物体の
基本形状と直線との交差判定を含まない影付は処理によ
る、より高速な画像生成方法を提供することを目的とし
ている。
基本形状と直線との交差判定を含まない影付は処理によ
る、より高速な画像生成方法を提供することを目的とし
ている。
(問題点を解決するための手段)
本発明は前記問題点を解決するために、3次元物体の陰
影付き画像を生成する画像生成方法において、3次元物
体のシャドウポリゴンを生成する第1のステップと、Z
−バッファ法により3次元物体のZ値を含む画素データ
を生成する第2のステップと、前記シャドウポリゴンの
内部の各画素におけるZ値を求め、該Z値と対応する画
素の前記3次元物体のZ値との比較結果に基づいて影付
は処理を行う第3のステップとを有するものである。
影付き画像を生成する画像生成方法において、3次元物
体のシャドウポリゴンを生成する第1のステップと、Z
−バッファ法により3次元物体のZ値を含む画素データ
を生成する第2のステップと、前記シャドウポリゴンの
内部の各画素におけるZ値を求め、該Z値と対応する画
素の前記3次元物体のZ値との比較結果に基づいて影付
は処理を行う第3のステップとを有するものである。
(作用)
本発明は、次のように作用する。第1のステップで3次
元物体(多面体)のシャドウ(Shadow)ポリゴン
が生成され、第2のステップでZ−バッファ法により多
面体のZ値(隠面消去後の値)を含む画素データが生成
される。第3のステップでは、第1のステップで得られ
たシャドウポリゴンの内部の各画素について、Z値が求
められる。そして、求められたZ値と第2のステップの
Z値とを比較することにより影の有無が判定可能となる
。この結果、従来の比較的処理時間のかかる物体の基本
形状と直線との交差判定が不要となるので、影付は処理
を高速に行うことができる。従って、前記従来技術の問
題点を解決できるのである。
元物体(多面体)のシャドウ(Shadow)ポリゴン
が生成され、第2のステップでZ−バッファ法により多
面体のZ値(隠面消去後の値)を含む画素データが生成
される。第3のステップでは、第1のステップで得られ
たシャドウポリゴンの内部の各画素について、Z値が求
められる。そして、求められたZ値と第2のステップの
Z値とを比較することにより影の有無が判定可能となる
。この結果、従来の比較的処理時間のかかる物体の基本
形状と直線との交差判定が不要となるので、影付は処理
を高速に行うことができる。従って、前記従来技術の問
題点を解決できるのである。
(実施例)
第1図は、本発明の方法が適用される一実施例の画像デ
ータ生成システムを示すブロック図である。同図におい
て、1は図形処理部で、人力された図形データ(多面体
、パラメトリック曲面等)をZ−バッファ法、レイトレ
ーシング法により画素データに変換する処理、および、
シャドウ(Shadow)ポリゴンを求める処理を行う
。2は画素処理部で、図形処理部1の出力データに関し
て、Z−バッファメモリ、フレームバッファメモリ、反
射・透過フラグメモリ、化フラグメモリに対し、データ
処理を行う。3はZ−バッファメモリで、各画素のZ値
を記憶する。4はフレームバッファメモリで、各画素の
色情報を記憶する。
ータ生成システムを示すブロック図である。同図におい
て、1は図形処理部で、人力された図形データ(多面体
、パラメトリック曲面等)をZ−バッファ法、レイトレ
ーシング法により画素データに変換する処理、および、
シャドウ(Shadow)ポリゴンを求める処理を行う
。2は画素処理部で、図形処理部1の出力データに関し
て、Z−バッファメモリ、フレームバッファメモリ、反
射・透過フラグメモリ、化フラグメモリに対し、データ
処理を行う。3はZ−バッファメモリで、各画素のZ値
を記憶する。4はフレームバッファメモリで、各画素の
色情報を記憶する。
5は反射・透過フラグメモリで、各画素が反射・透過属
性をもつか否かを記憶する。6は化フラグメモリで、各
画素の影内外判定に用いる。各メモリ3〜6はバス2a
を介して画素処理部2に接続されている。
性をもつか否かを記憶する。6は化フラグメモリで、各
画素の影内外判定に用いる。各メモリ3〜6はバス2a
を介して画素処理部2に接続されている。
第2図は、本発明の動作の概要を示すフローチャートで
ある。
ある。
第3図は、第2図のステップ7の動作を詳細に説明する
ためのもので、シャドウポリゴンの生成動作を示すフロ
ーチャートである。第4図は、第2図のステップ8の動
作を詳細に説明するためのもので、Z−バッファ法によ
る描画動作を示すフローチャートである。第5図は、第
2図のステップ9の動作を詳細に説明するためのもので
、影付は動作を示すフローチャートである。第6図は、
第2図のステップIOの動作を詳細に説明するためのも
ので、レイトレーシング法による描画動作を示すフロー
チャートである。
ためのもので、シャドウポリゴンの生成動作を示すフロ
ーチャートである。第4図は、第2図のステップ8の動
作を詳細に説明するためのもので、Z−バッファ法によ
る描画動作を示すフローチャートである。第5図は、第
2図のステップ9の動作を詳細に説明するためのもので
、影付は動作を示すフローチャートである。第6図は、
第2図のステップIOの動作を詳細に説明するためのも
ので、レイトレーシング法による描画動作を示すフロー
チャートである。
以下、第1図乃至第6図を参照して、本実施例の動作を
説明する。
説明する。
(i)シャドウポリゴンの生成(ステップ7)一つの多
面体ごとに、図形処理部1により、以下の処理を行う。
面体ごとに、図形処理部1により、以下の処理を行う。
まず、多面体を光源座標系に変換しくステップ11)
、この多面体を構成する各面の法線ベクトルの2成分を
求める(ステップ12)。この値の正負から、光源に対
する面の表裏を知ることができる。
、この多面体を構成する各面の法線ベクトルの2成分を
求める(ステップ12)。この値の正負から、光源に対
する面の表裏を知ることができる。
次に、多面体の各稜線の中で、これを共有する面の一方
が表で一方が裏になっているものを探す(ステップ13
)。
が表で一方が裏になっているものを探す(ステップ13
)。
最後に、上で求めた稜線を、多面体の影のできる側に、
光源方向に掃引して、多角形を作る(ステップ14)。
光源方向に掃引して、多角形を作る(ステップ14)。
この多角形を視点座標系に変換する(ステップ15)。
これら、一つの多面体から作られた多角形を一組のシャ
ドウポリゴンとして記憶しておく(ステップ16)。
ドウポリゴンとして記憶しておく(ステップ16)。
(ii)Z−バッファ描画処理(ステップ8)画素処理
部2によって、Z−バッファメモリ3を正の最大値で、
フレームバッファメモリ4を背ノ1#:色で、さらに、
反射・透過フラグメモリ5を“0”で、それぞれ満たし
ておく。
部2によって、Z−バッファメモリ3を正の最大値で、
フレームバッファメモリ4を背ノ1#:色で、さらに、
反射・透過フラグメモリ5を“0”で、それぞれ満たし
ておく。
図形処理部1で、各多面体を視点座標系に変換し、多面
体を構成する各面の内部を補間する。このようにして得
られた各座標において、画像処理部2により、以下の処
理を行う。
体を構成する各面の内部を補間する。このようにして得
られた各座標において、画像処理部2により、以下の処
理を行う。
座標(x、y)におけるZ値Z(x、y)と輝度値1
(x、y)を求める(ステップ17.18)、座標(x
、y)におけるZ−バッファメモリ3の値B (x、y
)と上で求めたZ (x、y)とを比較する(ステップ
19) 。Z (x、 y) <B (x。
(x、y)を求める(ステップ17.18)、座標(x
、y)におけるZ−バッファメモリ3の値B (x、y
)と上で求めたZ (x、y)とを比較する(ステップ
19) 。Z (x、 y) <B (x。
y)のときには、Z (x、y)の値をB (x。
y)に書込み(ステップ20) 、I (x、 y)の
値をフレームバッファメモリ4のF (x、y)に書き
込む(ステップ21)。さらに、多面体表面の属性を調
べ(ステップ22)、反射・透過属性をもっているとき
には、座標(x、y)における反射・透過フラグメモリ
5のM(x、y)に“1”を書き込んでおく(ステップ
23)。Z(x、y)≧B(x、y)のときには、2−
バッファメモリ3、フレームバッファメモリ4ともに内
容を更新せずに処理を終了する。
値をフレームバッファメモリ4のF (x、y)に書き
込む(ステップ21)。さらに、多面体表面の属性を調
べ(ステップ22)、反射・透過属性をもっているとき
には、座標(x、y)における反射・透過フラグメモリ
5のM(x、y)に“1”を書き込んでおく(ステップ
23)。Z(x、y)≧B(x、y)のときには、2−
バッファメモリ3、フレームバッファメモリ4ともに内
容を更新せずに処理を終了する。
(iii)影付は処理(ステップ9)
画素処理部2により、影フラグメモリ6を“O”で満た
しておく。
しておく。
一組のシャドウポリゴンごとに、以下の処理を行う。
図形処理部1により、それぞれのシャドウポリゴンの内
部を補間する。このようにして得られた各座標において
、画素処理部2により、以下の処理を行う。
部を補間する。このようにして得られた各座標において
、画素処理部2により、以下の処理を行う。
座標(x、y)におけるZ値Z(x、y)を求める(ス
テップ24)。対応する画素のZ−バッファメモリ3の
値B (x、y)とZ (x、y)とを比較しくステッ
プ25)、Z (x、y)≦B(x。
テップ24)。対応する画素のZ−バッファメモリ3の
値B (x、y)とZ (x、y)とを比較しくステッ
プ25)、Z (x、y)≦B(x。
y)のとき、影フラグメモリの値S (x、y)を逆転
させる(ステップ26)。Z (x、 y) >B(x
、y)のときには、影フラグメモリの内容をそのままに
しておく。
させる(ステップ26)。Z (x、 y) >B(x
、y)のときには、影フラグメモリの内容をそのままに
しておく。
一組のシャドウポリゴンについての処理が終了したら、
すべての画素について影フラグS (x。
すべての画素について影フラグS (x。
y)の値を調べる。これが“1”のときには、フレーム
バッファメモリ4のF (x、y)に輝度“I8を書き
込み、“0”のときにはF (x、y)の値を更新せず
に処理を終了する。
バッファメモリ4のF (x、y)に輝度“I8を書き
込み、“0”のときにはF (x、y)の値を更新せず
に処理を終了する。
ただし、I8は、物体表面での、環境光による輝度値で
ある。
ある。
(iv)レイトレーシング描画処理(ステップ10)各
画素について、図形処理部1及び画素処理部2により、
以下の処理を行う。
画素について、図形処理部1及び画素処理部2により、
以下の処理を行う。
反射・透過フラグメモリ5の値M(x、y)を調べ(ス
テップ27)、フラグが立っているとき、即ちM (x
、y)=1のときには、以下の処理を行う。
テップ27)、フラグが立っているとき、即ちM (x
、y)=1のときには、以下の処理を行う。
まず、ワールド座標系において、スクリーン上の画素(
x、y)の中心と視点とを結んだ直線を求め(ステップ
28)、反射・透過属性をもつ物体との交点を求める(
ステップ29)。次に、この交点を仮想的な視点とみな
し、反射・透過方向にさらに直線をのばす(ステップ3
0)。この直線と物体との交差判定を行い(ステップ3
I)、交点が存在しなければ、その画素についての処理
を終了する。交点が存在するときには、その点における
輝度値を求め(ステップ、32) 、この値をフレーム
バッファメモリ4のF (x、y)の値に加算して新た
なF (x、y)とする(ステップ33)。さらに、物
体が反射・透過属性をもつか否かを調べ(ステップ34
)、反射・透過属性をもつ場合には、上記の処理を繰り
返す。
x、y)の中心と視点とを結んだ直線を求め(ステップ
28)、反射・透過属性をもつ物体との交点を求める(
ステップ29)。次に、この交点を仮想的な視点とみな
し、反射・透過方向にさらに直線をのばす(ステップ3
0)。この直線と物体との交差判定を行い(ステップ3
I)、交点が存在しなければ、その画素についての処理
を終了する。交点が存在するときには、その点における
輝度値を求め(ステップ、32) 、この値をフレーム
バッファメモリ4のF (x、y)の値に加算して新た
なF (x、y)とする(ステップ33)。さらに、物
体が反射・透過属性をもつか否かを調べ(ステップ34
)、反射・透過属性をもつ場合には、上記の処理を繰り
返す。
このように本実施例では、シャドウポリゴンの2値と各
画素ごとに記憶しておいた多面体のZ値との比較の結果
から影の有無を知ることができるので、物体の基本形状
と直線との交差判定を行う必要がなくなり、画像生成速
度の向上が期待できるのである。これらの違いを定量的
に示せば、以下のようになる。
画素ごとに記憶しておいた多面体のZ値との比較の結果
から影の有無を知ることができるので、物体の基本形状
と直線との交差判定を行う必要がなくなり、画像生成速
度の向上が期待できるのである。これらの違いを定量的
に示せば、以下のようになる。
第7図に、スクリーンに映り込んだ物体と影の例を示す
。同図において、71はスクリーン、72は四面体、7
3はシャドウポリゴン、74は平面、75は影である。
。同図において、71はスクリーン、72は四面体、7
3はシャドウポリゴン、74は平面、75は影である。
この例では次のような条件を持つものとする。
(条件l)平行光源が一つ存在する。
(条件2)スクリーン71には、4枚の三角板からなる
四面体72が一つと無限に広い平面74が映り込んでい
る。
四面体72が一つと無限に広い平面74が映り込んでい
る。
(条件3)四面体72の影75は、平面74の上に落ち
ている。また、平面74の作り出す影は考慮しない。
ている。また、平面74の作り出す影は考慮しない。
従来の方法で影付けを行うためには、1画素ごとに以下
のような処理を行う必要がある。
のような処理を行う必要がある。
■平面上の一点からみた、四面体各面の表裏判定。
■きト面上の一点から光源の方向に発射した光線と表を
向いている面との交点座標の計算。
向いている面との交点座標の計算。
■光線と面との交点が三角板の内部にあるかどうかの判
定。
定。
■、■、■の処理を行うためには、加算、減算9乗算、
除算、および、比較を、それぞれ、少なくとも数回、場
合によっては数十回程度行う必要があると思われる。い
ま、1画素分の処理に必要な加算、減算9乗算、除算、
および、比較の平均回数を、それぞれ、nl+ n2.
n3.n4゜n5とし、平面の映り込んでいる画素の数
をP+とすると、1画面分の演算回数は以下のようにな
る。
除算、および、比較を、それぞれ、少なくとも数回、場
合によっては数十回程度行う必要があると思われる。い
ま、1画素分の処理に必要な加算、減算9乗算、除算、
および、比較の平均回数を、それぞれ、nl+ n2.
n3.n4゜n5とし、平面の映り込んでいる画素の数
をP+とすると、1画面分の演算回数は以下のようにな
る。
加算:P+Xn1回
減算’ P lXn2回
乗算’ P IX n 3回
除算’P+Xn4回
比較:P+Xns回
これに対して、本発明の方法による影付は処理によれば
、演算回数は以下のようになる。ただし、−組のシャド
ウポリゴンが映り込んでいる画素の総数をP 21シヤ
ドウポリゴンのY軸方向の画素数の平均値を23.1画
面の画素数をPとする。
、演算回数は以下のようになる。ただし、−組のシャド
ウポリゴンが映り込んでいる画素の総数をP 21シヤ
ドウポリゴンのY軸方向の画素数の平均値を23.1画
面の画素数をPとする。
シャドウポリゴンを生成する場合の演算回数は、次の通
りである。
りである。
■四面体の各頂点の光源座標系への変換加算48回、乗
算64回 ■四面体の各面の法線ベクトルの2成分の算出減算20
回、乗算8回 ■各校線の両側の面の表裏のチェック 比較12回 ■シャドウポリゴンの頂点座標の算出 加算9回、乗算9回 ■シャドウポリゴンの視点座標系への変換加算72回、
乗算96回、除算18回 また、シャドウポリゴンによって影の有無を判定する場
合の演算回数は、次の通りである。
算64回 ■四面体の各面の法線ベクトルの2成分の算出減算20
回、乗算8回 ■各校線の両側の面の表裏のチェック 比較12回 ■シャドウポリゴンの頂点座標の算出 加算9回、乗算9回 ■シャドウポリゴンの視点座標系への変換加算72回、
乗算96回、除算18回 また、シャドウポリゴンによって影の有無を判定する場
合の演算回数は、次の通りである。
■エツジの分類
比較12回
■エツジのx、y値の算出
加算6P3、減算24回、除算12回
■スクリーンのY軸方向のZ値の増分の計算減算30回
、乗算12回、除算3回 ■スキャンライン方向のZ値の増分の計算g算30回、
乗算12回、除算3回 [相]ポリゴンの内部の補間 加算P2−3P3.比較p2回 さらに、影フラグをチェックする場合は、加算P回、比
較P回 である。
、乗算12回、除算3回 ■スキャンライン方向のZ値の増分の計算g算30回、
乗算12回、除算3回 [相]ポリゴンの内部の補間 加算P2−3P3.比較p2回 さらに、影フラグをチェックする場合は、加算P回、比
較P回 である。
よって、本発明の方法による影付は処理における1画面
分の演算回数は、以下のようになる。
分の演算回数は、以下のようになる。
加算: P+p2 +3p3 +129回減算二84回
乗算=120回
除算:36回
比較’P+P2+12回
ここで、1画面が512 X512画素からなる画像の
場合を考える。平面と一組のシャドウポリゴンは、とも
に画面の10%の部分に映り込んでいるものとする。ま
た、このとき、シャドウポリゴンのY軸方向の平均値は
、最大で512となる。これらのことから、 P=512 x512 =262.144p 、 =
512 X 512 X O,1= 26,214.4
P2 =512 x512 Xo、1 =26,214
.4p3 =512 また、従来技術による1画素分の演算回数を次のように
仮定すれば、 n 、=n 2mn3”n 4an 5−10従来技術
による1画面分の演算回数は、次のようになる。
場合を考える。平面と一組のシャドウポリゴンは、とも
に画面の10%の部分に映り込んでいるものとする。ま
た、このとき、シャドウポリゴンのY軸方向の平均値は
、最大で512となる。これらのことから、 P=512 x512 =262.144p 、 =
512 X 512 X O,1= 26,214.4
P2 =512 x512 Xo、1 =26,214
.4p3 =512 また、従来技術による1画素分の演算回数を次のように
仮定すれば、 n 、=n 2mn3”n 4an 5−10従来技術
による1画面分の演算回数は、次のようになる。
加算+ 262,144回
減算: 262,144回
乗算: 262,144回
除算: 262,144回
比較: 262,144回
また、本発明の技術による1画面分の演算回数は、次の
ようになる。
ようになる。
加算: 290.023.4回
減算=84回
乗算:120回
除算:36回
比較: 288.170.4回
以上の結果から、本発明の方法によって画像生成速度の
向上が期待できることがわかる。
向上が期待できることがわかる。
(発明の効果)
以上詳細に説明したように本発明によりば、シャドウポ
リゴンの2値と各画素毎の多面体のZ値との比較の結果
から影の有無を知ることができるので、比較的時間のか
かる物体の基本形状と直線との交差判定を行う必要がな
くなり、画像生成速度の向上が期待できるのである。
リゴンの2値と各画素毎の多面体のZ値との比較の結果
から影の有無を知ることができるので、比較的時間のか
かる物体の基本形状と直線との交差判定を行う必要がな
くなり、画像生成速度の向上が期待できるのである。
用可能である。
第1図は本発明の方法が適用される一実施例のシステム
構成図、第2図は第1図の実施例の動作フローチャート
、第3図乃至第6図は第2図のフローチャートの各ステ
ップの詳細を示すフローチャート、第7図はスクリーン
に映り込んだ物体と影の例を示す、第8図は物体のデー
タ構成を示す図、第9図は視点座標系で見たスクリーン
を示す図、第1θ図はブロックに対応して得られるブロ
ックリストを示す図、第11図は影リストの一例を示す
図、第12図は従来の影付は処理の一例を示す図である
。 1・・・図形処理部、2・・・画素処理部、3−2−バ
ッファメモリ、 4・・・フレームバッファメモリ、 5・・・反射・透過フラグメモリ、 6・・・影フラグメモリ、2a・・・バス。
構成図、第2図は第1図の実施例の動作フローチャート
、第3図乃至第6図は第2図のフローチャートの各ステ
ップの詳細を示すフローチャート、第7図はスクリーン
に映り込んだ物体と影の例を示す、第8図は物体のデー
タ構成を示す図、第9図は視点座標系で見たスクリーン
を示す図、第1θ図はブロックに対応して得られるブロ
ックリストを示す図、第11図は影リストの一例を示す
図、第12図は従来の影付は処理の一例を示す図である
。 1・・・図形処理部、2・・・画素処理部、3−2−バ
ッファメモリ、 4・・・フレームバッファメモリ、 5・・・反射・透過フラグメモリ、 6・・・影フラグメモリ、2a・・・バス。
Claims (1)
- 【特許請求の範囲】 3次元物体の陰影付き画像を生成する画像生成方法にお
いて、 3次元物体のシャドウポリゴンを生成する第1のステッ
プと、 Z−バッファ法により3次元物体のZ値を含む画素デー
タを生成する第2のステップと、 前記シャドウポリゴンの内部の各画素におけるZ値を求
め、該Z値と対応する画素の前記3次元物体のZ値との
比較結果に基づいて影付け処理を行う第3のステップと
を有することを特徴とする画像生成方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22479686A JPH0664621B2 (ja) | 1986-09-25 | 1986-09-25 | 画像生成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22479686A JPH0664621B2 (ja) | 1986-09-25 | 1986-09-25 | 画像生成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6380378A true JPS6380378A (ja) | 1988-04-11 |
| JPH0664621B2 JPH0664621B2 (ja) | 1994-08-22 |
Family
ID=16819336
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22479686A Expired - Lifetime JPH0664621B2 (ja) | 1986-09-25 | 1986-09-25 | 画像生成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0664621B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002529869A (ja) * | 1998-11-06 | 2002-09-10 | イマジネイション テクノロジーズ リミテッド | コンピュータによる3次元シェーディング及びテクスチャリング・システムに使用する深度ソート |
| JP2011520308A (ja) * | 2008-03-12 | 2011-07-14 | ソニー エリクソン モバイル コミュニケーションズ, エービー | 3次元ユーザインタフェース及びこれを制御する方法 |
| JP2014103599A (ja) * | 2012-11-21 | 2014-06-05 | Canon Inc | 画像処理装置および画像処理方法 |
-
1986
- 1986-09-25 JP JP22479686A patent/JPH0664621B2/ja not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002529869A (ja) * | 1998-11-06 | 2002-09-10 | イマジネイション テクノロジーズ リミテッド | コンピュータによる3次元シェーディング及びテクスチャリング・システムに使用する深度ソート |
| JP2011520308A (ja) * | 2008-03-12 | 2011-07-14 | ソニー エリクソン モバイル コミュニケーションズ, エービー | 3次元ユーザインタフェース及びこれを制御する方法 |
| JP2014103599A (ja) * | 2012-11-21 | 2014-06-05 | Canon Inc | 画像処理装置および画像処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0664621B2 (ja) | 1994-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5043922A (en) | Graphics system shadow generation using a depth buffer | |
| US5249264A (en) | Image display method and apparatus | |
| EP1127337B2 (en) | Shading 3-dimensional computer generated images | |
| US6621925B1 (en) | Image processing apparatus and method and information providing medium | |
| EP0933729A2 (en) | Three-dimensional graphics accelerator | |
| US5898437A (en) | Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives | |
| JPH07120434B2 (ja) | ボリュームレンダリングを行う方法及び装置 | |
| JPH0683979A (ja) | 影の生成を伴うコンピュータ図形表示の方法及びシステム | |
| US6236404B1 (en) | Perspective projection calculation devices and methods | |
| JPH11175752A (ja) | 画像処理装置及び画像処理方法 | |
| US20090225098A1 (en) | Guard Band Clipping Systems and Methods | |
| US5892516A (en) | Perspective texture mapping circuit having pixel color interpolation mode and method thereof | |
| JP2000348206A (ja) | 画像生成装置および画像優先度決定方法 | |
| US5706479A (en) | Method and apparatus for dynamically detecting overflow of a multi-layer buffer | |
| JPH0664621B2 (ja) | 画像生成方法 | |
| JPH0772915B2 (ja) | 図形シェーディング装置 | |
| JP2952585B1 (ja) | 画像生成方法 | |
| KR100372901B1 (ko) | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 | |
| CN119091029B (zh) | 一种基于gpu的不可见对象剔除方法及系统 | |
| JP4106719B2 (ja) | 画像処理装置 | |
| CN101261744A (zh) | 绘图处理器中的保护带剪切系统、保护带剪切方法 | |
| Tanaka et al. | Cross scan buffer and its applications | |
| JP3034716B2 (ja) | 形状表現方法 | |
| JPH01224886A (ja) | 画素展開方法 | |
| JPH0241791B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |