JPH06333059A - 立体画像処理装置 - Google Patents

立体画像処理装置

Info

Publication number
JPH06333059A
JPH06333059A JP5122668A JP12266893A JPH06333059A JP H06333059 A JPH06333059 A JP H06333059A JP 5122668 A JP5122668 A JP 5122668A JP 12266893 A JP12266893 A JP 12266893A JP H06333059 A JPH06333059 A JP H06333059A
Authority
JP
Japan
Prior art keywords
polygon
memory
address
value
end point
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.)
Pending
Application number
JP5122668A
Other languages
English (en)
Inventor
Naohito Shiraishi
尚人 白石
Tatsuya Fujii
達也 藤井
Masanobu Fukushima
正展 福島
Tatsuya Nakajima
達也 中島
Yasuhiro Izawa
康浩 井澤
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP5122668A priority Critical patent/JPH06333059A/ja
Publication of JPH06333059A publication Critical patent/JPH06333059A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 この発明は、ポリゴン面に模様とシェーディ
ングを高速に且つ同時に行うことができる立体画像処理
装置を提供することを目的とする。 【構成】 ポリゴンのX,Y端点情報及びポリゴン面に
付与する模様の基本パターンの領域を示すマッピングパ
ターン情報を格納するメモリ1と、法線ベクトル群を格
納するメモリ2と、メモリ1からの各端点情報を幾何変
換する幾何変換装置3と、法線ベクトル群と光源ベクト
ル及び視線ベクトルから輝度値を算出するシェーディン
グ装置5と、幾何変換装置3からの各端点情報に基づい
て、ポリゴン外形のアドレス情報、マッピングパターン
端点情報及びシェーディング装置からの輝度値を夫々変
換する外形処理装置7と、外形処理装置7からの2辺間
の各アドレス情報を演算し、マッピングパターン情報及
び輝度値を算出する内部描画処理装置9と、内部描画処
理装置9からの情報及びマッピングパターンメモリ10
からの色値と輝度値を乗算し、シェーディング処理され
た画像データを出力するスムージング処理装置11と、
を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、立体を表現した3次
元画像に模様並びに陰影を付加する立体画像処理装置に
関する。
【0002】
【従来の技術】CRTデイスプレイ等の2次元(平面)
表示装置に3次元立体図形を透視変換処理、遠近処理等
によって表示する場合に、表示された物体に自然な感じ
を与えるため光反射モデルに基づいて、陰影、すなわ
ち、シェーディング処理が行われている。
【0003】このシェーディングの手法としては、ビ・
トウイング・フォング(Bui・Toung・Phon
g)のフォングシェーディング等が知られている。
【0004】このフォングシェーディングは、次の数式
1式に基づいて、図23に示すベクトルの関数に従い視
線方向の光の強さを算出するものである。
【0005】
【数1】
【0006】また、鏡面反射光を無視したシェーディン
グ手法として、下記数2式に基づいて、図24に示すベ
クトル関数に従い光の強さを算出するランバート(La
mbart)シェーディング手法がある。
【0007】
【数2】
【0008】このアルゴリズムを適用するときには、光
線ベクトル、面法線ベクトルを随時算出する必要があ
り、極めて高速に動作する大規模な専用ハードウェアー
を必要とする。
【0009】簡単な回路でランバードシェーディング手
法を実現する装置が特開平2ー51789号公報(国際
特許分類G06F 15/72)に提案されている。
【0010】この装置は、物体の面法線をまず算出し、
その後、物体の回転の逆回転を光線ベクトルだけに行
い、上記モデルによってシェーディングを付与するの
で、物体の回転に伴って法線ベクトルの再計算を行う必
要がなく、簡単な回路で高速動作を実現しようとするも
のである。
【0011】また、この装置は、物体を構成する各多面
体(ポリゴン)を単色で塗りつぶす際に、その塗りつぶ
しの色に濃淡を設け、シェーディングを付与するもので
ある。
【0012】一方、表示される各ポリゴンに模様を付加
するいわゆるマッピング処理を行う画像処理装置が提案
されている。(特願平3−254573号参照)
【0013】この画像処理装置によれば、ポリゴンの外
形の変化に対応して、ポリゴン内部に付加する模様を変
化させ、ポリゴンに模様を付加することができる。
【0014】
【発明が解決しようとする課題】上述したシェーディン
グ装置においては、ポリゴンに単色の塗りつぶし処理を
行うだけで、ポリゴン内部に模様等を付与することはで
きない。
【0015】また、ポリゴン内部に模様等を付加する従
来の画像処理装置においては、シェーディング処理を施
すことができず、3次元立体図形のリアルな表示ができ
ないという問題があった。
【0016】この発明は上述した従来の問題に鑑みなさ
れたものにして、ポリゴン面に模様とシェーディングを
高速に且つ同時に行うことができる立体画像処理装置を
提供することを目的とする。
【0017】
【課題を解決するための手段】この発明の立体画像処理
装置は、ポリゴンを構成するX,Yの端点情報及びポリ
ゴン面に付与する模様の基本パターンの領域を示す内部
パターン端点情報を格納するポリゴン端点メモリと、各
ポリゴンの法線ベクトル群を格納する法線ベクトルメモ
リと、ポリゴン端点メモリからの各端点情報を幾何変換
する幾何変換装置と、法線ベクトル群と光源ベクトル及
び視線ベクトルからポリゴンに付加する輝度値を算出す
るシェーディング装置と、上記幾何変換装置からの各端
点情報に基づいて、ポリゴン外形のアドレス情報、内部
パターン端点情報及びシェーディング装置からの輝度値
を、スキャンラインごとにポリゴン外形部分の情報にそ
れぞれ変換する外形処理装置と、上記外形処理装置にて
算出された対向する2辺間の各アドレス情報を演算し、
ポリゴン内部の内部パターン情報及び輝度値の各情報を
算出する内部描画処理装置と、上記基本パターンのルッ
クアップテーブルを構成する内部パターンメモリと、上
記内部描画処理装置から与えられる情報に基づき上記内
部パターンメモリをアクセスし、このメモリから得られ
る色値と輝度値を乗算し、シェーディング処理された画
像データを出力するスムージング処理装置と、スムージ
ング処理装置からの画像データを表示する表示装置と、
を備えて成る。
【0018】
【作用】この発明は、各ポリゴン端点に模様のためのマ
ッピングのX,Yアドレスと輝度情報を持たせ、そのマ
ッピングのX,Yアドレスと輝度情報を同時に補間する
ことにより、ポリゴン面に対して、高速にマッピングと
シェーディングが行え、CRTにリアルタイムに表示す
ることができる。
【0019】
【実施例】以下、この発明の実施例につき図面を参照し
て説明する。
【0020】図1はこの発明を用いた疑似3次元画像処
理装置の全体構成を示すブロック図であり、この装置は
例えば、レーシングゲームや飛行機の操縦シュミレーシ
ョン等のゲーム用機器に用いて好適な一例が示されてい
る。図1に従いこの発明の全体構成につき説明する。
【0021】この実施例においては、各種条件のシュミ
レーション画像を複数のポリゴン情報として、ポリゴン
端点メモリ1に端点情報がX,Y,Z座標値として与え
られる。更にこのポリゴン端点メモリ1には、ポリゴン
面に付与する模様の基本パターンのマッピングパターン
領域を示す端点情報が格納される。
【0022】また、各ポリゴン端点の法線ベクトル値
(NX,NY,NZ)はポリゴン法線メモリ2に格納さ
れている。このベクトルメモリ2には、更に各ポリゴン
のレッドの拡散反射係数(RKd)、グリーンの拡散反
射係数(GKd)、ブルーの拡散反射係数(BKd)と
各ポリゴンのレッドの鏡面反射係数(RKs)、グリー
ンの鏡面反射係数(GKs)、ブルーの鏡面反射係数
(BKs)及びレッドの環境光値(Rambient)
グリーンの環境光値(Gambient)、ブルーの環
境光値(Bambient)を格納している。これら各
データはシェーディング装置5に与えられる。
【0023】CPUは、あらゆる立体物(オブジェク
ト)を複数のポリゴンの集合体として表現し、このポリ
ゴンの各端点を示す端点情報を読み出し、ハンドルアク
セス等で構成された操作部(図示しない)の操作内容に
基づいて変換された電気信号に従いこの状況に応じた状
況データを演算し、幾何変換装置3及びシェーディング
装置5に夫々データを与える。
【0024】幾何変換装置3は、CPUからの命令に従
い各種ポリゴンデータを参照しながら、ポリゴン端点メ
モリ1から各ポリゴンの端点情報をデータを読み出し、
ポリゴンの端点の値を視線方向に回転する視野変換、透
視投影変換により各ポリゴンの端点座標を幾何変換し、
そのX,Yの2次元のスクリーンデータをスクリーンメ
モリ4に与える。また、ポリゴン中心の視野変換された
代表値、すなわち、そのポリゴンの視点からの距離の代
表値(Z値)を決定し、そのデータをスクリーンメモリ
4に与える。
【0025】シェーディング装置5は、ポリゴン法線メ
モリ2より読み出したポリゴン接点の法線ベクトル値に
対してシェーディング演算を行い、ポリゴン端点の輝度
値を算出し、このポリゴン端点の輝度値をポリゴン端点
カラーメモリ6に与える。このシェーディング装置5の
詳細については後述する。
【0026】外形処理装置7は、スクリーンメモリ4か
らのポリゴンを構成する各辺の端点、すなわちXの始点
アドレス(XS)、終点アドレス(XE)及びYの始点
アドレス(YS)、及び終点アドレス(YE)並びに、
基本パターンを構成するマッピングパターンの始点アド
レス(MXS)、X終点アドレス(MXE)、Y始点ア
ドレス(MYS)、Y終点アドレス(MYE)を取り込
むと共に、カラーメモリー6から輝度値データ(LUT
S,LUTE)を取り込む。
【0027】そして、この外形処理装置7は、ポリゴン
の外形処理のために、各辺の外形端点情報、マッピング
パターンのアドレス及び輝度値を補間しながら算出し、
その算出した各データをフレームメモリ8に与える。こ
の外形処理装置7の詳細については、後述する。
【0028】そして、フレームメモリ8には、外形処理
装置7より与えられた各データ、すなわち、水平ライン
(スキャンライン)ごとにポリゴンの左辺X、右辺Xの
値と左辺のマッピングメモリアドレス、右辺のマッピン
グメモリアドレスと左辺の輝度値、右辺の輝度値が夫々
格納されている。
【0029】フレームメモリ8に格納されている各デー
タは内部描画処理装置9へ与えられ、内部描画処理装置
9にて、ポリゴン内部の各データを補間する。この内部
描画処理装置9の詳細については、後述する。
【0030】内部描画処理装置9にて補間された、ポリ
ゴン内部の各データがスムージング処理装置11に与え
られる。このスムージング処理装置11には、マッピン
グパターンのルックアップテーブルアドレスが格納され
たマッピングパターンメモリ10からのアドレスデータ
と内部描画処理装置9からのデータが与えられる。
【0031】スムージング処理装置11では内部描画処
理装置9から与えられるマッピングパターンメモリアド
レスと輝度値と、マッピングパターンメモリ10からの
ルックアップテーブルアドレスにより、色値を算出し、
色値と輝度値と乗算し、シェーディング処理された画像
データをCRT12に転送し、CRT12にてその画像
を表示する。
【0032】図2は上記シェーディング装置の構成を示
すブロック図、図3は上記外形処理装置の構成を示すブ
ロック図、図4は内部描画処理装置の構成を示すブロッ
ク図、図5はスムージング処理装置の構成を示すブロッ
ク図である。
【0033】次に、この発明の実施例におけるシェーデ
ィング装置5につき図2を参照して説明する。
【0034】シェーディング装置5は、ポリゴン法線メ
モリ2から、法線ベクトル値、拡散反射係数、鏡面反射
係数、環境光値を夫々読み出し、読み出された各データ
はメモリインターフェース51に一旦格納される。ポリ
ゴン法線メモリ2のアクセスは、アドレス生成回路52
にて生成されたアドレスによって行われ、メモリ2によ
り夫々データが読み出される。
【0035】メモリインターフェース51に格納された
データは、シェーディング演算回路57にそれぞれ与え
られ、コントローラ50はフォングモデルに基づくシェ
ーディング演算回路57を制御する。
【0036】立体物体(オブジェクト)を例えば時計回
りにθだけ回転させたとき、オブジェクトのある点の法
線ベクトルnはn’の位置に移動するのに対し、視線ベ
クトル、光線ベクトルは移動しない。このため視線ベク
トル、光線ベクトルとで新たなシェーディング係数の計
算を行う必要がある。この時、法線ベクトルは多数存在
するので、この回転移動した法線ベクトルを演算すると
した場合、大規模な回路が必要となる。
【0037】ところが、光線ベクトル及び視線ベクトル
を反時計回りに−θだけ回転させたベクトルとオブジェ
クト回転前の法線ベクトルとで求めたシェーディング係
数が法線ベクトルを回転演算させて視線ベクトル及び光
線ベクトルとで算出したシェーディング係数と同じにな
る。このため、この実施例のシェーディング処理装置5
は法線ベクトルに回転処理演算を行うのではなく視線ベ
クトル及び光線ベクトルに逆回転処理演算を行い、シェ
ーディング係数を求めるように構成している。
【0038】CPUよりオブジェクトの回転角度(X
θ、Yθ、Zθ)が入力されると、視線ベクトルはベク
トル回転回路55にてX,Y,Z方向に(Xθ、Yθ、
Zθ)だけ逆回転処理が行われる。すなわち、視線ベク
トルはレジスタ53に一旦格納され、ベクトル回転回路
55のY回転演算器55aにて、Y方向にYθ逆回転演
算が行われ、X回転演算器55bに送られる。
【0039】X回転演算器55bはX方向にXθ逆回転
演算を行い、Z回転演算器55cにそのデータを送る。
Z回転演算器55cはZ方向にZθ逆回転演算を行い、
その演算結果をシェーディング演算回路57に与える。
【0040】また、光線ベクトルは、ベクトル回転回路
56にてX,Y,Z方向に(Xθ、Yθ、Zθ)だけ逆
回転処理が行われる。すなわち、光線ベクトルはレジス
タ53に一旦格納され、ベクトル回転回路の56のY回
転演算器56aにて、Y方向にYθ逆回転演算が行わ
れ、X回転演算器56bに送られるX回転演算器56b
はX方向にXθ逆回転演算を行い、Z回転演算器56c
にそのデータを送る。
【0041】Z回転演算器56cはZ方向にZθ逆回転
演算を行い、その演算結果をシェーディング演算回路5
8に与える。これら回転演算器は、各X,Y,Zにおけ
る各ベクトルの座標係数(A,B)に対してsinθ、
cosθの乗算を行いそれぞれの乗算結果の差分をと
り、θの逆回転演算を行う。
【0042】そして、ベクトル回転回路55の処理結果
とベクトル回転回路56の処理結果がシェーディング演
算回路57に与えられる。シェーディング演算回路57
は、両処理結果とベクトルメモリ2からのR,G,Bの
拡散反射係数、鏡面反射係数、環境光値とにより、色値
を求める演算を行い、この算出した色値をメモリインタ
ーフェイス58に出力する。
【0043】メモリインターフェース58に格納された
色値は、アドレス生成回路59にて生成されたアドレス
値にて指定されたカラーメモリ6の領域に格納される。
【0044】次に、この実施例のシェーディング処理装
置5の動作を図6のフローチャートに基づいて、更に説
明する。
【0045】シェーディング動作を開始すると、まず、
オブジェクトの回転角度Xθ,Yθ,ZθがCPUより
入力される(ステップS1)。そして、ベクトル回転回
路5656にて光線ベクトル(LX,LY,LZ)をオ
ブジェクトの回転角度Xθ,Yθ,Zθだけ逆回転させ
る。(ステップS2)。
【0046】続いて、ベクトル回転回路55にて視線ベ
クトル(EX,EY,EZ)をオブジェクトの回転角度
Xθ,Yθ,Zθだけ逆回転させる。(ステップS
3)。
【0047】そして、ベクトルメモリ2よりポリゴン面
法線ベクトル(PX,PY,PZ)が読み出された後
(ステップS4)、R,G,Bの拡散反射係数(RK
d,GKd,BKd)及び鏡面反射係数(RKs,GK
s,BKs)が読み出され(ステップS5)、ステップ
S6へ進む。
【0048】ステップS6において、ポリゴン端点法線
ベクトル(NX,NY,NZ)を旦点法線メモリ2より
読み出し、シェーディング演算回路57にて法線ベクト
ル(NX,NY,NZ)と逆回転演算された視線ベクト
ル(EX,EY,EZ)との内積がとられる(ステップ
S7)。
【0049】この内積値(INNNER)と拡散反射係
数Kdを乗算し、R,G,Bの拡散反射強度(DIF)
を算出する(ステップS8)。
【0050】続いて、ステップS9にて、反射光のベク
トルを求め、ステップS10にて視線ベクトルと反射光
ベクトルとの内積を求める。この第2内積値(INNE
R2)と鏡面反射強度Ksを乗算しR,G,Bの鏡面反
射強度を算出する(ステップS11)。
【0051】そして、ステップS12において、光線強
度L1に拡散反射強度と鏡面反射強度を加えたものを乗
算し、この値に環境強度を加算して、輝度値(LUT)
を算出する。
【0052】更に、ステップS13にて、輝度値(LU
T)をカラーメモリ6に書き込み、ステップS14に
て、ポリゴンの全てのポリゴン端点の処理が終了したか
否か判断され、処理していない場合には、前述のステッ
プS6に戻り、前述の動作を繰り返す。また、処理が終
了すると、ステップS15に進み、ステップS15にて
全てのポリゴンの処理が終了したか否か判断され、処理
が終了していない場合にはステップS4に戻り、前述の
動作を繰り返す。
【0053】ステップS16にて、オブジェクト中のポ
リゴン全てに対して、処理が終了したか否か判断され、
処理していない場合には、前述のステップS1に戻り、
前述の動作を繰り返す。又、処理が終了すると、処理が
終了したと判断されると、このシェーディング処理装置
5の動作が終了する。
【0054】つぎに、この発明の外形処理装置7、内部
描画処理装置9につき図3及び図4を参照して説明す
る。
【0055】この実施例においては、ポリゴンはスクリ
ーン端点座標(X,Y)と、基本パターン、即ちマッピ
ングパターンの端点座標(MX,MY)及び輝度値(L
UT)を持つことにより、図22のようなポリゴン面に
基本パターンを変形させてマッピングすると共に、その
ポリゴン面に濃度を付加し、シェーディングを付加する
ものである。
【0056】まず、ポリゴン外形処理装置7にてポリゴ
ンの外形処理を行う。
【0057】この外形処理のためにCPUにて、スクリ
ーンメモリ4より読み出された各辺のXYアドレスの始
点及び終点に基づいて、ポリゴンを構成する各辺のベク
トルが図21に示すどの方向に属するかを判断し、その
ベクトルの方向に応じて、右辺又は左辺が決定される。
【0058】スクリーンメモリ10には、スクリーン端
点座標(X,Y)と、マッピングパターンの端点座標
(MX,MY)及びポリゴンのZ値が格納されている。
また、カラーメモリ6には、シェーディング処理装置5
にてシェーディング処理された各端点の輝度値(LU
T)が格納されている。
【0059】そして、ポリゴン外形処理回路61にて、
スクリーンメモリ10より読み出された各辺のYアドレ
スの始点(YS)及び終点アドレス(YE)からY方向
の距離(DY)を算出する。即ち、DY=YE−YSの
演算を減算器62で行う。続いて、このDYを用いて、
ポリゴンの外形を求めるために、各辺のX終点(XE)
からX始点(ZS)までのアドレスをデジタル微分解析
(DDA)により求め、そのデータをフレームメモリ3
0に格納する。
【0060】即ち、下記数式3の(1)式に示すよう
に、その微差分値を算出し、下記(2)式に示すよう
に、補間演算を行い各辺のX終点からX始点までのアド
レスを算出する。
【0061】
【数3】 DDX=(XE−XS)/DY ・・・(1) X=X+DDX ・・・(2)
【0062】この演算は、DDA演算回路63にて行わ
れ、DDA演算回路63の減算器64にて、XE−XS
の演算を行い、この演算結果が除算器65に与えられ
る。除算器65の一入力には、減算器62よりDY値が
与えられ、上記の(1)式の演算を行い、この演算結果
を補間演算を行う補間回路66に与える。
【0063】補間演算回路66の加算器67とレジスタ
68にて上記(2)式の補間演算が行われ、各辺のXを
始点(XS)からX終点(XE)までのポリゴンの外形
データを算出し、フレームメモリ8に格納する。
【0064】また、マッピングパターンの外形処理回路
71は、基本パターン情報の外形処理を行う。この処理
はスクリーンメモリ4に格納された基本パターンの端点
アドレス(MX,MY)を変化させる。
【0065】スクリーンメモリ4より読み出された基本
パターンの始点アドレス(MXS,MYS),(MX
E,MYE)のアドレスデータからポリゴンに対応する
データを下記数式4の(3),(4)式に基づいて、デ
ジタル微分解析(DDA)により、DDA演算回路72
及び補間演算回路75にて算出し、フレームメモリ8に
格納する。即ち、各辺の終点データ(MXE,MYE)
から始点データ(MXS,MYS)までのデータを減算
器73及び除算器74にてデジタル微分解析(DDA)
し、そのデータを加算器76、レジスタ77にて補間演
算により求め、そのデータをフレームメモリ8に格納す
る。
【0066】まず、(3),(4)式に示すように、そ
の微差分値を算出し、(5),(6)に示すように、補
間演算を行い各辺の終点から始点までのデータを算出す
る。この(5)式におけるMXの初期値は始点のデータ
(MYS)であり、(6)式におけるMYの初期値は始
点のデータ(MYS)である。(5),(6)式の演算
が0からDYまで繰り返される。
【0067】
【数4】 DMX=(MXE−MXS)/DY ・・・(3) DMY=(MYE−MYS)/DY ・・・(4) MX=MX+DMX ・・・(5) MY=MY+DMY ・・・(6)
【0068】更に、輝度値(LUT)外形処理回路81
は、輝度値(LUT)情報の外形処理を行う。この処理
はカラーメモリ6に格納された輝度値の端点アドレス
(LUTS,LUTE)を変化させる。カラーメモリ6
より読み出された輝度値の始点アドレス(LUTS)、
終点アドレス(LUTE)のアドレスデータからポリゴ
ンに対応するデータを下記数式5の(7),(8)式に
基づいてデジタル微分解析(DDA)により輝度値外形
処理回路81のDDA演算回路82及び補間演算回路8
5にて算出し、フレームメモリ8に格納する。即ち、各
辺の終点データ(LUTE)から始点データ(LUT
S)までのデータを減算記3及び除算記74にてデジタ
ル微分解析し、そのデータを加算器76及びレジスタ8
7にて補間演算して算出し、そのデータをフレームメモ
リ8に格納する。
【0069】まず、(7)式に示すように、その微差分
値を算出し、(8)式に示すように、補間演算を行い、
各辺の終点から始点までのデータを算出する。この
(8)式におけるLUTの初期値は始点データ(LUT
S)である。(8)式の演算が0からDYまで繰り返さ
れる。
【0070】
【数5】 DLUT=(LUTE−LUTS)/DY ・・・(7) LUT=LUT+DLUT ・・・(8)
【0071】この実施例においては、水平走査線に同期
して、その垂直位置を示すYアドレスごとに、ポリゴン
の外形とそれに基づいて変形された基本パターンの外形
アドレス情報及び輝度値の外形アドレス情報がフレーム
メモリ8に格納される。
【0072】内部図形描画回路9は、対応する2辺間の
XYアドレスをフレームメモリ8より読み出し、この読
み出したアドレス情報に基づいて、下記数式6の(9)
〜(15)式に従いポリゴン内部の各ビットパターンの
アドレス及び輝度情報アドレスを内部パターンアドレス
として算出する。
【0073】即ち、この実例例においては、水平走査信
号に同期して、その垂直位置としてのYアドレスに対応
するポリゴンの外形を示す2点のXの始点(XS)とX
の終点(XE)と基本パターンを変形したマッピングア
ドレス(MX,MY)と輝度値(LUT)をフレームメ
モリ8から読み出す。
【0074】フレームメモリ8より読み出されたXアド
レスの始点及び終点アドレスから(9)式に示すように
減算器90にてX方向の距離(DXY)を算出する。
【0075】このDXYを用いて、基本パターンをポリ
ゴンの形に合わせて変形させるために、フレームメモリ
8より読み出された基本パターンの端点マッピングアド
レス(MX,MY)及び輝度値(LUT)を(10),
(11),(12)式に基づいてデジタル微分解析(D
DA)により算出する。
【0076】即ち、(10),(11),(12)式に
示すように、その微差分値を算出し、(13),(1
4),(15)式に示すように、補間演算を行いY軸の
終点から始点までのデータを算出する。この(13),
(14),(15)式におけるXの値は、0からDXま
で変化する。
【0077】
【数5】 DXY=XE(Y)−XS(Y) ・・・(9) DDMX=(MXE(Y)−MXS(Y))/DXY ・・・(10) DDMY=(MY(Y)−MYS(Y))/DXY ・・・(11) DDLUT=(LUTE(Y)−LUTS(Y))/DXY ・・・(13) MX=MXS(Y)+DDMX*X ・・・(12) MY=MYS(Y)+DDMY*X ・・・(14) LUT=LUTS(Y)+DDMY*X ・・・(15)
【0078】フレームメモリ8より読み出されたYアド
レス毎の基本パターンのアドレス(MXS(Y),MY
S(Y)),(MXE(Y),MXE(Y))及び輝度
値(LUTE(Y),LUTS(Y))からポリゴンに
対応するデータをDDA演算回路91の減算器92、除
算器93にてデジタル微分解析(DDA)により算出す
る。
【0079】そして、補間演算回路94の乗算器95、
加算器96、カウンタ97により補間演算を行い、各辺
の終点から始点までのデータを算出する。この算出した
各データがスムージング処理装置11に与えられる。
【0080】上記外形処理装置7及び内部描画処理装置
9の動作を図7ないし図9の動作フローに基づき、図3
及び図4の回路例に従い説明する。
【0081】まず、コントローラがポリゴン数(P)を
端点メモリ1より読み出し、そして、処理するポリゴン
角数を読み出し、その数を内部処理用メモリに格納する
(ステップS20,S21)。
【0082】そして、スクリーンメモリ4より始点(X
S,YS,MXS,MYS)を、カラーメモリ6より輝
度値の始点(LITS)をそれぞれ読み出し(ステップ
S22)、スクリーンメモリ4及びカラーメモリ6のア
ドレスをインクリメントして、スクリーンメモリ4及び
カラーメモリ6より終点(XE,YE,MXE,MY
E,LUTE)をそれぞれ読み出す(ステップS2
4)。この読み出した端点の始点(XS,YS)、終点
(XE,YE)から方向ベクトルを算出し、この辺ベク
トルを左辺または右辺に設定する(ステップS25)。
【0083】そして、外形処理装置7のポリゴン外形処
理回路61の差分回路を構成する減算器62にスクリー
ンメモリ4からのYE,YSのデータが与えられ、両者
間の距離DYが算出される(ステップS26)。このD
Yは微差分演算回路63、マッピングパターン外形処理
回路71の微差分演算回路72及び輝度値外形処理回路
81の微差分演算回路82にそれぞれ供給される。
【0084】微差分演算回路63内の減算輝64にはス
クリーンメモリ4から始点(XS)及び終点(XE)デ
ータが与えられ、この減算器64からの減算結果XE−
XSが除算器65へ供給される。
【0085】この除算器65にて、(XE−XS)/D
Yの除算が行われ(ステップS27)、この値(DD
X)が補間演算回路66の加算器67へ与えられる。こ
の加算器67にて、X+DDXの演算が行われ、この値
がレジスタ68に書き込まれ、このレジスタ68からフ
レームメモリ28にXアドレスとして書き込まれる(ス
テップS28)。
【0086】また加算器67の一方の入力はレジスタ6
8からの出力が与えられるため、この回路66にて、補
間演算が行われる。
【0087】一方、マッピングパターンの外形処理回路
71及び輝度値外形処理回路81では、スクリーンメモ
リ4及びカラーメモリ6より、読み出された基本パター
ンの端点アドレス(MXS,MYS),(MXE,MY
E)及び輝度値の端点アドレス(LUTS,LUTE)
が入力され、この減算器73にて、MXE−MXS,及
びMYE−MYSの演算が、減算器83にて、LUTE
−LUTSの演算が行われ、その演算結果が除算器74
と除算器84に与えられる。
【0088】この除算器74,84には差分回路の減算
器62からのDYが与えられ、上述の演算結果との間で
除算され、微差分値が算出される。
【0089】この微差分演算回路72,82にて、DM
X=(MXE−MXS)/DY,DMY=(MYE−M
YS)/DY,DLUT=(LUTE−LUTS)/D
Yの演算が行われ、この演算結果が補間演算回路75の
加算器76と補間演算回路85の加算器86へ供給され
る。
【0090】補間演算回路75及び85では、加算器7
6及び86に微差分演算回路72及び82からの出力
と、レジスタ77及び87に設定された前のデータとの
間で加算がなされ、MX=MX+DMX,MY=MY+
DMY,LUT=LUT+DLUTの演算が行われる
(ステップS31)。
【0091】この値がレジスタ77及び87に与えら
れ、このレジスタ77の値がマッピングパターンのアド
レスデータ、レジスタ88の値が輝度値のアドレスデー
タとしてフレームメモリ8に書き込まれる。
【0092】また、加算器76及び86の一方の入力は
レジスタ77及び87からの出力が与えられるため、こ
の回路75及び85にて、補間演算が行われる。
【0093】フレームメモリ8には、Yアドレス毎にポ
リゴン辺の左辺Xアドレス、右辺Xアドレス、マッピン
グパターンの左辺Xアドレス、右辺Xアドレス、マッピ
ングパターンの左辺Yアドレス、右辺Yアドレス、輝度
値の左辺アドレス、右辺アドレスと、Z値が格納され
る。
【0094】また、図示はしていないが、Yアドレス毎
のポリゴンの数をポリゴンカウントメモリに書き込む。
【0095】続いて、内部描画処理装置9について、図
4及び図9に従い説明する。
【0096】内部描画処理装置9は、まずYアドレスを
初期化し(ステップS40)、Yアドレス毎に対向する
2辺間のXアドレス及びマッピングパターンのアドレス
(XS,XE,MXS,MXE)及び輝度値のアドレス
(LUTS,LUTE)をフレームメモリ8より読み出
す(ステップS41)。
【0097】即ち、この実施例においては、水平走査信
号に同期して、その垂直位置としてのYアドレスに対応
するポリゴンの外形を示す2点のXの始点(XS)とX
の終点(XE)と基本パターンを変形したしたマッピン
グアドレス(MXS,MYS),(MXE,MYE)及
び輝度値のアドレス(LUTS,LUTE)をフレーム
メモリ8から読み出す。
【0098】そして、内部描画処理装置8の差分回路を
構成する減算器9にフレームメモリ8からのXE,XS
のデータが与えられ、両者間の距離DXが算出される
(ステップS42)。このDXは微差分演算回路91に
供給される。
【0099】微差分演算回路91内の減算器92にはフ
レームメモリ8からマッピングアドレスの始点(MX
S,MYS)及び終点(MXE,MYS)、及び輝度値
のアドレスの始点(LUTS)、終点(LUTE)のデ
ータがそれぞれ与えられ、この減算器92からの減算結
果MXE−MXS,MYE−MYS,LUTE−LUT
Sが減算器93へ供給される。
【0100】この減算器93にて、(MXE−MXS)
/DX,(MYE−MYS)/DX,(LUTE−LU
TS)/DXの除算が行われ、この値(DDMX)(D
DMY)(DDDLUT)が補間演算回路94の乗算器
95へ与えられる(ステップS43)。そして、Xアド
レスを初期化する(ステップS44)。
【0101】また、乗算器95の一方の入力には、0か
らDXまで順列番号を発生するカウンタ87からの出力
が与えられ、乗算器95にてDDX*X,DDMY*
X,DDLUT*Xの演算が行われ、この演算結果が加
算器86に供給される。そして、この加算器96にはフ
レームメモリ8よりマッピングアドレスの始点(MX
S,MYS)及び輝度値の始点(LUTS)が与えら
れ、乗算器95の演算結果に始点のデータが加算され、
補間演算が行われる(ステップS45)。この補間され
たデータがスムージング処理装置11へ与えられる(ス
テップS46)。
【0102】そして、1つXアドレスの演算を行う毎
に、Xアドレスを1つインクリメントし(ステップS4
7)、XアドレスがDXになるまで前述の動作を繰り返
す(ステップS48)。
【0103】更に、1つのYアドレスが終了する毎にY
アドレスをインクリメントし(ステップS49)、全て
のYアドレスに対応する処理が終了するまで前述の動作
を繰り返し(ステップS50)、全てのアドレスに対応
する処理が終了した時点で内部処理の補間動作が終了す
る。
【0104】次に、スムージング処理装置11の具体的
実施例を図5を参照して更に説明する。スムージング処
理装置11は、内部描画処理装置9から出されたポリゴ
ンの変形に対応して基本パターンが変形されたマッピン
グパターンメモリアドレス(MX,MY)と、輝度値
(LUT)を受ける。そして、マッピングパターンメモ
リアドレス(MX,MY)に従い、マッピングパターン
メモリ10をアクセスする。即ち、内部描画処理装置9
から出力されたマッピングパターンメモリアドレス(M
X,MY)はレジスタ101に格納され、このレジスタ
101からマッピングパターンメモリ10のアドレス値
がマッピングパターンメモリ10に与えられる。マッピ
ングパターンメモリ10をルックアップテーブルとして
そのアドレスに対応したR.G.B等の色情報等のデー
タが読み出され、マルチプレクサ103へ与えられる。
【0105】又、レジスタ101に格納されたマッピン
グパタンンメモリアドレス(MX,MY)値もマルチプ
レクサ103へ与えられる。そして、マッピングポリゴ
ンであるか、マッピングポリゴンでないか、即ち、ポリ
ゴンに模様を付加したものか、単色のポリゴンかを示す
ポリゴン属性がフリップフロップ102に与えら、この
フリップフロップ102により、ポリゴン属性がマッピ
ングポリゴンでンでなければマッピングパターンメモリ
データの色情報を格納するデータメモリ(LUT)10
4にアドレスとして与えるようにマルチプレクサ104
を制御する。
【0106】又、ポリゴン属性が単色ポリゴンを示すも
のであれば、レジスタ101に格納されているマッピン
グアドレス値をデータメモリ(LUT)104のアドレ
スとして与えるようにマルチプレクサ104が制御され
る。
【0107】一方、内部描画処理装置9からの輝度値
(LUT)はレジスタ105に格納される。データメモ
リ(LUT)からのR,G,Bの色値と輝度値(LU
T)が乗算器106に与えられる。この乗算器106に
て、色値(R,G,B)と輝度値(LUT)とをそれぞ
れ乗算し、色の濃淡付けを行い、その結果をCRT12
に出力し、CRT12に模様に更にシェーディング処理
が施されたポリゴン図形が表示される。
【0108】次に、この発明の各部の具体的実施例につ
き以下に説明する。
【0109】図10は外形処理装置7の具体的構成例を
示す回路図、図16及び図17はその動作を示すフロー
チャートである。図10に従いこの発明の外形処理装置
7について更に説明する。
【0110】この回路は、コントローラ50により制御
され、このコントローラ50は図16、図17に示すフ
ローチャートに従って、端点間をDDAにより補間する
ために、前述した図3に示す差分回路62、微差分演算
回路63、72、82及び補間演算回路66、75、8
5を制御する。
【0111】図3に示す差分回路62、微差分演算回路
63、72、82は、補間演算回路66、75、85に
て補間演算に用いる各パラメータを算出するためのもの
であり、差分回路62、微差分演算回路63、72、8
2は共通の回路構成で行えるため、この回路において
は、差分回路62、微差分演算回路63、72、82を
1つのブロック図として、パラメータ演算部110とし
て説明する。
【0112】図示しないポリゴンカウントメモリのデー
タは入力バッファ112に与えられ、入力されたポリゴ
ンカウントメモリのデータをインクリメンタ113にて
1インクリメントしてラッチ114へ転送する。
【0113】ラッチ114は、インクリメンタ113の
データを受け取り、ポリゴンカウントメモリへ転送す
る。
【0114】スクリーンメモリ4より読み込まれた端点
データはラッチ116に一時的に格納され、内部処理用
のRAM115に転送される。
【0115】そして、このRAM115には、スクリー
ンメモリ4より読み込まれた端点データの各始点(X
S,MXS,MYS)及びカラーメモリ6より読み込ま
れた始点(LUTS)だけ格納される。
【0116】また、スクリーンメモリ4及びカラーメモ
リ6のアドレスはカウンタ117にて発生する。
【0117】そして、RAM115より読み出されたY
始点(YS)と、スクリーンメモリ4より読み出された
Y終点(YE)が減算器118に入力される。
【0118】この減算器118でYEからYSを減算処
理し、この値(DY)をW2レジスタ119が一時的に
格納する。そして、このDYは更にレジスタ125に格
納される。
【0119】また、減算器118には、RAM115よ
り読み出されたX始点(XS)とスクリーンメモリ4よ
り読み出されたX終点(XE)、マッピングパターンの
始点(MXS,MYS)及びカラーメモリ6より読み出
された輝度値の始点(LUTS)とスクリーンメモリ4
より読み出された終点(MXE,MYE)及びカラーメ
モリより読み出された終点(LUTE)がそれぞれ入力
され、XEからXS、MXEからMXS、MYEからM
XS、MYEからMYS、LUTEからLUTSを減算
する。
【0120】スクリーン座標の(YE−YS)処理によ
り発生するキャリーはフリップフロップ120に格納さ
れ、このキャリーによりポリゴンを右回りだけとする
と、上方向は右辺、下方向は左辺とし、フレームメモリ
8のアドレスの一部とする。
【0121】121、122、126は3ステートバッ
ファである。
【0122】除算器123は、減算器118にて減算処
理したXE−XS、MXE−MXS、MYE−MYS、
LUTE−LUTSの値をDYで除算する。除算器12
3により演算された値DDX,DMX,DMY,DLU
TはW1レジスタ124に一時的に格納される。
【0123】次に補間演算回路66、75、85の構成
について説明する。パラメータ演算部110より転送さ
れたZ値は、BZレジスタ127に一時的に格納され
る。
【0124】スタート信号(RUN)をパラメータ演算
部110より受けることによりBZレジスタ127の値
をレジスタ128に格納し、フレームメモリ8に値を出
力する。この実施例のフレームメモリ8は図14に示す
ように構成されている。
【0125】パラメータ演算部110で演算されたスク
リーン座標のYE−YSの値(DY)はDYレジスタ1
29に格納される。スタート信号をパラーメータ演算部
110より受けることにより、カウンタ130はDYレ
ジスタ129の値を格納し、メモリサイクル毎、ダウン
カウントすることにより、このカウンタ130が0にな
らない間、補間演算回路66、補間演算回路75、補間
演算回路85に処理権を与えることにより各補間演算回
路を制御する。
【0126】カウンタ130のカウンタ値のゼロフラグ
はフリップフロップ131に与えられ、フリップフロッ
プ131は、その値を、RUN信号として出力する。パ
ラメータ演算部110より転送された、スクリーン座標
のYSはBSYLレジスタ132に一時的に格納する。
【0127】BSYLレジスタ132の出力はマルチプ
レクサ133に与えられ、このマルチプレクサ133に
より、スタート信号を受けたときだけ、BSYLレジス
タ132の値をSYLレジスタ134に転送し、それ以
外の時は加算器136の加算器出力をSYLレジスタ1
34へ転送する。
【0128】SYLレジスタ134は、メモリサイクル
毎に値を更新することにより、ポリゴン辺のスクリーン
座標のYアドレスを演算する。
【0129】またマルチプレクサ135はポリゴン辺が
下向きであれば、1値を、上向きであれば、−1値を加
算器136へ転送する。
【0130】RUN信号がONしている間、メモリサイ
クル毎SYLレジスタ134の値がレジスタ137に格
納されることにより、フレームメモリ8にSYアドレス
を転送する。
【0131】パラメータ演算部110より転送されたス
クリーン座標のXSはBSXLレジスタ138に一時的
に格納される。
【0132】また、マルチプレクサ139により、スタ
ート信号を受けた時だけ、BSXLレジスタ138の値
がSXLレジスタ150に転送され、それ以外の時に
は、加算器153の出力がSXLレジスタ150に転送
される。
【0133】SXLレジスタ150は、メモリサイクル
毎値を更新することにより、ポリゴン辺のスクリーン座
標のXアドレスを演算する。
【0134】BDDXレジスタ151は、パラメータ演
算部110より転送されたパラメータ(スクリーン座標
のX終点(XE)−X始点(XS)/DY)の値を一時
的に格納する。
【0135】スタート信号を受けることによりBDDX
レジスタ151の値をDDXレジスタ152に格納し、
加算器153へ転送する。
【0136】RUN信号がONしている間はメモリサイ
クル毎にSXLレジスタ150の値がSXレジスタ15
4に格納されることにより、フレームメモリ8にSXデ
ータを転送する。
【0137】パラメータ演算部110より転送されたマ
ッピングパターン座標のMXSはBMXLレジスタ15
5に一時的に格納される。
【0138】また、マルチプレクサ156は、スタート
信号を受けた時だけ、BMXLレジスタ155の値をM
XLレジスタ157に転送し、それ以外の時は加算器1
70の出力をMXLレジスタ157に転送する。
【0139】MXLレジスタ157は、メモリサイクル
毎に値を更新することにより、ポリゴン辺のマッピング
座標のXアドレスを演算する。
【0140】パラメータ演算部110より転送されたパ
ラメータ(マッピング座標のX終点(MXE)−X始点
(MXS))/DY)の値は、BDDMXレジスタ15
8に格納される。
【0141】スタート信号を受けることにより、BDD
MXレジスタ158の値をDDMXレジスタ159が格
納し、加算器170へ転送する。
【0142】RUN信号が0Nしている間は、メモリサ
イクル毎にBMXLレジスタ157の値がMXLレジス
タ171に格納されることにより、フレームメモリ8に
MXデータを転送する。
【0143】パラメータ演算部110より転送されたマ
ッピングパターン座標のY始点(MYS)はBMYLレ
ジスタ172に一時的に格納される。
【0144】更に、マルチプレクサ173は、スタート
信号を受けた時だけBMYLレジスタ172の値をMY
Lレジスタ174に転送し、それ以外の時は、加算器1
77の出力をMYLレジスタ174に転送する。
【0145】MYLレジスタ174は、メモリサイクル
毎に値を更新することにより、ポリゴン辺のマッピング
座標のYアドレスを演算する。
【0146】パラメータ演算部110より転送されたパ
ラメータ(マッピングパターン座標のY終点(MYE)
−Y始点(MYS)/DY)の値はBDDMYレジスタ
175に一時的に格納される。
【0147】スタート信号を受けることにより、BDD
MYレジスタ175の値はDDMYレジスタ176に格
納され、加算器177へ転送する。
【0148】RUN信号がONしている間はメモリサイ
クル毎にMYLレジスタ174の値がMYレジスタ17
8に格納されることにより、フレームメモリ8にMYデ
ータを転送する。
【0149】スタート信号を受けることによりFL1値
がフリップフロップ179に格納され、フレームメモリ
8のアドレスの一部としてRL信号を転送する。
【0150】BLUTLレジスタ180には、パラメー
タ演算部110より転送された輝度値の始点アドレス
(LUTS)が一時的に格納される。
【0151】また、BDDLUTレジスタ181には、
パラメータ演算部より転送されたパラメータ(輝度値終
点(LUTE)−始点(LUTS)/DY)の値が一時
的に格納される。
【0152】BLUTLレジスタ180からのデータは
マルチプレクサ182に与えられ、このマルチプレクサ
182はスタート信号を受けた時だけ、BLUTLレジ
スタ180の値をLUTLレジスタ184へ転送し、そ
れ以外の時は加算器185の出力をLUTLレジスタ1
84に送る。
【0153】このLUTLレジスタ184は、メモリサ
イクル毎に値を更新し、ポリゴン辺の輝度値を格納す
る。
【0154】また、DDLUTレジスタ183は、スタ
ート信号を受けることにより,BDDLUTレジスタ1
81の値を格納する。
【0155】LUTLレジスタ184及びDDLUTレ
ジスタ183からの出力が加算器185に与えられ、こ
の加算器185にて、LUT+DLUTの演算が行わ
れ、ポリゴン辺の輝度値が算出される。この加算器18
5からの出力はマルチプレクサ182を介してLUTL
レジスタ184に一時格納される。LUTLレジスタ1
84の値がRUN信号がONしている間はメモリサイク
ル毎にLUTレジスタ186に格納され、そして、フレ
ームメモリ8にLUTデータが転送される。
【0156】外形処理装置7は、上述したように構成さ
れ、この動作につき図16、図17のフローチャートに
従い更に説明する。
【0157】まず、スクリーンメモリ4及びカラーメモ
リ6より端点データの各始点(XS,MXS,MYS,
LUTS)を読み出し、そして、RAM115に、スク
リーンメモリ4より読み込まれた端点データの各始点
(XS,MXS,MYS)及びカラーメモリ6より読み
込まれた始点(LUTS)を格納する(ステップS6
0)。
【0158】そして、スクリーンメモリ4よりY終点ア
ドレス(YE)を読み出すと共に、RAM115より読
み出されたY始点(YS)との間で減算器118によ
り、YEからYSを減算処理され、この値(DY)をW
2レジスタ119に一時的に格納する。そして、Y始点
アドレス(YS)をBSYLレジスタ132に格納する
と共にY終点アドレスをY始点アドレスとしてRAM1
15に書き込む(ステップS61)。
【0159】続いて、減算器118にて、RAM115
より読み出されたX始点(XS)とスクリーンメモリ4
より読み出されたX終点(XE)との減算処理が行わ
れ、この減算値が除算器123にて上記DYで除算さ
れ、その値DDXをBDDXレジスタ151に、X始点
アドレス(XS)をBSXLレジスタ138にそれぞれ
格納し、X終点アドレスをX始点アドレス(XS)とし
てRAM115に書き込む(ステップS62)。
【0160】更に、減算器118にて、RAM115よ
り読み出されたマッピングパターンのX始点(MXS)
とスクリーンメモリ4より読み出されたマッピングパタ
ーンのX終点(MXE)との減算処理が行われ、この減
算値が除算器123にて上記DYで除算され、その値D
MXをBDDMXレジスタ158に、マッピングパター
ンX始点アドレス(MXS)をBMXLレジスタ155
にそれぞれ格納し、マッピングパターンX終点アドレス
をX始点アドレス(MXS)としてRAM115に書き
込む(ステップS63)。
【0161】続いて、減算器118にて、RAM115
より読み出されたマッピングパターンのY始点(MY
S)とスクリーンメモリ4より読み出されたマッピング
パターンのY終点(MYE)との減算処理が行われ、こ
の減算値が除算器123にて上記DYで除算され、その
値DMYをBDDMYレジスタ175に、マッピングパ
ターンY始点アドレス(MYS)をBMYLレジスタ1
72にそれぞれ格納し、マッピングパターンY終点アド
レスをY始点アドレス(MYS)としてRAM115に
書き込む(ステップS64)。
【0162】その後、減算器118にて、RAM115
より読み出された輝度値の始点(LUTS)とカラーメ
モリ6より読み出された輝度値の終点(LUTE)との
減算処理が行われ、この減算値が除算器123にて上記
DYで除算され、その値DLUTをBDDLUTレジス
タ181に、輝度値の始点アドレス(LUTS)をBL
UTLレジスタ180にそれぞれ格納し、輝度値終点ア
ドレスを輝度値始点アドレス(LUTS)としてRAM
115に書き込む(ステップS65)。
【0163】そして、Z値をBZレジスタ127に転送
した後、スタート信号(RUN)がくるまで待機し(ス
テップS66,S67)、RUN信号がくるとステップ
S68に進む。
【0164】ステップS68において、BDDLUTレ
ジスタ181の値をDDLUTレジスタ183に、BD
DMYレジスタ175の値をDDMYレジスタ176
に、BDDMXレジスタ158の値をDDMXレジスタ
159に、BDDXレジスタ151の値をDDXレジス
タ152に格納する。そして、BSYLレジスタ132
の値をSYLレジスタ133に、BSXLレジスタ13
8の値をSXLレジスタ150に、BMXLレジスタ1
55の値をMXLレジスタ157に、BMYレジスタ1
72の値をMYLレジスタ174に格納する。更に、B
Zレジスタ127の値をZレジスタ128に、DYレジ
スタ129の値をカウンタ130に、カウンタの値(F
L1)をフリップフロップ131に設定し、ステップS
69に進む。
【0165】続いて、ステップS69にて、補間演算回
路66,75,85を起動し、補間演算を行い、ステッ
プS70にて、全ての辺の処理が終了したか否か判断さ
れ、全ての辺の処理が終了していない場合には、ステッ
プS61に戻り、前述の動作を繰り返す。全ての辺の処
理が終了すると、外形処理装置7の動作を終える。
【0166】次に、この発明に用いられる内部描画処理
装置9の具体的実施例について、図11に従い更に説明
する。前述した外形処理装置8にて算出したポリゴンの
外形、マッピングパターン情報及び輝度値データに基づ
いて、Yアドレス毎に始点から終点までのポリゴンのマ
ッピングパターン情報データ及び輝度値データを内部描
画処理装置9で求める。
【0167】フレームメモリ8よりポリゴン図形の始
点、終点アドレス(XS,XE)を読み出す毎に第3カ
ウンタ503をカウントアップし、ユニット部504、
パラメータ演算部530に夫々フレームメモリ8から読
み出したパラメータをセットする。
【0168】ユニット部504の各ユニット番号はZ値
の順番に対応し、各ユニットはユニット番号に対応する
Z値の順番を持つポリゴンのポリゴン図形の始点、終点
アドレス(XS,XS)を持ち、第2カウンタ502か
らのCRT12の水平ドットアドレスを受取り、そのア
ドレスの始点(XS)と終点(XE)が、アドレスの中
に含まれるか否かをプライオリティエンコーダ650に
転送する。
【0169】このユニット部504の各ユニットは、例
えば図12のように構成される。第2カウンタ502よ
りCRT12の水平ドットアドレスが比較器504d、
504eの一方に与えられる。また、フレームメモリ8
からのアドレスの始点(XS)、終点(XE)がそれぞ
れレジスタ504b、504cに与えられる。そして、
この始点、終点(XS,XE)値が比較器504d,5
04eの他方の入力として与えられ、この比較器504
d,504eにて、CRT12の水平ドットアドレスと
始点(XS)と終点(XE)アドレスとが比較され、そ
の比較結果をアンド回路504fに出力する。
【0170】また、比較器504aにはZ値番号とユニ
ット番号が与えられ、両者の比較結果をアンド回路50
4fに出力する。
【0171】このように、各ユニットは、ユニット番号
に対応するZ値の順番を持つポリゴンのポリゴン図形の
始点、終点アドレス(XS,XS)が与えられ、第2カ
ウンタ502からのCRT12の水平ドットアドレスを
受取り、そのアドレスの始点(XS)と終点(XE)
が、アドレスの中に含まれるか否かの結果をアンド回路
504fからプライオリティエンコーダ650に転送す
【0172】プライオリティエンコーダ650は、各ユ
ニットより転送された信号の中で最もプライオリティの
高いユニットのアドレスをパラメータメモリ600に転
送する。このプライオリティエンコーダ650は、図2
0に示す真理値に示す理論式が書き込まれている。
【0173】パラメータ演算部530は、フレームメモ
リ8よりポリゴン図形の始点、終点アドレス(XS,X
E)、マッピングパターンメモリ10の始点、終点アド
レス(MXS,MXE)(MYS,MYS)及び輝度値
始点、終点アドレス(LUTS,LUTE)を受取、ア
ドレス補間処理部800に必要なパラメータに作り替
え、パラメータメモリ600に転送する。
【0174】このパラメータ演算部530は、例えば図
13のように構成される。このパラメータ演算部530
は、Yアドレス毎に対向する2辺間のXアドレス及びマ
ッピングパターンのアドレス(XS,XE,MXS,M
XE)及び輝度値アドレス(LUTS,LUTE)をフ
レームメモリ8より読み出す。即ち、この実施れにおい
ては、水平走査信号に同期して、その垂直位置としての
Yアドレスに対応するポリゴンの外形を示す2点のXの
始点(XS)とXの終点(XE)とマッピングパターン
を変形したマッピングアドレス(MXS,MYS)(M
XE,MYE)と輝度値を変形した輝度値アドレス(L
UTE,LUTS)をフレームメモリ8から読み出す。
そして、レジスタ531にXS,レジスタ532にX
E、レジスタ533にMXS、レジスタ534にMX
E、レジスタ535にMYS、レジスタ536にMY
E、レジスタ542にLUTS、レジスタ542にLU
TEが書き込まれる。
【0175】そして、減算器537にレジスタ531、
レジスタ532からXS、XEのデータがそれぞれ与え
られ、両者間の距離DXが算出される。このDXは除算
器540、541、545に供給される。
【0176】また、減算器538には、レジスタ53
3、レジスタ534からMXS、MXEがそれぞれ与え
られ、この減算器539からの演算結果MYE−MYS
が除算器541へ供給される。
【0177】更に、減算器544には、レジスタ54
2、レジスタ543からLUTS,LUTEがそれぞれ
与えられ、この減算器544からの演算結果LUTE−
LUTSが除算器544に与えられる。
【0178】この除算器540、541、545にて、
(MXE−MXS)/DX,(MYE−MYS)/D
X,(LUTE−LUTS)/DXの除算が夫々行わ
れ、この値(DDMX)、(DDMY)、(DDLU
T)とMXS、MYS及びXSがパラメータメモリ60
0に書き込まれる。パラメータメモリ600は、図15
のような構成でパラメータ演算部550で演算されたX
S,DDMX,DDMY,及びMXS,MYSの値をZ
値の値の小さい順位で格納する。
【0179】前述したように、第1カウンタ501は、
パラメータセットの信号を受けることにより、1カウン
トアップし、パラメータをセットするユニット部の選択
とパラメータメモリ600のアドレスを生成する。
【0180】第2カウンタ502はCRT12の水平ド
ットアドレスを発生し、全てのユニット部504、アド
レス補間処理部800に転送する。
【0181】また、フレームメモリ8のアドレスは第3
カウンタ503にて生成され、カウンタ値に基づいてア
クセスする。
【0182】アドレス補間処理部800は、パラメータ
メモリ600からXS,DDMX,DDMY,DDLU
T及びMXS,MYSデータと第2カウンタ502より
現処理点のXアドレス値を取り込む、。減算器801に
て、現処理点のXアドレス値からXSを減算し、この値
が乗算器802,803へ与えられる。この乗算器80
2の一方の入力には、パラメータメモリ600からDD
MXが与えられ、乗算器802にて、DDMX*(現処
理点のXアドレス値−XS)の演算が行われ、この演算
結果が加算器805に供給される。そして、この加算器
805にはパラメータメモリ600よりMXSが与えら
れ、乗算器802の演算結果に始点のデータが加算さ
れ、補間演算が行われる。この補間されたデータがスム
ージング処理装置11へ送られる。
【0183】また、乗算器803の一方の入力には、パ
ラメータメモリ600からDDMYが与えられ、この乗
算器803にて、DDMY*(現処理点のXアドレス値
−XSの演算が行われ、この演算結果が加算器804に
供給される。そして、この加算器804にはパラメータ
メモリ600よりMYSが与えられ、乗算器803の演
算結果に始点のデータが加算され、補間演算が行われ
る。この補間されたデータがスムージング処理装置11
に送られる。
【0184】乗算器806の一方の入力には、パラメー
タメモリ600からDDLUTが与えられ、乗算器80
6にてDDLUT*(現処理点のXアドレス値−XS)
の演算が行われ、この演算結果が加算器807に供給さ
れる。
【0185】そして、この加算器807にはパラメータ
メモリ600よりLUTSが与えられ、乗算器806の
演算結果に始点データが加算され、補間演算が行われ
る。この補間されたデータはスムージング処理装置11
に与えられる。
【0186】また、CRT12へ表示するためのスクリ
ーンアドレスのXアドレスSXはXS+Xで算出され
る。
【0187】そして、スムージング処理装置11は、マ
ッピングパターンメモリアドレス(MX,MY)に従
い、マッピングパターンメモリ10をアクセスする。即
ち、内部描画処理装置9から出力されたマッピングパタ
ーンメモリアドレス(MX,MY)値により、マッピン
グパターンメモリ10をルックアップテーブルとしてそ
のアドレスに対応したR.G.B等の色情報等のデータ
を読み出す。
【0188】内部描画処理装置9からの輝度値(LU
T)と色値(R,G,B)をそれぞれ乗算し、色の濃淡
付けを行い、その結果をCRT12に出力し、CRT1
2に模様に更にシェーディング処理が施されたポリゴン
図形が表示される。
【0189】これら各回路はコントローラ50にて全体
をコントロールされ、このコントローラ50は、図1
8、19のフローチャートに従って全体をコントロール
する。
【0190】次に、この実施例の内部描画処理装置9の
動作につき図18及び図19に従い更に説明する。図1
8はパラメータセット動作を示すフローチャート、図1
9はアドレス補間演算部及びスムージング処理装置11
の動作を示すフローチャートである。
【0191】この実施例においては、フレームメモリ8
には、Z値の小さい順に512のポリゴンが格納されて
いる。内部描画処理装置9の動作を開始すると、まず、
フレームメモリ8のアドレスを生成する第3カウンタ5
03及びパラメータメモリ600のアドレスを生成する
第1カウンタ501を初期化し(ステップS80)、続
いて、第1カウンタ501をカウントアップした後(ス
テップS81)、この第1カウンタ501の値がパラメ
ータメモリ600に格納されるポリゴン数以内か、この
実施例では255以内か否か判断され、格納されるポリ
ゴン数以内の場合にはステップS83に進み、ポリゴン
数がオーバした場合にはこのパラーメタセット動作を終
了する(ステップS82)。そして、ステップS83に
て、フレームメモリ8よりX始点アドレス(XS)及び
X終点アドレス(XE)を読み出し、ユニット部のレジ
スタ504b,504cにそれぞれ格納する。
【0192】続いて、ステップS84にて、フレームメ
モリ8よりX始点アドレス(XS)及びX終点アドレス
(XE)、マッピングパターンメモリの始点アドレス
(MXS、MYS)及び終点アドレス(MXE、MY
E)、及び輝度値の始点、終点アドレス(LUTS,L
UTE)をそれぞれ読み出し、パラメータ演算部530
に転送した後ステップS85に進む。
【0193】ステップS85において、パラメータ演算
部530にて、各パラメータを演算し、算出された各パ
ラメータを第1カウンタ501が示すアドレス値に従い
パラメータメモリ600に格納する。
【0194】そして、第3カウンタ503をカウントア
ップし(ステップS86)、第3カウンタ503の値が
フレームメモリ8に格納されているポリゴン数、すなわ
ち、この実施例においては512以内か否か判断され、
512以内の場合には、ステップS81に戻り、前述し
た動作を繰り返す。第3カウンタ503が512を越え
るとパラメータセット動作を終了する。
【0195】続いて、アドレス補間演算が行われる。ま
ず、第2カウンタ502のカウンタ値を初期化した後
(ステップS90)、第2カウンタ502をカウントア
ップし(ステップS91)、その第2カウンタ502の
値をユニット部504の各ユニットに転送する(ステッ
プS92)。
【0196】ユニット部504の各ユニットにおいて、
レジスタ504b,504cに格納されているX始点ア
ドレス(XS)及びX終点アドレス(XE)と第1、第
3カウンタ501、503に基づく出力をプライオリテ
ィエンコーダ650に出力する(ステップS93)。
【0197】そして、プライオリティエンコーダ650
は優先順位のもっとも高いアドレスをパラメータメモリ
600へ転送する(ステップS94)。パラメータメモ
リ600はプライオリティエンコーダ650の示すアド
レスのデータをアドレス補間演算処理部800へ出力す
る(ステップ95)。
【0198】ステップS96において、アドレス補間処
理部800は、パラメータメモリ600よりXS,DD
MX,DDMY,DDLUT及びMXS,MYSデータ
を、また第2カウンタ502より現処理点のXアドレス
値を取り込む。そして、DDMX*(現処理点のXアド
レス値(第2カウンタ値)−XS)+MXSの演算、、
DDMY*(現処理点のXアドレス値−XS)+MYS
の演算、DDLUT*(現処理点のXアドレス値−X
S)+LUTSの演算がそれぞれ行われ、この補間され
たデータはスムージング処理装置11に与えられる。
【0199】続いて、ステップS97にて、スムージン
グ処理装置11において、マッピングパターンメモリア
ドレス(MX,MY)に従い、マッピングパターンメモ
リ10をアクセスする。即ち、内部描画処理装置9から
出力されたマッピングパターンメモリアドレス(MX,
MY)値により、マッピングパターンメモリ10をルッ
クアップテーブルとしてそのアドレスに対応したR.
G.B等の色情報等のデータを読み出す。
【0200】内部描画処理装置9からの輝度値(LU
T)と色値(R,G,B)をそれぞれ乗算し、色の濃淡
付けを行い、その結果をCRT12に出力し、ステップ
S98に進む。
【0201】ステップS98にて、第2カウンタ502
の値がCRT12の水平ドットアドレスと等しくなった
か否か、この実施例では320になったか否か判断さ
れ、320に達していない場合にはステップS91に戻
り前述の動作を繰り返す。そして、320に達すると、
この動作が終了する。
【0202】このように、マッピング処理等の内部描画
処理において、マッピングパターンメモリ10のマッピ
ングパターンをポリゴン外形の変形に対応して変形する
と共に、ポリゴン図形にシェーディングを施して、CR
T12のスクリーン面上に出力することができる。
【0203】
【発明の効果】以上説明したように、この発明によれ
は、各ポリゴン端点に模様のためのマッピングのX,Y
アドレスと輝度情報を持たせ、そのマッピングのX,Y
アドレスと輝度情報を同時にDDAに基づき補間するこ
とにより、ポリゴン面に対して、高速にマッピングとシ
ェーディングを行うことが可能となり、CRTにリアル
タイムに表示することができる。
【図面の簡単な説明】
【図1】この発明の立体画像表示装置の構成を示すブロ
ック図である。
【図2】この発明に用いられるシェーディング処理装置
の構成を示すブロック図である。
【図3】この発明に用いられる外形処理装置の構成を示
すブロック図である。
【図4】この発明に用いられる内部描画処理装置の構成
を示すブロック図である。
【図5】この発明に用いられるスムージング処理装置の
構成を示すブロック図である。
【図6】この発明のシェーディング処理装置の動作を示
すフローチャートである。
【図7】この発明の外形処理装置の動作を示すフローチ
ャートである。
【図8】この発明の外形処理装置の動作を示すフローチ
ャートである。
【図9】この発明の内部描画処理装置の動作を示すフロ
ーチャートである。
【図10】この発明に用いられる外形処理装置の具体的
実施例を示すブロック図である。
【図11】この発明に用いられる内部描画処理装置の具
体的実施例を示すブロック図である。
【図12】この発明に用いられる内部描画処理装置のユ
ニット部の構成例を示すブロック図である。
【図13】この発明に用いられる内部描画処理装置のパ
ラメータ演算部の構成例を示すブロック図である。
【図14】この発明に用いられるフレームメモリを示す
模式図である。
【図15】この発明に用いられるパラメータメモリを示
す模式図である。
【図16】図10に示す外形処理装置の動作を示すフロ
ーチャートである。
【図17】図10に示す外形処理装置の動作を示すフロ
ーチャートである。
【図18】図11に示す内部描画処理装置の動作を示す
フローチャートである。
【図19】図11に示す内部描画処理装置の動作を示す
フローチャートである。
【図20】図11に示す内部描画処理装置のプライオリ
ティエンコーダの真理値表を示す模式図である。
【図21】ポリゴンの辺ベクトル方向の関係を示す図で
ある。
【図22】ポリゴンとマッピングの関係を示す模式図で
ある。
【図23】フォングシェーディングモデルのベクトルの
関係を示す模式図である。
【図24】ランバートシェーディングモデルのベクトル
の関係を示す模式図である。
【符号の説明】
1 ポリゴン端点メモリ 2 ポリゴン法線メモリ 3 幾何変換装置 4 スクリーンメモリ 5 シェーディング処理装置 6 カラーメモリ 7 外形処理装置 8 フレームメモリ 9 内部描画処理装置 10 マッピングパターンメモリ 11 スムージング処理装置 12 CRT
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中島 達也 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 井澤 康浩 東京都大田区中馬込1丁目3番6号 株式 会社リコー内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ポリゴンを構成するX,Yの端点情報及
    びポリゴン面に付与する模様の基本パターンの領域を示
    す内部パターン端点情報を格納するポリゴン端点メモリ
    と、各ポリゴンの法線ベクトル群を格納する法線ベクト
    ルメモリと、ポリゴン端点メモリからの各端点情報を幾
    何変換する幾何変換装置と、法線ベクトル群と光源ベク
    トル及び視線ベクトルからポリゴンに付加する輝度値を
    算出するシェーディング装置と、上記幾何変換装置から
    の各端点情報に基づいて、ポリゴン外形のアドレス情
    報、内部パターン端点情報及びシェーディング装置から
    の輝度値を、スキャンラインごとにポリゴン外形部分の
    情報にそれぞれ変換する外形処理装置と、上記外形処理
    装置にて算出された対向する2辺間の各アドレス情報を
    演算し、ポリゴン内部の内部パターン情報及び輝度値の
    各情報を算出する内部描画処理装置と、上記基本パター
    ンのルックアップテーブルを構成する内部パターンメモ
    リと、上記内部描画処理装置から与えられる情報に基づ
    き上記内部パターンメモリをアクセスし、このメモリか
    ら得られる色値と輝度値を乗算し、シェーディング処理
    された画像データを出力するスムージング処理装置と、
    スムージング処理装置からの画像データを表示する表示
    装置と、を備えて成る立体画像処理装置。
JP5122668A 1993-05-25 1993-05-25 立体画像処理装置 Pending JPH06333059A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122668A JPH06333059A (ja) 1993-05-25 1993-05-25 立体画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122668A JPH06333059A (ja) 1993-05-25 1993-05-25 立体画像処理装置

Publications (1)

Publication Number Publication Date
JPH06333059A true JPH06333059A (ja) 1994-12-02

Family

ID=14841685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122668A Pending JPH06333059A (ja) 1993-05-25 1993-05-25 立体画像処理装置

Country Status (1)

Country Link
JP (1) JPH06333059A (ja)

Similar Documents

Publication Publication Date Title
US5278949A (en) Polygon renderer which determines the coordinates of polygon edges to sub-pixel resolution in the X,Y and Z coordinates directions
US5877769A (en) Image processing apparatus and method
JPH0916806A (ja) 立体画像処理装置
JPH05307610A (ja) テクスチャマッピング方法およびその装置
JPH1079046A (ja) シェーディング処理装置
JPH0771936A (ja) 画像処理装置及びその方法
JPH0285970A (ja) 滑かな陰影を付した連続トーンの映像生成装置とシステム
JP2731807B2 (ja) 陰影像発生のための二次補間
US5892516A (en) Perspective texture mapping circuit having pixel color interpolation mode and method thereof
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JPS62186373A (ja) 表示処理方法
JPH07282292A (ja) テクスチャマッピング方法及び画像処理装置
JP3278828B2 (ja) 半透明立体画像処理装置
JPH06266852A (ja) 画像合成装置
JPH06333059A (ja) 立体画像処理装置
JP3233376B2 (ja) シェーディング処理装置
JPH0772915B2 (ja) 図形シェーディング装置
JPH07105404A (ja) 立体画像処理装置及びその処理方法
JP3522714B2 (ja) 画像生成方法
JPH0345427B2 (ja)
JP3271825B2 (ja) 立体画像処理装置
JP4106719B2 (ja) 画像処理装置
JP3453410B2 (ja) 画像処理装置及びその方法
JP3344675B2 (ja) 立体画像処理装置
JP2000057372A (ja) 画像処理装置、画像処理方法及び記憶媒体