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
Application number
JP22479686A
Other languages
English (en)
Other versions
JPH0664621B2 (ja
Inventor
Naohiro Kimata
木全 直弘
Nobuhito Matsushiro
信人 松代
Ikuo Oya
大宅 伊久雄
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
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は画像生成方法に関し、特にZ−バッファ法とレ
イトレーシング法の組み合せによる3次元物体の陰影付
き画像の生成方法に関するものである。
(従来の技術) 従来、この種の画像生成方法は、例えば「情報処理学会
研究報告、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と呼ぶこと
にする。
次に、各物体のboxをスクリーン上に投影する。この
とき、それぞれのブロックに映り込む可能性のある物体
を視点に近い順にソーティングし、そわらの番号をリス
ト(以下ブロックリストと呼ぶ)にしておく。ブロック
に対応して得られるブロックリストの一例を第1θ図(
a) 、 (b)に示す。同図(a)は、物体A 10
1.物体B 102をスクリーン103の各ブロック1
04に投影した状態を示すものである。また、各ブロッ
ク内の数字は、ブロック番号を示す。同図(b)は、同
図(a)の場合のブロックリストである。
最後に、それぞれのブロックについて、上で用意してお
いたデータとブロックリストを用い、隠面消去、影付け
、輝度計算、反射・透過の各処理を行い、画像データを
出力する。
以下、これらの処理について詳述する。
■隠面消去 隠面消去を行うには、まず、ブロックリスト中の各物体
について、その物体を構成する基本形状を順次ブロック
に投影する。
次に、ブロック内の各画素について、視線と交点をもつ
基本形状基を調べる。
最後に、視点に最も近い交点をもつ基本形状基とその交
点のZ値、および、その交点における法線ベクトルを記
録する。
■影付け まず、各画素に対応する交点に影を落す物体が存在する
かどうかを調べるために、化リストを参照する。化リス
トは、各物体について、光源からの直接光をさえぎる可
能性のある物体基を保持している。この−例として、第
11図(a)に光源(1)Ill。
(2)112と物体(A〜D)113〜+16の状態を
示し、第11図(b)に物体A113の化リストを示す
。
次に、化リストから求められた物体の基本形状に対して
、光源と交点を結ぶ直線との交差判定を行う。この影付
は処理の一例を第12図に示す。同図において、121
はスクリーン、122は視線、123は交点、124は
光源、125は物体である。126は、光源124と交
点123を結ぶ直線である。ある光源からの直接光がさ
えぎられている場合には、その光源に対する化フラグを
セットする。
最後に画素ごとの輝度計算を行う際に、化フラグの立っ
ている画素については、直接光を考慮しないで輝度計算
を行う。
■輝度計算 輝度計算では、ブロックに映り込んだ物体の属性データ
、交点の座標値、法線ベクトルから各画素の輝度を計算
し、出力する。映り込んだ物体が反射・透過属性をもつ
場合には、その画素に対応する反射・透過フラグをセッ
トし、画像データの出力を行わず後段で処理する。
輝度計算は、Whitted (ホヮイテッド)の光源
モデルに基づいており、求める輝度は、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のステップとを有するものである。
(作用) 本発明は、次のように作用する。第1のステップで3次
元物体(多面体)のシャドウ(Shadow)ポリゴン
が生成され、第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図のステップIOの動作を詳細に説明するためのも
ので、レイトレーシング法による描画動作を示すフロー
チャートである。
以下、第1図乃至第6図を参照して、本実施例の動作を
説明する。
(i)シャドウポリゴンの生成(ステップ7)一つの多
面体ごとに、図形処理部1により、以下の処理を行う。
まず、多面体を光源座標系に変換しくステップ11) 
、この多面体を構成する各面の法線ベクトルの2成分を
求める(ステップ12)。この値の正負から、光源に対
する面の表裏を知ることができる。
次に、多面体の各稜線の中で、これを共有する面の一方
が表で一方が裏になっているものを探す(ステップ13
)。
最後に、上で求めた稜線を、多面体の影のできる側に、
光源方向に掃引して、多角形を作る(ステップ14)。
この多角形を視点座標系に変換する(ステップ15)。
これら、一つの多面体から作られた多角形を一組のシャ
ドウポリゴンとして記憶しておく(ステップ16)。
(ii)Z−バッファ描画処理(ステップ8)画素処理
部2によって、Z−バッファメモリ3を正の最大値で、
フレームバッファメモリ4を背ノ1#:色で、さらに、
反射・透過フラグメモリ5を“0”で、それぞれ満たし
ておく。
図形処理部1で、各多面体を視点座標系に変換し、多面
体を構成する各面の内部を補間する。このようにして得
られた各座標において、画像処理部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。
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ともに内
容を更新せずに処理を終了する。
(iii)影付は処理(ステップ9) 画素処理部2により、影フラグメモリ6を“O”で満た
しておく。
一組のシャドウポリゴンごとに、以下の処理を行う。
図形処理部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)に輝度“I8を書き
込み、“0”のときにはF (x、y)の値を更新せず
に処理を終了する。
ただし、I8は、物体表面での、環境光による輝度値で
ある。
(iv)レイトレーシング描画処理(ステップ10)各
画素について、図形処理部1及び画素処理部2により、
以下の処理を行う。
反射・透過フラグメモリ5の値M(x、y)を調べ(ス
テップ27)、フラグが立っているとき、即ちM (x
、y)=1のときには、以下の処理を行う。
まず、ワールド座標系において、スクリーン上の画素(
x、y)の中心と視点とを結んだ直線を求め(ステップ
28)、反射・透過属性をもつ物体との交点を求める(
ステップ29)。次に、この交点を仮想的な視点とみな
し、反射・透過方向にさらに直線をのばす(ステップ3
0)。この直線と物体との交差判定を行い(ステップ3
I)、交点が存在しなければ、その画素についての処理
を終了する。交点が存在するときには、その点における
輝度値を求め(ステップ、32) 、この値をフレーム
バッファメモリ4のF (x、y)の値に加算して新た
なF (x、y)とする(ステップ33)。さらに、物
体が反射・透過属性をもつか否かを調べ(ステップ34
)、反射・透過属性をもつ場合には、上記の処理を繰り
返す。
このように本実施例では、シャドウポリゴンの2値と各
画素ごとに記憶しておいた多面体のZ値との比較の結果
から影の有無を知ることができるので、物体の基本形状
と直線との交差判定を行う必要がなくなり、画像生成速
度の向上が期待できるのである。これらの違いを定量的
に示せば、以下のようになる。
第7図に、スクリーンに映り込んだ物体と影の例を示す
。同図において、71はスクリーン、72は四面体、7
3はシャドウポリゴン、74は平面、75は影である。
この例では次のような条件を持つものとする。
(条件l)平行光源が一つ存在する。
(条件2)スクリーン71には、4枚の三角板からなる
四面体72が一つと無限に広い平面74が映り込んでい
る。
(条件3)四面体72の影75は、平面74の上に落ち
ている。また、平面74の作り出す影は考慮しない。
従来の方法で影付けを行うためには、1画素ごとに以下
のような処理を行う必要がある。
■平面上の一点からみた、四面体各面の表裏判定。
■きト面上の一点から光源の方向に発射した光線と表を
向いている面との交点座標の計算。
■光線と面との交点が三角板の内部にあるかどうかの判
定。
■、■、■の処理を行うためには、加算、減算9乗算、
除算、および、比較を、それぞれ、少なくとも数回、場
合によっては数十回程度行う必要があると思われる。い
ま、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とする。
シャドウポリゴンを生成する場合の演算回数は、次の通
りである。
■四面体の各頂点の光源座標系への変換加算48回、乗
算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回 である。
よって、本発明の方法による影付は処理における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画面分の演算回数は、次のようになる。
加算+ 262,144回 減算: 262,144回 乗算: 262,144回 除算: 262,144回 比較: 262,144回 また、本発明の技術による1画面分の演算回数は、次の
ようになる。
加算: 290.023.4回 減算=84回 乗算:120回 除算:36回 比較: 288.170.4回 以上の結果から、本発明の方法によって画像生成速度の
向上が期待できることがわかる。
(発明の効果) 以上詳細に説明したように本発明によりば、シャドウポ
リゴンの2値と各画素毎の多面体のZ値との比較の結果
から影の有無を知ることができるので、比較的時間のか
かる物体の基本形状と直線との交差判定を行う必要がな
くなり、画像生成速度の向上が期待できるのである。
用可能である。
【図面の簡単な説明】
第1図は本発明の方法が適用される一実施例のシステム
構成図、第2図は第1図の実施例の動作フローチャート
、第3図乃至第6図は第2図のフローチャートの各ステ
ップの詳細を示すフローチャート、第7図はスクリーン
に映り込んだ物体と影の例を示す、第8図は物体のデー
タ構成を示す図、第9図は視点座標系で見たスクリーン
を示す図、第1θ図はブロックに対応して得られるブロ
ックリストを示す図、第11図は影リストの一例を示す
図、第12図は従来の影付は処理の一例を示す図である
。 1・・・図形処理部、2・・・画素処理部、3−2−バ
ッファメモリ、 4・・・フレームバッファメモリ、 5・・・反射・透過フラグメモリ、 6・・・影フラグメモリ、2a・・・バス。

Claims (1)

  1. 【特許請求の範囲】 3次元物体の陰影付き画像を生成する画像生成方法にお
    いて、 3次元物体のシャドウポリゴンを生成する第1のステッ
    プと、 Z−バッファ法により3次元物体のZ値を含む画素デー
    タを生成する第2のステップと、 前記シャドウポリゴンの内部の各画素における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 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)

* Cited by examiner, † Cited by third party
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 画像処理装置および画像処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
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