JPH07105404A - 立体画像処理装置及びその処理方法 - Google Patents

立体画像処理装置及びその処理方法

Info

Publication number
JPH07105404A
JPH07105404A JP24784293A JP24784293A JPH07105404A JP H07105404 A JPH07105404 A JP H07105404A JP 24784293 A JP24784293 A JP 24784293A JP 24784293 A JP24784293 A JP 24784293A JP H07105404 A JPH07105404 A JP H07105404A
Authority
JP
Japan
Prior art keywords
polygon
address
information
mapping
value
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
JP24784293A
Other languages
English (en)
Inventor
Naohito Shiraishi
尚人 白石
Tatsuya Fujii
達也 藤井
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 JP24784293A priority Critical patent/JPH07105404A/ja
Publication of JPH07105404A publication Critical patent/JPH07105404A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 この発明は、Zバッファ法を用い、且つマッ
ピング処理が可能な立体画像処理装置を提供することを
目的とする。 【構成】 ポリゴンを構成するX,Yの端点情報及びマ
ッピングパターン端点情報とポリゴンのZ値を格納する
メモリ5と、この各端点情報に基づいて、ポリゴン外形
のアドレス情報、マッピングパターン端点情報及びZ値
を、スキャンラインごとにポリゴン外形部分の情報に変
換する外形処理装置20と、外形処理装置20にて算出
した各データをZバッファ法を使用した隠面処理によ
り、比較した画素位置における一番手前に位置するポリ
ゴンのマッピングパターンアドレスを算出し、算出した
マッピングメモリアドレスに従いマッピングパターンメ
モリ7をアクセスし、各ドットのR,G,Bを順次読み
出す内部処理装置30と、この転送されたR,G,Bを
表示するCRT9と、を備えてなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、3次元多面体物体を
2次元スクリーン上に投影して表示する立体画像処理装
置及びその処理方法に関する。
【0002】
【従来の技術】3次元立体図形を透視変換処理、遠近処
理等によって、CRTディスプレイ等の2次元(平面)
スクリーン上に合成して表示する場合、手前に存在する
物体が、それより奥にある物体の一部または全てを隠す
処理、すなわち隠面消去処理を行う必要がある。隠面消
去の方法としては、Zソート法(塗り重ね法)、Zバッ
ファ法、スキャンライン法等がある。
【0003】Zソート法は、処理が非常に高速に行える
という利点があるものの、ポリゴンが交差していたりす
るとモデルを正しく描画することができないという欠点
がある。ポリゴンの処理の内部で画素(ピクセル)を単
位とする前後判定を行い、上記Zソート法の欠点をなく
すようにしたアルゴリズムがZバッファ法である。Zバ
ッファ法は、各画素に表示すべきポリゴンの色データと
その面の奥行き、すなわち物体のZ値(視点からの距
離)を画素単位に記憶しておき、新しいポリゴンが入力
される度に記憶しているZ値と新しいポリゴンのZ値を
比べ、新しいZ値の方が小さい時のみZ値を更新し、同
時に新しいポリゴンの色データを登録するものである。
これによって遠くにある物体は近くにある物体によって
上書きされ、結果として隠面消去された画像を得ること
ができる。
【0004】このZバッファ法は、物体のZ値を記憶さ
せるためのZバッファを画素毎に必要とし、全体では画
素数分の大きさを持つ大きな画像メモリが必要になると
いう問題がある。
【0005】一方、スキャンライン法はCRTのように
ラスタスキャン毎に各画素の色データを表示する場合、
隣り合う画素、すぐ次のスキャンラインの画素は現画素
と非常に強い相関関係を持つことに注目した方法で、逐
次処理を行う装置に適しているが、多くの計算を必要と
して、制御論理も複雑になるという欠点を有する。
【0006】上記の両隠面消去処理方法の中間的な隠面
処理として、スキャンライン間は相関関係を利用し、1
ライン内はZバッファ法を用いた装置が、例えば、特開
昭62−100878号公報に開示されている。これに
は、「奥行き距離(Z値)を保持する奥行きレジスタ
と、輝度(色・輝度)データを保持する輝度レジスタ
と、平面セグメントの範囲の内外判定、奥行き距離の変
位加算、奥行きデータの比較を時分割的に行う1つの加
算器と、入力された平面セグメントトークンに関する情
報を更新しながら一段のパイプラインレジスタを通して
出力する入出力手段、及び輝度レジスタの内容を外部に
出力する輝度データバスとを備えた隠れ線処理装置」が
開示されている。この装置によれば、少ないハードウェ
ア量で隠面処理を行うことができる。
【0007】
【発明が解決しようとする課題】
【0008】前述した隠線処理装置においては、輝度デ
ータのみを登録し、この輝度データを表示するように構
成されているため、シェーディング等の塗りつぶし処理
は行うことができるが、ポリゴン内部に模様(テクスチ
ャー)を貼り付けるマッピング処理を行うことはできな
かった。しかしながら、コンピュータグラフィックスに
おいては、よりリアリティのある画像を再生することが
望まれており、ポリゴンの上に対象物体の実写等のテク
スチャーをマッピングし、画像を生成する手法がとられ
ている。
【0009】表示される各ポリゴンに模様(テクスチャ
ー)を貼り付けるいわゆるマッピング処理を行う画像処
理装置が提案されている(特願平4−37311号参
照)。
【0010】この画像処理装置によれば、ポリゴンの外
形の変化に対応して、ポリゴン内部に付加する模様を変
化させ、ポリゴンに模様を付加することができる。
【0011】しかしながら、上記したマッピング処理が
可能な画像処理装置においては、ポリゴンへのマッピン
グを容易に行うことができるが、この装置においては、
ポリゴンの隠面消去法として、Zソート法が用いられて
おり、ポリゴンが交差した場合には、モデルを正しく描
画することができないという難点があった。
【0012】この発明は上述した従来の問題点を解消
し、Zバッファ法を用い、且つマッピング処理が可能な
立体画像処理装置を提供することを目的とする。
【0013】
【課題を解決するための手段】この発明の立体画像処理
装置は、ポリゴンを構成するX,Yの端点情報及びポリ
ゴン面に付与する模様を示すマッピングパターン端点情
報とポリゴンの奥行き情報を格納するメモリと、上記メ
モリからの各端点情報を幾何変換する幾何変換装置と、
上記幾何変換装置からの各端点情報に基づいて、ポリゴ
ン外形のアドレス情報、マッピングパターン端点情報及
びポリゴンの奥行き情報を、スキャンラインごとにポリ
ゴン外形部分の情報にそれぞれ変換する外形処理手段
と、上記外形処理手段にて算出された対向する2辺間の
各アドレス情報を演算し、マッピングパターン情報の変
位、Xアドレスの変位、奥行き情報の変位を求める手段
と、スキャンラインの各画素に対応する画素位置がポリ
ゴンの範囲内に存在するか否か判別する手段と、一番手
前に存在する画素ドットの奥行き情報とその画素位置の
ポリゴン奥行き情報を比較するとともに、比較する対象
の奥行き情報を常に一番手前に存在するポリゴンの奥行
き情報に書き換える手段と、ポリゴンの奥行き情報に上
記奥行き情報の変位を加算し、隣接する画素位置の奥行
き情報を算出する手段と、比較した画素位置における一
番手前に位置するポリゴンの対向する2辺間の少なくと
も1方のXアドレス、マッピングパターン情報、マッピ
ングパターン情報の変位に基づいてマッピングパターン
アドレスを算出する手段と、基本パターンのルックアッ
プテーブルを構成するマッピングパターンメモリと、上
記算出されたマッピングパターンアドレスに基づき上記
マッピングパターンメモリをアクセスし、画像データ読
み出し、表示装置に転送する手段と、を備えて成る。
【0014】
【作用】この発明は、各ポリゴン端点に模様のためのマ
ッピングのX,Yアドレスとポリゴンの奥行き状態を示
す奥行き情報を備え、そのマッピングのX,Yアドレス
と奥行き情報をポリゴンの外形に対応して変化させて補
間して算出する。Zバッファ法を使用した隠面処理によ
り、比較した画素位置における一番手前に位置するポリ
ゴンの対向する2辺間の少なくとも1方のXアドレス、
マッピングパターン情報、マッピングパターン情報の変
位に基づいてマッピングパターンアドレスを算出する。
この算出したマッピングメモリアドレスに従いマッピン
グパターンメモリをアクセスすることにより、マッピン
グメモリ7に格納されたデータに基づき、各ドットの
R,G,Bまたは輝度(LUT)値を順次読み出し、こ
のR,G,BまたはLUT値がCRTに転送され画像と
して表示される。
【0015】
【実施例】以下、この発明の実施例につき図面を参照し
て説明する。
【0016】図1はこの発明を用いた疑似3次元画像処
理装置の全体構成を示すブロック図であり、この装置は
例えば、レーシングゲームや飛行機の操縦シュミレーシ
ョン等のゲーム用機器に用いて好適な一例が示されてい
る。図1に従いこの発明の全体構成につき説明する。
【0017】画像情報供給装置10の構成について説明
すると、この装置には、ワールドメモリ1、幾何変換装
置2、操作部3、CPU4を備える。ワールドメモリ1
にはあらゆる物体が複数のポリゴンの集合体として表現
され、ポリゴンの端点をワールド座標上のX,Y,Z座
標として格納している。更に、このワールドメモリ1に
は、オブジェクトのオブジェクト座標上のポリゴン端点
のX,Y,Z座標、及びポリゴンに対応して、夫々テク
スチャ画像を格納するマッピングパターンメモリの端点
情報データが格納されている。操作部3は、ハンドル、
アクセル、ブレーキ等で構成され、その操作内容は電気
信号に変換され、CPU4へ出力される。
【0018】CPU4は、ハンドルアクセス等で構成さ
れた操作部3の操作内容に基づいて変換された電気信号
に従いこの状況に応じた状況データを演算し、幾何変換
装置2へデータを与える。
【0019】幾何変換装置2は、CPU4からの命令に
従いワールドメモリ1から各ポリゴンの端点情報をデー
タを読み出し、オブジェクトの運動や視野の回転等に必
要な行列演算を実行し、ワールド座標の端点をスクリー
ン座標へ投影変換等の幾何変換を行い、そのX,Yの2
次元のスクリーンデータをスクリーンメモリ5に与え
る。また、ポリゴンの視野変換された代表値、すなわ
ち、そのポリゴンの視点からの距離の代表値、すなわ
ち、奥行き距離データ(Z値)を決定し、そのデータを
スクリーンメモリ5に与える。このスクリーンメモリ5
は図25に示すように、各ポリゴンの端点につき、X,
Yのスクリーン座標値、Z値、マッピングパターンメモ
リのX,Y座標(MX,MY)値が格納される。
【0020】ポリゴン外形処理装置20は、ポリゴン摘
出装置21、パラメータ演算装置22、垂直補間演算装
置23で構成される。ポリゴン摘出装置21は、スクリ
ーンメモリ5より読み出されたポリゴン端点のXYアド
レスに基づいて、ポリゴンを構成する各辺のベクトルが
図27に示すどの方向に属するかを判断し、そのベクト
ルの方向に応じて、図28に示すように、ポリゴンの辺
を構成する端点が右辺に属するか左辺に属するかを決定
する。そして、ポリゴン摘出装置21にてスクリーンメ
モリ5からポリゴンを構成する各辺の端点、すなわちX
の始点アドレス(XS)、終点アドレス(XE)、及び
Yの始点アドレス(YS)、右辺アドレス(YE)、並
びに、テクスチャを構成するマッピングパターンのX始
点アドレス(MXS)、X終点アドレス(MXE)、Y
始点アドレス(MYS)、Y終点アドレス(MYE)を
取り込むと共に、ポリゴンの奥行き距離データ(Z値)
を取り込み、パラメータ演算装置22に各データを与え
る。
【0021】そして、このポリゴン外形処理装置20の
パラメータ演算装置22は、ポリゴンの外形端点情報を
デジタル微分解析(DDA)で求める際に必要はパラメ
ータを算出し、そのパラメータを垂直補間演算装置23
に与える。この垂直補間演算装置23にて、ポリゴンが
各スキャンラインと交差する左辺及び右辺のそれぞれの
外形端点情報、マッピングパターンのアドレス及びZ値
を補間しながら算出する。算出された各データがポリゴ
ンエッジメモリ6に与えられる。このポリゴン外形処理
装置20の詳細については後述する。
【0022】そして、ポリゴンエッジメモリ6には、図
23に示すように、ポリゴン外形処理装置20より与え
られた各データ、すなわち、スキャンラインごとにポリ
ゴンの左辺X、右辺Xの値と左辺のマッピングメモリア
ドレス、右辺のマッピングメモリアドレスと左辺のZ
値、右辺のZ値が画面の垂直方向(Yアドレス方向)の
解像度だけ夫々格納されている。
【0023】更に、このポリゴンエッジメモリ6には、
1つのYアドレスに格納されているポリゴン数(CN
T)が書き込まれる。すなわち、1つのYアドレスに1
個のポリゴンを格納する毎にポリゴン数をカウントアッ
プしてゆき、このカウント数(CNT)をポリゴンエッ
ジメモリ6に書き込む。
【0024】ポリゴンエッジメモリ6に格納されている
各データはポリゴン内部処理装置30へ与えられる。ポ
リゴン内部処理装置30は、パラメータ演算装置31、
パラメータメモリ32、水平補間装置33、隠面処理装
置34で構成される。
【0025】パラメータ演算装置31にて、スキャンラ
イン毎にポリゴンエッジメモリ6よりポリゴンの左辺
X、右辺Xの値(XL,XR)と左辺のマッピングメモ
リアドレス、右辺のマッピングメモリアドレス値(MX
L,MXR)と左辺の及び右辺のZ値(ZL,ZR)を
受取り、水平補間演算に必要なパラメータを演算し、パ
ラメータメモリ32及び隠面処理装置34へそれぞれパ
ラメータを転送する。パラメータメモリ32は図24に
示すように、パラメータアドレス毎に左辺のX値、左辺
のマッピングメモリのアドレス値(MXL,MYL)、
左辺のマッピングメモリのアドレスの傾き、すなわち、
差分値(DDMX,DDMY)が格納される。
【0026】この発明における隠面処理装置34はZバ
ッファ法を使用した隠面処理を行うもので、スキャンラ
イン毎にパラメータ演算装置31よりパラメータを受け
取り、そのパラメータをパイプライン上にて順次各ドッ
ト(画素)毎に隠面処理を行ってゆき、1スキャンライ
ンのデータを全て処理した時点で各ドットのパラメター
メモリアドレスを順次水平補間演算装置33へ転送する
ことにより隠面処理を行う。すなわち、各ドットにおい
て、格納されている一番手前に存在するポリゴンのZ値
と処理するポリゴンのZ値を比較し、処理するポリゴン
のZ値が小さい場合には、そのポリゴンのパラメータア
ドレスを水平補間演算装置33へ転送し、そのZ値を比
較すべきZ値として格納する。また処理するポリゴンの
Z値が大きい場合には、Z値の書換及びパラメータアド
レスの書換は行わず、以前に格納されたままのパラメー
タアドレス値が水平補間演算装置33へ転送される。
【0027】水平補間演算装置33は、隠面処理装置3
4から受け取ったパラメータアドレスに従いパラメータ
メモリ32をアクセスし、パラメータを読み出し、水平
補間演算を行ってマッピングメモリアドレス(MX,M
Y)を算出する。この算出したマッピングメモリアドレ
ス(MX,MY)にて、図26に示すようなデータが格
納されたマッピングパターンメモリ7をアクセスするこ
とにより、マッピングメモリ7に格納されたデータに基
づき、各ドットのR,G,Bまたは輝度(LUT)値を
順次読み出し、フレームメモリ8へ書き込む。このポリ
ゴン内部処理装置30の詳細については、後述する。
【0028】ポリゴン内部処理装置30からフレームメ
モリ8へ与えられたドットのR,G,BまたはLUT値
がCRT9に転送され画像として表示される。
【0029】つぎに、この発明のポリゴン外形処理装置
20、ポリゴン内部処理装置30につき図2ないし図1
8を参照して説明する。
【0030】この実施例においては、ポリゴンはスクリ
ーン端点座標(X,Y)と、テクスチャ、即ちマッピン
グパターンの端点座標(MX,MY)及び奥行き距離
(Z値)を持つことにより、Zバッファ法による隠面処
理を行うと共に、例えば図26に示すようなテクスチャ
をポリゴン面に対応して変形させてポリゴン面にマッピ
ングする。
【0031】まず、ポリゴン外形処理装置20にてポリ
ゴンの外形処理について、図2ないし図8に従い説明す
る。
【0032】この外形処理のために、ポリゴン摘出装置
21にて、スクリーンメモリ5より読み出されたポリゴ
ン端点のXYアドレスに基づいて、ポリゴンを構成する
各辺のベクトルが図27に示すどの方向に属するかを判
断し、そのベクトルの方向に応じて、図28に示すよう
に、ポリゴンの辺を構成する端点が右辺に属するか左辺
に属するかを決定する。
【0033】スクリーンメモリ5には、スクリーン端点
座標(X,Y)と、マッピングパターンの端点座標(M
X,MY)及びポリゴンのZ値が格納されている。ポリ
ゴン外形処理装置20のポリゴン摘出装置21はスクリ
ーンメモリ5をアクセスし、スクリーンメモリ5よりス
クリーン端点座標(X,Y)、マッピングパターンの端
点座標(MX,MY)及び各ポリゴンのZ値を読み出
し、ポリゴンの外形をデジタル微分解析(DDA)で算
出するために、ポリゴンの右辺、または左辺を決定し、
パラメータ算出するパラメータ演算装置22に夫々各辺
に対応するデータを与える。即ち、Xパラメータ演算装
置22aには、スクリーン座標が、マッピングパラメー
タ演算装置22bには、各辺の始点及び終点のスクリー
ン座標(X,Y)と各辺の始点及び終点のマッピングパ
ターン座標(MX,MY)が、Zパラメータ演算装置2
2cに、各辺の始点及び終点のスクリーン座標(X,
Y)とZ値(ZS,ZE)が与えられる。
【0034】ポリゴン外形処理回路20のXパラメータ
演算装置22aでは、ポリゴン摘出装置21より与えら
れたスクリーン座標の各辺のYアドレスの始点(YS)
及び終点アドレス(YE)からY方向の距離(DY)を
算出する。即ち、DY=YE−YSの演算を行う。続い
て、スクリーン座標の各辺のX終点(XE)からX始点
(XS)までの距離DX=XE−XSの演算を行う。こ
のDY、DXを用いて、ポリゴンの外形のデジタル微分
解析(DDA)のためのパラメータとして、DX/DY
の演算をし、微差分値(DDX)を求める。このDDX
をX垂直補間装置23aに転送する。そして、X垂直補
間演算装置23aにて補間演算を行い、この補間したデ
ータがポリゴンエッジメモリコントローラ24を介して
ポリゴンエッジメモリ6に格納される。
【0035】即ち、下記数式1の(1)式に示すよう
に、Xパラメータ演算装置22aにてその微差分値を算
出し、下記(2)式に示すように、垂直補間演算装置2
3aにて補間演算を行い各辺の始点から終点までのアド
レスを算出する。この(2)式におけるXの初期値は始
点のデータ(XS)である。
【0036】
【数1】 DDX=(XE−XS)/DY ・・・(1) X=X+DDX ・・・(2)
【0037】また、マッピングパターンパラメータ演算
装置22bとマッピング垂直補間装置23bにてマッピ
ングパターン座標の外形処理を行う。この処理はスクリ
ーンメモリ5に格納されたマッピングパターンの端点ア
ドレス(MX,MY)を変化させる。
【0038】ポリゴン摘出装置21より与えられたスク
リーン座標の各辺のYアドレスの始点(YS)及び終点
アドレス(YE)からY方向の距離(DY)を算出す
る。即ち、DY=YE−YSの演算を行う。続いて、ポ
リゴン摘出装置21を介して与えられたスクリーンメモ
リ5からのマッピングパターンの始点アドレス(MX
S,MYS),終点アドレス(MXE,MYE)のアド
レスデータからポリゴンに対応するデータを下記数式2
の(3),(4)式に基づいて、マッピングパラメータ
演算装置22bにてデジタル微分解析(DDA)のパラ
メータを算出し、そのパラメータをマッピング垂直補間
装置23bに転送する。
【0039】そして、マッピング垂直補間装置23bに
て(5),(6)式に示すように、補間演算を行い各辺
の終点から始点までのデータを算出し、ポリゴンエッジ
メモリ6に格納する。この(5)式におけるMXの初期
値は始点のデータ(MYS)であり、(6)式における
MYの初期値は始点のデータ(MYS)である。
(5),(6)式の演算が0からDYまで繰り返され
る。
【0040】
【数2】 DMX=(MXE−MXS)/DY ・・・(3) DMY=(MYE−MYS)/DY ・・・(4) MX=MX+DMX ・・・(5) MY=MY+DMY ・・・(6)
【0041】更に、スクリーンメモリ5より読み出され
たZ値の始点アドレス(ZS)、終点アドレス(ZE)
のアドレスデータからポリゴンに対応するデータを下記
数式3の(7),(8)式に基づいて、Z値パラメータ
演算装置22c及びZ値垂直補間装置23cにてデジタ
ル微分解析(DDA)により算出し、ポリゴンエッジメ
モリ6に格納する。即ち、(7)式に示すように、その
微差分値を算出し、(8)式に示すように、補間演算を
行い、各辺の終点から始点までのデータを算出する。こ
の(8)式におけるZの初期値は始点データ(ZS)で
ある。(8)式の演算が0からDYまで繰り返される。
【0042】
【数3】 DDZ=(ZE−ZS)/DY ・・・(7) Z=Z+DDZ ・・・(8)
【0043】この実施例においては、スキャンラインに
同期して、その垂直位置を示すYアドレスごとに、ポリ
ゴンの外形とそれに基づいて変形されたマッピングパタ
ーンの外形アドレス情報及びZ値の外形アドレス情報が
ポリゴンエッジメモリ6に格納される。
【0044】上記各装置は、コントローラ20により制
御され、このコントローラ25は図19に示すフローチ
ャートに従って、端点間をDDAにより補間するため
に、パラメータ演算装置22、垂直補間演算装置23を
制御する。
【0045】次にポリゴン外形処理装置20の具体的構
成例を図3ないし図8に示す。図3はXパラメータ演算
装置22aの具体的構成を示す回路図である。
【0046】図3に示すXパラメータ演算装置22aは
垂直補間演算に用いるXパラメータを算出するためのも
のである。
【0047】スクリーンメモリ5より読み出されたY始
点(YS)がレジスタ201に、スクリーンメモリ5よ
り読み出されたY終点(YE)がレジスタ202に格納
され、この両レジスタ201、202からYS,YEが
減算器205に入力される。
【0048】この減算器205でYEからYSを減算処
理し、この値(DY)をレジスタ207が一時的に格納
する。
【0049】また、スクリーンメモリ5より読み出され
たX始点(XS)がレジスタ203に、スクリーンメモ
リ5より読み出されたX終点(XE)がレジスタ204
に格納され、この両レジスタ203、204から減算器
206に、XS、XEが与えられる。
【0050】この減算器206でXEからXSを減算処
理し、この値(DX)をレジスタ208が一時的に格納
する。
【0051】レジスタ207,208から除算器209
に、減算器206にて減算処理したDXと減算器205
にて減算処理したDYが与えられ、DXの値をDYで除
算する。除算器209により演算された微差分値DDX
はレジスタ210に一時的に格納された後、X垂直補間
装置23aに転送される。
【0052】図4はマッピングパラメータ演算装置22
bの具体的構成を示す回路図である。マッピングパラメ
ータ演算装置22bは垂直補間演算に用いるマッピング
パラメータを算出するためのものである。
【0053】スクリーンメモリ5より読み出されたY始
点(YS)がレジスタ211に、スクリーンメモリ5よ
り読み出されたY終点(YE)がレジスタ212に格納
され、この両レジスタ211、212からYS,YEが
減算器217に入力される。
【0054】この減算器217でYEからYSを減算処
理し、この値(DY)をレジスタ220、222が一時
的に格納する。
【0055】また、スクリーンメモリ5より読み出され
たマッピングメモリアドレスのX始点(MXS)がレジ
スタ213に、スクリーンメモリ5より読み出されたマ
ッピングメモリアドレスのX終点(MXE)がレジスタ
214に格納され、この両レジスタ213、214から
減算器218に、MXS、MXEが与えられる。
【0056】この減算器218でMXEからMXSを減
算処理し、この値(DMX)をレジスタ221が一時的
に格納する。
【0057】更に、スクリーンメモリ5より読み出され
たマッピングメモリアドレスのY始点(MYS)がレジ
スタ215に、スクリーンメモリ5より読み出されたマ
ッピングメモリアドレスのY終点(MYE)がレジスタ
216に格納され、この両レジスタ215、216から
減算器219に、MYL、MYRが与えられる。
【0058】この減算器219でMYEからMYSを減
算処理し、この値(DMY)をレジスタ230が一時的
に格納する。
【0059】レジスタ220,221から除算器231
に、減算器217にて減算処理したDYと減算器218
にて減算処理したDMXが与えられ、DMXの値をDY
で除算する。除算器231により演算された微差分値D
DMXはレジスタ233に一時的に格納された後、マッ
ピング垂直補間装置23bに転送される。
【0060】また、レジスタ222,230から除算器
232に、減算器217にて減算処理したDYと減算器
219にて減算処理したDMYが与えられ、DMYの値
をDYで除算する。除算器232により演算された微差
分値DDMYはレジスタ234に一時的に格納された
後、マッピング垂直補間装置23bに転送される。
【0061】図5はZパラメータ演算装置22cの具体
的構成を示す回路図である。図5に示すZパラメータ演
算装置22cは垂直補間演算に用いるZパラメータを算
出するためのものである。
【0062】スクリーンメモリ5より読み出されたY始
点(YS)がレジスタ235に、スクリーンメモリ5よ
り読み出されたY終点(YE)がレジスタ236に格納
され、この両レジスタ235、236からYS,YEが
減算器239に入力される。
【0063】この減算器239でYEからYSを減算処
理し、この値(DY)をレジスタ241が一時的に格納
する。
【0064】また、スクリーンメモリ5より読み出され
たZ始点(ZS)がレジスタ237に、スクリーンメモ
リ5より読み出されたZ終点(ZE)がレジスタ238
に格納され、この両レジスタ237、238から減算器
240に、ZS、ZEが与えられる。
【0065】この減算器240でZEからZSを減算処
理し、この値(DZ)をレジスタ242が一時的に格納
する。
【0066】レジスタ241,242から除算器243
に、減算器240にて減算処理したDZと減算器239
にて減算処理したDYが与えられ、DZの値をDYで除
算する。除算器243により演算された微差分値DDZ
はレジスタ244に一時的に格納された後、Z垂直補間
装置23cに転送される。
【0067】次にX垂直補間演算装置23aの構成につ
いて図6に従い説明する。
【0068】Xパラメータ演算装置22aより転送され
たスクリーン座標のXSはマルチプレクサ245を介し
てレジスタ247に格納される。
【0069】マルチプレクサ245は、スタート信号を
受けた時だけ、Xパラメータ演算装置22aの値がレジ
スタ247に転送され、それ以外の時には、加算器24
8の出力がレジスタ247に転送されるように制御され
る。
【0070】レジスタ246は、Xパラメータ演算装置
22aより転送されたパラメータDDXの値を一時的に
格納する。
【0071】スタート信号を受けることによりレジスタ
246の値を加算器248へ転送する。加算器248に
てXとDDXが加算され、その加算結果(X)がレジス
タ249に与えられ、ポリゴンエッジメモリコントロー
ラ24を介して、ポリゴンエッジメモリ6へ格納され
る。
【0072】次に、マッピング垂直補間演算装置23b
の構成について図7に従い説明する。
【0073】マッピングパラメータ演算装置22bより
転送されたマッピングパターンメモリアドレス座標のM
XLはマルチプレクサ250を介してレジスタ252に
格納される。
【0074】マルチプレクサ250は、スタート信号を
受けた時だけ、マッピングパラメータ演算装置22bの
値がレジスタ252に転送され、それ以外の時には、加
算器255の出力がレジスタ252に転送されるように
制御される。
【0075】レジスタ251は、マッピングパラメータ
演算装置22bより転送されたパラメータDDMXの値
を一時的に格納する。
【0076】スタート信号を受けることによりレジスタ
251の値を加算器255へ転送する。加算器255に
てMXとDDMXが加算され、その加算結果(MX)が
レジスタ257に与えられ、ポリゴンエッジメモリコン
トローラ24を介して、ポリゴンエッジメモリ6へ格納
される。
【0077】また、マッピングパラメータ演算装置22
bより転送されたマッピングパターンメモリアドレス座
標のMYSはマルチプレクサ251を介してレジスタ2
54に格納される。
【0078】マルチプレクサ251は、スタート信号を
受けた時だけ、マッピングパラメータ演算装置22bの
値がレジスタ254に転送され、それ以外の時には、加
算器256の出力がレジスタ254に転送されるように
制御される。
【0079】レジスタ253は、マッピングパラメータ
演算装置22bより転送されたパラメータDDMYの値
を一時的に格納する。
【0080】スタート信号を受けることによりレジスタ
253の値を加算器256へ転送する。加算器256に
てMYとDDMYが加算され、その加算結果(MY)が
レジスタ258に与えられ、ポリゴンエッジメモリコン
トローラ24を介して、ポリゴンエッジメモリ6へ格納
される。
【0081】Z垂直補間演算装置23cの構成について
図8に従い説明する。
【0082】Zパラメータ演算装置22cより転送され
たZSはマルチプレクサ260を介してレジスタ262
に格納される。
【0083】マルチプレクサ260は、スタート信号を
受けた時だけ、Zパラメータ演算装置22cの値がレジ
スタ262に転送され、それ以外の時には、加算器26
3の出力がレジスタ262に転送されるように制御され
る。
【0084】レジスタ261は、Zパラメータ演算装置
22cより転送されたパラメータDDZの値を一時的に
格納する。
【0085】スタート信号を受けることによりレジスタ
262の値を加算器263へ転送する。加算器263に
てZとDDZが加算され、その加算結果(Z)がレジス
タ264に与えられ、ポリゴンエッジメモリコントロー
ラ24を介して、ポリゴンエッジメモリ6へ格納され
る。
【0086】ポリゴン内部処理装置30について、図9
ないし図18に従い説明する。ポリゴン内部処理装置3
0は前述したように、パラメータ演算装置31、パラメ
ータメモリ32。水平補間演算装置33、隠面処理装置
34にて構成されている。まず、パラメータ演算装置3
3につき、図9ないし図11に基づき説明する。
【0087】パラメータ演算装置31はスキャンライン
毎に対応する2辺すなわち、左辺及び右辺間のXYアド
レスをポリゴンエッジメモリ6より読み出し、この読み
出したアドレス情報に基づいて、下記数式4の(9)〜
(12)式に従いポリゴン内部の各画素ドットのアドレ
スをマッピングパターンアドレス及び隠面パラメータア
ドレスとして算出する。
【0088】即ち、この実例例においては、スキャンラ
イン走査信号に同期して、その垂直位置としてのYアド
レスに対応するポリゴンの外形を示す2点のXの左辺
(XL)とXの右辺(XR)とマッピングパターンを変
形したマッピングアドレス(MX,MY)とZ値(Z
L,ZR)をポリゴンエッジメモリ6から読み出す。
【0089】ポリゴンエッジメモリ6より読み出された
Xアドレスの左辺及び右辺アドレスから(9)式に示す
ようにX方向の距離(DXY)を算出する。
【0090】このDXYを用いて、マッピングパターン
をポリゴンの形に合わせて変形させるために、ポリゴン
エッジメモリ6より読み出されたマッピングパターンの
端点マッピングアドレス(MX,MY)及びZ値を(1
0),(11),(12)式に基づいてデジタル微分解
析(DDA)に用いるパラメータをマッピングパラメー
タ演算装置31a、隠面処理パラメータ演算装置31b
にて算出する。
【0091】
【数4】 DXY=XR−XL ・・・(9) DDMX=(MXR−MXL)/DXY ・・・(10) DDMY=(MY−MYL)/DXY ・・・(11) DZ=(ZR−ZL)/DXY ・・・(12)
【0092】そして、図9に示すように、ポリゴンエッ
ジメモリコントローラ31cにより、ポリゴンエッジメ
モリ6からYアドレス(スキャンライン)毎の左辺、右
辺のスキャンラインアドレス(XL,XR)、マッピン
グパターンのアドレス(MXL,MYL),(MXL,
MXR)及びZ値(ZL,ZR)を読み出し、マッピン
グパラメータ演算装置31a及び隠面処理パラメータ演
算装置31bにそれぞれデータを転送する。
【0093】マッピングパラメータ演算装置31aは、
ポリゴンエッジメモリコントローラ31cより、Yアド
レス(スキャンライン)毎の左辺、右辺のスキャンライ
ンアドレス(XL,XR)、マッピングパターンのアド
レス(MXL,MYL),(MXL,MXR)を受取
り、上記(9)〜(11)式に基づき、マッピングメモ
リアドレスMXのX値に対する変位、すなわち微差分値
DDMX、マッピングメモリアドレスMYのX値に対す
る変位、すなわち微差分値DDMYを算出し、マッピン
グパターンのアドレス(MXR,MYL)とともに、パ
ラメーターコントローラ31dに転送する。そして、パ
ラメーターコントローラ31dからパラメータメモリ3
2に上記各パラメータが格納される。
【0094】図10はマッピングパラメータ演算装置3
1aの具体的構成を示す回路図である。
【0095】ポリゴンエッジメモリコントローラ31c
より、Yアドレス(スキャンライン)毎の左辺のスキャ
ンラインアドレス(XL)がレジスタ301に、右辺の
スキャンラインアドレス(XR)がレジスタ302に与
えられ、この両レジスタ301、302からXL,XR
が減算器307に入力される。
【0096】この減算器307でXRからXLを減算処
理し、この値(DXY)をレジスタ310、312に一
時的に格納する。
【0097】また、ポリゴンエッジメモリコントローラ
31cより、マッピングメモリアドレスのX左辺(MX
L)がレジスタ303、マッピングメモリアドレスのX
右辺(MXR)がレジスタ304にそれぞれ与えられ、
この両レジスタ303、304から減算器308に、M
XL、MXRが与えられる。
【0098】この減算器308でMXRからMXLを減
算処理し、この値(DMX)をレジスタ311が一時的
に格納する。
【0099】更に、ポリゴンエッジメモリコントローラ
31cより、マッピングメモリアドレスのY左辺(MY
L)がレジスタ305に、マッピングメモリアドレスの
Y右辺(MYR)がレジスタ306にそれぞれ与えら
れ、この両レジスタ305、306から減算器309
に、MYL、MYRが与えられる。
【0100】この減算器309でMYRからMYLを減
算処理し、この値(DMY)をレジスタ313が一時的
に格納する。
【0101】レジスタ310,311から除算器314
に、減算器307にて減算処理したDXYと減算器30
8にて減算処理したDMXが与えられ、DMXの値をD
XYで除算する。除算器314により演算された微差分
値DDMXはレジスタ316に一時的に格納された後、
パラメータコントローラ31dを介してパラメータメモ
リ32に転送され、格納される。また、パラメータメモ
リ32には、左辺のマッピングメモリアドレス(MX
L,MYL)がパラメータコントローラ31dを介して
転送され、格納される。
【0102】レジスタ312,313から除算器315
に、減算器307にて減算処理したDXYと減算器30
9にて減算処理したDMYが与えられ、DMYの値をD
XYで除算する。除算器315により演算された微差分
値DDMYはレジスタ317に一時的に格納された後、
パラメータコントローラ31dを介してパラメータメモ
リ32に格納される。
【0103】図9に示す隠面処理パラメータ演算装置3
1bは、ポリゴンエッジメモリコントローラ31cよ
り、Yアドレス(スキャンライン)毎の左辺のスキャン
ラインアドレス(XL)、右辺のスキャンラインアドレ
ス(XR)及びZ値(ZL,ZR)を受取り、パラメー
タ演算を行いZ値のX値に対する変位、すなわち、微差
分値(DDZ)、X値の差(DXY=XR−XL)を求
め、XL,DXY,ZL,DDZを隠面処理インターフ
ェース(I/F)31eへ転送するものである。
【0104】図11は上記隠面処理パラメータ演算装置
31bの具体的構成を示す回路図である。
【0105】ポリゴンエッジメモリコントローラ31c
より、Yアドレス(スキャンライン)毎の左辺のスキャ
ンラインアドレス(XL)がレジスタ320に、右辺の
スキャンラインアドレス(XR)がレジスタ321に与
えられ、この両レジスタ320、321からXL,XR
が減算器324に入力される。
【0106】この減算器324でXRからXLを減算処
理し、この値(DXY)をレジスタ326に一時的に格
納する。
【0107】また、ポリゴンエッジメモリコントローラ
31cより、Z値の左辺(ZL)がレジスタ322、Z
値の右辺(ZR)がレジスタ323にそれぞれ与えら
れ、この両レジスタ322、323から減算器325
に、ZL、ZRが与えられる。
【0108】この減算器325でZRからZLを減算処
理し、この値(DZ)をレジスタ327が一時的に格納
する。
【0109】レジスタ326,327から除算器328
に、減算器324にて減算処理したDXYと減算器32
5にて減算処理したDZが与えられ、DZの値をDXY
で除算する。除算器328により演算された微差分値D
DZはレジスタ329に一時的に格納された後、隠面処
理装置インタフェース(I/F)31eを介して隠面処
理装置34へ転送される。上記各回路はコントローラ4
0にて制御され、図20のフローチャートに従い動作す
る。
【0110】図12に隠面処理装置のブロック図を示
す。隠面処理装置34はZバッファ法を使用した隠面処
理を行うもので、スキャンライン毎にパラメータ演算装
置31よりパラメータを受け取り、そのパラメータをパ
イプライン上にて順次各ドット(画素)毎に隠面処理を
行ってゆき、1スキャンラインのデータを全て処理した
時点で各ドットのパラメターメモリアドレスを順次水平
補間演算装置33へ転送することにより隠面処理を行
う。すなわち、各ドットにおいて、格納されている一番
手前に存在するポリゴンのZ値と処理するポリゴンのZ
値を比較し、処理するポリゴンのZ値が小さい場合に
は、そのポリゴンのパラメータアドレスを水平補間演算
装置33へ転送し、そのZ値を比較すべきZ値として格
納する。また処理するポリゴンのZ値が大きい場合に
は、Z値の書換及びパラメータアドレスの書換は行わ
ず、以前に格納されたままのパラメータアドレス値を水
平補間演算装置33へ転送するものである。
【0111】パラメータ演算装置31から左辺のX値
(XL)、左辺のZ値(ZL)、左辺と右辺のX値の差
(DXY)、Z値の微差分(DDZ)、パラメータメモ
リアドレスが隠面処理装置34のパラメータ演算装置I
/F34bに与えられ、このパラメータ演算装置I/F
34bから各データがスキャンライン隠面処理装置34
aへ転送される。
【0112】スキャンライン隠面処理装置34aは、Z
バッファ法に基づく隠面処置を行うものであり、スキャ
ンラインの各ドットに対応してそのドットの隠面処理を
行う為に、図13のブロック図に示すように、スキャン
ラインの各ドットに対応して、水平解像度に相当する数
(n+1)個の水平ドット隠面処理装置34−0〜34
−nが設けられている。
【0113】そして、パラメータ演算装置31から受け
取ったデータをスキャンラインの各ドットレベルの水平
ドット隠面処理装置34−0〜34−nの連なるパイプ
ラインの0アドレスから順次パイプライン処理を行うこ
とにより高速な隠面処理を行う。この水平ドット隠面処
理装置34−0〜34ーnは、スキャンラインの各ドッ
トに対応し、Zバッファ法によりそのドットの隠面処理
を行う。
【0114】図14に水平ドット隠面処理装置の実施例
を示す。パラメータ演算装置31から転送されるスキャ
ンライン上の各ドットに対応する奥行き距離データ(Z
値)は、パラメータ演算装置I/F34bを介して奥行
きレジスタ341に格納される。パラメータ演算装置I
/F34bから転送されるスキャンライン上の各ドット
に対応するパラメータメモリ31のアドレスがパラメー
タアドレスレジスタ342に格納する。
【0115】比較器344の一方の入力には、Aバスの
状態の値、すなわちパラメータ演算装置I/F34bを
介して与えられるポリゴンのZ値が、他方の入力にはマ
ルチプレクサ343を介して、奥行きレジスタ341に
格納された以前のZ値か或いは、そのドットが対応する
X値、すなわちXアドレス値が与えられる。このマルチ
プレクサ343は、比較器344が他のポリゴンのZ値
と比較する時には、奥行きレジスタ341の値を比較器
344へ送り、他のポリゴンがこのドットにかかるか調
べる時には、Xアドレス値を比較器344へ送るように
制御される。そして、比較器344では、パイプライン
を流れてくるポリゴンがそのドットにかかるか否かの判
断と、かかった場合、そのポリゴンのZ値がパラメータ
アドレスレジスタ342に入っているポリゴンのZ値と
ではどちらが手前か、すなわちどちらのZ値が小さいか
の判断を行い、その結果をコントローラ352へ知らせ
る。
【0116】加算器346はZ値とZ値の微差分値のD
DZを加算することにより、デジタル微分解析(DD
A)を行い、次のドットのZ値を求めたり、左辺と右辺
のX値の差、DXYから1を引くことによりそのポリゴ
ンのXの右辺値を求めたりする。このため加算器346
の一方には、BバスよりDDZ、DXYが与えられ、他
方にはマルチプレクサ345からAバスの状態のZまた
は”−1”の値が与えられる。マルチプレクサ345
は、加算器346がZ値の演算をするときは、Aバスの
状態2の値Zを加算器346へ送り、DXYの演算をす
る時は“−1”の値を加算器346へ送り出す。
【0117】マルチプレクサ348は加算器346がD
XYの演算をした時は加算器346の出力をBバスパイ
プラインレジスタ350へ送り、その他の時は、Bバス
の値をBバスパイプラインレジスタ350へ送る。
【0118】マルチプレクサ347は加算器346がZ
値の更新をした時に加算器346の出力をAバスパイプ
ラインレジスタ349へ送り、その他の時はAバスの値
をAバスパイプラインレジスタ349へ送る。このAバ
スのパイプラインレジスタ349の値は次段の水平ドッ
ト隠面処理装置34へ転送される。
【0119】Bバスパイプラインレジスタ350のバス
の値は次段の水平ドット隠面処理装置34へ転送され
る。Cバスパイプラインレジスタ351のバスの値は次
段の水平ドット隠面処理装置34へ転送される。コント
ローラ352はEバスより受けたアクティブ信号により
駆動し、もしアクティブであれば、図21のようなフロ
ーに従い水平ドット隠面処理装置を動作させ、アクティ
ブでなければ駆動しない。Eバスパイプラインフリップ
フロップ353は、コントローラ352がアクティブで
あるか否かを示すEバス信号が格納され、このEバス信
号を次の水平ドット隠面処理装置34へ転送する。
【0120】図15に各バスのデータの流れを示す。こ
の図15及び図14を参照して、この隠面隠面処理装置
の動作を説明する。
【0121】まず、スキャンラインの右端点情報として
座標値の代わりに右辺と左辺の差DXYをBバスより与
える。即ち左辺の座標(XL,ZL)、DXY、単位ド
ット当たりのZ座標の微差分値DDZが、図13に示す
アレイ構造の構成される水平ドット隠面処理装置の左側
からAバス、Bバスに分けて入力される。制御情報(フ
リップフロップ53に格納されるEバス信号)には、そ
のドットの存在する範囲内に入っていることを示す情報
がある。各バスのデータには図15に示すようにデータ
が時分割的に与えられる。
【0122】各水平ドット隠面処理装置34の動作を図
14及び図15に従い説明する。第1のタイミング状態
1では、AバスにXL、BバスにDXYが、第2のタイ
ミングでは、AバスにZ値が、BバスにDDZが与えら
れ、Cバスは状態1,状態2の両タイミングでパラメー
タアドレスが与えられる。比較器344が負の時、この
ドットがこの画素位置でポリゴンの存在範囲に入ったこ
とになり、マルチプレクサ345でデータ”−1”を加
算器346に与える。加算器346の他方にはBバスよ
りDXYを与える。ドットがポリゴンの存在範囲内の場
合は、マルチプレクサ347は、レジスタ349に加算
器346の出力を出力する。
【0123】第2の状態では、ドットが存在範囲に入っ
ている状態であれば、AバスのZとBバスのDDZを加
算して加算器346の出力をBバスに出力し、そうでな
ければデータを更新しないでBバスに出力する。そし
て、ドットが存在範囲内に入っている状態でAバス上の
AデータZと奥行きレジスタ341に格納されているデ
ータZAを比較器344で比較した結果がZ<ZAの
時、奥行きレジスタ341のデータを書き換えるととも
に、パラメータアドレスレジスタ342にAバス上のZ
とCバス上のパラメータアドレスをそれぞれ格納する。
【0124】図13に示す水平ドット隠面処理装置34
−0では1減算して0であるためZ値の更新、ZAとの
比較は行われない。水平ドット隠面処理装置34−1で
は更に1減算されて負になったため、Xに代わってDX
YをAバスに出力し、後の水平ドット隠面処理装置では
DXYに対して減算が行われる。水平ドット隠面処理装
置34−1は更にフリップフロップ353を1として自
らもZ値の更新、ZAとの比較を行う。後段の隠面処理
装置ではDXYが順次1減算され、その結果が負になる
まで続けられる。負になった時はフリップフロップ35
3を0に戻し、残りの隠面処理装置ではZ値の更新、Z
Aとの比較は行われない。
【0125】図16にスキャンライン隠面処理装置のパ
イプラインのタイムチャートを示す。P1−1とはポリ
ゴン状態1、P1−2とはポリゴン1の状態2、P2−
1とはポリゴン2の状態1のことである。水平補間演算
装置33から受けた水平ライン上のドットアドレス値を
スキャンライン隠面処理装置34aへ送り、次のドット
に対応する水平ドット隠面処理装置34がパラメータア
ドレスレジスタ342の値をDバスを介して受け取り、
そのパラメータアドレスを水平補間演算装置33へ送
る。これら各装置はコントローラ41で制御される。
【0126】次に図17及び図18に従い、水平補間演
算装置33につき説明する。隠面処理装置34が各ドッ
トのパラメータメモリ32のアドレスがパラメータ入力
装置33aに与えられる。パラメータ入力装置33aは
入力されたパラメータメモリアドレスに従って、パラメ
ータメモリ32よりそのアドレスに格納されたパラメー
タを読み出し、スキャン演算装置33bに転送する。
【0127】スキャン演算装置33は、パラメータメモ
リ32からパラメータ入力装置33aを介して転送され
た左辺のX値(XL)、左辺のマッピングメモリアドレ
ス(MXL,MYL)、マッピングメモリアドレスの微
差分値(DDMY)を受け取り、現在処理しているスキ
ャンラインのXアドレスのドットのマッピングメモリア
ドレス(MX,MY)を求め、フレームメモリコントロ
ーラ33cに転送する。
【0128】フレームメモリコントローラ33cは、ス
キャン演算装置33bで求めたマッピングパターンメモ
リアドレス(MX,MY)によりマッピングパターンメ
モリ7をアクセスすることにより、現在処理されている
スキャンラインのXアドレスのドットのR,G,Bまた
はLUT値を求めフレームメモリ8に書き込む。これら
各装置はコントローラ42にて制御され、このコントロ
ーラ42は図21に示すフローチャートに従い動作す
る。
【0129】図18はスキャン演算装置33bの具体的
実施例を示すブロック図である。パラメータメモリ32
より与えられる左辺のX値(XL)がレジスタ360に
格納される。このレジスタ360に格納されたXL値が
減算器366の一方の入力として与えられる。またレジ
スタ361には処理すべきXアドレス値(XAD)が格
納され、このレジスタ361からXアドレス値(XA
D)が減算器366の他方の入力として与えられる。減
算器366にてXL−XADの演算が行われ、処理され
る左辺X値(XL)の距離(DXY)が求められ、この
値が乗算器367,368の一方の入力として与えられ
る。
【0130】レジスタ362は、マッピングパターンメ
モリ7のX左辺のアドレス値(MXL)が格納され、こ
のアドレス値(MXL)が加算器369の一方の入力と
して与えられる。レジスタ363にはマッピングパター
ンメモリアドレスのXの微差分値すなわち、変位(DD
MX)が格納され、このDDMXが乗算器367の他方
の入力として与えられる。
【0131】そして、乗算器367にてDXY*DDM
Xの演算が行われ、この乗算結果が加算器369に与え
られる。加算器369には、レジスタ362に格納され
たXのマッピングメモリアドレス(MXL)が与えら
れ、MXL+DXY*DDMXの演算が行われ、マッピ
ングメモリアドレスのX値(MX)が算出され、そのM
X値がレジスタ371に格納される。レジスタ364に
はマッピングパターンメモリアドレスのYの差分値(D
DMY)が格納され、このDDMYが乗算器368の他
方の入力として与えられる。
【0132】そして、乗算器368にてDXY*DDM
Yの演算が行われ、この乗算結果が加算器370に与え
られる。加算器370にはレジスタ364に格納された
左辺のYのマッピングメモリアドレス(MYL)が与え
られ、MYL+DXY*DDMYの演算が行われ、マッ
ピンメモリアドレスのY値(MY)が算出され、そのM
Y値がレジスタ372に格納される。
【0133】上記ポリゴン外形処理装置20及びポリゴ
ン内部処理装置30の動作を図19ないし図22の動作
フローに基づき、上記回路例に従い説明する。
【0134】ポリゴン外形処理装置20の動作につき説
明する。まず、コントローラ25がポリゴン数(P)を
スクリーンメモリ5より読み出し、そして、処理するポ
リゴン端点数を読み出し、その数をポリゴン摘出装置2
1に与える。(ステップS1,S2)。
【0135】そして、スクリーンメモリ5より各辺の始
点(XS,YS,MXS,MYS,ZS)を、それぞれ
読み出し(ステップS3)、スクリーンメモリ5のアド
レスをインクリメントする。そしてスクリーンメモリ5
より各辺の終点(XE,YE,MXE,MYE,ZE)
をそれぞれ読み出す(ステップS4)。この読み出した
端点の始点(XS,YS)、終点(XE,YE)からポ
リゴン摘出装置21にて方向ベクトルを算出し、この辺
ベクトルに基づき左辺または右辺を判定すると共にポリ
ゴンの向き(DIR)を設定する(ステップS5)。
【0136】そして、外形処理装置20のXパラメータ
演算装置22aにてXパラメータの演算を行う(ステッ
プS6)。Xパラメータ演算装置22aの減算器にスク
リーンメモリ5からのYE,YSのデータが与えられ、
両者間の距離DYを算出する。
【0137】続いて、Xパラメータ演算装置22aの減
算器にスクリーンメモリ5から始点(XS)及び終点
(XE)データが与えられ、この減算器からの減算結果
(XE−XS)が除算器へ供給される。
【0138】この除算器にて、(XE−XS)/DYの
除算が行われ、Xパラメータが算出される。(ステップ
S6)。
【0139】続いて、このXパラメータを用いてX垂直
補間装置23aで補間演算が行われる(ステップS1
0)。この値(DDX)が補間演算回路の加算器へ与え
られる。この加算器にて、X+DDXの補間演算が行わ
れ、この値がレジスタに書き込まれ、このレジスタから
ポリゴンエッジメモリ6にXアドレスとして書き込まれ
る(ステップS10)。
【0140】続いて、ステップS7及びステップS8に
おいて、パラメータの演算及びマッピングパラメータの
演算が行われるマッピングパラメータ演算装置22b及
び2パラメータ演算装置22cでは、スクリーンメモリ
5より、読み出されたマッピングパターンの端点アドレ
ス(MXS,MYS),(MXE,MYE)及びZ値の
端点アドレス(ZS,ZE)が入力され、減算器にて、
MXE−MXS,及びMYE−MYSの演算が、減算器
にて、ZE−ZSの演算が行われ、その演算結果が除算
器と除算器に与えられる。
【0141】この除算器には差分回路の減算器62から
のDYが与えられ、上述の演算結果との間で除算され、
微差分値が算出される。
【0142】この微差分演算回路にて、DMX=(MX
E−MXS)/DY,DMY=(MYE−MYS)/D
Y,DZ=(ZE−ZS)/DYの演算が行われ、パラ
メータが算出される。この演算結果がマッピング垂直補
間装置23b、Z値補間装置23cの加算器へ供給され
る。
【0143】ステップS11,S12では、補間装置2
3b,23cの加算器に微差分演算回路からの出力と、
レジスタに設定された前のデータとの間で加算がなさ
れ、MX=MX+DMX,MY=MY+DMY,Z=Z
+DZの演算が行われる。
【0144】この値がレジスタに与えられ、このレジス
タの値がマッピングパターンのアドレスデータ、レジス
タの値がZ値のアドレスデータとしてポリゴンエッジメ
モリ6に書き込まれる。
【0145】ポリゴンエッジメモリ6には、Yアドレス
毎にポリゴン辺の左辺Xアドレス、右辺Xアドレス、マ
ッピングパターンの左辺Xアドレス、右辺Xアドレス、
マッピングパターンの左辺Yアドレス、右辺Yアドレ
ス、Z値の左辺アドレス、右辺アドレスが格納される。
【0146】ステップS13にてY+DIRの演算、す
なわちポリゴンが下向きの時には、“+1”、上向きの
時には“−1”の演算を行いステップS14に進む。そ
して、ステップS14にて、Y≠YEが判断され、Y≠
YEの場合には、ステップS10へ戻り、前述の動作を
繰り返し、Y=YEになるとステップS15へ進む。
【0147】ステップS15にて、ポリゴンの全ての辺
が終了したか否か判断され、終了していない場合には、
ステップS3へ戻り、前述の動作を繰り返す。
【0148】ポリゴンの全ての辺が終了すると、ステッ
プS16へ進み、ステップS16にて、ポリゴンの全て
の処理が終了したか否か判断され、ポリゴンの全ての処
理が終了していない場合には、ステップS2に戻り、前
述の動作を繰り返す。そして、ポリゴン全ての処理が終
了したと判断されると、外形処理動作が終了する。
【0149】続いて、ポリゴン内部処理装置30につい
て説明する。まずポリゴンエッジメモリ6からの読み出
しについて図20に従い説明する。
【0150】ポリゴン内部処理装置30は、まずYアド
レスを初期化し(ステップS21)、スキャンラインの
Yアドレス毎のポリゴン数を読み出し、(ステップS2
2)、ステップS23に進む。
【0151】ステップS23では、Yアドレス毎に対向
する2辺間の左辺側のポリゴンの外形を示す2点のXの
左辺(XL),マッピングアドレスのY値(MYL),
X値(MXL)とZ値のアドレス(ZL)をポリゴンエ
ッジメモリ6から読み出す。
【0152】そして、パラメータ演算装置31にてマッ
ピングパラメータ演算を行う(ステップS25)減算器
にポリゴンエッジメモリ6からのXR,XLのデータが
与えられ、両者間の距離DXが算出される。このDXは
微差分演算回路に供給される。
【0153】微差分演算回路内の減算器92にはポリゴ
ンエッジメモリ6からマッピングアドレスの左辺(MX
L,MYL)及び右辺(MXR,MYL)、及びZのア
ドレスの左辺(ZL)、右辺(ZR)のデータがそれぞ
れ与えられ、この減算器からの減算結果MXR−MX
L,MYR−MYL,ZL−ZRが除算器へ供給され
る。
【0154】この除算器にて、(MXR−MXL)/D
X,(MYR−MYL)/DX,(ZR−ZL)/DX
の除算が行われ、この値(DDMX)(DDMY)(D
DZ)がパラメータメモリ32に与えられると共に、隠
面処理装置34へパラメータが与えられる(ステップS
28)。ステップS29でスキャンライン上のポリゴン
全てに処理を行ったか否か判断され、処理が終了してい
ない場合には、ステップS28へ戻り前述の動作を繰り
返す。
【0155】更に、1つのスキャンライン、すなわち、
Yアドレスのポリゴンが終了すると、ステップS30に
進み、ステップS30にてYアドレスをインクリメント
し、全てのYアドレスに対応する処理が終了するまで、
すなわち、Yアドレスが垂直解像度より大きくなるまで
前述の動作を繰り返し(ステップS31)、全てのアド
レスに対応する処理が終了した時点で、パラメータメモ
リ32の書き込み動作が終了する。
【0156】次に、水平ドット隠面処理装置34−nの
動作につき、図22の動作フローに従い説明する。ま
ず、そのドットがポリゴンの範囲内に存在するか否か判
断される。すなわち、ポリゴンエッジメモリコントロー
ラ31cより、Yアドレス(スキャンライン毎)のスキ
ャンラインアドレスXLが与えられ、このXLとそのド
ットが対応するXアドレスLを比較するとともに、DX
Yの値が0であるか否か判断する。(ステップS7
1)。そしてXアドレスよりXLが大きいく且つDXY
が0でない場合には、そのドットがポリゴンの範囲内に
存在するのでステップS72に進み、そうでない場合に
は、隠面処理動作を終了する。
【0157】ステップS72では、奥行きレジスタ34
1に格納されたZ値(ZA)と、今読み込んだZ値とを
比較し、奥行きレジスタ341のZ値の方が大きい、す
なわちいま読み込んだドットの方が手前にある場合には
ステップS73に進み、Z値が小さい場合にはステップ
S74に進む。ステップS73では、パラメータアドレ
スレジスタ342にパラメータアドレスを格納し、ステ
ップS74に進む。ステップS74では、DXY=DX
Y−1の演算を行い、ステップS75へ進み、ステップ
S75で次のZ値を求める演算であるZ値の補間、すな
わち、Z=DDZ+Zの演算を行った後、隠面処理動作
を終了する。
【0158】続いて、ポリゴン内部処理装置30におけ
るパラメータメモリ32からのデータ読み出し動作を中
心として、図21の動作フロー図に従い説明する。ま
ず、Yアドレス及びXアドレスを初期化した後(ステッ
プS41,S42)、隠面処理装置34よりXアドレス
のパラメータアドレスを読み出す(ステップS43)。
【0159】続いて、ステップS44にて、そのXアド
レスにポリゴンが存在するか否か判断され、ポリゴンが
存在しない場合には、ステップS49へ進み、ポリゴン
が存在する場合には、ステップS45に進む。ステップ
S45では、隠面処理装置30より与えられたXアドレ
スに対応するパラメータアドレスに従ってパラメータメ
モリ32よりパラメータを読み出し、ステップS46へ
進む。
【0160】ステップS46において、水平補間演算装
置33にてパラメータメモリ32より読み出されたパラ
メータに従って、マッピングパターンメモリ7のアドレ
ス(MX,MY)を算出し、ステップS47に進む。
【0161】ステップS47において、算出されたアド
レスに従ってマッピングパターンメモリ7をアクセス
し、マッピングパターンメモリからR.G.BまたはL
UT値等の色情報を読み出し、ステップS48に進む。
【0162】ステップS48において、色情報をフレー
ムメモリ8に書き込み、ステップS49に進む。ステッ
プS49にて、Xアドレスを一つインクリメントし、ス
テップS50に進む。
【0163】ステップS50において、Xアドレスと水
平解像度が比較され、Xアドレスが水平解像度より小さ
い時には、ステップS43に戻り前述の動作を繰り返
す。Xアドレスが水平解像度より大きくなるとステップ
S51に進み、ステップS51にて、隠面処理装置34
を初期化し、ステップS52に進む。
【0164】ステップS52にて、Yアドレスを一つイ
ンクリメントし、ステップS53に進み、ステップS5
3にてYアドレスと垂直解像度が比較される。Yアドレ
スが垂直解像度より小さい場合には、ステップS42に
戻り、前述の動作を繰り返し、Yアドレスが垂直解像度
より大きくなると、ポリゴン内部処理動作が終了する。
【0165】
【発明の効果】以上説明したように、この発明によれ
ば、各ポリゴン端点に模様のためのマッピングのX,Y
アドレスとポリゴンの奥行き状態を示す奥行き情報を備
え、そのマッピングのX,Yアドレスと奥行き情報をポ
リゴンの外形に対応して変化させて補間して算出し、そ
して、Zバッファ法を使用した隠面処理により、比較し
た画素位置における一番手前に位置するポリゴンのXア
ドレス、マッピングパターン情報、マッピングパターン
情報の変位に基づいてマッピングパターンアドレスを算
出する。この算出したマッピングメモリアドレスに従い
マッピングパターンメモリをアクセスすることにより、
マッピングメモリ7に格納されたデータに基づき、各ド
ットのR,G,Bまたは輝度(LUT)値を順次読み出
すことで、高速でマッピングを施した画像をCRTに表
示することができる。
【図面の簡単な説明】
【図1】この発明の立体画像表示装置の構成を示すブロ
ック図である。
【図2】この発明に用いられるポリゴン外形処理装置の
構成を示すブロック図である。
【図3】上記ポリゴン外形処理装置におけるXパラメー
タ演算装置の構成を示すブロック図である。
【図4】上記ポリゴン外形処理装置におけるマッピング
パラメータ演算装置の構成を示すブロック図である。
【図5】上記ポリゴン外形処理装置におけるZパラメー
タ演算装置の構成を示すブロック図である。
【図6】上記ポリゴン外形処理装置におけるX垂直補間
装置の構成を示すブロック図である。
【図7】上記ポリゴン外形処理装置におけるマッピング
垂直補間装置の構成を示すブロック図である。
【図8】上記ポリゴン外形処理装置におけるZ垂直補間
装置の構成を示すブロック図である。
【図9】この発明に用いられるポリゴン内部処理装置の
パラメータ演算装置の構成を示すブロック図である。
【図10】上記パラメータ演算装置のマッピングパラメ
ータ演算装置の構成を示すブロック図である。
【図11】上記パラメータ演算装置の隠面処理パラメー
タ演算装置の構成を示すブロック図である。
【図12】この発明に用いられるポリゴン内部処理装置
の構成を示すブロック図である。
【図13】上記隠面処理装置のスキャンライン隠面処理
装置の構成を示すブロック図である。
【図14】上記スキャンライン隠面処理装置を構成する
水平ドット隠面処理装置の具体的構成例を示すブロック
図である。
【図15】上記水平ドット隠面処理装置へのデータの転
送状態を示すタイミングチャートである。
【図16】上記スキャンライン隠面処理装置の処理タイ
ミングを示す模式図である。
【図17】この発明に用いられる内部描画処理装置の水
平補間演算装置の構成例を示すブロック図である。
【図18】上記水平補間演算装置のスキャン演算装置の
構成を示すブロック図である。
【図19】この発明のポリゴン外形処理装置の動作を示
すフローチャートである。
【図20】この発明のポリゴン内部処理装置の動作を示
すフローチャートである。
【図21】この発明のポリゴン内部処理装置の動作を示
すフローチャートである。
【図22】この発明のポリゴン内部処理装置の隠面処理
動作を示すフローチャートである。
【図23】この発明に用いられるポリゴンエッジメモリ
を示す模式図である。
【図24】この発明に用いられるパラメータメモリを示
す模式図である。
【図25】この発明に用いられるスクリーンメモリを示
す模式図である。
【図26】マッピングパターンメモリの一例を示す模式
図である。
【図27】ポリゴンの辺ベクトル方向の関係を示す図で
ある。
【図28】ポリゴンの方向ベクトルと辺との関係を示す
図である。
【符号の説明】
1 ワールドメモリ 2 幾何変換装置 5 スクリーンメモリ 7 マッピングパターンメモリ 8 フレームメモリ 9 CRT 20 ポリゴン外形処理装置 30 ポリゴン内部処理装置

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ポリゴンを構成するX,Yの端点情報及
    びポリゴン面に付与する模様を示すマッピングパターン
    端点情報とポリゴンの奥行き情報を格納する記憶手段
    と、上記記憶手段からの各端点情報を幾何変換する幾何
    変換手段と、上記幾何変換手段からの各端点情報に基づ
    いて、ポリゴン外形のアドレス情報、マッピングパター
    ン端点情報及びポリゴンの奥行き情報を、スキャンライ
    ンごとにポリゴン外形部分の情報にそれぞれ変換する外
    形処理手段と、上記外形処理手段にて算出された対向す
    る2辺間の各アドレス情報を演算し、マッピングパター
    ン情報の変位、Xアドレスの変位、奥行き情報の変位を
    求める手段と、スキャンラインの各画素に対応する画素
    位置がポリゴンの範囲内に存在するか否か判別する手段
    と、一番手前に存在する画素ドットの奥行き情報とその
    画素位置のポリゴン奥行き情報を比較するとともに、比
    較する対象の奥行き情報を常に一番手前に存在するポリ
    ゴンの奥行き情報に書き換える手段と、ポリゴンの奥行
    き情報に上記奥行き情報の変位を加算し、隣接する画素
    位置の奥行き情報を算出する手段と、比較した画素位置
    における一番手前に位置するポリゴンの対向する2辺間
    の少なくとも1方のXアドレス、マッピングパターン情
    報、マッピングパターン情報の変位に基づいてマッピン
    グパターンアドレスを算出する手段と、基本パターンの
    ルックアップテーブルを構成するマッピングパターンメ
    モリと、上記算出されたマッピングパターンアドレスに
    基づき上記マッピングパターンメモリをアクセスし、画
    像データ読み出し、表示装置に転送する手段と、を備え
    て成る立体画像処理装置。
  2. 【請求項2】 ポリゴンを構成するX,Yの端点情報及
    びポリゴン面に付与する模様を示すマッピングパターン
    端点情報とポリゴンの奥行き情報を格納するメモリから
    の各端点情報を幾何変換する幾何変換装置と、上記幾何
    変換装置からの各端点情報に基づいて、ポリゴン外形の
    アドレス情報、マッピングパターン端点情報及びポリゴ
    ンの奥行き情報を、スキャンラインごとにポリゴン外形
    部分の情報にそれぞれ変換する外形処理装置と、上記外
    形処理装置にて算出された対向する2辺間の各アドレス
    情報に基づき、Zバッファ法に基づき隠面処理行い一番
    手前に位置するポリゴンのマッピングパターンアドレス
    を算出する内部処理装置と、基本パターンのルックアッ
    プテーブルを構成するマッピングパターンメモリと、画
    像データを表示する表示装置と、を備え、外形処理装置
    にて算出された対向する2辺間の各アドレス情報により
    マッピングパターン情報の変位、Xアドレスの変位、奥
    行き情報の変位を求め、、スキャンラインの各画素に対
    応する画素位置がポリゴンの範囲内に存在するか否か判
    別し、一番手前に存在するポリゴンの奥行き情報とその
    画素位置のポリゴン奥行き情報を比較するとともに、比
    較する対象の奥行き情報を常に一番手前に存在する画素
    ドットに書き換え、ポリゴンの奥行き情報に上記奥行き
    情報の変位を加算し、隣接する画素位置の奥行き情報を
    算出し、比較した画素位置における一番手前に位置する
    ポリゴンの対向する2辺間の少なくとも1方のXアドレ
    ス、マッピングパターン情報、マッピングパターン情報
    の変位に基づいてマッピングパターンアドレスを算出し
    て、上記マッピングパターンメモリをアクセスし、画像
    データ読み出し、表示装置に転送することを特徴とする
    立体画像処理方法。
JP24784293A 1993-10-04 1993-10-04 立体画像処理装置及びその処理方法 Pending JPH07105404A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24784293A JPH07105404A (ja) 1993-10-04 1993-10-04 立体画像処理装置及びその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24784293A JPH07105404A (ja) 1993-10-04 1993-10-04 立体画像処理装置及びその処理方法

Publications (1)

Publication Number Publication Date
JPH07105404A true JPH07105404A (ja) 1995-04-21

Family

ID=17169485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24784293A Pending JPH07105404A (ja) 1993-10-04 1993-10-04 立体画像処理装置及びその処理方法

Country Status (1)

Country Link
JP (1) JPH07105404A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000039662A1 (fr) * 1998-12-25 2000-07-06 Matsushita Electric Industrial Co., Ltd. Dispositif d'execution selectif de programme, dispositif d'execution selectif de donnees, dispositif d'affichage d'images et dispositif de selection de voies
US6172678B1 (en) 1995-07-04 2001-01-09 Ricoh Company, Ltd. Image processing method and apparatus including hidden surface removal
WO2003065310A1 (en) * 2002-02-01 2003-08-07 Canon Kabushiki Kaisha Efficient display update from changing object graphics
WO2003102875A1 (fr) * 2002-06-03 2003-12-11 Mitsubishi Denki Kabushiki Kaisha Dispositif de trace d'un polygone triangulaire et procede de trace d'un polygone triangulaire
AU2003238615B2 (en) * 2002-02-01 2008-04-10 Canon Kabushiki Kaisha Efficient display update from changing object graphics

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6172678B1 (en) 1995-07-04 2001-01-09 Ricoh Company, Ltd. Image processing method and apparatus including hidden surface removal
WO2000039662A1 (fr) * 1998-12-25 2000-07-06 Matsushita Electric Industrial Co., Ltd. Dispositif d'execution selectif de programme, dispositif d'execution selectif de donnees, dispositif d'affichage d'images et dispositif de selection de voies
WO2003065310A1 (en) * 2002-02-01 2003-08-07 Canon Kabushiki Kaisha Efficient display update from changing object graphics
AU2003238615B2 (en) * 2002-02-01 2008-04-10 Canon Kabushiki Kaisha Efficient display update from changing object graphics
WO2003102875A1 (fr) * 2002-06-03 2003-12-11 Mitsubishi Denki Kabushiki Kaisha Dispositif de trace d'un polygone triangulaire et procede de trace d'un polygone triangulaire

Similar Documents

Publication Publication Date Title
JPH0916806A (ja) 立体画像処理装置
JP2550530B2 (ja) ビデオ信号処理方法
JPH0535913B2 (ja)
EP1026636B1 (en) Image processing
EP0902413A2 (en) Image drawing apparatus
JPH0434159B2 (ja)
US5590249A (en) Three dimensional sprite rendering apparatus and method
JPH0927045A (ja) 画像処理装置
US5771046A (en) Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions
JPH07105404A (ja) 立体画像処理装置及びその処理方法
JPH05249953A (ja) 画像表示装置
JP3344675B2 (ja) 立体画像処理装置
JP3278828B2 (ja) 半透明立体画像処理装置
JP3501479B2 (ja) 画像処理装置
JP2637905B2 (ja) 垂直スパンを用いてポリゴン輪郭を描画する方法及びシステム
JPH11185052A (ja) 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法
JP3271825B2 (ja) 立体画像処理装置
JP2001283254A (ja) 3次元グラフィックス描画装置およびその方法
JPH0887606A (ja) 立体画像処理装置
JP3722593B2 (ja) 立体画像描画処理装置
JP2748798B2 (ja) 3次元画像生成装置
JP3721951B2 (ja) 画像生成方法及び装置
JP3311905B2 (ja) 画像処理装置
JP3358891B2 (ja) Z値の透視変換処理方法及び画像処理装置
JPH06266850A (ja) 画像処理装置