JPH0887606A - 立体画像処理装置 - Google Patents
立体画像処理装置Info
- Publication number
- JPH0887606A JPH0887606A JP6221807A JP22180794A JPH0887606A JP H0887606 A JPH0887606 A JP H0887606A JP 6221807 A JP6221807 A JP 6221807A JP 22180794 A JP22180794 A JP 22180794A JP H0887606 A JPH0887606 A JP H0887606A
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- value
- mapping
- register
- address
- 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
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】 この発明は、演算量を少なくし、ハードウェ
ア量を小さくして、簡易なパーススペクティブテクスチ
ャ・マッピングが行なえる立体画像処理装置を提供する
ことを目的とする。 【構成】 三角形状のポリゴンの端点情報、Z値及びポ
リゴンパラメータメモリアドレスを格納するスクリーン
メモリ5、ポリゴンの端点の視野座標値、マッピングポ
リゴンの投影方向、マッピングパターンメモリのアドレ
ス値、及び2辺のベクトルの外積値の逆数を格納するポ
リゴンパラメータメモリ40と、を備え、ポリゴンの法
線ベクトルの方向からポリゴンの投影方向を判断し、ポ
リゴン外形処理装置20、内部処理装置30にて2次元
要素のみから2次元のマッピングパターンメモリアドレ
スを内積マッピング方法により演算して、マッピングパ
ターンメモリ7をアクセスし、各画素の画情報を読み出
し、CRT9に表示する。
ア量を小さくして、簡易なパーススペクティブテクスチ
ャ・マッピングが行なえる立体画像処理装置を提供する
ことを目的とする。 【構成】 三角形状のポリゴンの端点情報、Z値及びポ
リゴンパラメータメモリアドレスを格納するスクリーン
メモリ5、ポリゴンの端点の視野座標値、マッピングポ
リゴンの投影方向、マッピングパターンメモリのアドレ
ス値、及び2辺のベクトルの外積値の逆数を格納するポ
リゴンパラメータメモリ40と、を備え、ポリゴンの法
線ベクトルの方向からポリゴンの投影方向を判断し、ポ
リゴン外形処理装置20、内部処理装置30にて2次元
要素のみから2次元のマッピングパターンメモリアドレ
スを内積マッピング方法により演算して、マッピングパ
ターンメモリ7をアクセスし、各画素の画情報を読み出
し、CRT9に表示する。
Description
【0001】
【産業上の利用分野】この発明は、3次元多面体物体を
2次元スクリーン上に投影して表示する立体画像処理装
置に関し、特に、テクスチャ平面の所望の領域の画素情
報を、ディスプレイ平面の所望の領域の図形データ上に
投影するマッピング処理装置に関する。
2次元スクリーン上に投影して表示する立体画像処理装
置に関し、特に、テクスチャ平面の所望の領域の画素情
報を、ディスプレイ平面の所望の領域の図形データ上に
投影するマッピング処理装置に関する。
【0002】
【従来の技術】3次元立体図形を透視変換処理、遠近処
理等によって、CRTディスプレイ等の2次元(平面)
スクリーン上に合成して表示する場合、手前に存在する
物体が、それより奥にある物体の一部または全てを隠す
処理、すなわち隠面消去処理を行う必要がある。隠面消
去処理の方法としては、Zソート法(塗り重ね法)、Z
バッファ法、スキャンライン法等が知られている。
理等によって、CRTディスプレイ等の2次元(平面)
スクリーン上に合成して表示する場合、手前に存在する
物体が、それより奥にある物体の一部または全てを隠す
処理、すなわち隠面消去処理を行う必要がある。隠面消
去処理の方法としては、Zソート法(塗り重ね法)、Z
バッファ法、スキャンライン法等が知られている。
【0003】Zソート法は、処理が非常に高速に行える
という利点があるものの、ポリゴンが交差していたりす
ると、モデルを正しく描画することができないという欠
点がある。
という利点があるものの、ポリゴンが交差していたりす
ると、モデルを正しく描画することができないという欠
点がある。
【0004】ポリゴンの処理の内部で画素(ピクセル)
を単位とする前後判定を行い、上記Zソート法の欠点を
なくすようにしたアルゴリズムがZバッファ法である。
Zバッファ法は、各画素に表示すべきポリゴンの色デー
タとその面の奥行き、すなわち物体のZ値(始点からの
距離)を画素単位に記憶しておき、新しいポリゴンが入
力される度に記憶しているZ値と新しいポリゴンのZ値
を比べ、新しいZ値の方が小さい時のみZ値を更新し、
同時に新しいポリゴンの色データを登録するものであ
る。これによって遠くにある物体は近くにある物体によ
って上書きされ、結果として隠面消去された画像を得る
ことができる。
を単位とする前後判定を行い、上記Zソート法の欠点を
なくすようにしたアルゴリズムがZバッファ法である。
Zバッファ法は、各画素に表示すべきポリゴンの色デー
タとその面の奥行き、すなわち物体のZ値(始点からの
距離)を画素単位に記憶しておき、新しいポリゴンが入
力される度に記憶しているZ値と新しいポリゴンのZ値
を比べ、新しいZ値の方が小さい時のみZ値を更新し、
同時に新しいポリゴンの色データを登録するものであ
る。これによって遠くにある物体は近くにある物体によ
って上書きされ、結果として隠面消去された画像を得る
ことができる。
【0005】このZバッファ法は、物体のZ値を記憶さ
せるためのZバッファメモリを画素毎に必要とし、全体
では画素数分の大きさを持つ大きな画像メモリが必要に
なるという問題がある。
せるためのZバッファメモリを画素毎に必要とし、全体
では画素数分の大きさを持つ大きな画像メモリが必要に
なるという問題がある。
【0006】一方、スキャンライン法はCRTのよう
に、ラスタスキャン毎に各画素の色データを表示する場
合、隣り合う画素、すなわち、すぐ次のスキャンライン
の画素は現画素と非常に強い相関関係を持つことに注目
した方法で、逐次処理を行う装置に適しているが、多く
の計算を必要として、制御論理も複雑になるという欠点
を有する。
に、ラスタスキャン毎に各画素の色データを表示する場
合、隣り合う画素、すなわち、すぐ次のスキャンライン
の画素は現画素と非常に強い相関関係を持つことに注目
した方法で、逐次処理を行う装置に適しているが、多く
の計算を必要として、制御論理も複雑になるという欠点
を有する。
【0007】上記の両隠面消去処理方法の中間的な隠面
処理として、スキャンライン間は相関関係を利用し、1
ライン内はZバッファ法を用いた装置が、例えば、特開
昭62−100878号公報に開示されている。これに
は、「奥行き距離(Z値)を保持する奥行きレジスタ
と、輝度(色・輝度)データを保持する輝度レジスタ
と、平面セグメントの範囲内の内外判定、奥行き距離の
変位加算、奥行きデータの比較を分割的に行う一つの加
算器と、入力された平面セグメントトークンに関する情
報を更新しながら一段のパイプラインレジスタを通して
出力する入出力手段、及び輝度レジスタの内容を外部に
出力する輝度データバスとを備えた隠れ線処理装置」が
開示されている。この装置によれば、少ないハードウェ
ア量で隠面処理を行うことができる。
処理として、スキャンライン間は相関関係を利用し、1
ライン内はZバッファ法を用いた装置が、例えば、特開
昭62−100878号公報に開示されている。これに
は、「奥行き距離(Z値)を保持する奥行きレジスタ
と、輝度(色・輝度)データを保持する輝度レジスタ
と、平面セグメントの範囲内の内外判定、奥行き距離の
変位加算、奥行きデータの比較を分割的に行う一つの加
算器と、入力された平面セグメントトークンに関する情
報を更新しながら一段のパイプラインレジスタを通して
出力する入出力手段、及び輝度レジスタの内容を外部に
出力する輝度データバスとを備えた隠れ線処理装置」が
開示されている。この装置によれば、少ないハードウェ
ア量で隠面処理を行うことができる。
【0008】また、物体表面の模様、凹凸を表現するた
めに、テクスチャ・マッピングが行われる。このマッピ
ング処理方式として、リアルタイムに画像を生成するア
ルゴリズムが提案されている。例えば、テレビ学会技術
報告 TEBS105−9PPOE62−9(198
5)の「3次元特殊効果装置」に詳しい。
めに、テクスチャ・マッピングが行われる。このマッピ
ング処理方式として、リアルタイムに画像を生成するア
ルゴリズムが提案されている。例えば、テレビ学会技術
報告 TEBS105−9PPOE62−9(198
5)の「3次元特殊効果装置」に詳しい。
【0009】上記マッピング処理方式は、まず、形状生
成演算によって、入力画面内の一部の点を出力画面上の
点に写像し、出力画面上の中間点については、演算され
た一部の点から補間・逆写像演算(内挿マッピング演
算)を施すことにより、入力画面上の点とを対応づけ
る。すなわち、形状の連続性を利用して空間補間を行う
ことにより、形状生成演算の負荷を軽減する。
成演算によって、入力画面内の一部の点を出力画面上の
点に写像し、出力画面上の中間点については、演算され
た一部の点から補間・逆写像演算(内挿マッピング演
算)を施すことにより、入力画面上の点とを対応づけ
る。すなわち、形状の連続性を利用して空間補間を行う
ことにより、形状生成演算の負荷を軽減する。
【0010】また、形状の一部についての演算結果から
全体の形状を演算するので、少量の中間データに対して
時間補間を施すことにより、形状生成演算の負荷をより
軽減できる。
全体の形状を演算するので、少量の中間データに対して
時間補間を施すことにより、形状生成演算の負荷をより
軽減できる。
【0011】更に、フィルタ制御データ、内挿制御デー
タも容易に算出できるという利点がある。そして、空間
補間・時間補間の演算はマッピング形状が変わっても全
く同じ演算でよい。
タも容易に算出できるという利点がある。そして、空間
補間・時間補間の演算はマッピング形状が変わっても全
く同じ演算でよい。
【0012】上記の空間補間について説明する。形状面
は、少なくとも局所的には連続であることを利用し、3
次元形状をポリゴン(多面体)近似し、その頂点につい
てのみ形状生成演算を行う。
は、少なくとも局所的には連続であることを利用し、3
次元形状をポリゴン(多面体)近似し、その頂点につい
てのみ形状生成演算を行う。
【0013】出力画面上の点から入力画面上の点へのマ
ッピング演算は、図31に示すように、三角板形状のポ
リゴンの頂点座標から3頂点の重み係数K,L,Mを算
出し、対応する入力画面の頂点座標に対して重み係数を
作用させて、入力画面上の対応点を求める。
ッピング演算は、図31に示すように、三角板形状のポ
リゴンの頂点座標から3頂点の重み係数K,L,Mを算
出し、対応する入力画面の頂点座標に対して重み係数を
作用させて、入力画面上の対応点を求める。
【0014】すなわち、図32に示すように、各頂点を
(AX,AY,AZ)、(BX,BY,BZ)、(C
X,CY,CZ)、(PX,PY,PZ)とすると、入
力画面上の対応点を図33に示すフローチャートに基づ
き算出している。
(AX,AY,AZ)、(BX,BY,BZ)、(C
X,CY,CZ)、(PX,PY,PZ)とすると、入
力画面上の対応点を図33に示すフローチャートに基づ
き算出している。
【0015】この演算は、まず、各頂点間の距離を算出
し(ステップS100)、ベクトルABとベクトルAC
の外積を求める(ステップS101)。そして、対応点
(P)までの距離を算出し(ステップS102)、対応
点と各頂点間のそれぞれのベクトルの外積を求める。す
なわち、ベクトルPBとベクトルPCの外積(ステップ
S103)、ベクトルPCとベクトルPAの外積(ステ
ップS104)、ベクトルPAとベクトルPBの外積
(ステップS105)を求める。次に、3頂点の重み係
数K,L,Mを算出し(ステップS106)、この重み
係数を作用させて対応点を求めている(ステップS10
7)。
し(ステップS100)、ベクトルABとベクトルAC
の外積を求める(ステップS101)。そして、対応点
(P)までの距離を算出し(ステップS102)、対応
点と各頂点間のそれぞれのベクトルの外積を求める。す
なわち、ベクトルPBとベクトルPCの外積(ステップ
S103)、ベクトルPCとベクトルPAの外積(ステ
ップS104)、ベクトルPAとベクトルPBの外積
(ステップS105)を求める。次に、3頂点の重み係
数K,L,Mを算出し(ステップS106)、この重み
係数を作用させて対応点を求めている(ステップS10
7)。
【0016】また、隠面消去のための裏表判定フラグ
は、ABベクトルとACベクトルの積のz成分の符号を
用い、面が視点側を向いているか反対側を向いているか
の判断を行い、視点側を向いた面についてのみマッピン
グ演算を実行する。
は、ABベクトルとACベクトルの積のz成分の符号を
用い、面が視点側を向いているか反対側を向いているか
の判断を行い、視点側を向いた面についてのみマッピン
グ演算を実行する。
【0017】
【発明が解決しようとする課題】しかしながら、上記の
補間逆写像演算すなわち内挿マッピングアルゴリズム
は、図31に示す式を使用しており、これを逆方向のパ
ーススペクティブテクチャマッピングを行う時、3次元
ポリゴン座標から2次元のマッピングパターン座標を求
める場合、図33に示すようなフローチャートに基づく
演算となり、かなり多くの演算を必要とするためリアル
タイムにマッピングするには多くのハードウェアを必要
とするという問題があった。
補間逆写像演算すなわち内挿マッピングアルゴリズム
は、図31に示す式を使用しており、これを逆方向のパ
ーススペクティブテクチャマッピングを行う時、3次元
ポリゴン座標から2次元のマッピングパターン座標を求
める場合、図33に示すようなフローチャートに基づく
演算となり、かなり多くの演算を必要とするためリアル
タイムにマッピングするには多くのハードウェアを必要
とするという問題があった。
【0018】この発明は、2次元要素のみから2次元の
マッピングパターン座標を求める内挿マッピング処理を
行うことにより、演算量を少なくし、ハードウェア量を
大きく必要とする平方根の演算をはぶくことにより、ロ
ーコストに簡易なパーススペクティブテクチャ・マッピ
ングをリアルタイムに処理することが可能な立体画像処
理装置を提供することを目的とする。
マッピングパターン座標を求める内挿マッピング処理を
行うことにより、演算量を少なくし、ハードウェア量を
大きく必要とする平方根の演算をはぶくことにより、ロ
ーコストに簡易なパーススペクティブテクチャ・マッピ
ングをリアルタイムに処理することが可能な立体画像処
理装置を提供することを目的とする。
【0019】
【課題を解決するための手段】この発明は、三角形状の
ポリゴンを構成する端点情報とテクスチャ画像を格納す
るマッピングパターンメモリの端点情報とポリゴンの奥
行き情報を格納する記憶手段と、上記記憶手段からの各
端点情報を座標変換し、スクリーン端点情報に変換する
と共に、ポリゴン視野座標上の法線ベクトルの方向によ
りマッピングポリゴンの投影する方向を選択する変換手
段と、マッピングポリゴンの投影方向に基づきポリゴン
の2辺のベクトルの外積値の逆数を算出する手段と、上
記ポリゴンの端点の視野座標値、マッピングパターンメ
モリの端点情報とマッピングポリゴンの投影する方向と
2辺のベクトルの外積値の逆数を格納するポリゴンパラ
メータメモリと、上記変換手段からのスクリーン端点情
報とポリゴンの奥行き情報と上記ポリゴンパラメータメ
モリのアドレス値を格納するスクリーンメモリと、上記
変換手段からのスクリーン端点情報に基づいてポリゴン
外形のアドレス情報及びポリゴンの奥行き情報並びにポ
リゴンパラメータメモリのアドレス値をスキャンライン
ごとにポリゴンの外形部分の情報にそれぞれ変換する外
形処理手段と、上記外形処理手段にて算出された対向す
る2辺間の情報を演算し、Xアドレスの変位奥行き情報
の変位を算出する手段と、スキャンラインの各画素に対
応する画素位置がポリゴンの範囲内に存在するか否か判
別する手段と、一番手前に存在する画素の奥行き情報と
その画素位置のポリゴンの奥行き情報比較すると共に比
較する対象の奥行き情報を常に一番手前に存在するポリ
ゴンの奥行き情報に書き換える手段と、ポリゴンの奥行
き情報に上記奥行き情報の変位を加算し隣接する画素位
置の奥行き情報を算出する手段と、比較した画素位置に
おける一番手前に存在するポリゴンの対向する2辺間の
少なくとも一方のXアドレスとポリゴンパラメータメモ
リのアドレス値を算出する手段と、算出されたポリゴン
パラメータメモリのアドレス値によりアクセスして読み
出されたポリゴンパラメータメモリの情報に基づいてポ
リゴンの3頂点の重み係数を算出し、マッピングパター
ンメモリのアドレス値を算出する手段と、上記算出され
たマッピングパターンアドレスに基づき上記マッピング
パターンメモリをアクセスし、画像データを表示手段に
転送する手段と、を備えてなる。
ポリゴンを構成する端点情報とテクスチャ画像を格納す
るマッピングパターンメモリの端点情報とポリゴンの奥
行き情報を格納する記憶手段と、上記記憶手段からの各
端点情報を座標変換し、スクリーン端点情報に変換する
と共に、ポリゴン視野座標上の法線ベクトルの方向によ
りマッピングポリゴンの投影する方向を選択する変換手
段と、マッピングポリゴンの投影方向に基づきポリゴン
の2辺のベクトルの外積値の逆数を算出する手段と、上
記ポリゴンの端点の視野座標値、マッピングパターンメ
モリの端点情報とマッピングポリゴンの投影する方向と
2辺のベクトルの外積値の逆数を格納するポリゴンパラ
メータメモリと、上記変換手段からのスクリーン端点情
報とポリゴンの奥行き情報と上記ポリゴンパラメータメ
モリのアドレス値を格納するスクリーンメモリと、上記
変換手段からのスクリーン端点情報に基づいてポリゴン
外形のアドレス情報及びポリゴンの奥行き情報並びにポ
リゴンパラメータメモリのアドレス値をスキャンライン
ごとにポリゴンの外形部分の情報にそれぞれ変換する外
形処理手段と、上記外形処理手段にて算出された対向す
る2辺間の情報を演算し、Xアドレスの変位奥行き情報
の変位を算出する手段と、スキャンラインの各画素に対
応する画素位置がポリゴンの範囲内に存在するか否か判
別する手段と、一番手前に存在する画素の奥行き情報と
その画素位置のポリゴンの奥行き情報比較すると共に比
較する対象の奥行き情報を常に一番手前に存在するポリ
ゴンの奥行き情報に書き換える手段と、ポリゴンの奥行
き情報に上記奥行き情報の変位を加算し隣接する画素位
置の奥行き情報を算出する手段と、比較した画素位置に
おける一番手前に存在するポリゴンの対向する2辺間の
少なくとも一方のXアドレスとポリゴンパラメータメモ
リのアドレス値を算出する手段と、算出されたポリゴン
パラメータメモリのアドレス値によりアクセスして読み
出されたポリゴンパラメータメモリの情報に基づいてポ
リゴンの3頂点の重み係数を算出し、マッピングパター
ンメモリのアドレス値を算出する手段と、上記算出され
たマッピングパターンアドレスに基づき上記マッピング
パターンメモリをアクセスし、画像データを表示手段に
転送する手段と、を備えてなる。
【0020】更に、ポリゴン視野座標上の法線ベクトル
のスカラー量の大きさによりマッピングポリゴンの投影
する方向を選択するように構成すると良い。
のスカラー量の大きさによりマッピングポリゴンの投影
する方向を選択するように構成すると良い。
【0021】
【作用】この発明は、視野座標上の3次元ポリゴンの法
線ベクトルの方向から、マッピングの投影方向がX−
Z、またはY−Z、或いはX−Yのいずれかであるかを
判断する。その中から1つを選択し、2次元要素のみか
ら2次元のマッピングパターン座標を求める内挿マッピ
ング処理を行う。この結果、ハードウェア量を大きく必
要とする平方根の演算をはぶくことにより、演算処理が
大幅に省略されローコストに簡易なパーススペクティブ
テクチャ・マッピングをリアルタイムに処理することが
できる。
線ベクトルの方向から、マッピングの投影方向がX−
Z、またはY−Z、或いはX−Yのいずれかであるかを
判断する。その中から1つを選択し、2次元要素のみか
ら2次元のマッピングパターン座標を求める内挿マッピ
ング処理を行う。この結果、ハードウェア量を大きく必
要とする平方根の演算をはぶくことにより、演算処理が
大幅に省略されローコストに簡易なパーススペクティブ
テクチャ・マッピングをリアルタイムに処理することが
できる。
【0022】
【実施例】以下、この発明の実施例につき図面を参照し
て説明する。
て説明する。
【0023】図1はこの発明を用いた疑似3次元画像処
理装置の全体構成を示すブロック図であり、この装置
は、例えば、レーシングゲームや飛行機の操縦シュミレ
ーション等のゲーム用機器に用いて好適な一例が示され
ている。図1に従いこの発明の全体構成につき説明す
る。
理装置の全体構成を示すブロック図であり、この装置
は、例えば、レーシングゲームや飛行機の操縦シュミレ
ーション等のゲーム用機器に用いて好適な一例が示され
ている。図1に従いこの発明の全体構成につき説明す
る。
【0024】画像情報供給装置10の構成について説明
すると、この装置には、ワールドメモリ1、幾何変換装
置2、操作部3、CPU4を備える。このワールドメモ
リ1にはあらゆる物体が複数のポリゴンの集合体として
表現され、ポリゴンの端点をワールド座標上のX,Y,
Z座標として格納している。更に、このワールドメモリ
1には、オブジェクトの座標上のポリゴン端点のX,
Y,Z座標、及びポリゴンに対応して、それぞれテクス
チャ画像を格納するマッピングパターンメモリの端点情
報データが格納されている。操作部3は、ハンドル、ア
クセル、ブレーキ等で構成され、その走査内容は電気信
号に変換され、CPU4へ出力される。
すると、この装置には、ワールドメモリ1、幾何変換装
置2、操作部3、CPU4を備える。このワールドメモ
リ1にはあらゆる物体が複数のポリゴンの集合体として
表現され、ポリゴンの端点をワールド座標上のX,Y,
Z座標として格納している。更に、このワールドメモリ
1には、オブジェクトの座標上のポリゴン端点のX,
Y,Z座標、及びポリゴンに対応して、それぞれテクス
チャ画像を格納するマッピングパターンメモリの端点情
報データが格納されている。操作部3は、ハンドル、ア
クセル、ブレーキ等で構成され、その走査内容は電気信
号に変換され、CPU4へ出力される。
【0025】CPU4は、ハンドルアクセス等で構成さ
れた操作部3の内容に基づいて変換された電気信号に従
いこの状況に応じた状況データを演算し、幾何変換装置
2へデータを与える。
れた操作部3の内容に基づいて変換された電気信号に従
いこの状況に応じた状況データを演算し、幾何変換装置
2へデータを与える。
【0026】幾何変換装置2は、CPU4からの命令に
従いワールドメモリ1から各ポリゴンの端点情報のデー
タを読み出し、オブジェクトの運動や視野の回転に必要
な行列演算を実行し、ワールド座標の端点をスクリーン
座標へ投影変換等の幾何変換を行い、そのX,Yの2次
元のスクリーンのデータをスクリーンメモリ5に与え
る。また、ポリゴンの視野変換された代表値、すなわ
ち、そのポリゴンの始点からの距離、すなわち、奥行き
距離データ(Z値)を決定し、そのデータをスクリーン
メモリ5に与える。このスクリーンメモリ5は図25に
示すように、各ポリゴンの端点につき、X,Yのスクリ
ーン座標値、Z値が格納される。
従いワールドメモリ1から各ポリゴンの端点情報のデー
タを読み出し、オブジェクトの運動や視野の回転に必要
な行列演算を実行し、ワールド座標の端点をスクリーン
座標へ投影変換等の幾何変換を行い、そのX,Yの2次
元のスクリーンのデータをスクリーンメモリ5に与え
る。また、ポリゴンの視野変換された代表値、すなわ
ち、そのポリゴンの始点からの距離、すなわち、奥行き
距離データ(Z値)を決定し、そのデータをスクリーン
メモリ5に与える。このスクリーンメモリ5は図25に
示すように、各ポリゴンの端点につき、X,Yのスクリ
ーン座標値、Z値が格納される。
【0027】また、幾何変換装置2は、ポリゴン端点の
視野座標上のX,Y,Z値と、マッピングパターンメモ
リのX,Y座標(MX,MY)値と、視野座標上の3次
元ポリゴンの法線ベクトルの方向等からマッピングポリ
ゴンの投影する方向がX−Z,Y−Z,X−Yの3タイ
プのいずれを示すかを選択し、そのタイプを示すフラグ
をポリゴンパラメータメモリ40に与える。
視野座標上のX,Y,Z値と、マッピングパターンメモ
リのX,Y座標(MX,MY)値と、視野座標上の3次
元ポリゴンの法線ベクトルの方向等からマッピングポリ
ゴンの投影する方向がX−Z,Y−Z,X−Yの3タイ
プのいずれを示すかを選択し、そのタイプを示すフラグ
をポリゴンパラメータメモリ40に与える。
【0028】この幾何変換装置2は、ポリゴン法線ベク
トルを算出し、その法線ベクトルのX,Y,Zのスカラ
ー量の一番大きな方向に着目し、Y方向に大きければ、
X−Z、X方向に大きければ、Y−Z、Z方向に大きけ
れば、X−Yが投影する方向であり、その情報を示すフ
ラグをポリゴンパラメータメモリ40に与える。このポ
リゴンパラメータメモリ40は、図26に示すように、
各ポリゴンの端点につき、X,Y,Zの視野座標値(E
X,EY,EZ)、マッピングパターンメモリのX,Y
座標(MX,MY)値と、マッピング方向のフラグと2
辺のベクトル外積の逆数1/abを格納する。
トルを算出し、その法線ベクトルのX,Y,Zのスカラ
ー量の一番大きな方向に着目し、Y方向に大きければ、
X−Z、X方向に大きければ、Y−Z、Z方向に大きけ
れば、X−Yが投影する方向であり、その情報を示すフ
ラグをポリゴンパラメータメモリ40に与える。このポ
リゴンパラメータメモリ40は、図26に示すように、
各ポリゴンの端点につき、X,Y,Zの視野座標値(E
X,EY,EZ)、マッピングパターンメモリのX,Y
座標(MX,MY)値と、マッピング方向のフラグと2
辺のベクトル外積の逆数1/abを格納する。
【0029】なお、この発明のポリゴンは三角形ポリゴ
ンであり、それぞれの端点は図32に示すように、(A
X,AY,AZ),(BX,BY,BZ),(CX,C
Y,CZ)とする。
ンであり、それぞれの端点は図32に示すように、(A
X,AY,AZ),(BX,BY,BZ),(CX,C
Y,CZ)とする。
【0030】すなわち、マッピング方向がX−Yの時
は、下記数式1に基づき2辺のベクトル外積の逆数1/
abを算出する。
は、下記数式1に基づき2辺のベクトル外積の逆数1/
abを算出する。
【0031】
【数1】1/ab=(AX−BX)×(AY−CY)−
(AY−BY)×(AX−CX)
(AY−BY)×(AX−CX)
【0032】マッピング方向がX−Zの時は、下記数式
2に基づき2辺のベクトル外積の逆数1/abを算出す
る。
2に基づき2辺のベクトル外積の逆数1/abを算出す
る。
【0033】
【数2】1/ab=(AX−BZ)×(AX−CX)−
(AX−BX)×(AZ−CZ)
(AX−BX)×(AZ−CZ)
【0034】マッピング方向がY−Zの時は、下記数式
3に基づき2辺のベクトル外積の逆数1/abを算出す
る。
3に基づき2辺のベクトル外積の逆数1/abを算出す
る。
【0035】
【数3】1/ab=(AY−BY)×(AZ−CZ)−
(AZ−BZ)×(AY−CY)
(AZ−BZ)×(AY−CY)
【0036】上記各数式に基づいて算出された1/ab
がポリゴンパラメータメモリ40に格納される。
がポリゴンパラメータメモリ40に格納される。
【0037】ポリゴン外形処理装置20は、ポリゴン摘
出装置21、パラメータ演算装置22、垂直補間演算装
置23で構成される。ポリゴン摘出装置21は、スクリ
ーンメモリ5より読み出されたポリゴン端点のXYアド
レスに基づいて、ポリゴンを構成する各辺のベクトルが
図28に示すどの方向に属するかを判断し、そのベクト
ルの方向に応じて、図29に示すように、ポリゴンの辺
を構成する端点が右辺に属するか左辺に属するかを決定
する。そして、ポリゴン摘出装置21にてスクリーンメ
モリ5からポリゴンを構成する各辺の端点、すなわちX
の始点アドレス(XS)、終点アドレス(XE)、及び
Yの始点アドレス(YS)、右辺アドレス(YE)を取
り込むと共に、ポリゴンの奥行き距離データ(Z値)を
取り込み、パラメータ演算装置22に各データを与え
る。
出装置21、パラメータ演算装置22、垂直補間演算装
置23で構成される。ポリゴン摘出装置21は、スクリ
ーンメモリ5より読み出されたポリゴン端点のXYアド
レスに基づいて、ポリゴンを構成する各辺のベクトルが
図28に示すどの方向に属するかを判断し、そのベクト
ルの方向に応じて、図29に示すように、ポリゴンの辺
を構成する端点が右辺に属するか左辺に属するかを決定
する。そして、ポリゴン摘出装置21にてスクリーンメ
モリ5からポリゴンを構成する各辺の端点、すなわちX
の始点アドレス(XS)、終点アドレス(XE)、及び
Yの始点アドレス(YS)、右辺アドレス(YE)を取
り込むと共に、ポリゴンの奥行き距離データ(Z値)を
取り込み、パラメータ演算装置22に各データを与え
る。
【0038】そして、このポリゴン外形処理装置20の
パラメータのパラメータ演算装置22は、ポリゴンの外
形端点情報をデジタル微分解析(DDA)で求める際に
必要なパラメータを算出し、そのパラメータを垂直補間
演算装置23に与える。この垂直補間演算装置23に
て、ポリゴンが各スキャンラインと交差する左辺及び右
辺のそれぞれの外形端点情報、Z値を補間しながら算出
する。算出された各データがポリゴンエッジメモリ6に
与えられる。このポリゴン外形処理装置20の詳細につ
いては後述する。
パラメータのパラメータ演算装置22は、ポリゴンの外
形端点情報をデジタル微分解析(DDA)で求める際に
必要なパラメータを算出し、そのパラメータを垂直補間
演算装置23に与える。この垂直補間演算装置23に
て、ポリゴンが各スキャンラインと交差する左辺及び右
辺のそれぞれの外形端点情報、Z値を補間しながら算出
する。算出された各データがポリゴンエッジメモリ6に
与えられる。このポリゴン外形処理装置20の詳細につ
いては後述する。
【0039】そして、ポリゴンエッジメモリ6には、図
27に示すように、ポリゴン外形処理装置20より与え
られた各データ、すなわち、スキャンライン毎にポリゴ
ンの左辺、右辺の値と左辺のZ値、右辺のZ値が画面の
垂直方向(Yアドレス方向)の解像度だけそれぞれ格納
されている。
27に示すように、ポリゴン外形処理装置20より与え
られた各データ、すなわち、スキャンライン毎にポリゴ
ンの左辺、右辺の値と左辺のZ値、右辺のZ値が画面の
垂直方向(Yアドレス方向)の解像度だけそれぞれ格納
されている。
【0040】更に、このポリゴンエッジメモリ6には、
一つのYアドレスに格納されているポリゴン数(CN
T)が書き込まれる。すなわち、一つのYアドレスに1
個のポリゴンを格納する毎にポリゴン数をカウントアッ
プしてゆき、このカウント数(CNT)をポリゴンエッ
ジメモリ6に書き込む。
一つのYアドレスに格納されているポリゴン数(CN
T)が書き込まれる。すなわち、一つのYアドレスに1
個のポリゴンを格納する毎にポリゴン数をカウントアッ
プしてゆき、このカウント数(CNT)をポリゴンエッ
ジメモリ6に書き込む。
【0041】ポリゴンエッジメモリ6に格納されている
各データはポリゴン内部処理装置30へ与えられる。ポ
リゴン内部処理装置30は、パラメータ演算装置31、
水平補間演算装置33、隠面処理装置34で構成され
る。
各データはポリゴン内部処理装置30へ与えられる。ポ
リゴン内部処理装置30は、パラメータ演算装置31、
水平補間演算装置33、隠面処理装置34で構成され
る。
【0042】パラメータ演算装置31にて、スキャンラ
イン毎にポリゴンエッジメモリ6よりポリゴンの左辺
X、右辺Xの値(XL,XR)と左辺の及び右辺のZ値
(ZL,ZR)を受け取り、水平補間演算に必要なパラ
メータを演算し、隠面処理装置34へそれぞれパラメー
タを転送する。
イン毎にポリゴンエッジメモリ6よりポリゴンの左辺
X、右辺Xの値(XL,XR)と左辺の及び右辺のZ値
(ZL,ZR)を受け取り、水平補間演算に必要なパラ
メータを演算し、隠面処理装置34へそれぞれパラメー
タを転送する。
【0043】この実施例における隠面処理装置34はZ
バッファ法を使用した隠面処理を行うもので、スキャン
ライン毎にパラメータ演算装置31よりパラメータを受
け取り、そのパラメータをパイプライン上にて順次各ド
ット(画素)毎に隠面処理を行ってゆき、1スキャンラ
インのデータを全て処理した時点で各ドットのポリゴン
パラメータメモリアドレスを順次水平補間演算装置33
へ転送することにより隠面処理を行う。すなわち、各ド
ットにおいて、格納されている一番手前に存在するポリ
ゴンのZ値と処理するポリゴンのZ値を比較し、処理す
るポリゴンのZ値が小さい場合には、そのポリゴンのパ
ラメータアドレスを水平補間演算装置33へ転送し、そ
のZ値を比較すべきZ値として格納する。また処理する
ポリゴンのZ値が大きい場合には、Z値の書換及びパラ
メータアドレスの書換は行わず、以前に格納されたまま
のポリゴンパラメータアドレス値が水平補間演算装置3
3へ転送される。
バッファ法を使用した隠面処理を行うもので、スキャン
ライン毎にパラメータ演算装置31よりパラメータを受
け取り、そのパラメータをパイプライン上にて順次各ド
ット(画素)毎に隠面処理を行ってゆき、1スキャンラ
インのデータを全て処理した時点で各ドットのポリゴン
パラメータメモリアドレスを順次水平補間演算装置33
へ転送することにより隠面処理を行う。すなわち、各ド
ットにおいて、格納されている一番手前に存在するポリ
ゴンのZ値と処理するポリゴンのZ値を比較し、処理す
るポリゴンのZ値が小さい場合には、そのポリゴンのパ
ラメータアドレスを水平補間演算装置33へ転送し、そ
のZ値を比較すべきZ値として格納する。また処理する
ポリゴンのZ値が大きい場合には、Z値の書換及びパラ
メータアドレスの書換は行わず、以前に格納されたまま
のポリゴンパラメータアドレス値が水平補間演算装置3
3へ転送される。
【0044】水平補間演算装置33は、隠面処理装置3
4から受け取ったポリゴンパラメータアドレスに従いポ
リゴンパラメータメモリ40をアクセスし、各ポリゴン
のパラメータを読み出し、このパラメータに基づき内挿
マッピング演算を行ってマッピングパターンメモリアド
レス(MX,MY)を算出する。この算出したマッピン
グパターンメモリアドレス(MX,MY)にて、例えば
図30に示すようなデータが格納されたマッピングパタ
ーンメモリ7をアクセスすることにより、マッピングパ
ターンメモリ7に格納されたデータに基づき、各ドット
のR,G,Bまたは輝度(LUT)値を順次読み出し、
フレームメモリ8へ書き込む。このポリゴン内部処理装
置30の詳細については、後述する。
4から受け取ったポリゴンパラメータアドレスに従いポ
リゴンパラメータメモリ40をアクセスし、各ポリゴン
のパラメータを読み出し、このパラメータに基づき内挿
マッピング演算を行ってマッピングパターンメモリアド
レス(MX,MY)を算出する。この算出したマッピン
グパターンメモリアドレス(MX,MY)にて、例えば
図30に示すようなデータが格納されたマッピングパタ
ーンメモリ7をアクセスすることにより、マッピングパ
ターンメモリ7に格納されたデータに基づき、各ドット
のR,G,Bまたは輝度(LUT)値を順次読み出し、
フレームメモリ8へ書き込む。このポリゴン内部処理装
置30の詳細については、後述する。
【0045】ポリゴン内部処理装置30からフレームメ
モリ8へ与えられたドットのR,G,BまたはLUT値
がCRT9に転送され画像として表示される。
モリ8へ与えられたドットのR,G,BまたはLUT値
がCRT9に転送され画像として表示される。
【0046】次に、この発明のポリゴン外形処理装置2
0、ポリゴン内部処理装置30につき図2ないし図18
を参照して説明する。
0、ポリゴン内部処理装置30につき図2ないし図18
を参照して説明する。
【0047】この実施例においては、ポリゴンはスクリ
ーン端点座標(X,Y)と視野座標(EX,EY,E
Z)とテクスチャ、即ちマッピングパターンの端点座標
(MX,MY)、及び奥行き距離(Z値)を持つことに
より、Zバッファ法による隠面処理を行うと共に、例え
ば、図30に示すようなテクスチャをポリゴン面に対応
して変形させてポリゴン面にマッピングする。
ーン端点座標(X,Y)と視野座標(EX,EY,E
Z)とテクスチャ、即ちマッピングパターンの端点座標
(MX,MY)、及び奥行き距離(Z値)を持つことに
より、Zバッファ法による隠面処理を行うと共に、例え
ば、図30に示すようなテクスチャをポリゴン面に対応
して変形させてポリゴン面にマッピングする。
【0048】まず、ポリゴン外形処理装置20にてポリ
ゴンの外形処理について、図2ないし図8に従い説明す
る。
ゴンの外形処理について、図2ないし図8に従い説明す
る。
【0049】この外形処理のために、ポリゴン摘出装置
21にて、スクリーンメモリ5より読み出されたポリゴ
ン端点のXYアドレスに基づいて、ポリゴンを構成する
各辺のベクトルが図28に示すどの方向に属するかを判
断し、そのベクトルの方向に応じて、図29に示すよう
に、ポリゴンの辺を構成する端点が右辺に属するか左辺
に属するかを決定する。
21にて、スクリーンメモリ5より読み出されたポリゴ
ン端点のXYアドレスに基づいて、ポリゴンを構成する
各辺のベクトルが図28に示すどの方向に属するかを判
断し、そのベクトルの方向に応じて、図29に示すよう
に、ポリゴンの辺を構成する端点が右辺に属するか左辺
に属するかを決定する。
【0050】スクリーンメモリ5には、スクリーン端点
座標(X,Y)と、及びポリゴンのZ値が格納されてい
る。ポリゴン外形処理装置20のポリゴン摘出装置21
はスクリーンメモリ5をアクセスし、スクリーンメモリ
5よりスクリーン端点座標(X,Y)及び各ポリゴンの
Z値を読み出し、ポリゴンの外形をデジタル微分解析
(DDA)で算出するために、ポリゴンの右辺、または
左辺を決定し、パラメータを算出するパラメータ演算装
置22にそれぞれ各辺に対応するデータを与える。すな
わち、Xパラメータ演算装置22aには、スクリーン座
標が、Zパラメータ演算装置22bに、各辺の始点及び
終点のスクリーン座標(X,Y)とZ値(ZS,ZE)
が与えられる。
座標(X,Y)と、及びポリゴンのZ値が格納されてい
る。ポリゴン外形処理装置20のポリゴン摘出装置21
はスクリーンメモリ5をアクセスし、スクリーンメモリ
5よりスクリーン端点座標(X,Y)及び各ポリゴンの
Z値を読み出し、ポリゴンの外形をデジタル微分解析
(DDA)で算出するために、ポリゴンの右辺、または
左辺を決定し、パラメータを算出するパラメータ演算装
置22にそれぞれ各辺に対応するデータを与える。すな
わち、Xパラメータ演算装置22aには、スクリーン座
標が、Zパラメータ演算装置22bに、各辺の始点及び
終点のスクリーン座標(X,Y)とZ値(ZS,ZE)
が与えられる。
【0051】ポリゴン外形処理装置20のXパラメータ
演算装置22aでは、ポリゴン摘出装置21より与えら
れたスクリーン座標の各辺のYアドレスの始点(YS)
及び終点アドレス(YE)からY方向の距離(DY)を
算出する。即ち、DY=YE−YSの演算を行う。続い
て、スクリーン座標の各辺のX終点(XE)からX始点
(XS)までの距離(DX)を算出するため、DX=X
E−XSの演算を行う。このDY,DXを用いて、ポリ
ゴンの外形のデジタル微分解析(DDA)のためのパラ
メータとして、DX/DYの演算をし、微差分値(DD
X)を求める。このDDXをX値垂直補間装置23aに
転送する。そして、X値垂直補間装置23aにて補間演
算を行い、この補間したデータがポリゴンエッジメモリ
コントローラ24を介してポリゴンエッジメモリ6に格
納される。
演算装置22aでは、ポリゴン摘出装置21より与えら
れたスクリーン座標の各辺のYアドレスの始点(YS)
及び終点アドレス(YE)からY方向の距離(DY)を
算出する。即ち、DY=YE−YSの演算を行う。続い
て、スクリーン座標の各辺のX終点(XE)からX始点
(XS)までの距離(DX)を算出するため、DX=X
E−XSの演算を行う。このDY,DXを用いて、ポリ
ゴンの外形のデジタル微分解析(DDA)のためのパラ
メータとして、DX/DYの演算をし、微差分値(DD
X)を求める。このDDXをX値垂直補間装置23aに
転送する。そして、X値垂直補間装置23aにて補間演
算を行い、この補間したデータがポリゴンエッジメモリ
コントローラ24を介してポリゴンエッジメモリ6に格
納される。
【0052】即ち、下記数式4の(1)に示すように、
X値パラメータ演算装置22aにて、その微差分値を算
出し、下記(2)式に示すように、X値垂直補間演算装
置23aにて補間演算を行い各辺の始点から終点までの
アドレスを算出する。この(2)式におけるXの初期値
は始点のデータ(XS)である。
X値パラメータ演算装置22aにて、その微差分値を算
出し、下記(2)式に示すように、X値垂直補間演算装
置23aにて補間演算を行い各辺の始点から終点までの
アドレスを算出する。この(2)式におけるXの初期値
は始点のデータ(XS)である。
【0053】
【数4】DDX=(XE−XS)/DY … (1) X=X+DDX … (2)
【0054】ポリゴン摘出装置21より与えられたスク
リーン座標の各辺のYアドレスの始点(YS)及び終点
アドレス(YE)からY方向の距離(DY)を算出す
る。即ち、DY=YE−YSの演算を行う。
リーン座標の各辺のYアドレスの始点(YS)及び終点
アドレス(YE)からY方向の距離(DY)を算出す
る。即ち、DY=YE−YSの演算を行う。
【0055】更に、スクリーンメモリ5より読み出され
てZ値の始点アドレス(ZS)、終点アドレス(ZE)
のアドレスデータからポリゴンに対するデータを下記数
式5の(3),(4)式に基づいて、Z値パラメータ演
算装置22b及びZ値垂直補間装置23bにてデジタル
微分解析(DDA)により算出し、ポリゴンエッジメモ
リ6に格納する。即ち、(3)式に示すように、その微
差分値を算出し、(4)式に示すように、補間演算を行
い、各辺の終点から始点までのデータを算出する。この
(4)式における初期値は始点データ(XS)である。
(4)式の演算が0からDYまで繰り返される。
てZ値の始点アドレス(ZS)、終点アドレス(ZE)
のアドレスデータからポリゴンに対するデータを下記数
式5の(3),(4)式に基づいて、Z値パラメータ演
算装置22b及びZ値垂直補間装置23bにてデジタル
微分解析(DDA)により算出し、ポリゴンエッジメモ
リ6に格納する。即ち、(3)式に示すように、その微
差分値を算出し、(4)式に示すように、補間演算を行
い、各辺の終点から始点までのデータを算出する。この
(4)式における初期値は始点データ(XS)である。
(4)式の演算が0からDYまで繰り返される。
【0056】
【数5】DDZ=(ZE−ZS)/DY … (3) Z=Z+DDZ … (4)
【0057】この実施例においては。スキャンラインに
同期して、その垂直位置を示すYアドレス毎に、ポリゴ
ンの外形とそれに基づいて変形されたマッピングパター
ンの外形アドレス情報及びZ値の外形アドレス情報がポ
リゴンエッジメモリ6に格納される。
同期して、その垂直位置を示すYアドレス毎に、ポリゴ
ンの外形とそれに基づいて変形されたマッピングパター
ンの外形アドレス情報及びZ値の外形アドレス情報がポ
リゴンエッジメモリ6に格納される。
【0058】上記各装置は、コントローラ25により制
御され、このコントローラ25は図20に示すフローチ
ャートに従って、端点間をDDAにより補間するため
に、パラメータ演算装置22、垂直補間演算装置23を
制御する。
御され、このコントローラ25は図20に示すフローチ
ャートに従って、端点間をDDAにより補間するため
に、パラメータ演算装置22、垂直補間演算装置23を
制御する。
【0059】次に、ポリゴン外形処理装置20の具体的
構成例を図3ないし図6に示す。図3はXパラメータ演
算装置22aの具体的構成を示す回路図である。
構成例を図3ないし図6に示す。図3はXパラメータ演
算装置22aの具体的構成を示す回路図である。
【0060】図3に示すX値パラメータ演算装置22a
は垂直補間演算に用いるX値パラメータを算出するもの
である。
は垂直補間演算に用いるX値パラメータを算出するもの
である。
【0061】スクリーンメモリ5より読み出された始点
(YS)がレジスタ201に、スクリーンメモリ5より
読み出されたY終点(YE)がレジスタ202に格納さ
れ、この両レジスタ201,202からYS,YEが減
算器205に入力される。
(YS)がレジスタ201に、スクリーンメモリ5より
読み出されたY終点(YE)がレジスタ202に格納さ
れ、この両レジスタ201,202からYS,YEが減
算器205に入力される。
【0062】この減算器205でYEからYSを減算処
理し、この値(DY)をレジスタ207が一時的に格納
する。
理し、この値(DY)をレジスタ207が一時的に格納
する。
【0063】また、スクリーンメモリ5より読み出され
たX始点(XS)がレジスタ203に、スクリーンメモ
リ5より読み出されたX終点(XE)がレジスタ204
に格納され、この両レジスタ203,204から減算器
206に、XS,XEが与えられる。
たX始点(XS)がレジスタ203に、スクリーンメモ
リ5より読み出されたX終点(XE)がレジスタ204
に格納され、この両レジスタ203,204から減算器
206に、XS,XEが与えられる。
【0064】この減算器206でXEからXSを減算処
理し、この値(DX)をレジスタ208が一時的に格納
する。
理し、この値(DX)をレジスタ208が一時的に格納
する。
【0065】レジスタ207,208から除算器209
に、減算器206にて減算処理したDXと減算器205
にて減算処理したDYが与えられ、DXの値をDYで除
算でする。除算器209により演算された微差分値DD
Xはレジスタ210に一時的に格納された後、X垂直補
間装置23aに転送される。
に、減算器206にて減算処理したDXと減算器205
にて減算処理したDYが与えられ、DXの値をDYで除
算でする。除算器209により演算された微差分値DD
Xはレジスタ210に一時的に格納された後、X垂直補
間装置23aに転送される。
【0066】図4はZパラメータ演算装置22bの具体
的構成を示す回路図である。図4に示すZパラメータ演
算装置22bは垂直補間演算に用いるZパラメータを算
出するためのものである。
的構成を示す回路図である。図4に示すZパラメータ演
算装置22bは垂直補間演算に用いるZパラメータを算
出するためのものである。
【0067】スクリーンメモリ5より読み出されたY始
点(YS)がレジスタ235に、スクリーンメモリ5よ
り読み出されたY終点(YE)がレジスタ236に格納
され、この両レジスタ235,236からYS,YEが
減算器239に入力される。
点(YS)がレジスタ235に、スクリーンメモリ5よ
り読み出されたY終点(YE)がレジスタ236に格納
され、この両レジスタ235,236からYS,YEが
減算器239に入力される。
【0068】この減算器239でYEからYSを減算処
理し、この値(DY)をレジスタ241が一時的に格納
する。
理し、この値(DY)をレジスタ241が一時的に格納
する。
【0069】また、スクリーンメモリ5より読み出され
たZ始点(ZS)がレジスタ237に、スクリーンメモ
リ5より読み出されたZ終点(ZE)がレジスタ238
に格納され、この両レジスタ237,238から減算器
240に、XS、ZEが与えられる。
たZ始点(ZS)がレジスタ237に、スクリーンメモ
リ5より読み出されたZ終点(ZE)がレジスタ238
に格納され、この両レジスタ237,238から減算器
240に、XS、ZEが与えられる。
【0070】この減算器240でZEからZSを減算処
理し、この値(DZ)をレジスタ242が一時的に格納
する。
理し、この値(DZ)をレジスタ242が一時的に格納
する。
【0071】レジスタ241,242から除算器243
に、減算器にて減算処理したDZと減算器239にて減
算処理したDYが与えられ、DZの値をDYで除算す
る。除算器243により演算された微差分値DDZはレ
ジスタ244に一時的に格納された後、Z垂直補間装置
23bに転送される。
に、減算器にて減算処理したDZと減算器239にて減
算処理したDYが与えられ、DZの値をDYで除算す
る。除算器243により演算された微差分値DDZはレ
ジスタ244に一時的に格納された後、Z垂直補間装置
23bに転送される。
【0072】次にX値垂直補間演算装置23aの構成に
ついて、図5に従い説明する。
ついて、図5に従い説明する。
【0073】X値パラメータ演算装置22aより転送さ
れたスクリーン座標のXSはマルチプレクサ245を介
してレジスタ247に格納される。
れたスクリーン座標のXSはマルチプレクサ245を介
してレジスタ247に格納される。
【0074】マルチプレクサ245は、スタート信号を
受けたときだけ、Xパラメータ演算装置22aの値をレ
ジスタ247に転送し、それ以外の時には、加算器24
8の出力がレジスタ247に転送するように制御され
る。
受けたときだけ、Xパラメータ演算装置22aの値をレ
ジスタ247に転送し、それ以外の時には、加算器24
8の出力がレジスタ247に転送するように制御され
る。
【0075】レジスタ246は、X値パラメータ演算装
置22aより転送されたパラメータDDXの値を一時的
に格納する。
置22aより転送されたパラメータDDXの値を一時的
に格納する。
【0076】スタート信号を受けることによりレジスタ
246の値を加算器248へ転送する。加算器248に
てXとDDXが加算され、その加算結果(X)がレジス
タ249に与えられ、ポリゴンエッジメモリコントロー
ラ24を介して、ポリゴンエッジメモリ6へ格納され
る。
246の値を加算器248へ転送する。加算器248に
てXとDDXが加算され、その加算結果(X)がレジス
タ249に与えられ、ポリゴンエッジメモリコントロー
ラ24を介して、ポリゴンエッジメモリ6へ格納され
る。
【0077】Z値垂直補間装置23bの構成について図
6に従い説明する。
6に従い説明する。
【0078】Z値パラメータ演算装置22bより転送さ
れたZSはマルチプレクサ260を介してレジスタ26
2に格納される。
れたZSはマルチプレクサ260を介してレジスタ26
2に格納される。
【0079】マルチプレクサ260は、スタート信号を
受けた時だけ、Z値パラメータ演算装置22bの値をレ
ジスタ262に転送し、それ以外の時には、加算器26
3の出力をレジスタ262転送するように制御される。
受けた時だけ、Z値パラメータ演算装置22bの値をレ
ジスタ262に転送し、それ以外の時には、加算器26
3の出力をレジスタ262転送するように制御される。
【0080】レジスタ261は、Z値パラメータ演算装
置22bより転送されたパラメータDDZの値を一時的
に格納する。
置22bより転送されたパラメータDDZの値を一時的
に格納する。
【0081】スタート信号を受けることによりレジスタ
262の値を加算器263へ転送する。加算器263に
てZとDDZが加算され、その加算結果(Z値)がレジ
スタ264に与えられ、ポリゴンエッジメモリコントロ
ーラ24を介してポリゴンエッジメモリ6へ格納され
る。
262の値を加算器263へ転送する。加算器263に
てZとDDZが加算され、その加算結果(Z値)がレジ
スタ264に与えられ、ポリゴンエッジメモリコントロ
ーラ24を介してポリゴンエッジメモリ6へ格納され
る。
【0082】ポリゴン内部処理装置30について、図7
ないし図19に従い説明する。ポリゴン内部処理装置3
0は前述したように、パラメータ演算装置31、水平補
間演算装置33、隠面処理装置34にて構成されてい
る。まず、パラメータ演算装置33につき、図7ないし
図8に基づき説明する。
ないし図19に従い説明する。ポリゴン内部処理装置3
0は前述したように、パラメータ演算装置31、水平補
間演算装置33、隠面処理装置34にて構成されてい
る。まず、パラメータ演算装置33につき、図7ないし
図8に基づき説明する。
【0083】パラメータ演算装置31はスキャンライン
毎に対応する2辺すなわち、左辺及び右辺間のXYアド
レスをポリゴンエッジメモリ6より読み出し、この読み
出したアドレス情報に基づいて、下記数式6の(5)〜
(6)式に従いポリゴン内部の各画素ドットのアドレス
を隠面パラメータアドレスとして算出する。
毎に対応する2辺すなわち、左辺及び右辺間のXYアド
レスをポリゴンエッジメモリ6より読み出し、この読み
出したアドレス情報に基づいて、下記数式6の(5)〜
(6)式に従いポリゴン内部の各画素ドットのアドレス
を隠面パラメータアドレスとして算出する。
【0084】すなわち、この実施例においては、ポリゴ
ンエッジメモリコントローラ31aにてスキャンライン
走査信号に同期して、その垂直位置としてのYアドレス
に対応するポリゴンの外形を示す2点のX左辺(XL)
とXの右辺(XR)とZ値(ZL,ZR)とポリゴンパ
ラメータメモリアドレスをポリゴンエッジメモリ6から
読み出す。
ンエッジメモリコントローラ31aにてスキャンライン
走査信号に同期して、その垂直位置としてのYアドレス
に対応するポリゴンの外形を示す2点のX左辺(XL)
とXの右辺(XR)とZ値(ZL,ZR)とポリゴンパ
ラメータメモリアドレスをポリゴンエッジメモリ6から
読み出す。
【0085】ポリゴンエッジメモリ6より読み出された
Xアドレスの左辺及び右辺アドレスから(5)式に示す
ようにX方向の距離(DXY)算出する。
Xアドレスの左辺及び右辺アドレスから(5)式に示す
ようにX方向の距離(DXY)算出する。
【0086】このDXYを用いて、ポリゴンエッジメモ
リ6より読み出されたZ値を(6)式に基づいてデジタ
ル微分解析(DDA)に用いるパラメータを隠面処理パ
ラメータ演算装置31bにて算出する。
リ6より読み出されたZ値を(6)式に基づいてデジタ
ル微分解析(DDA)に用いるパラメータを隠面処理パ
ラメータ演算装置31bにて算出する。
【0087】
【数6】DXY=XR−XL … (5) DZ=(ZR−ZL) … (6)
【0088】そして、図7に示すように、ポリゴンエッ
ジメモリコントローラ31aにより、ポリゴンエッジメ
モリ6からYアドレス(スキャンライン)毎の左辺、右
辺のスキャンラインアドレス(XL,XR)、Z値(Z
L,ZR)を読み出し、隠面処理パラメータ演算装置3
1bにそれぞれデータを転送する。
ジメモリコントローラ31aにより、ポリゴンエッジメ
モリ6からYアドレス(スキャンライン)毎の左辺、右
辺のスキャンラインアドレス(XL,XR)、Z値(Z
L,ZR)を読み出し、隠面処理パラメータ演算装置3
1bにそれぞれデータを転送する。
【0089】図8は上記隠面処理パラメータ演算装置3
1bの具体的構成を示す回路図である。
1bの具体的構成を示す回路図である。
【0090】ポリゴンエッジメモリコントローラ31a
より、Yアドレス(スキャンライン)毎の左辺のスキャ
ンラインアドレス(XL)がレジスタ320に、右辺の
スキャンラインアドレス(XR)がレジスタ321に与
えられ、この両レジスタ320,321からXL,XR
が減算器324に入力される。
より、Yアドレス(スキャンライン)毎の左辺のスキャ
ンラインアドレス(XL)がレジスタ320に、右辺の
スキャンラインアドレス(XR)がレジスタ321に与
えられ、この両レジスタ320,321からXL,XR
が減算器324に入力される。
【0091】この減算器324でXRからXLを減算処
理し、この値(DXY)をレジスタ326に一時的に格
納する。
理し、この値(DXY)をレジスタ326に一時的に格
納する。
【0092】また、ポリゴンエッジメモリコントローラ
31aより、Z値の左辺(ZL)がレジスタ322、Z
値の右辺(ZR)がレジスタ323にそれぞれ与えら
れ、この両レジスタ322,323から減算器325
に、ZL,ZRが与えられる。
31aより、Z値の左辺(ZL)がレジスタ322、Z
値の右辺(ZR)がレジスタ323にそれぞれ与えら
れ、この両レジスタ322,323から減算器325
に、ZL,ZRが与えられる。
【0093】この減算器325でZRからZLを減算処
理し、この値(DZ)をレジスタ327が一時的に格納
する。
理し、この値(DZ)をレジスタ327が一時的に格納
する。
【0094】この減算器325でZRからZLを減算処
理し、この値(DZ)をレジスタ327が一時的に格納
する。
理し、この値(DZ)をレジスタ327が一時的に格納
する。
【0095】レジスタ326,327から除算器324
にて減算処理したDXYと除算器325にて減算処理し
たDZが与えられ、DZの値をDXYで除算する。除算
器328により演算された微差分値DDZはレジスタ3
29に一時的に格納された後、隠面処理装置インタフェ
ース(I/F)31cを介して隠面処理装置34へ転送
される。上記各回路はコントローラ40にて制御され、
図21のフローチャートに従い動作する。
にて減算処理したDXYと除算器325にて減算処理し
たDZが与えられ、DZの値をDXYで除算する。除算
器328により演算された微差分値DDZはレジスタ3
29に一時的に格納された後、隠面処理装置インタフェ
ース(I/F)31cを介して隠面処理装置34へ転送
される。上記各回路はコントローラ40にて制御され、
図21のフローチャートに従い動作する。
【0096】図9に隠面処理装置のブロック図を示す。
隠面処理装置34はZバッファ法を使用した隠面処理を
行うもので、スキャンライン毎にパラメータ演算装置3
1よりパラメータを受け取り、そのパラメータをパイプ
ライン上にて順次各ドット(画素)毎に隠面処理を行っ
てゆき、1スキャンラインのデータを全て処理した時点
で各ドットのパラメータメモリアドレスを順次水平補間
演算装置33へ転送することにより隠面処理を行う。す
なわち、各ドットにおいて、格納されている一番手前に
存在するポリゴンのZ値と処理するポリゴンのZ値を比
較し、処理するポリゴンのZ値が小さい場合には、その
ポリゴンのポリゴンパラメータメモリアドレスを水平補
間演算装置33へ転送し、そのZ値を比較すべきZ値と
して格納する。また処理するポリゴンのZ値が大きい場
合には、Z値の書換及びパラメータアドレスの書換は行
わず、以前に格納されたままのポリゴンパラメータアド
レス値を水平補間演算装置33へ転送するものである。
隠面処理装置34はZバッファ法を使用した隠面処理を
行うもので、スキャンライン毎にパラメータ演算装置3
1よりパラメータを受け取り、そのパラメータをパイプ
ライン上にて順次各ドット(画素)毎に隠面処理を行っ
てゆき、1スキャンラインのデータを全て処理した時点
で各ドットのパラメータメモリアドレスを順次水平補間
演算装置33へ転送することにより隠面処理を行う。す
なわち、各ドットにおいて、格納されている一番手前に
存在するポリゴンのZ値と処理するポリゴンのZ値を比
較し、処理するポリゴンのZ値が小さい場合には、その
ポリゴンのポリゴンパラメータメモリアドレスを水平補
間演算装置33へ転送し、そのZ値を比較すべきZ値と
して格納する。また処理するポリゴンのZ値が大きい場
合には、Z値の書換及びパラメータアドレスの書換は行
わず、以前に格納されたままのポリゴンパラメータアド
レス値を水平補間演算装置33へ転送するものである。
【0097】パラメータ演算装置31から左辺のX値
(XL)、左辺のZ値(ZL)、左辺と右辺のX値の差
(DXY)、Z値の微差分(DDZ)、ポリゴンパラメ
ータメモリアドレスが隠面処理装置34のパラメータ演
算装置I/F34bに与えられ、このパラメータ演算装
置I/F34bから各データがスキャンライン隠面処理
装置34aへ転送される。
(XL)、左辺のZ値(ZL)、左辺と右辺のX値の差
(DXY)、Z値の微差分(DDZ)、ポリゴンパラメ
ータメモリアドレスが隠面処理装置34のパラメータ演
算装置I/F34bに与えられ、このパラメータ演算装
置I/F34bから各データがスキャンライン隠面処理
装置34aへ転送される。
【0098】スキャンライン隠面処理装置34aは、Z
バッファ法に基づく隠面処理を行うものであり、スキャ
ンラインの各ドットに対応してそのドットの隠面処理を
行う為に、図10のブロック図に示すように、スキャン
ラインの各ドットに対応して、水平解像度に相当する数
(n+1)個の水平ドット隠面処理装置34−0〜34
−nが設けられている。
バッファ法に基づく隠面処理を行うものであり、スキャ
ンラインの各ドットに対応してそのドットの隠面処理を
行う為に、図10のブロック図に示すように、スキャン
ラインの各ドットに対応して、水平解像度に相当する数
(n+1)個の水平ドット隠面処理装置34−0〜34
−nが設けられている。
【0099】そして、パラメータ演算装置31から受け
取ったデータをスキャンラインの各ドットレベルの水平
ドット隠面処理装置34−0〜34−nの連なるパイプ
ラインの0アドレスから順次パイプライン処理を行うこ
とにより高速な隠面処理を行う。この水平ドット隠面処
理装置34−0〜34−nは、スキャンラインの各ドッ
トに対応し、Zバッファ法によりそのドットの隠面処理
を行う。
取ったデータをスキャンラインの各ドットレベルの水平
ドット隠面処理装置34−0〜34−nの連なるパイプ
ラインの0アドレスから順次パイプライン処理を行うこ
とにより高速な隠面処理を行う。この水平ドット隠面処
理装置34−0〜34−nは、スキャンラインの各ドッ
トに対応し、Zバッファ法によりそのドットの隠面処理
を行う。
【0100】図11に水平ドット隠面処理装置の実施例
を示す。パラメータ演算装置31から転送されるスキャ
ンライン上の各ドットに対応する奥行き距離データ(Z
値)はパラメータ演算装置I/F34bを介して奥行き
レジスタ341に格納される。パラメータ演算装置I/
F34bから転送されるスキャンライン上の各ドットに
対応するポリゴンパラメータメモリ40のアドレスがパ
ラメータアドレスレジスタ342に格納される。
を示す。パラメータ演算装置31から転送されるスキャ
ンライン上の各ドットに対応する奥行き距離データ(Z
値)はパラメータ演算装置I/F34bを介して奥行き
レジスタ341に格納される。パラメータ演算装置I/
F34bから転送されるスキャンライン上の各ドットに
対応するポリゴンパラメータメモリ40のアドレスがパ
ラメータアドレスレジスタ342に格納される。
【0101】比較器344の一方の入力には、Aバスの
状態の値、すなわちパラメータ演算装置I/F34bを
介して与えられるポリゴンのZ値が、他方の入力には、
マルチプレクサ343を介して、奥行きレジスタ341
に格納された以前のZ値か或いは、そのドットが対応す
るX値、すなわちXアドレス値が与えられる。このマル
チプレクサ343は、比較器344が他のポリゴンのZ
値と比較するときには、奥行きレジスタ341の値を比
較器344へ送り、他のポリゴンがこのドットにかかる
か調べる時には、Xアドレス値を比較器344へ送るよ
うに制御される。そして、比較器344では、パイプラ
インを流れてくるポリゴンがそのドットにかかるか否か
の判断と、かかった場合、そのポリゴンのZ値がパラメ
ータアドレスレジスタ342に入っているポリゴンのZ
値とではどちらが手前か、すなわちどちらのZ値が小さ
いかの判断を行い、その結果をコントローラ352へ知
らせる。
状態の値、すなわちパラメータ演算装置I/F34bを
介して与えられるポリゴンのZ値が、他方の入力には、
マルチプレクサ343を介して、奥行きレジスタ341
に格納された以前のZ値か或いは、そのドットが対応す
るX値、すなわちXアドレス値が与えられる。このマル
チプレクサ343は、比較器344が他のポリゴンのZ
値と比較するときには、奥行きレジスタ341の値を比
較器344へ送り、他のポリゴンがこのドットにかかる
か調べる時には、Xアドレス値を比較器344へ送るよ
うに制御される。そして、比較器344では、パイプラ
インを流れてくるポリゴンがそのドットにかかるか否か
の判断と、かかった場合、そのポリゴンのZ値がパラメ
ータアドレスレジスタ342に入っているポリゴンのZ
値とではどちらが手前か、すなわちどちらのZ値が小さ
いかの判断を行い、その結果をコントローラ352へ知
らせる。
【0102】加算器346はZ値とZ値の微差分値のD
DZを加算することにより、デジタル微分解析(DD
A)を行い、次のドットのZ値を求めたり、左辺と右辺
のX値の差、DXYから1を引くことによりそのポリゴ
ンのXの右辺値を求めたりする。このため、加算器34
6の一方には、BバスよりDDZ,DXYが与えられ、
他方にはマルチプレクサ345からAバスの状態のZま
たは“−1”の値が与えられる。マルチプレクサ345
は、加算器346がZ値の演算をする時には、Aバスの
状態2の値Zを加算器346へ送り、DXYの演算をす
る時は“−1”の値を加算器346へ送り出す。
DZを加算することにより、デジタル微分解析(DD
A)を行い、次のドットのZ値を求めたり、左辺と右辺
のX値の差、DXYから1を引くことによりそのポリゴ
ンのXの右辺値を求めたりする。このため、加算器34
6の一方には、BバスよりDDZ,DXYが与えられ、
他方にはマルチプレクサ345からAバスの状態のZま
たは“−1”の値が与えられる。マルチプレクサ345
は、加算器346がZ値の演算をする時には、Aバスの
状態2の値Zを加算器346へ送り、DXYの演算をす
る時は“−1”の値を加算器346へ送り出す。
【0103】マルチプレクサ348は加算器346がD
XYの演算をした時は加算器346の出力をBバスパイ
プラインレジスタ350へ送り、その他の時は、Bバス
の値をBバスパイプラインレジスタ350へ送る。
XYの演算をした時は加算器346の出力をBバスパイ
プラインレジスタ350へ送り、その他の時は、Bバス
の値をBバスパイプラインレジスタ350へ送る。
【0104】マルチプレクサ347は加算器346がZ
値の更新をした時に加算器346の出力をAバスパイプ
ラインレジスタ349へ送り、そのほかの時はAバスの
値をAバスパイプラインレジスタ349へ送る。このA
バスパイプラインレジスタ349の値は次段の水平ドッ
ト隠面処理装置34へ転送される。
値の更新をした時に加算器346の出力をAバスパイプ
ラインレジスタ349へ送り、そのほかの時はAバスの
値をAバスパイプラインレジスタ349へ送る。このA
バスパイプラインレジスタ349の値は次段の水平ドッ
ト隠面処理装置34へ転送される。
【0105】Bバスパイプラインレジスタ350のバス
の値は次段の水平ドット隠面処理装置34へ転送され
る。Cバスパイプラインレジスタ351の値は次段の水
平ドット隠面処理装置34へ転送される。コントローラ
352はEバスより受けたアクティブ信号により駆動
し、もしアクティブであれば、図22のようなフローに
従い水平ドット隠面処理装置を動作させ、アクティブで
なければ駆動しない、Eバスパイプラインフリップフロ
ップ353は、コントローラ352がアクティブである
か否かを示すEバス信号が格納され、このEバス信号を
次の水平ドット隠面処理装置34へ転送する。
の値は次段の水平ドット隠面処理装置34へ転送され
る。Cバスパイプラインレジスタ351の値は次段の水
平ドット隠面処理装置34へ転送される。コントローラ
352はEバスより受けたアクティブ信号により駆動
し、もしアクティブであれば、図22のようなフローに
従い水平ドット隠面処理装置を動作させ、アクティブで
なければ駆動しない、Eバスパイプラインフリップフロ
ップ353は、コントローラ352がアクティブである
か否かを示すEバス信号が格納され、このEバス信号を
次の水平ドット隠面処理装置34へ転送する。
【0106】図12に各バスのデータの流れを示す。こ
の図11及び図12を参照して、この隠面処理装置の動
作を説明する。
の図11及び図12を参照して、この隠面処理装置の動
作を説明する。
【0107】まず、スキャンラインの右端点情報として
座標値の代わりに右辺と左辺の差DXYをBバスより与
える。即ち左辺の座標(XL,ZL)、DXY、単位ド
ット当たりのZ座標の微差分値DDZが、図10に示す
アレイ構造の構成される水平ドット隠面処理装置34の
左側からAバス、Bバスに分けて入力される。制御情報
(フリップフロップ353に格納されるEバス信号)に
は、そのドットの存在する範囲内に入っていることを示
す情報がある。各バスのデータには図12に示すように
データが時分割的に与えられる。
座標値の代わりに右辺と左辺の差DXYをBバスより与
える。即ち左辺の座標(XL,ZL)、DXY、単位ド
ット当たりのZ座標の微差分値DDZが、図10に示す
アレイ構造の構成される水平ドット隠面処理装置34の
左側からAバス、Bバスに分けて入力される。制御情報
(フリップフロップ353に格納されるEバス信号)に
は、そのドットの存在する範囲内に入っていることを示
す情報がある。各バスのデータには図12に示すように
データが時分割的に与えられる。
【0108】各水平ドット隠面処理装置34の動作を図
11及び図12に従い説明する。第1のタイミング状態
では、AバスにXL、BバスにDXYが、第2のタイミ
ングでは、AバスにZ値が、BバスにDDZが与えら
れ、Cバスは状態1,状態2の両タイミングでパラメー
タアドレスが与えられる。比較器344が負の時、この
ドットがこの画素位置でポリゴンの存在範囲に入ったこ
とになり、マルチプレクサ345でデータ“−1”を加
算器346に与える。加算器346の他方にはBバスよ
りDXYを与える。ドットがポリゴンの存在範囲内の場
合は、マルチプレクサ347は、レジスタ349に加算
器346の出力を出力する。
11及び図12に従い説明する。第1のタイミング状態
では、AバスにXL、BバスにDXYが、第2のタイミ
ングでは、AバスにZ値が、BバスにDDZが与えら
れ、Cバスは状態1,状態2の両タイミングでパラメー
タアドレスが与えられる。比較器344が負の時、この
ドットがこの画素位置でポリゴンの存在範囲に入ったこ
とになり、マルチプレクサ345でデータ“−1”を加
算器346に与える。加算器346の他方にはBバスよ
りDXYを与える。ドットがポリゴンの存在範囲内の場
合は、マルチプレクサ347は、レジスタ349に加算
器346の出力を出力する。
【0109】第2の状態では、ドットが存在範囲に入っ
ている状態であれば、AバスのZとBバスのDDZを加
算して加算器346の出力をBバスに出力し、そうでな
ければデータを更新しないでBバスに出力する。そし
て、ドットが存在範囲内に入っている状態でAバス上の
AデータZ奥行きレジスタ341に格納されているデー
タZAを比較器344で比較した結果がZ<ZAの時、
奥行きレジスタ341のデータを書き換えると共に、パ
ラメータアドレスレジスタ342にAバス上のZとCバ
ス上のポリゴンパラメータメモリアドレスをそれぞれ格
納する。
ている状態であれば、AバスのZとBバスのDDZを加
算して加算器346の出力をBバスに出力し、そうでな
ければデータを更新しないでBバスに出力する。そし
て、ドットが存在範囲内に入っている状態でAバス上の
AデータZ奥行きレジスタ341に格納されているデー
タZAを比較器344で比較した結果がZ<ZAの時、
奥行きレジスタ341のデータを書き換えると共に、パ
ラメータアドレスレジスタ342にAバス上のZとCバ
ス上のポリゴンパラメータメモリアドレスをそれぞれ格
納する。
【0110】図10に示す水平ドット隠面処理装置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との比較は行われない。
−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との比較は行われない。
【0111】図13にスキャンライン隠面処理装置34
aのパイプラインのタイムチャートを示す。P1−1と
はポリゴン状態1、P1−2とはポリゴン1の状態2、
P2−1とはポリゴン2の状態1のことである。水平補
間演算装置33から受けた水平ライン上のドットアドレ
ス値をスキャンライン隠面処理装置34aへ送り、次の
ドットに対応する水平ドット隠面処理装置34がパラメ
ータアドレスレジスタ342の値をDバスを介して受け
取り、そのポリゴンパラメータメモリアドレスを水平補
間演算装置33へ送る。これら各装置はコントローラ4
1で制御される。
aのパイプラインのタイムチャートを示す。P1−1と
はポリゴン状態1、P1−2とはポリゴン1の状態2、
P2−1とはポリゴン2の状態1のことである。水平補
間演算装置33から受けた水平ライン上のドットアドレ
ス値をスキャンライン隠面処理装置34aへ送り、次の
ドットに対応する水平ドット隠面処理装置34がパラメ
ータアドレスレジスタ342の値をDバスを介して受け
取り、そのポリゴンパラメータメモリアドレスを水平補
間演算装置33へ送る。これら各装置はコントローラ4
1で制御される。
【0112】次に図14に従い、水平補間演算装置33
につき説明する。隠面処理装置34が各ドットのポリゴ
ンパラメータメモリ40のアドレスをパラメータ入力装
置33aに与える。パラメータ入力装置33aは入力さ
れたポリゴンパラメータメモリアドレスに従って、ポリ
ゴンパラメータメモリ40よりそのアドレスに格納され
たパラメータを読み出し、内挿マッピング演算装置33
bに転送する。
につき説明する。隠面処理装置34が各ドットのポリゴ
ンパラメータメモリ40のアドレスをパラメータ入力装
置33aに与える。パラメータ入力装置33aは入力さ
れたポリゴンパラメータメモリアドレスに従って、ポリ
ゴンパラメータメモリ40よりそのアドレスに格納され
たパラメータを読み出し、内挿マッピング演算装置33
bに転送する。
【0113】内挿マッピング演算装置33bは、ポリゴ
ンパラメータメモリ40からパラメータ入力装置33a
を介して転送されたポリゴン端点毎の視野座標のX,
Y,Z値とマッピングパターンメモリアドレスMX,M
Yとマッピングの方向を示すフラグを受け取り、現在処
理しているスキャンラインのXアドレスのドットのマッ
ピングパターンメモリアドレス(MX,MY)を求め、
フレームメモリコントローラ33cに転送する。
ンパラメータメモリ40からパラメータ入力装置33a
を介して転送されたポリゴン端点毎の視野座標のX,
Y,Z値とマッピングパターンメモリアドレスMX,M
Yとマッピングの方向を示すフラグを受け取り、現在処
理しているスキャンラインのXアドレスのドットのマッ
ピングパターンメモリアドレス(MX,MY)を求め、
フレームメモリコントローラ33cに転送する。
【0114】フレームメモリコントローラ33cは、内
挿マッピング演算装置33bで求めたマッピングパター
ンメモリアドレス(MX,MY)によりマッピングパタ
ーンメモリ7をアクセスすることにより、現在処理され
ているスキャンラインのXアドレスのドットのR,G,
B又はLUT値を求めフレームメモリ8に書き込む。こ
れら各装置はコントローラ42にて制御され、このコン
トローラ42は図23に示すフローチャートに従い動作
する。
挿マッピング演算装置33bで求めたマッピングパター
ンメモリアドレス(MX,MY)によりマッピングパタ
ーンメモリ7をアクセスすることにより、現在処理され
ているスキャンラインのXアドレスのドットのR,G,
B又はLUT値を求めフレームメモリ8に書き込む。こ
れら各装置はコントローラ42にて制御され、このコン
トローラ42は図23に示すフローチャートに従い動作
する。
【0115】図15は、内挿マッピング演算装置33b
の具体的実施例を示すブロック図である。この内挿マッ
ピング演算装置33bは、視野座標X,Y,Z値生成装
置331とマッピング演算装置332を備える。視野座
標X,Y,Z値生成装置331は、隠面処理装置34か
ら受け取った正規化座標に変換されたZ値を受け取り、
このZ値を視野座標のZ値に変換し、スクリーンX,Y
値とスクリーン距離から視野座標のX値、Y値を求め、
マッピング演算装置332へ転送する。
の具体的実施例を示すブロック図である。この内挿マッ
ピング演算装置33bは、視野座標X,Y,Z値生成装
置331とマッピング演算装置332を備える。視野座
標X,Y,Z値生成装置331は、隠面処理装置34か
ら受け取った正規化座標に変換されたZ値を受け取り、
このZ値を視野座標のZ値に変換し、スクリーンX,Y
値とスクリーン距離から視野座標のX値、Y値を求め、
マッピング演算装置332へ転送する。
【0116】マッピング演算装置332は、視野座標
X,Y,Z値を視野座標X,Y,Z値生成装置331か
ら受け取り、パラメータ入力装置339を介してポリゴ
ンパラメータメモリから読み出されたポリゴン端点の視
野座標のX,Y,Z値とマッピングの方向と、視野座標
上の2辺の外積の逆数値1/abとポリゴン端点のマッ
ピングパターンメモリアドレスMX,MYを受け取り、
内挿マッピング演算を行い、各ドットのマッピングパタ
ーンメモリアドレスMX,MYをフレームメモリコント
ローラ33cへ転送する。
X,Y,Z値を視野座標X,Y,Z値生成装置331か
ら受け取り、パラメータ入力装置339を介してポリゴ
ンパラメータメモリから読み出されたポリゴン端点の視
野座標のX,Y,Z値とマッピングの方向と、視野座標
上の2辺の外積の逆数値1/abとポリゴン端点のマッ
ピングパターンメモリアドレスMX,MYを受け取り、
内挿マッピング演算を行い、各ドットのマッピングパタ
ーンメモリアドレスMX,MYをフレームメモリコント
ローラ33cへ転送する。
【0117】図16に視野座標X,Y,Z値生成装置の
ブロック図を示す。視野座標X,Y,Z値生成装置33
1は、視野座標標値生成装置331aと視野座標X,Y
値生成装置331bとを備える。視野座標Z値生成装置
331aは、正規化されたZ値を下記に示す数式8の変
換演算により等出する。Z値の正規化処理として、下記
数式7に示すものが知られている。
ブロック図を示す。視野座標X,Y,Z値生成装置33
1は、視野座標標値生成装置331aと視野座標X,Y
値生成装置331bとを備える。視野座標Z値生成装置
331aは、正規化されたZ値を下記に示す数式8の変
換演算により等出する。Z値の正規化処理として、下記
数式7に示すものが知られている。
【0118】
【数7】A=CZMAX/(VLEN*(CZMAX−
CZMIN)) B=CZMAX*CZMIN/(VLEN*(CZMA
X−CZMIN)) Z=(A*WZ−B)*VLEN/EZ ここで、CZMAXはZ値の最大値、CZMINはZ値
の最小値、VLENはスクリーンとの距離である。
CZMIN)) B=CZMAX*CZMIN/(VLEN*(CZMA
X−CZMIN)) Z=(A*WZ−B)*VLEN/EZ ここで、CZMAXはZ値の最大値、CZMINはZ値
の最小値、VLENはスクリーンとの距離である。
【0119】この処理により、視野座標値ZEから正規
化座標値IZへ変換される。従って、この視野座標Z値
生成装置331aは、隠面処理装置34により補間され
たSZ値から上記の数式7の逆変換を行い、下記の数式
8に従い視野座標のZ値をもとめる。
化座標値IZへ変換される。従って、この視野座標Z値
生成装置331aは、隠面処理装置34により補間され
たSZ値から上記の数式7の逆変換を行い、下記の数式
8に従い視野座標のZ値をもとめる。
【0120】
【数8】A2=(CZMAX/(VLEN*(CZMA
X−CZMIN))*VLEN B2=CZMAX*CEMIN/(VLEN*(CZM
AX−CZMIN))*(−VLEN) EZ=B2/(IZ−A2)
X−CZMIN))*VLEN B2=CZMAX*CEMIN/(VLEN*(CZM
AX−CZMIN))*(−VLEN) EZ=B2/(IZ−A2)
【0121】上記数式8の演算により視野座標のZ値を
求めるように、視野座標Z値装置331aは演算処理を
行う。
求めるように、視野座標Z値装置331aは演算処理を
行う。
【0122】図17は、視野座標Z値生成装置331a
の具体的実施例を示すブロック図である。隠面処理装置
34から送られてきた正規化座標のZ値は、レジスタ3
51に格納され、上記数5のA2のパラメータは、レジ
スタ352に格納される。両レジスタ351、352か
ら、それぞれのデータが減算器353に与えられ、1Z
−A2の演算が行われる。上記B2のパラメータは、レ
ジスタ354に格納され、この値が除算器355の一方
に与えられる。
の具体的実施例を示すブロック図である。隠面処理装置
34から送られてきた正規化座標のZ値は、レジスタ3
51に格納され、上記数5のA2のパラメータは、レジ
スタ352に格納される。両レジスタ351、352か
ら、それぞれのデータが減算器353に与えられ、1Z
−A2の演算が行われる。上記B2のパラメータは、レ
ジスタ354に格納され、この値が除算器355の一方
に与えられる。
【0123】視野座標X,Y,Z値生成装置331b
は、投影処理されたX,Y値を下記に示す数式10の変
換演算により算出するものである。投影処理として、下
記数式9に示すものが知られている。
は、投影処理されたX,Y値を下記に示す数式10の変
換演算により算出するものである。投影処理として、下
記数式9に示すものが知られている。
【0124】
【数9】SX=EX*VLEN/EZ+CX ここで、CXはスクリーン中心のX値である。
【0125】ここでは上記数式9を逆変換して、下記数
式10に基づいて、X,Yの演算を行う。
式10に基づいて、X,Yの演算を行う。
【0126】
【数10】 EX=(SX−CX)*EZ*(1/VLEN)
【0127】図18は、視野座標X,Y値生成装置33
1bの具体的実施例を示すブロック図である。
1bの具体的実施例を示すブロック図である。
【0128】上記数式のCX,CYパラメータは、レジ
スタ361に格納され、このレジスタ361からCX,
CYパラメータが減算器363に与えられる。また、ス
クリーン座標のX値,Y値はカウンタ362にてカウン
トされる。このカウンタ362は全体のシステムに同期
してカウントアップする。カウンタ362からスクリー
ン座標のX値、Y値が減算器363に与えられ、減算器
363にてSX−CX,SY−CY,の演算が行われ
る。この減算器363からの減算結果が乗算器364に
与えられる。この乗算器364は、視野座標Z値生成装
置331aからEZが与えられ、(SX−CX)×E
Z,(SY−CY)×EZの演算が行われる。一方、レ
ジスタ365には、上記式の1/VLENパラメータが
格納されており、このレジスタから1/VLENが乗算
器366へ与えられる。この乗算器366には乗算器3
64からの乗算結果が与えられ、この乗算器366から
視野座標EX,EYがレジスタ367へ与えられる。
スタ361に格納され、このレジスタ361からCX,
CYパラメータが減算器363に与えられる。また、ス
クリーン座標のX値,Y値はカウンタ362にてカウン
トされる。このカウンタ362は全体のシステムに同期
してカウントアップする。カウンタ362からスクリー
ン座標のX値、Y値が減算器363に与えられ、減算器
363にてSX−CX,SY−CY,の演算が行われ
る。この減算器363からの減算結果が乗算器364に
与えられる。この乗算器364は、視野座標Z値生成装
置331aからEZが与えられ、(SX−CX)×E
Z,(SY−CY)×EZの演算が行われる。一方、レ
ジスタ365には、上記式の1/VLENパラメータが
格納されており、このレジスタから1/VLENが乗算
器366へ与えられる。この乗算器366には乗算器3
64からの乗算結果が与えられ、この乗算器366から
視野座標EX,EYがレジスタ367へ与えられる。
【0129】図19は、マッピング演算装置332の具
体的実施例を示すブロック図である。
体的実施例を示すブロック図である。
【0130】レジスタ371には、ポリゴンパラメータ
メモリ40から読み出されたポリゴン端点の視野座標E
X1,EX2,EX3が格納され、レジスタ372には
視野座標X,Y,Z値生成装置331から受け取った視
野座標X値(EX)が格納される。レジスタ371に格
納されたEX1,EX2,EX3はマルチプレクサ37
3を介して減算器374に一方の入力に与えられる。減
算器374の他方の入力にはレジスタ372に格納され
たEXが与えられる。この減算器373にてEX−EX
1,EX−EX2,EX−EX3の演算が行われ、その
結果、aX,bX,cXがレジスタ375に格納され
る。このレジスタ375から、aX,bX,cXがマル
チプレクサ376を介して、マルチプレクサ393、マ
ルチプレクサ402、マルチプレクサ411に与えられ
る。
メモリ40から読み出されたポリゴン端点の視野座標E
X1,EX2,EX3が格納され、レジスタ372には
視野座標X,Y,Z値生成装置331から受け取った視
野座標X値(EX)が格納される。レジスタ371に格
納されたEX1,EX2,EX3はマルチプレクサ37
3を介して減算器374に一方の入力に与えられる。減
算器374の他方の入力にはレジスタ372に格納され
たEXが与えられる。この減算器373にてEX−EX
1,EX−EX2,EX−EX3の演算が行われ、その
結果、aX,bX,cXがレジスタ375に格納され
る。このレジスタ375から、aX,bX,cXがマル
チプレクサ376を介して、マルチプレクサ393、マ
ルチプレクサ402、マルチプレクサ411に与えられ
る。
【0131】レジスタ377には、ポリゴンパラメータ
メモリ40から読み出されたポリゴン端点の視野座標E
Y1,EY2,EY3が格納され、レジスタ378には
視野座標X,Y,Z値生成装置331から受け取った視
野座標Y値(EY)が格納される。レジスタ377に格
納されたEY1,EY2,EY3はマルチプレクサ37
9を介して減算器380に一方の入力に与えられる。減
算器380の他方の入力にはレジスタ378に格納され
たEYが与えられる。この減算器380にてEY−EY
1,EY−EY2,EY−EY3の演算が行われ、その
結果、aY,bY,cYがレジスタ381に格納され
る。このレジスタ381から、aY,bY,cYがマル
チプレクサ382を介して、マルチプレクサ393、4
20、402、421、411、422に与えられる。
メモリ40から読み出されたポリゴン端点の視野座標E
Y1,EY2,EY3が格納され、レジスタ378には
視野座標X,Y,Z値生成装置331から受け取った視
野座標Y値(EY)が格納される。レジスタ377に格
納されたEY1,EY2,EY3はマルチプレクサ37
9を介して減算器380に一方の入力に与えられる。減
算器380の他方の入力にはレジスタ378に格納され
たEYが与えられる。この減算器380にてEY−EY
1,EY−EY2,EY−EY3の演算が行われ、その
結果、aY,bY,cYがレジスタ381に格納され
る。このレジスタ381から、aY,bY,cYがマル
チプレクサ382を介して、マルチプレクサ393、4
20、402、421、411、422に与えられる。
【0132】レジスタ383には、ポリゴンパラメータ
メモリ40から読み出されたポリゴン端点の視野座標E
Z1,EZ2,EZ3が格納され、レジスタ384には
視野座標X,Y,Z値生成装置331から受け取った視
野座標Z値(EZ)が格納される。レジスタ383に格
納されたEZ1,EZ2,EZ3はマルチプレクサ38
5を介して減算器386に一方の入力に与えられる。減
算器386の他方の入力にはレジスタ384に格納され
たEZが与えられる。この減算器386にてEZ−EZ
1,EZ−EZ2,EZ−EZ3の演算が行われ、その
結果、aZ,bZ,cZがレジスタ387に格納され
る。このレジスタ387から、aZ,bZ,cZがマル
チプレクサ388を介して、マルチプレクサ393、4
20、402、421、422に与えられる。
メモリ40から読み出されたポリゴン端点の視野座標E
Z1,EZ2,EZ3が格納され、レジスタ384には
視野座標X,Y,Z値生成装置331から受け取った視
野座標Z値(EZ)が格納される。レジスタ383に格
納されたEZ1,EZ2,EZ3はマルチプレクサ38
5を介して減算器386に一方の入力に与えられる。減
算器386の他方の入力にはレジスタ384に格納され
たEZが与えられる。この減算器386にてEZ−EZ
1,EZ−EZ2,EZ−EZ3の演算が行われ、その
結果、aZ,bZ,cZがレジスタ387に格納され
る。このレジスタ387から、aZ,bZ,cZがマル
チプレクサ388を介して、マルチプレクサ393、4
20、402、421、422に与えられる。
【0133】マッピング方向がX−Zの時には、まず、
乗算器389の一方の入力に、マルチプレクサ376、
393を介してレジスタ375からcXが与えられ、他
方の入力に、マルチプレクサ388、420を介してレ
ジスタ387からbZが与えられ、W1K=bZ×cX
の演算を行い、この演算結果W1Kがレジスタ390に
格納される。さらに、乗算器389の一方の入力に、マ
ルチプレクサ376、393を介してレジスタ375か
らbXが与えられ、他方の入力に、マルチプレクサ38
8、420を介してレジスタ387からcZが与えら
れ、W2K=bX×cZの演算を行い、この演算結果W
2Kがレジスタ391に格納される。
乗算器389の一方の入力に、マルチプレクサ376、
393を介してレジスタ375からcXが与えられ、他
方の入力に、マルチプレクサ388、420を介してレ
ジスタ387からbZが与えられ、W1K=bZ×cX
の演算を行い、この演算結果W1Kがレジスタ390に
格納される。さらに、乗算器389の一方の入力に、マ
ルチプレクサ376、393を介してレジスタ375か
らbXが与えられ、他方の入力に、マルチプレクサ38
8、420を介してレジスタ387からcZが与えら
れ、W2K=bX×cZの演算を行い、この演算結果W
2Kがレジスタ391に格納される。
【0134】そして、乗算器398の一方の入力に、マ
ルチプレクサ376、402を介してレジスタ375か
らaXが与えられ、他方の入力に、マルチプレクサ38
8、421を介してレジスタ387からcZが与えら
れ、W1L=cZ×aXの演算を行い、この演算結果W
1Lがレジスタ399に格納される。さらに、乗算器3
98の一方の入力に、マルチプレクサ376、402を
介してレジスタ375からcXが与えられ、他方の入力
に、マルチプレクサ388、421を介してレジスタ3
87からaZが与えられ、W2L=cX×aZの演算を
行い、この演算結果W2Kがレジスタ400に格納され
る。
ルチプレクサ376、402を介してレジスタ375か
らaXが与えられ、他方の入力に、マルチプレクサ38
8、421を介してレジスタ387からcZが与えら
れ、W1L=cZ×aXの演算を行い、この演算結果W
1Lがレジスタ399に格納される。さらに、乗算器3
98の一方の入力に、マルチプレクサ376、402を
介してレジスタ375からcXが与えられ、他方の入力
に、マルチプレクサ388、421を介してレジスタ3
87からaZが与えられ、W2L=cX×aZの演算を
行い、この演算結果W2Kがレジスタ400に格納され
る。
【0135】また、乗算器407の一方の入力に、マル
チプレクサ376、411を介してレジスタ375から
bXが与えられ、他方の入力に、マルチプレクサ38
8、422を介してレジスタ387からaZが与えら
れ、W1M=aZ×bXの演算を行い、この演算結果W
1Mがレジスタ408に格納される。さらに、乗算器4
07の一方の入力に、マルチプレクサ376、411を
介してレジスタ375からaXが与えられ、他方の入力
に、マルチプレクサ388、422を介してレジスタ3
87からbZが与えられ、W2M=aX×bZの演算を
行い、この演算結果W2Mがレジスタ409に格納され
る。
チプレクサ376、411を介してレジスタ375から
bXが与えられ、他方の入力に、マルチプレクサ38
8、422を介してレジスタ387からaZが与えら
れ、W1M=aZ×bXの演算を行い、この演算結果W
1Mがレジスタ408に格納される。さらに、乗算器4
07の一方の入力に、マルチプレクサ376、411を
介してレジスタ375からaXが与えられ、他方の入力
に、マルチプレクサ388、422を介してレジスタ3
87からbZが与えられ、W2M=aX×bZの演算を
行い、この演算結果W2Mがレジスタ409に格納され
る。
【0136】マッピング方向がY−Zの時には、まず、
乗算器389の一方の入力に、マルチプレクサ376、
393を介してレジスタ375からcXが与えられ、他
方の入力に、マルチプレクサ382、420を介してレ
ジスタ381からbYが与えられ、W1K=bY×cX
の演算を行い、この演算結果W1Kがレジスタ390に
格納される。さらに、乗算器389の一方の入力に、マ
ルチプレクサ376、393を介してレジスタ375か
らbXが与えられ、他方の入力に、マルチプレクサ38
2、420を介してレジスタ381からcYが与えら
れ、W2K=bX×cYの演算を行い、この演算結果W
2Kがレジスタ391に格納される。
乗算器389の一方の入力に、マルチプレクサ376、
393を介してレジスタ375からcXが与えられ、他
方の入力に、マルチプレクサ382、420を介してレ
ジスタ381からbYが与えられ、W1K=bY×cX
の演算を行い、この演算結果W1Kがレジスタ390に
格納される。さらに、乗算器389の一方の入力に、マ
ルチプレクサ376、393を介してレジスタ375か
らbXが与えられ、他方の入力に、マルチプレクサ38
2、420を介してレジスタ381からcYが与えら
れ、W2K=bX×cYの演算を行い、この演算結果W
2Kがレジスタ391に格納される。
【0137】そして、乗算器398の一方の入力に、マ
ルチプレクサ376、402を介してレジスタ375か
らaXが与えられ、他方の入力に、マルチプレクサ38
2、421を介してレジスタ387からcYが与えら
れ、W1L=cY×aXの演算を行い、この演算結果W
1Lがレジスタ399に格納される。さらに、乗算器3
98の一方の入力に、マルチプレクサ376、402を
介してレジスタ375からcXが与えられ、他方の入力
に、マルチプレクサ382、421を介してレジスタ3
87からaYが与えられ、W2L=cX×aYの演算を
行い、この演算結果W2Lがレジスタ400に格納され
る。
ルチプレクサ376、402を介してレジスタ375か
らaXが与えられ、他方の入力に、マルチプレクサ38
2、421を介してレジスタ387からcYが与えら
れ、W1L=cY×aXの演算を行い、この演算結果W
1Lがレジスタ399に格納される。さらに、乗算器3
98の一方の入力に、マルチプレクサ376、402を
介してレジスタ375からcXが与えられ、他方の入力
に、マルチプレクサ382、421を介してレジスタ3
87からaYが与えられ、W2L=cX×aYの演算を
行い、この演算結果W2Lがレジスタ400に格納され
る。
【0138】また、乗算器407の一方の入力に、マル
チプレクサ376、411を介してレジスタ375から
bXが与えられ、他方の入力に、マルチプレクサ38
2、422を介してレジスタ381からaYが与えら
れ、W1M=aY×bXの演算を行い、この演算結果W
1Mがレジスタ408に格納される。さらに、乗算器4
07の一方の入力に、マルチプレクサ376、411を
介してレジスタ375からaXが与えられ、他方の入力
に、マルチプレクサ382、422を介してレジスタ3
87からbYが与えられ、W2M=aX×bYの演算を
行い、この演算結果W2Mがレジスタ409に格納され
る。
チプレクサ376、411を介してレジスタ375から
bXが与えられ、他方の入力に、マルチプレクサ38
2、422を介してレジスタ381からaYが与えら
れ、W1M=aY×bXの演算を行い、この演算結果W
1Mがレジスタ408に格納される。さらに、乗算器4
07の一方の入力に、マルチプレクサ376、411を
介してレジスタ375からaXが与えられ、他方の入力
に、マルチプレクサ382、422を介してレジスタ3
87からbYが与えられ、W2M=aX×bYの演算を
行い、この演算結果W2Mがレジスタ409に格納され
る。
【0139】マッピング方向がX−Yの時には、まず、
乗算器389の一方の入力に、マルチプレクサ376、
393を介してレジスタ375からbXが与えられ、他
方の入力に、マルチプレクサ382、420を介してレ
ジスタ381からcYが与えられ、W1K=bX×cY
の演算を行い、この演算結果W1Kがレジスタ390に
格納される。さらに、乗算器389の一方の入力に、マ
ルチプレクサ376、393を介してレジスタ375か
らcXが与えられ、他方の入力に、マルチプレクサ38
2、420を介してレジスタ381からbYが与えら
れ、W2K=bY×cXの演算を行い、この演算結果W
2Kがレジスタ391に格納される。
乗算器389の一方の入力に、マルチプレクサ376、
393を介してレジスタ375からbXが与えられ、他
方の入力に、マルチプレクサ382、420を介してレ
ジスタ381からcYが与えられ、W1K=bX×cY
の演算を行い、この演算結果W1Kがレジスタ390に
格納される。さらに、乗算器389の一方の入力に、マ
ルチプレクサ376、393を介してレジスタ375か
らcXが与えられ、他方の入力に、マルチプレクサ38
2、420を介してレジスタ381からbYが与えら
れ、W2K=bY×cXの演算を行い、この演算結果W
2Kがレジスタ391に格納される。
【0140】そして、乗算器398の一方の入力に、マ
ルチプレクサ376、402を介してレジスタ375か
らcXが与えられ、他方の入力に、マルチプレクサ38
2、421を介してレジスタ387からaYが与えら
れ、W1L=cX×aYの演算を行い、この演算結果W
1Lがレジスタ399に格納される。さらに、乗算器3
98の一方の入力に、マルチプレクサ376、402を
介してレジスタ375からaXが与えられ、他方の入力
に、マルチプレクサ382、421を介してレジスタ3
87からcYが与えられ、W2L=aX×cYの演算を
行い、この演算結果W2Lがレジスタ400に格納され
る。
ルチプレクサ376、402を介してレジスタ375か
らcXが与えられ、他方の入力に、マルチプレクサ38
2、421を介してレジスタ387からaYが与えら
れ、W1L=cX×aYの演算を行い、この演算結果W
1Lがレジスタ399に格納される。さらに、乗算器3
98の一方の入力に、マルチプレクサ376、402を
介してレジスタ375からaXが与えられ、他方の入力
に、マルチプレクサ382、421を介してレジスタ3
87からcYが与えられ、W2L=aX×cYの演算を
行い、この演算結果W2Lがレジスタ400に格納され
る。
【0141】また、乗算器407の一方の入力に、マル
チプレクサ376、411を介してレジスタ375から
aXが与えられ、他方の入力に、マルチプレクサ38
2、422を介してレジスタ381からbYが与えら
れ、W1M=aX×bYの演算を行い、この演算結果W
1Mがレジスタ408に格納される。さらに、乗算器4
07の一方の入力に、マルチプレクサ376、411を
介してレジスタ375からbXが与えられ、他方の入力
に、マルチプレクサ382、422を介してレジスタ3
87からaYが与えられ、W2M=aY×bXの演算を
行い、この演算結果W2Mがレジスタ409に格納され
る。
チプレクサ376、411を介してレジスタ375から
aXが与えられ、他方の入力に、マルチプレクサ38
2、422を介してレジスタ381からbYが与えら
れ、W1M=aX×bYの演算を行い、この演算結果W
1Mがレジスタ408に格納される。さらに、乗算器4
07の一方の入力に、マルチプレクサ376、411を
介してレジスタ375からbXが与えられ、他方の入力
に、マルチプレクサ382、422を介してレジスタ3
87からaYが与えられ、W2M=aY×bXの演算を
行い、この演算結果W2Mがレジスタ409に格納され
る。
【0142】減算器392には、レジスタ390、39
1に格納されたW1K、W2Kがそれぞれ与えられ、K
=W1K−W2Kの演算を行い、重み係数Kを算出し、
レジスタ394にKを格納する。
1に格納されたW1K、W2Kがそれぞれ与えられ、K
=W1K−W2Kの演算を行い、重み係数Kを算出し、
レジスタ394にKを格納する。
【0143】減算器401には、レジスタ399、40
0に格納されたW1L、W2Lがそれぞれ与えられ、L
=W1L−W2Lの演算を行い、重み係数Lを算出し、
レジスタ403にLを格納する。
0に格納されたW1L、W2Lがそれぞれ与えられ、L
=W1L−W2Lの演算を行い、重み係数Lを算出し、
レジスタ403にLを格納する。
【0144】減算器410には、レジスタ408、40
9に格納されたW1M、W2Mがそれぞれ与えられ、M
=W1M−W2Mの演算を行い、重み係数Mを算出し、
レジスタ412にMを格納する。
9に格納されたW1M、W2Mがそれぞれ与えられ、M
=W1M−W2Mの演算を行い、重み係数Mを算出し、
レジスタ412にMを格納する。
【0145】レジスタ395には、端点のマッピングア
ドレスMX1,MY1が格納されており、レジスタ39
4に格納されたKと端点のマッピングアドレスMX1,
MY1が乗算器396にて乗算され、WK=K×MX1
またはWK=K×MY1の演算結果がレジスタ397に
格納される。
ドレスMX1,MY1が格納されており、レジスタ39
4に格納されたKと端点のマッピングアドレスMX1,
MY1が乗算器396にて乗算され、WK=K×MX1
またはWK=K×MY1の演算結果がレジスタ397に
格納される。
【0146】また、レジスタ404には、端点のマッピ
ングアドレスMX2,MY2が格納されており、レジス
タ403に格納されたLと端点のマッピングアドレスM
X2,MY2が乗算器405にて乗算され、WL=L×
MX2またはWL=L×MY2の演算結果がレジスタ4
06に格納される。
ングアドレスMX2,MY2が格納されており、レジス
タ403に格納されたLと端点のマッピングアドレスM
X2,MY2が乗算器405にて乗算され、WL=L×
MX2またはWL=L×MY2の演算結果がレジスタ4
06に格納される。
【0147】さらに、レジスタ413には、端点のマッ
ピングアドレスMX3,MY3が格納されており、レジ
スタ412に格納されたMと端点のマッピングアドレス
MX3,MY3が乗算器414にて乗算され、WM=M
×MX3またはWM=M×MY3の演算結果がレジスタ
415に格納される。
ピングアドレスMX3,MY3が格納されており、レジ
スタ412に格納されたMと端点のマッピングアドレス
MX3,MY3が乗算器414にて乗算され、WM=M
×MX3またはWM=M×MY3の演算結果がレジスタ
415に格納される。
【0148】レジスタ397、406、415に格納さ
れたWK、WL、WMが加算器416で加算され、その
加算結果にレジスタ417に格納されたベクトルabの
外積の逆数1/abとが乗算器418にて乗算され、
(WK+WL+WP)×1/abの演算を行い、X方
向、Y方向のマッピングアドレスMX,MYが算出さ
れ、レジスタ419に格納される。これら各回路は、コ
ントローラ423により制御され、コントローラ423
は、図24に示すフローチャートに基づき動作する。
れたWK、WL、WMが加算器416で加算され、その
加算結果にレジスタ417に格納されたベクトルabの
外積の逆数1/abとが乗算器418にて乗算され、
(WK+WL+WP)×1/abの演算を行い、X方
向、Y方向のマッピングアドレスMX,MYが算出さ
れ、レジスタ419に格納される。これら各回路は、コ
ントローラ423により制御され、コントローラ423
は、図24に示すフローチャートに基づき動作する。
【0149】上記ポリゴン外形処理装置20及びポリゴ
ン内部処理装置30の動作を図20ないし図24の動作
フローに基づき、上記回路例に従い説明する。
ン内部処理装置30の動作を図20ないし図24の動作
フローに基づき、上記回路例に従い説明する。
【0150】ポリゴン外形処理装置20の動作につき説
明する。まず、コントローラ25がポリゴン数(P)を
スクリーンメモリ5より読み出し、そして、処理するポ
リゴン端点数を読み出し、その数をポリゴン摘出装置2
1に与える(ステップS1,S2)。
明する。まず、コントローラ25がポリゴン数(P)を
スクリーンメモリ5より読み出し、そして、処理するポ
リゴン端点数を読み出し、その数をポリゴン摘出装置2
1に与える(ステップS1,S2)。
【0151】そして、スクリーンメモリ5より各辺の始
点(XS,YS,ZS)をそれぞれ読み出し(ステップ
S3)、スクリーンメモリ5のアドレスをインクリメン
トする。そして、スクリーンメモリ5より各辺の終点
(XE,YE,ZE)をそれぞれ読み出す(ステップS
4)。この読み出した端点の始点(XS,YS)、終点
(XE,YE)からポリゴン摘出装置21にて方向ベク
トルを算出し、この辺ベクトルに基づき左辺又は右辺を
判定すると共にポリゴンの向き(DIR)を設定する
(ステップS5)。
点(XS,YS,ZS)をそれぞれ読み出し(ステップ
S3)、スクリーンメモリ5のアドレスをインクリメン
トする。そして、スクリーンメモリ5より各辺の終点
(XE,YE,ZE)をそれぞれ読み出す(ステップS
4)。この読み出した端点の始点(XS,YS)、終点
(XE,YE)からポリゴン摘出装置21にて方向ベク
トルを算出し、この辺ベクトルに基づき左辺又は右辺を
判定すると共にポリゴンの向き(DIR)を設定する
(ステップS5)。
【0152】そして、ポリゴン外形処理装置20のXパ
ラメータ演算装置22aにてXパラメータの演算を行う
(ステップS6)。Xパラメータ演算装置22aの減算
器にスクリーンメモリ5からのYE,YSのデータが与
えられ、両者間の距離DYを算出する。
ラメータ演算装置22aにてXパラメータの演算を行う
(ステップS6)。Xパラメータ演算装置22aの減算
器にスクリーンメモリ5からのYE,YSのデータが与
えられ、両者間の距離DYを算出する。
【0153】続いて、Xパラメータ演算装置22aの減
算器にスクリーンメモリ5から始点(XS)及び終点
(XE)データが与えられ、この減算器からの減算結果
(XE−XS)が除算器へ供給される。
算器にスクリーンメモリ5から始点(XS)及び終点
(XE)データが与えられ、この減算器からの減算結果
(XE−XS)が除算器へ供給される。
【0154】この除算器にて、(XE−XS)/DYの
除算が行われ、Xパラメータが算出される。
除算が行われ、Xパラメータが算出される。
【0155】続いて、このXパラメータを用いてX垂直
補間装置23aで補間演算が行われる(ステップS
9)。この値(DDX)が補間演算回路の加算器へ与え
られる。この加算器にて、X+DDXの補間が行われ、
この値がレジスタに書き込まれる(ステップS9)。
補間装置23aで補間演算が行われる(ステップS
9)。この値(DDX)が補間演算回路の加算器へ与え
られる。この加算器にて、X+DDXの補間が行われ、
この値がレジスタに書き込まれる(ステップS9)。
【0156】この除算器には差分回路の減算器62から
DYが与えられ、上述の演算結果との間で除算され、微
差分値が算出される。
DYが与えられ、上述の演算結果との間で除算され、微
差分値が算出される。
【0157】この微差分演算回路にて、DZ=(ZE−
ZS)/DYの演算が行われ、パラメータが算出され
る。この演算結果が垂直補間装置23a、Z値補間装置
23bの加算器へ供給される。
ZS)/DYの演算が行われ、パラメータが算出され
る。この演算結果が垂直補間装置23a、Z値補間装置
23bの加算器へ供給される。
【0158】ステップS10,S11では、補間装置2
3a,23bの加算器に微差分演算回路からの出力と、
レジスタに設定された前のデータとの間で加算がなさ
れ、Z=Z+DZの演算が行われる。
3a,23bの加算器に微差分演算回路からの出力と、
レジスタに設定された前のデータとの間で加算がなさ
れ、Z=Z+DZの演算が行われる。
【0159】この値がレジスタに与えられ、このレジス
タの値がレジスタの値がZ値のアドレスデータとしてポ
リゴンエッジメモリ6に書き込まれる。
タの値がレジスタの値がZ値のアドレスデータとしてポ
リゴンエッジメモリ6に書き込まれる。
【0160】ポリゴンエッジメモリ6には、Yアドレス
毎にポリゴン辺の左辺アドレス、右辺アドレス、ポリゴ
ンメモリアドレス、Z値の左辺アドレス、右辺アドレス
が格納される。
毎にポリゴン辺の左辺アドレス、右辺アドレス、ポリゴ
ンメモリアドレス、Z値の左辺アドレス、右辺アドレス
が格納される。
【0161】ステップS11にてY+DIRの演算、即
ちポリゴンが下向きの時には、“+1”、上向きの時に
は“−1”の演算を行いステップS14に進む。そし
て、ステップS12にて、Y≠YEが判断され、Y≠Y
Eの場合には、ステップS9へ戻り、前述の動作を繰り
返し、Y=YEになるとステップS13へ進む。
ちポリゴンが下向きの時には、“+1”、上向きの時に
は“−1”の演算を行いステップS14に進む。そし
て、ステップS12にて、Y≠YEが判断され、Y≠Y
Eの場合には、ステップS9へ戻り、前述の動作を繰り
返し、Y=YEになるとステップS13へ進む。
【0162】ステップS13にて、ポリゴンの全てに辺
が終了したか否か判断され、終了していない場合には、
ステップS3へ戻り、前述の動作を繰り返す。
が終了したか否か判断され、終了していない場合には、
ステップS3へ戻り、前述の動作を繰り返す。
【0163】ポリゴンの全ての辺が終了すると、ステッ
プS14に進み、ステップS14にて、ポリゴンの全て
の処理が終了したか否か判断され、ポリゴンの全ての処
理が終了していない場合には、ステップS2に戻り、前
述の動作を繰り返す。そして、ポリゴンの全ての処理が
終了したと判断されると、外形処理動作が終了する。
プS14に進み、ステップS14にて、ポリゴンの全て
の処理が終了したか否か判断され、ポリゴンの全ての処
理が終了していない場合には、ステップS2に戻り、前
述の動作を繰り返す。そして、ポリゴンの全ての処理が
終了したと判断されると、外形処理動作が終了する。
【0164】続いて、ポリゴン内部処理装置30につい
て説明する。まずポリゴンエッジメモリ6からの読み出
しについて図21に従い説明する。
て説明する。まずポリゴンエッジメモリ6からの読み出
しについて図21に従い説明する。
【0165】ポリゴン内部処理装置30はまず、Yアド
レスを初期化し(ステップS21)、スキャンラインの
Yアドレス毎のポリゴン数を読み出し、(ステップS2
2)、ステップS23に進む。
レスを初期化し(ステップS21)、スキャンラインの
Yアドレス毎のポリゴン数を読み出し、(ステップS2
2)、ステップS23に進む。
【0166】ステップS23では、Yアドレス毎に対向
する2辺間の左辺間のポリゴンの外形を示す。2点のX
の左辺(XL)とZ値のアドレス(ZL)をポリゴンエ
ッジメモリ6から読み出す。
する2辺間の左辺間のポリゴンの外形を示す。2点のX
の左辺(XL)とZ値のアドレス(ZL)をポリゴンエ
ッジメモリ6から読み出す。
【0167】そして、パラメータ演算装置31にてパラ
メータ演算を行う(ステップS25)。減算器にポリゴ
ンエッジメモリ6からのXR,XLのデータが与えら
れ、両者間の距離DXが算出される。このDXは微差分
演算回路に供給される。
メータ演算を行う(ステップS25)。減算器にポリゴ
ンエッジメモリ6からのXR,XLのデータが与えら
れ、両者間の距離DXが算出される。このDXは微差分
演算回路に供給される。
【0168】微差分演算回路内の減算器にはポリゴンエ
ッジメモリ6から及びZのアドレスの左辺(ZL)、右
辺(ZR)のデータがそれぞれ与えられ、この減算器か
らの減算結果ZL−ZRが除算器へ供給される。
ッジメモリ6から及びZのアドレスの左辺(ZL)、右
辺(ZR)のデータがそれぞれ与えられ、この減算器か
らの減算結果ZL−ZRが除算器へ供給される。
【0169】この除算器にて、(ZR−ZL)/DXの
除算が行われ(ステップS26)、この値(DDZ)が
隠面処理装置34へ与えられる(ステップS27)。ス
テップS28でスキャンライン上のポリゴン全てに処理
を行ったか否か判断され、処理が終了していない場合に
は、ステップS23へ戻り前述の動作を繰り返す。
除算が行われ(ステップS26)、この値(DDZ)が
隠面処理装置34へ与えられる(ステップS27)。ス
テップS28でスキャンライン上のポリゴン全てに処理
を行ったか否か判断され、処理が終了していない場合に
は、ステップS23へ戻り前述の動作を繰り返す。
【0170】更に、1つのスキャンライン、即ち、Yア
ドレスのポリゴン数が終了すると、ステップS29に進
み、ステップS29にてYアドレスをインクリメント
し、全てのYアドレスに対応する処理が終了するまで、
即ち、Yアドレスが垂直解像度より大きくなるまで前述
の動作を繰り返し(ステップS30)、全てのアドレス
に対応する処理が終了した時点で、パラメータ演算動作
が終了する。
ドレスのポリゴン数が終了すると、ステップS29に進
み、ステップS29にてYアドレスをインクリメント
し、全てのYアドレスに対応する処理が終了するまで、
即ち、Yアドレスが垂直解像度より大きくなるまで前述
の動作を繰り返し(ステップS30)、全てのアドレス
に対応する処理が終了した時点で、パラメータ演算動作
が終了する。
【0171】次に、水平ドット隠面処理装置34−nの
動作につき、図23の動作フローに従い説明する。ま
ず、そのドットがポリゴンの範囲内に存在するか否か判
断される。即ち、ポリゴンエッジメモリメモリコントロ
ーラ31aより、Yアドレス(スキャンライン毎)のス
キャンラインアドレスが与えられ、このXLとそのドッ
トが対応するXアドレスLを比較すると共に、DXYの
値が0であるか否か判断する(ステップS71)。そし
てXアドレスよりXLが大きく且つDXYが0でない場
合には、そのドットがポリゴンの範囲内に存在するので
ステップS72に進み、そうでない場合には、隠面処理
動作を繰り返す。
動作につき、図23の動作フローに従い説明する。ま
ず、そのドットがポリゴンの範囲内に存在するか否か判
断される。即ち、ポリゴンエッジメモリメモリコントロ
ーラ31aより、Yアドレス(スキャンライン毎)のス
キャンラインアドレスが与えられ、このXLとそのドッ
トが対応するXアドレスLを比較すると共に、DXYの
値が0であるか否か判断する(ステップS71)。そし
てXアドレスよりXLが大きく且つDXYが0でない場
合には、そのドットがポリゴンの範囲内に存在するので
ステップS72に進み、そうでない場合には、隠面処理
動作を繰り返す。
【0172】ステップS72では、奥行きレジスタ34
1に格納されたZ値(ZA)と、今読み込んだZ値とを
比較し、奥行きレジスタ341のZ値の方が大きい、す
なわち、今読み込んだドットの方が手前にある場合には
ステップS73に進み、Z値が小さい場合にはステップ
S74に進む。ステップS73ではポリゴンパラメータ
アドレスレジスタ342にポリゴンパラメータアドレス
を格納し、ステップS74に進む。ステップS74で
は、DXY=DXY−1の演算を行い、ステップS75
へ進み、ステップS75で次のZ値を求める演算である
Z値の補間、即ち、Z=DDZ+Zの演算を行った後、
隠面処理動作を終了する。
1に格納されたZ値(ZA)と、今読み込んだZ値とを
比較し、奥行きレジスタ341のZ値の方が大きい、す
なわち、今読み込んだドットの方が手前にある場合には
ステップS73に進み、Z値が小さい場合にはステップ
S74に進む。ステップS73ではポリゴンパラメータ
アドレスレジスタ342にポリゴンパラメータアドレス
を格納し、ステップS74に進む。ステップS74で
は、DXY=DXY−1の演算を行い、ステップS75
へ進み、ステップS75で次のZ値を求める演算である
Z値の補間、即ち、Z=DDZ+Zの演算を行った後、
隠面処理動作を終了する。
【0173】続いて、ポリゴン内部処理装置30におけ
るポリゴンパラメータメモリ40からのデータ読み出し
動作を中心として、図22の動作フロー図に従い説明す
る。まず、Yアドレス及びXアドレスを初期化した後
(ステップS41,S42)、隠面処理装置34よりX
アドレスのポリゴンパラメータアドレスを読み出す(ス
テップS43)。
るポリゴンパラメータメモリ40からのデータ読み出し
動作を中心として、図22の動作フロー図に従い説明す
る。まず、Yアドレス及びXアドレスを初期化した後
(ステップS41,S42)、隠面処理装置34よりX
アドレスのポリゴンパラメータアドレスを読み出す(ス
テップS43)。
【0174】続いて、ステップS44にて、そのXアド
レスにポリゴンが存在するか否か判断され、ポリゴンが
存在しない場合には、ステップS50へ進み、ポリゴン
が存在する場合には、ステップS45に進む。ステップ
45でパラメータ演算装置にてパラメータを算出し、ス
テップS46に進む。ステップS46では隠面処理装置
34より与えられたXアドレスに対応するポリゴンパラ
メータアドレスに従ってポリゴンパラメータメモリ40
よりポリゴンパラメータを読み出し、ステップS47へ
進む。
レスにポリゴンが存在するか否か判断され、ポリゴンが
存在しない場合には、ステップS50へ進み、ポリゴン
が存在する場合には、ステップS45に進む。ステップ
45でパラメータ演算装置にてパラメータを算出し、ス
テップS46に進む。ステップS46では隠面処理装置
34より与えられたXアドレスに対応するポリゴンパラ
メータアドレスに従ってポリゴンパラメータメモリ40
よりポリゴンパラメータを読み出し、ステップS47へ
進む。
【0175】ステップS47において、水平補間演算装
置33にてポリゴンパラメータメモリ40より読み出さ
れたパラメータに従って、マッピングパターンメモリ7
のアドレス(MX,MY)を算出し、ステップS48に
進む。
置33にてポリゴンパラメータメモリ40より読み出さ
れたパラメータに従って、マッピングパターンメモリ7
のアドレス(MX,MY)を算出し、ステップS48に
進む。
【0176】ステップS48において、算出されたアド
レスに従ってマッピングパターンメモリ7をアクセス
し、マッピングパターンメモリ7からR,G,B又はL
UT値等の色情報を読み出し、ステップS49に進む。
レスに従ってマッピングパターンメモリ7をアクセス
し、マッピングパターンメモリ7からR,G,B又はL
UT値等の色情報を読み出し、ステップS49に進む。
【0177】ステップS49において、色情報をフレー
ムメモリ8に書き込み、ステップS50に進む。ステッ
プS50にて、Xアドレスを一つインクリメントし、ス
テップS51へ進む。
ムメモリ8に書き込み、ステップS50に進む。ステッ
プS50にて、Xアドレスを一つインクリメントし、ス
テップS51へ進む。
【0178】ステップS51において、Xアドレスと水
平解像度が比較され、Xアドレスが水平解像度より小さ
い時には、ステップS43に戻り前述の動作を繰り返
す。Xアドレスが水平解像度より大きくなるとステップ
S52に進み、ステップS52にて、隠面処理装置34
を初期化し、ステップS53に進む。
平解像度が比較され、Xアドレスが水平解像度より小さ
い時には、ステップS43に戻り前述の動作を繰り返
す。Xアドレスが水平解像度より大きくなるとステップ
S52に進み、ステップS52にて、隠面処理装置34
を初期化し、ステップS53に進む。
【0179】ステップS53にて、Yアドレスを一つイ
ンクリメントし、ステップS54に進み、ステップS5
4にてYアドレスと垂直解像度が比較される。Yアドレ
スが垂直解像度より小さい場合には、ステップS42に
戻り、前述の動作を繰り返し、Yアドレスが垂直解像度
より大きくなると、ポリゴン内部処理動作が終了する。
ンクリメントし、ステップS54に進み、ステップS5
4にてYアドレスと垂直解像度が比較される。Yアドレ
スが垂直解像度より小さい場合には、ステップS42に
戻り、前述の動作を繰り返し、Yアドレスが垂直解像度
より大きくなると、ポリゴン内部処理動作が終了する。
【0180】次に、内挿マッピング演算装置33bの動
作につき、図24のフローチャートに従い説明する。
作につき、図24のフローチャートに従い説明する。
【0181】幾何変換装置2より、法線ベクトル方向に
従いマッピング方向がX−Z,Y−Z,X−Yに対応す
るフラグをポリゴンパラメータメモリ40は与えられて
いる。この実施例では、フラグが“0”の時には、マッ
ピング方向がX−Z方向、フラグが“1”の時には、マ
ッピング方向がY−Z方向、フラグが“2”の時には、
マッピング方向がX−Y方向である。
従いマッピング方向がX−Z,Y−Z,X−Yに対応す
るフラグをポリゴンパラメータメモリ40は与えられて
いる。この実施例では、フラグが“0”の時には、マッ
ピング方向がX−Z方向、フラグが“1”の時には、マ
ッピング方向がY−Z方向、フラグが“2”の時には、
マッピング方向がX−Y方向である。
【0182】まず、ステップS80でポリゴンパラメー
タメモリ40から読み出されたフラグ(FL)を判断
し、FL=0の時には、ステップS82に進み、マッピ
ング方向がX−Zの時の内挿マッピング演算が行われ
る。FL=0でない場合には、ステップS81に進み、
FL=1であるか否か判断され、FL=1の時には、ス
テップS85に進み、マッピング方向がY−Zの時の内
挿マッピング演算が行われる。また、ステップS81に
て、FL=1でないと判断されると、ステップS87へ
進み、マッピング方向がX−Yの時の内挿マッピング演
算が行われる。
タメモリ40から読み出されたフラグ(FL)を判断
し、FL=0の時には、ステップS82に進み、マッピ
ング方向がX−Zの時の内挿マッピング演算が行われ
る。FL=0でない場合には、ステップS81に進み、
FL=1であるか否か判断され、FL=1の時には、ス
テップS85に進み、マッピング方向がY−Zの時の内
挿マッピング演算が行われる。また、ステップS81に
て、FL=1でないと判断されると、ステップS87へ
進み、マッピング方向がX−Yの時の内挿マッピング演
算が行われる。
【0183】ステップS82では、 aX=EX−EX1, aZ=EZ−EZ1 bX=EX−EX2, bZ=EZ−EZ2 cX=EX−EX3, cZ=EZ−EZ3 の演算を行い、ステップS83へ進む。
【0184】ステップS83では、 W1K=bZ×cX, W2K=bX×cZ W1L=cZ×aX, W2L=cX×aZ W1M=aZ×bX, W2M=aX×bZ の演算を行い、ステップS84へ進む。
【0185】マッピング方向がY−Zの時には、ステッ
プS85にて、Y−Zの内挿マッピング演算が行われ
る。
プS85にて、Y−Zの内挿マッピング演算が行われ
る。
【0186】ステップS85では、 aY=EY−EY1, aZ=EZ−EZ1 bY=EY−EY2, bZ=EZ−EZ2 cY=EY−EY3, cZ=EZ−EZ3 の演算を行い、ステップS86へ進む。
【0187】ステップS86では、 W1K=bY×cX, W2K=bX×cY W1L=cY×aX, W2L=cX×aY W1M=aY×bX, W2M=aX×bY の演算を行い、ステップS84へ進む。
【0188】マッピング方向がX−Yの時には、ステッ
プS87にて、X−Yの内挿マッピング演算が行われ
る。
プS87にて、X−Yの内挿マッピング演算が行われ
る。
【0189】ステップS87では、 aX=EX−EX1, aY=EY−EY1 aY=EY−EY2, bX=EX−EX2 cY=EX−EX3, cY=EY−EY3 の演算を行い、ステップS88へ進む。
【0190】ステップS88では、 W1K=bX×cY, W2K=bY×cX W1L=cX×aY, W2L=cY×aX W1M=aX×bY, W2M=aY×bX の演算を行い、ステップS84へ進む。
【0191】ステップS84では、重み係数K,L,M
を算出するため、 K=W1K−W2K,L=W1L−W2L,M=W1M
−W2M の演算を行い、ステップS89へ進む。
を算出するため、 K=W1K−W2K,L=W1L−W2L,M=W1M
−W2M の演算を行い、ステップS89へ進む。
【0192】ステップS89では、X方向のマッピング
に関する重み係数を算出するため、 WK=K×MX1,WL=L×MX2,WM=M×MX
3 の演算を行い、ステップS90に進む。
に関する重み係数を算出するため、 WK=K×MX1,WL=L×MX2,WM=M×MX
3 の演算を行い、ステップS90に進む。
【0193】ステップS90では、重み係数を考慮した
X方向のマッピングアドレスを求めるため、WX=(W
K+WL+WM)×1/abの演算を行い、ステップS
91へ進む。
X方向のマッピングアドレスを求めるため、WX=(W
K+WL+WM)×1/abの演算を行い、ステップS
91へ進む。
【0194】ステップS91では、Y方向のマッピング
に関する重み係数を算出するため、 WK=K×MY1,WL=L×MY2,WM=M×MY
3 の演算を行い、ステップS92に進む。
に関する重み係数を算出するため、 WK=K×MY1,WL=L×MY2,WM=M×MY
3 の演算を行い、ステップS92に進む。
【0195】ステップS92では、重み係数を考慮した
Y方向のマッピングアドレスを求めるためWY=(WK
+WL+WM)×1/abの演算を行って、この動作を
終了する。
Y方向のマッピングアドレスを求めるためWY=(WK
+WL+WM)×1/abの演算を行って、この動作を
終了する。
【0196】
【発明の効果】以上説明したように、この発明によれ
ば、視野座標上の3次元ポリゴンの法線ベクトルの方向
から、マッピングの投影方向がX−Z、またはY−Z、
或いはX−Yのいずれかであるかを判断する。その中か
ら1つを選択し、2次元要素のみから2次元のマッピン
グパターン座標を求める内挿マッピング処理を行う。こ
の結果、ハードウェア量を大きく必要とする平方根の演
算をはぶくことにより、演算処理が大幅に省略されロー
コストに簡易なパーススペクティブテクチャ・マッピン
グをリアルタイムに処理することができる。
ば、視野座標上の3次元ポリゴンの法線ベクトルの方向
から、マッピングの投影方向がX−Z、またはY−Z、
或いはX−Yのいずれかであるかを判断する。その中か
ら1つを選択し、2次元要素のみから2次元のマッピン
グパターン座標を求める内挿マッピング処理を行う。こ
の結果、ハードウェア量を大きく必要とする平方根の演
算をはぶくことにより、演算処理が大幅に省略されロー
コストに簡易なパーススペクティブテクチャ・マッピン
グをリアルタイムに処理することができる。
【0197】また、この発明によれば、各ポリゴンの奥
行き状態を示す奥行き情報を備え、その奥行き情報をポ
リゴンの外形に対応して変化させて補間して算出し、そ
して、Zバッファ法を使用した隠面処理により、比較し
た画素位置における一番手前に位置するポリゴンを内挿
マッピング演算によりマッピングパターンアドレスを算
出する。この算出したマッピングパターンメモリアドレ
スに従いマッピングパターンメモリをアクセスすること
により、マッピングパターンメモリに格納されたデータ
に基づき、各画素のR,G,B又は輝度(LUT)値を
順次読み出すことで、高速でマッピングを施した画像を
表示装置に表示することができる。
行き状態を示す奥行き情報を備え、その奥行き情報をポ
リゴンの外形に対応して変化させて補間して算出し、そ
して、Zバッファ法を使用した隠面処理により、比較し
た画素位置における一番手前に位置するポリゴンを内挿
マッピング演算によりマッピングパターンアドレスを算
出する。この算出したマッピングパターンメモリアドレ
スに従いマッピングパターンメモリをアクセスすること
により、マッピングパターンメモリに格納されたデータ
に基づき、各画素のR,G,B又は輝度(LUT)値を
順次読み出すことで、高速でマッピングを施した画像を
表示装置に表示することができる。
【図1】この発明の立体画像表示装置の構成を示すブロ
ック図である。
ック図である。
【図2】この発明に用いられるポリゴン外形処理装置の
構成を示すブロック図である。
構成を示すブロック図である。
【図3】上記ポリゴン外形処理装置におけるXパラメー
タ演算装置の構成を示すブロック図である。
タ演算装置の構成を示すブロック図である。
【図4】上記ポリゴン外形処理装置におけるZパラメー
タ演算装置の構成を示すブロック図である。
タ演算装置の構成を示すブロック図である。
【図5】上記ポリゴン外形処理装置におけるX垂直補間
装置の構成を示すブロック図である。
装置の構成を示すブロック図である。
【図6】上記ポリゴン外形処理装置におけるZ垂直補間
装置の構成を示すブロック図である。
装置の構成を示すブロック図である。
【図7】この発明に用いられるポリゴン内部処理装置の
パラメータ演算装置の構成を示すブロック図である。
パラメータ演算装置の構成を示すブロック図である。
【図8】上記パラメータ演算装置の隠面処理パラメータ
演算装置の具体的構成を示すブロック図である。
演算装置の具体的構成を示すブロック図である。
【図9】上記パラメータ演算装置の隠面処理装置の構成
を示すブロック図である。
を示すブロック図である。
【図10】上記隠面処理装置を構成するスキャンライン
隠面処理装置の構成を示すブロック図である。
隠面処理装置の構成を示すブロック図である。
【図11】上記スキャンライン隠面処理装置を構成する
水平ドット隠面処理装置の具体的構成例を示すブロック
図である。
水平ドット隠面処理装置の具体的構成例を示すブロック
図である。
【図12】上記水平ドット隠面処理装置へのデータの転
送状態を示すタイミングチャートである。
送状態を示すタイミングチャートである。
【図13】上記スキャンライン隠面処理装置の処理タイ
ミングを示す模式図である。
ミングを示す模式図である。
【図14】この発明に用いられる内部描画処理装置の水
平補間演算装置の構成例を示すブロック図である。
平補間演算装置の構成例を示すブロック図である。
【図15】上記水平補間演算装置の内挿マッピング演算
装置の具体的実施例を示すブロック図である。
装置の具体的実施例を示すブロック図である。
【図16】上記内挿マッピング演算装置の視野座標X,
Y,Z値生成装置の具体的実施例を示すブロック図であ
る。
Y,Z値生成装置の具体的実施例を示すブロック図であ
る。
【図17】上記内挿マッピング演算装置の視野座標Z値
生成装置の具体的実施例を示すブロック図である。
生成装置の具体的実施例を示すブロック図である。
【図18】上記内挿マッピング演算装置の視野座標X,
Y値生成装置の具体的実施例を示すブロック図である。
Y値生成装置の具体的実施例を示すブロック図である。
【図19】上記内挿マッピング演算装置の具体的実施例
を示すブロック図である。
を示すブロック図である。
【図20】この発明のポリゴン外形処理装置の動作を示
すフローチャートである。
すフローチャートである。
【図21】この発明のポリゴン内部処理装置の動作を示
すフローチャートである。
すフローチャートである。
【図22】この発明のポリゴン内部処理装置の動作を示
すフローチャートである。
すフローチャートである。
【図23】この発明のポリゴン内部処理装置の隠面処理
動作を示すフローチャートである。
動作を示すフローチャートである。
【図24】この発明のポリゴン内部処理装置の内挿マッ
ピング処理動作を示すフローチャートである。
ピング処理動作を示すフローチャートである。
【図25】この発明に用いられるスクリーンメモリを示
す模式図である。
す模式図である。
【図26】この発明に用いられるポリゴンパラメータメ
モリを示す模式図である。
モリを示す模式図である。
【図27】この発明に用いられるポリゴンエッジメモリ
を示す模式図である。
を示す模式図である。
【図28】ポリゴンの辺ベクトル方向の関係を示す図で
ある。
ある。
【図29】ポリゴンの方向ベクトルと辺との関係を示す
図である。
図である。
【図30】マッピングパターンメモリの一例を示す模式
図である。
図である。
【図31】従来の内挿マッピング処理方法を説明する説
明図である。
明図である。
【図32】従来の内挿マッピング処理方法を説明する説
明図である。
明図である。
【図33】従来の内挿マッピング処理方法の演算を示す
フローチャートである。
フローチャートである。
1 ワールドメモリ 2 幾何変換装置 5 スクリーンメモリ 7 マッピングパターンメモリ 8 フレームメモリ 9 CRT 20 ポリゴン外形処理装置 30 ポリゴン内部処理装置 40 ポリゴンパラメータメモリ
Claims (2)
- 【請求項1】 三角形状のポリゴンを構成する端点情報
とテクスチャ画像を格納するマッピングパターンメモリ
の端点情報とポリゴンの奥行き情報を格納する記憶手段
と、上記記憶手段からの各端点情報を座標変換し、スク
リーン端点情報に変換すると共に、ポリゴン視野座標上
の法線ベクトルの方向によりマッピングポリゴンの投影
する方向を選択する変換手段と、マッピングポリゴンの
投影方向に基づきポリゴンの2辺のベクトルの外積値の
逆数を算出する手段と、上記ポリゴンの端点の視野座標
値、マッピングパターンメモリの端点情報とマッピング
ポリゴンの投影する方向と2辺のベクトルの外積値の逆
数を格納するポリゴンパラメータ記憶手段と、上記変換
手段からのスクリーン端点情報とポリゴンの奥行き情報
と上記ポリゴンパラメータ記憶手段のアドレス値を格納
するスクリーン記憶手段と、上記変換手段からのスクリ
ーン端点情報に基づいてポリゴン外形のアドレス情報及
びポリゴンの奥行き情報並びにポリゴンパラメータ記憶
手段のアドレス値をスキャンラインごとにポリゴンの外
形部分の情報にそれぞれ変換する外形処理手段と、上記
外形処理手段にて算出された対向する2辺間の情報を演
算し、Xアドレスの変位と奥行き情報の変位を算出する
手段と、スキャンラインの各画素に対応する画素位置が
ポリゴンの範囲内に存在するか否か判別する手段と、一
番手前に存在する画素の奥行き情報とその画素位置のポ
リゴンの奥行き情報を比較すると共に比較する対象の奥
行き情報を常に一番手前に存在するポリゴンの奥行き情
報に書き換える手段と、ポリゴンの奥行き情報に上記奥
行き情報の変位を加算し隣接する画素位置の奥行き情報
を算出する手段と、比較した画素位置における一番手前
に存在するポリゴンの対向する2辺間の少なくとも一方
のXアドレスとポリゴンパラメータ記憶手段のアドレス
値を算出する手段と、算出されたポリゴンパラメータ記
憶手段のアドレス値によりアクセスして読み出されたポ
リゴンパラメータ記憶手段の情報に基づいてポリゴンの
3頂点の重み係数を算出し、マッピングパターンメモリ
のアドレス値を算出する手段と、上記算出されたマッピ
ングパターンアドレスに基づき上記マッピングパターン
メモリをアクセスし、画像データを表示手段に転送する
手段と、を備えてなる立体画像処理装置。 - 【請求項2】 ポリゴン視野座標上の法線ベクトルのス
カラー量の大きさによりマッピングポリゴンの投影する
方向を選択することを特徴とする請求項1に記載の立体
画像処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6221807A JPH0887606A (ja) | 1994-09-16 | 1994-09-16 | 立体画像処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6221807A JPH0887606A (ja) | 1994-09-16 | 1994-09-16 | 立体画像処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0887606A true JPH0887606A (ja) | 1996-04-02 |
Family
ID=16772511
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6221807A Pending JPH0887606A (ja) | 1994-09-16 | 1994-09-16 | 立体画像処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0887606A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100658669B1 (ko) * | 2002-04-10 | 2006-12-15 | 삼성에스디아이 주식회사 | 입체 영상 디스플레이 시스템 |
-
1994
- 1994-09-16 JP JP6221807A patent/JPH0887606A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100658669B1 (ko) * | 2002-04-10 | 2006-12-15 | 삼성에스디아이 주식회사 | 입체 영상 디스플레이 시스템 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0916806A (ja) | 立体画像処理装置 | |
| US5877769A (en) | Image processing apparatus and method | |
| JP4122573B2 (ja) | 画像処理方法及び画像処理プログラムを記録した記録媒体 | |
| JP3332165B2 (ja) | 画像処理装置 | |
| KR20050030569A (ko) | 화상 처리 장치 및 그 방법 | |
| EP1026636B1 (en) | Image processing | |
| WO2017114729A1 (en) | System and methodologies for super-sampling to enhance anti-aliasing in high resolution meshes | |
| JPH03500697A (ja) | 陰影像発生のための二次補間 | |
| JP3089792B2 (ja) | 画像データの隠面判別方式 | |
| JP2957511B2 (ja) | グラフィック処理装置 | |
| US5892516A (en) | Perspective texture mapping circuit having pixel color interpolation mode and method thereof | |
| CN120782991A (zh) | 基于多维点云与混塔吊装模型的动态三维场景重构方法 | |
| JPH07105404A (ja) | 立体画像処理装置及びその処理方法 | |
| JPH0887606A (ja) | 立体画像処理装置 | |
| JP3344675B2 (ja) | 立体画像処理装置 | |
| JP2001283254A (ja) | 3次元グラフィックス描画装置およびその方法 | |
| KR100313846B1 (ko) | 바이리니어밉매핑에서의상세도(lod)계산방법및장치 | |
| JPH0223473A (ja) | 3次元形状モデルへの濃淡付与方法及び装置 | |
| JPH11185052A (ja) | 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法 | |
| JP3278828B2 (ja) | 半透明立体画像処理装置 | |
| EP0807901A2 (en) | A three-dimensional image processing apparatus | |
| JP3587105B2 (ja) | 図形データ処理装置 | |
| US7454320B1 (en) | System and method for calculating partial differential equations in a hardware graphics pipeline | |
| JP3722593B2 (ja) | 立体画像描画処理装置 | |
| JP3271825B2 (ja) | 立体画像処理装置 |