JPH0664621B2 - 画像生成方法 - Google Patents

画像生成方法

Info

Publication number
JPH0664621B2
JPH0664621B2 JP22479686A JP22479686A JPH0664621B2 JP H0664621 B2 JPH0664621 B2 JP H0664621B2 JP 22479686 A JP22479686 A JP 22479686A JP 22479686 A JP22479686 A JP 22479686A JP H0664621 B2 JPH0664621 B2 JP H0664621B2
Authority
JP
Japan
Prior art keywords
shadow
value
pixel
polygon
light source
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
JP22479686A
Other languages
English (en)
Other versions
JPS6380378A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP22479686A priority Critical patent/JPH0664621B2/ja
Publication of JPS6380378A publication Critical patent/JPS6380378A/ja
Publication of JPH0664621B2 publication Critical patent/JPH0664621B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は画像生成方法に関し、特にZ−バッファ法とレ
イトレーシング法の組み合せによる3次元物体の陰影付
き画像の生成方法に関するものである。
(従来の技術) 従来、この種の画像生成方法は、例えば「情報処理学会
研究報告、Vol.85,No.20,グラフィクスとCAD研究会
報告No.18」(1985)No.18-4(p.1−9)に開示された
ものがあり、以下その手順を説明する。
まず、表示対象となる物体それぞれについて、画像生成
プログラム実行のためのデータを用意する。1シーンの
データの構成を第8図に示す。同図に示すように、一つ
の物体81についてのデータは、その物体を構成する基本
形状についての形状データ82、各基本形状の表面属性を
表す属性データ83、さらに、物体全体を囲むbox(ボッ
クス)と呼ばれる直方体の形状データ84とからなる。こ
れらのデータは、視点を原点とする座標系で記述されて
いる。視点座標系で見たスクリーンを第9図に示す。同
図において、91は視点、92は視線、93はZ=−1にある
スクリーンである。なお、スクリーン93を分割した矩形
領域をブロック94と呼ぶことにする。
次に、各物体のboxをスクリーン上に投影する。このと
き、それぞれのブロックに映り込む可能性のある物体を
視点に近い順にソーティングし、それらの番号をリスト
(以下ブロックリストと呼ぶ)にしておく。ブロックに
対応して得られるブロックリストの一例を第10図(a),
(b)に示す。同図(a)は、物体A101,物体B102をスクリ
ーン103の各ブロック104に投影した状態を示すものであ
る。また、各ブロック内の数字は、ブロック番号を示
す。同図(b)は、同図(a)の場合のブロックリストであ
る。
最後に、それぞれのブロックについて、上で用意してお
いたデータとブロックリストを用い、隠面消去、影付
け、輝度計算、反射・透過の各処理を行い、画像データ
を出力する。
以下、これらの処理について詳述する。
隠面消去 隠面消去を行うには、まず、ブロックリスト中の各物体
について、その物体を構成する基本形状を順次ブロック
に投影する。
次に、ブロック内の各画素について、視線と交点をもつ
基本形状名を調べる。
最後に、視点に最も近い交点をもつ基本形状名とその交
点のZ値、および、その交点における法線ベクトルを記
録する。
影付け まず、各画素に対応する交点に影を落す物体が存在する
かどうかを調べるために、影リストを参照する。影リス
トは、各物体について、光源からの直接光をさえぎる可
能性のある物体名を保持している。この一例として、第
11図(a)に光源(1)111,(2)112と物体(A〜D)113〜11
6の状態を示し、第11図(b)に物体A113の影リストを示
す。
次に、影リストから求められた物体の基本形状に対し
て、光源と交点を結ぶ直線との交差判定を行う。交差判
定は、物体の基本形状の一つ一つに対し個別に実行す
る。例えば、物体が四面体で、基本形状が三角板すなわ
ち同一平面上にある3つの線分に囲まれた領域の場合に
は、次のような処理となる。平面上の一点からみた、
四面体各面の表裏判定。平面上の一点から光源の方向
に発射した光線と表を向いている面との交点座標の計
算。光線と面との交点が三角板の内部にあるかどうか
の判定。この影付け処理の一例を第12図に示す。同図に
おいて、121はスクリーン、122は視線、123は交点、124
は光源、125は物体である。126は、光源124と交点123を
結ぶ直線である。ある光源からの直接光がさえぎられて
いる場合には、その光源に対する影フラグをセットす
る。
最後に画素ごとの輝度計算を行う際に、影フラグの立っ
ている画素については、直接光を考慮しないで輝度計算
を行う。
輝度計算 輝度計算では、ブロックに映り込んだ物体の属性デー
タ、交点の座標値、法線ベクトルから各画素の輝度を計
算し、出力する。映り込んだ物体が、反射・透過属性を
もつ場合には、その画素に対応する反射・透過フラグセ
ットし、画像データの出力を行わず後段で処理する。
輝度計算は、Whitted(ホワイテッド)の光源モデルに
基づいており、求める輝度は、R,G,B3成分をもつベクト
ルIで表現される。
ただし、 R,G,B:物体の色 K:周囲光係数 K:散乱反射係数 K:金属反射係数 θ:入射方向と法線のなす角度 θ:反射方向と視線のなす角度 L :光源数 n :金属反射指数 上式で、“X"はベクトルの要要素ごとの積を表す。
また、第2項、第3項は、影付け処理において求めた影
フラグに基づき、影フラグのたっていない光源について
のみ、直接光による輝度を加算する。
反射・透過 輝度計算後、反射・透過フラグがセットされている画素
について、反射・透過処理を行う。すなわち、各交点を
仮想的に視点とみなし、反射・透過方向の仮素的な視線
に対し隠面消去、影付け処理を繰り返して輝度計算を行
い、その結果として得られた画像データを出力する。
輝度計算式は、次式で得られる。
ただし、 K:反射係数 K:透過係数 S :反射光による輝度 T :透過光による輝度 (発明が解決しようとする問題点) 以上述べた画像生成方法では、影の有無を知るために、
物体の基本形状と直線との交差判定という比較的時間の
かかる処理を多数回行わなければならない。このため、
影付け処理に多大の処理時間を必要とするという問題点
があった。
本発明は、上記の欠点を除去するものであって、物体の
基本形状と直線との交差判定を含まない影付け処理によ
る、より高速な画像生成方法を提供することを目的とし
ている。
(問題点を解決するための手段) 本発明は前記問題点を解決するために、3次元物体の陰
影付き画像を生成する画像生成方法において、3次元物
体を構成する各面を光源座標系に変換し、該変換した各
面の法線ベクトルのZ成分を求め、該Z成分値の正負か
ら光源に対する面の表裏を判定し、前記3次元物体を構
成する各面の稜線の中で、稜線を共有する2つの面の一
方が表で他方が裏になっているものを探し、該求めた稜
線を多面体の影のできる側に光源から稜線に向かう方向
に掃引して多角形を作り、該多角形を視点座標系に変換
することによりシャドウポリゴンを生成する第1のステ
ップと、Z−バッファ法により3次元物体のZ値を含む
画素データを生成する第2のステップと、前記シャドウ
ポリゴンについて、一つの3次元物体から生成されるシ
ャドウポリゴンの集合を一組のシャドウポリゴンとし、 前記シャドウポリゴンのうち一組のシャドウポリゴンご
とに、内部を補間したものについて各画素におけるZ値
を求め、該Z値と対応する画素の前記3次元物体のZ値
との比較を行うことにより、一組のシャドウポリゴンの
内部にあるという判定結果が得られた画素を対象として
影付け処理を行う第3のステップとを有するものであ
る。
(作用) 本発明は、次のように作用する。第1のステップで3次
元物体(多面体)のシャドウ(sadow)ポリゴンが生成
され、第2のステップでZ−バッファ法により多面体の
Z値(隠面消去後の値)を含む画素データが生成され
る。第3のステップでは、第1のステップで得られたシ
ャドウポリゴンの内部の各画素について、Z値が求めら
れる。そして、求められたZ値と第2のステップのZ値
とを比較することにより影の有無が判定可能となる。こ
の結果、従来の比較的処理時間のかかる物体の基本形状
と直線との交差判定が不要となるので、影付け処理を高
速に行うことができる。従って、前記従来技術の問題点
を解決できるのである。
(実施例) 第1図は、本発明の方法が適用される一実施例の画素デ
ータ生成システムを示すブロック図である。同図におい
て、1は図形処理部で、入力された図形データ(多面
体、パラメトリック曲面等)をZ−バッファ法、レイト
レーシング法により画素データに変換する処理、およ
び、シャドウ(Shadow)ポリゴンを求める処理を行う。
2は画素処理部で、図形処理部1の出力データに関し
て、Z−バッファメモリ、フレームバッファメモリ、反
射・透過フラグメモリ、影フラグメモリに対し、データ
処理を行う。3はZ−バッファメモリで、各画素のZ値
を記憶する。4はフレームバッファメモリで、各画素の
色情報を記憶する。5は反射・透過フラグメモリで、各
画素が反射・透過属性をもつか否かを記憶する。6は影
フラグメモリで、各画素の影内外判定に用いる。各メメ
モリ3〜6はバス2aを介して画素処理部2に接続されて
いる。
第2図は、本発明の動作の概要を示すフローチャートで
ある。
第3図は、第2図のステップ7の動作を詳細に説明する
ためのもので、シャドウポリゴンの生成動作を示すフロ
ーチャートである。第4図は、第2図のステップ8の動
作を詳細に説明するためのもので、Z−バッファ法によ
る描画動作を示すフローチャートである。第5図は、第
2図のステップ9の動作を詳細に説明するためのもの
で、影付け動作を示すフローチャートである。第6図
は、第2図のステップ10の動作を詳細に説明するための
もので、レイトレーシング法による描画動作を示すフロ
ーチャートである。
以下、第1図乃至第6図を参照して、本実施例の動作を
説明する。
(i)シャドウポリゴンの生成(ステップ7)一つの多面
体ごとに、図形処理部1により、以下処理を行う。
まず、多面体を光源座標系に変換する(ステップ11)。
光源座標系は光源が平行光線の場合、原点は一般的には
空間内の任意の点でよいが、本実施例では視点座標系の
原点と同じ点とする。Z軸の正の方向は平行光線の方向
とする。また、光源が点光源の場合、原点は点光源の位
置であり、Z軸の正の方向は一般的には任意の方向でよ
いが、本実施例では視点座標系のZ軸の正の方向とす
る。次に多面体を構成する各面の法線ベクトルのZ成分
を求める(ステップ12)。この値の正負から、光源に対
する面の表裏を知ることができる。すなわち、光源座標
系を前記のように決めると、面の法線ベクトルのZ成分
は光源から見た面の向きを表わす。よって、Z成分の正
負を判定することにより光源に対する面の表裏を識別す
ることができる。すなわち、Z成分が正の場合には光源
に対し表、負の場合には裏、0の場合には光源に平行と
なることがわかる。
次に、多面体の各稜線の中で、これを共有する面の一方
が表で一方が裏になっているものを探す(ステップ1
3)。ここでZ成分が0となっている面は裏とする。
最後に、上で求めた稜線を、多面体の影のできる側すな
わち光源座標系のZ方向に、光源から稜線に向かう方向
に掃引して、多角形を作る(ステップ14)。ここで掃引
とは、稜線を平行移動することにより長方形を生成する
処理を意味する。平行移動の距離は、掃引の結果生成さ
れた長方形を視点座標系に変換したとき、もとの稜線に
平行な辺がスクリーンの外になる最小の距離である。こ
の多角形を視点座標系に変換する(ステップ15)。これ
ら、一つの多面体から作られた多角形を一組のシャドウ
ポリゴンとして記憶しておく(ステップ16)。
()Z−バッファ描画処理(ステップ8) 画素処理部2によって、Z−バッファメモリ3を正の最
大値で、フレームバッファメモリ4を背景色で、さら
に、反射・透過フラグメモリ5を“0"で、それぞれ満た
しておく。
図形処理部1で、各多面体を視点座標系に変換し、多面
体を構成する各面の内部を補間する。このようにして得
られた各補間された面について、画像処理部2により、
以下の処理を行う。
多面体を構成する各面の内部を補間することによって、
座標(x,y)におけるZ値Z(x,y)および輝度値I(x,
y)を求める(ステップ17,18)。このとき既にZ−バッ
ファメモリの対応する座標(x,y)には値が書き込まれ
ている。これが、座標(x,y)におけるZ−バッファメ
モリの値B(x,y)である。
座標(x,y)におけるZ−バッファメモリ3の値B(x,
y)と上で求めたZ(x,y)とを比較する(ステップ1
9)。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)のときには、Z−バッファメモリ3、フレー
ムバッファメモリ4ともに内容を更新せずに処理を終了
する。
()影付け処理(ステップ9) 影付け処理は、画像に影の効果を付加するものである。
これを実現するためには、スクリーン内部のすべての画
素について、これに対応する多面体上の点に光源からの
光があたっているか否かを調べる。すなわち、その点が
多面体による影の内部にあるかどうかを調べる。点が影
の内部にあるということは、シャドウポリゴンに囲まれ
ているということある。影内部の点は1つのシャドウポ
リゴンの後ろ(Z値が大)、別の1つのシャドウポリゴ
ンの前(Z値が小)にある。従って、これらのシャドウ
ポリゴンとのZ値を比較することにより影の内部にある
かどうかわかる。影フラグは該条件が満たされているか
どうかを調べるために使用する。以下、影付け処理を説
明する。
まず、画素処理部2により、影フラグメモリ6を“0"で
満たしておく。一組のシャドウポリゴンごとに、以下の
処理を行う。図形処理部1により、それぞれのシャドウ
ポリゴンの内部を補間する。このようにして得られた各
補間されたシャドウポリゴンについて、画素処理部2に
より、以下の処理を行う。
座標(x,y)におけるZ値Z(x,y)を求める(ステップ
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)のとき
には、影フラグメモリの内容をそのままにしておく。
一組のシャドウポリゴンについての処理が終了したら、
すべての画素について影フラグS(x,y)の値を調べ
る。これが“1"のときには、フレームバッファメモリ4
のF(x,y)に輝度Iを書き込み、“0"のときにはF
(x,y)の値を更新せずに処理を終了する。
ただし、Iは、物体表面での、環境光による輝度値で
ある。
()レイトレーシング描画処理(ステップ10) 各画素について、図形処理部1及び画素処理部2によ
り、以下の処理を行う。
反射・透過フラグメモリ5の値M(x,y)を調べ(ステ
ップ27)、フラグが立っているとき、即ちM(x,y)=
1のときには、以下の処理を行う。
まず、ワールド座標系において、スクリーン上の画素
(x,y)の中心と視点とを結んだ直線を求め(ステップ2
8)、反射・透過属性をもつ物体との交点を求める(ス
テップ29)。次に、この交点を仮想的な視点とみなし、
反射・透過方向にさらに直線をのばす(ステップ30)。
この直線と物体との交差判定を行い(ステップ31)、交
点が存在しなければ、その画素についての処理を終了す
る。交点が存在するときには、その点における輝度値を
求め(ステップ32)、この値をフレームバッファメモリ
4のF(x,y)の値に加算して新たなF(x,y)とする
(ステップ33)。さらに、物体が反射・透過属性をもつ
か否かを調べ(ステップ34)、反射・透過属性をもつ場
合には、上記の処理を繰り返す。
このように本実施例では、シャドウポリゴンのZ値と各
画素ごとに記憶しておいた多面体のZ値との比較の結果
から影の有無を知ることができるので、物体の基本形状
と直線との交差判定を行う必要がなくなり、画像生成速
度の向上が期待できるのである。これらの違いを定量的
に示せば、以下のようになる。
第7図に、スクリーンに映り込んだ物体との影の例を示
す。同図において、71はスクリーン、72は四面体、73は
シャドウポリゴン、74は平面、75は影である。この例で
は次のような条件を持つものとする。
(条件1)平行光源が一つ存在する。
(条件2)スクリーン71には、4枚の三角板からなる四
面体72が一つと無限に広い平面74が映り込んでいる。
(条件3)四面体72の影75は、平面74の上に落ちてい
る。また、平面74の作り出す影は考慮しない。
従来の方法で影付けを行うためには、1画素ごとに以下
のような処理を行う必要がある。
片面上の一点からみた、四面体各面の表裏判定。
平面上の一点から光源の方向に発射した光線と表を向
いている面との交点座標の計算。
光線と面との交点が三角板の内部にあるかどうかの判
定。
,,の処理を行うためには、加算,減算,乗算,
除算,および,比較を、それぞれ、少なくとも数回、場
合によっては数十回程度行う必要があると思われる。い
ま、1画素分の処理に必要な加算,減算,乗算,除算,
および,比較の平均回数を、それぞれ、n,n,n,n
,nとし、平面の映り込んでいる画素の数をPとす
ると、1画面分の演算回数は以下のようになる。
加算:P×n回 減算:P×n回 乗算:P×n回 除算:P×n回 比較:P×n回 これに対して、本発明の方法による影付け処理によれ
ば、演算回数は以下のようになる。ただし、一組のシャ
ドウポリゴンが映り込んでいる画素の総数をP,シャ
ドウポリゴンのY軸方向の画素数の平均値をP,1画面
の画素数をPとする。
シャドウポリゴンを生成する場合の演算回数は、次の通
りである。
四面体の各頂点の光源座標系への変換一般に、3次元
空間内の点の座標値の変換は、次の4行×4列のマトリ
クスの乗算によって実現される。
この演算は加算12回、乗算16回である。従って四面体で
は、4つの頂点について同様の計算を行なうので、計算
回数は、合計で加算48回、乗算64回となる。
四面体の各面の法線ベクトルのZ成分の算出 一般に、三角形の法線ベクトルのZ成分は次式によって
得られる。
=(x2−x1)(y3−y1)−(x3−x1)(y2−y1) ここで、減算5回、乗算2回。四面体では、4つの面に
ついて同様の計算を行なうので、減算20回、乗算8回と
なる。
各稜線の両側の面の表裏のチェック1本の稜線に対し
て2回の比較する。四面体の稜線は6本なので、比較の
回数は12回となる。
シャドウポリゴンの頂点座標の算出稜線を掃引して得
られるシャドウポリゴンの各頂点の座標値は、次の式に
よって得られる。
X=X+t・1 Y=Y+t・1 Z=Z+t・1 すなわち、加算3回、乗算3回となる。四面体によって
できるシャドウポリゴンの頂点は一般に3点なので、計
算回数は加算9回、乗算9回となる。
シャドウポリゴンの視点座標系への変換シャドウポリ
ゴンの視点座標系への変換は、次のマトリクス乗算によ
り実現される。
この演算は加算12回、乗算16回、除算3回とする。四面
体によってできるシャドウポリゴンは一般に3つで、変
換される頂点は6であり、計算回数は加算72回、乗算96
回、除算18回となる。
また、シャドウポリゴンによって影の有無を判定する場
合の演算回数は、次の通りである。
エッジの分類 3つのシャドウポリゴンについて、内部を補間するため
に4つの稜線についてエッジの分類すなわち相対位置関
係を調べる。これは各エッジの端点のy座標値を比較す
ることによって実現できる。
第1のポリゴンについて、まず四面体の稜線となってい
るエッジの両端点のy座標値を比較する。次に残りの2
頂点を端点とするエッジの両端点の比較を行い、さらに
これら2つのエッジのy座標値の大きい点どうしのy座
標値を比較する。最後に一方のエッジのy座標の小さい
方の点ともう一つのエッジの両端点との比較をそれぞれ
実行する。このとき比較の回数は5回になる。
第2のポリゴンについても同様の処理を行うが、第1の
ポリゴンと共有している稜線についてのy座標値の比較
を行わないですむので、比較の回数は4回となる。
第3のポリゴンも同様に、第1,第2のポリゴンと共有し
ている2つの稜線については比較を行わないため、比較
の回数は3回となる。
以上より、エッジの分類に要する比較の回数は12回とな
る。
エッジのx,y値の算出 シャドウポリゴンの内部を補間するために、4つのエッ
ジについて、両端点間の補間を行う。一般に、線文の線
形補間を行うには、スクリーンのy軸の方向に単位長さ
移動したときのx軸方向の増分値を求め、この値を繰り
返し加算していけばよく、xの増分値△xは、次の式か
ら得られる。
このとき、計算回数は、減算2回、除算1回である。こ
の計算を1つのポリゴンにつき、稜線の数だけ行うの
で、減算8回、除算4回となる。
また、△xの加算は、y軸方向の画素の数だけ行い、同
時にyの値も増加するので、加算の回数は2P3である。
以上の演算をポリゴンの回数だけ行うので、計算回数
は、結局、加算6P、減算24回、徐算12回となる。
スクリーンのy軸方向のz値の増分の計算 ポリゴン内部のz値の補間は、まず、エッジに沿ったz
値の補間から行う。この計算のためのz値のy軸方向の
増分値は、次式によって求める。
上式は減算10回、乗算4回、除算1回となる。この計算
をポリゴンの数だけ行うので、計算回数の合計は、減算
30回、乗算12回、除算3回となる。
スキャンライン方向のz値の増分の計算x軸方向のz
値の補間を行うために、z値のx軸方向の増分値を求め
る。これは前記と同様の計算で、減算30回、乗算12
回、除算3回となる。
前記とで得られたz値の増分を使って、ポリゴン内
部の補間を行う。このとき、前記の処理によりエッジ
のx座標値がわかっているので、ポリゴン内部のx座標
値を求めるには、この値を増加していけばよい。その回
数は、p−3pである。この計算との計算から求ま
ったx座標値とy座標値から、およびで求めたzの
増分値を使ってz値を計算すると、その回数はp回で
ある。従って、加算の回数は2p−3pとなる。
また、このとき同時にステップ25の比較を行う。その回
数はp回である。
さらに、影フラグをチェックする処理では、x座標値、
y座標値を画面全体の画素数だけ増加し、同時に比較を
行う。このため、計算回数は次のようになる。
加算P回、比較P回 である。
よって、本発明の方法による影付け処理における1画面
分の演算回数は、以下のようになる。
加算:P+2p+3p+129回 減算: 104回 乗算: 201回 除算: 36回 比較:P+ p + 24回 ここで、1画面が512×512画素からなる画像の場合を考
える。平面と一組のシャドウポリゴンは、ともに画面の
10%の部分に映り込んでいるものとする。また、このと
きの画面の縦方向の画素数が512であるので、シャドウ
ポリゴンのY軸方向の平均値は、最大で512となる。こ
れらのことから、 P=512×512=262,414 P=512×512×0.1=26,214.4 P=512×512×0.1=26,214.4 P=512 また、従来技術による1画素分の演算回数を次のように
仮定すれば、 n=n=n=n=n=10 従来技術による1画面分の演算回数は、次のようにな
る。
加算:262,144回 減算:262,144回 乗算:262,144回 除算;262,144回 比較:262,144回 また、本発明の技術による1画面分の演算回数は、次の
ようになる。
加算:290,023.4回 減算:84回 乗算:120回 除算;36回 比較:288,370.4回 以上の結果から、本発明の方法によって画像生成速度の
向上が期待できるこがわかる。
(発明の効果) 以上詳細に説明したように本発明によれば、シャドウポ
リゴンのZ値と各画素毎の多面体のZ値との比較の結果
から影の有無を知ることができるので、比較的時間のか
かる物体の基本形状と直線との交差判定を行う必要がな
くなり、画像生成速度の向上が期待できるのである。
さらに、本発明の方法は、シャドウポリゴンに対して多
面体の各面に対する隠面消去処理と同様の処理を行うた
め、Z−バッファ専用装置にも適用可能である。
【図面の簡単な説明】
第1図は本発明の方法が適用される一実施例のシステム
構成図、第2図は第1図の実施例の動作フローチャー
ト、第3図乃至第6図は第2図のフローチャートの各ス
テップの詳細を示すフローチャート、第7図はスクリー
ンに映り込んだ物体と影の例を示す、第8図は物体のデ
ータ構成を示す図、第9図は視点座標系で見たスクリー
ンを示す図、第10図はブロックに対応して得られるブロ
ックリストを示す図、第11図は影リストの一例を示す
図、第12図は従来の影付け処理の一例を示す図である。 1…図形処理部、2…画素処理部、 3…Z−バッファメモリ、 4…フレームバッファメモリ、 5…反射・透過フラグメモリ、 6…影フラグメモリ、2a…バス。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】3次元物体の陰影付き画像を生成する画像
    生成方法において、 3次元物体を構成する各面を光源座標系に変換し、該変
    換した各面の法線ベクトルのZ成分を求め、該Z成分値
    の正負から光源に対する面の表裏を判定し、前記3次元
    物体を構成する各面の稜線の中で、稜線を共有する2つ
    の面の一方が表で他方が裏になっているものを探し、該
    求めた稜線を多面体の影のできる側に光源から稜線に向
    かう方向に掃引して多角形を作り、該多角形を視点座標
    系に変換することによりシャドウポリゴンを生成する第
    1のステップと、 Z−バッファ法により3次元物体のZ値を含む画素デー
    タを生成する第2のステップと、 前記シャドウポリゴンについて、一つの3次元物体から
    生成されるシャドウポリゴンの集合を一組のシャドウポ
    リゴンとし、前記シャドウポリゴンのうち一組のシャド
    ウポリゴンごとに、内部を補間したものについて各画素
    におけるZ値を求め、該Z値と対応する画素の前記3次
    元物体のZ値との比較を行うことにより、一組のシャド
    ウポリゴンの内部にあるという判定結果が得られた画素
    を対象として影付け処理を行う第3のステップとを有す
    ることを特徴とする画像生成方法。
JP22479686A 1986-09-25 1986-09-25 画像生成方法 Expired - Lifetime JPH0664621B2 (ja)

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 JPS6380378A (ja) 1988-04-11
JPH0664621B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2343600B (en) * 1998-11-06 2003-03-12 Videologic Ltd Depth sorting for use in 3-dimensional computer shading and texturing systems
US20090233649A1 (en) * 2008-03-12 2009-09-17 Sony Ericsson Mobile Communications Ab Three-dimensional user interface and a method for controlling it
JP6025519B2 (ja) * 2012-11-21 2016-11-16 キヤノン株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JPS6380378A (ja) 1988-04-11

Similar Documents

Publication Publication Date Title
US5963210A (en) Graphics processor, system and method for generating screen pixels in raster order utilizing a single interpolator
KR970003325B1 (ko) 화소 영상 렌더링 방법 및 컴퓨터 그래픽 디스플레이 시스템
US5808619A (en) Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US5402532A (en) Direct display of CSG expression by use of depth buffers
US5898437A (en) Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives
JP3390463B2 (ja) 3次元グラフィックスにおけるシャドウ・テスト方法
EP0447195B1 (en) Pixel interpolation in perspective space
WO1996031844A1 (fr) Systeme graphique
JPH0916806A (ja) 立体画像処理装置
JPH09134451A (ja) 透視投影計算装置および透視投影計算方法
EP0377639B1 (en) Quadratic interpolation for shaded image generation
JPH0664621B2 (ja) 画像生成方法
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
Doggett et al. Displacement mapping using scan conversion hardware architectures
EP0596666B1 (en) Processing image data
JP2952585B1 (ja) 画像生成方法
JPH09138865A (ja) 3次元形状データ処理装置
JPH09305791A (ja) 立体画像生成装置および立体画像生成方法
KR100269118B1 (ko) 사각형을이용한래스터화방법
JP2915330B2 (ja) グラフィック表示生成装置及び方法、レンダリングlsi
KR20010114046A (ko) 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법
JPH0234069B2 (ja)
Tanaka et al. Cross scan buffer and its applications
JPH02127785A (ja) 画像表示装置
JPH01224886A (ja) 画素展開方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term