JP3344675B2 - 立体画像処理装置 - Google Patents
立体画像処理装置Info
- Publication number
- JP3344675B2 JP3344675B2 JP32299694A JP32299694A JP3344675B2 JP 3344675 B2 JP3344675 B2 JP 3344675B2 JP 32299694 A JP32299694 A JP 32299694A JP 32299694 A JP32299694 A JP 32299694A JP 3344675 B2 JP3344675 B2 JP 3344675B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- value
- address
- parameter
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Generation (AREA)
Description
2次元スクリーン上に投影して表示する立体画像処理装
置に関し、特に、テクスチャ平面の所望の領域の画素情
報を、ディスプレイ平面の所望の領域の図形データ上に
投影するマッピング処理装置に関する。
理等によって、CRTディスプレイ等の2次元(平面)
スクリーン上に合成して表示する場合、手前に存在する
物体が、それより奥にある物体の一部または全てを隠す
処理、すなわち隠面消去処理を行う必要がある。隠面消
去処理の方法としては、Zソート法(塗り重ね法)、Z
バッファ法、スキャンライン法等が知られている。
という利点があるものの、ポリゴンが交差していたりす
ると、モデルを正しく描画することができないという欠
点がある。
セル)を単位とする前後判定を行い、上記Zソート法の
欠点をなくすようにしたアルゴリズムがZバッファ法で
ある。Zバッファ法は、各画素に表示すべきポリゴンの
色データとその面の奥行き、すなわち物体のZ値(始点
からの距離)を画素単位に記憶しておき、新しいポリゴ
ンが入力される度に記憶しているZ値と新しいポリゴン
のZ値を比べ、新しいZ値の方が小さい時のみZ値を更
新し、同時に新しいポリゴンの色データを登録するもの
である。これによって遠くにある物体は近くにある物体
によって上書きされ、結果として隠面消去された画像を
得ることができる。
せるためのZバッファメモリを画素毎に必要とし、全体
では画素数分の大きさを持つ大きな画像メモリが必要に
なるという問題がある。
に、ラスタスキャン毎に各画素の色データを表示する場
合、隣り合う画素、すなわち、すぐ次のスキャンライン
の画素は現画素と非常に強い相関関係を持つことに注目
した方法で、逐次処理を行う装置に適しているが、多く
の計算を必要として、制御論理も複雑になるという欠点
を有する。
処理として、スキャンライン間は相関関係を利用し、1
ライン内はZバッファ法を用いた装置が、例えば、特開
昭62−100878号公報に開示されている。これに
は、「奥行き距離(Z値)を保持する奥行きレジスタ
と、輝度(色・輝度)データを保持する輝度レジスタ
と、平面セグメントの範囲内の内外判定、奥行き距離の
変位加算、奥行きデータの比較を分割的に行う一つの加
算器と、入力された平面セグメントトークンに関する情
報を更新しながら一段のパイプラインレジスタを通して
出力する入出力手段、及び輝度レジスタの内容を外部に
出力する輝度データバスとを備えた隠れ線処理装置」が
開示されている。この装置によれば、少ないハードウェ
ア量で隠面処理を行うことができる。
ータのみを登録し、この輝度データを表示するように構
成されているため、シェーディング等の塗りつぶし処理
を行うことはできるが、ポリゴン内部に模様(テクスチ
ャー)を貼り付けるマッピング処理を行うことはできな
かった。しかしながら、コンピュータグラフィックスに
おいては、よりリアリティのある画像を再生することが
望まれており、ポリゴンの上に対象物体の実写等のテク
スチャーをマッピングし、画像を再生する手法がとられ
ている。
ー)を貼り付けるいわゆるマッピング処理を行う画像処
理装置が提案されている(特願平4−37311号参
照)。
形の変化に対応して、ポリゴン内部に模様を変化させ、
ポリゴンに模様を付加することができる。
可能な画像処理装置おいては、ポリゴンへのマッピング
を容易に行うことができるが、この装置においては、ポ
リゴンの隠面消去方法として、Zソート法が用いられて
おり、ポリゴンが交差した場合には、モデルを正しく描
画することができないという難点があった。
ァ法を用いて、マッピング処理を行う画像処理装置が提
案されている(特願平4−37311号参照)。
では、ハードウェア量の軽減のためマッピング演算を垂
直方向と水平方向に分割して演算しているため、中間パ
ラメータを格納するポリゴンエッジメモリの容量を多く
し、且つ、隠面処理以前に垂直方向のマッピング演算を
行うために起こる処理効率の低下とそれによる描画スピ
ードの低下等の問題があった。
トに簡易なパーススペクティブテクチャ・マッピングを
リアルタイムに処理することが可能な立体画像処理装置
を提供することを目的とする。
ゴン座標から2次元マッピングパターンへ平面マッピン
グ変換を行うための第1の変換係数にオブジェクトの回
転処理及び視野変換の回転処理を行うことにより、第2
の変換係数を算出する手段と、上記ポリゴンの端点の視
野座標値と上記第2の変換係数とポリゴンとマッピング
パターンとの大きさの比率をポリゴンごとに格納するポ
リゴンパラメータ記憶手段と、上記ポリゴンのスクリー
ン端点情報とポリゴンの奥行き情報と上記ポリゴンパラ
メータ記憶手段のアドレス値を格納するスクリーン記憶
手段と、テクスチャ画像を格納するマッピングパターン
メモリと、上記ポリゴンのスクリーン端点情報に基づい
てポリゴン外形のアドレス情報及びポリゴンの奥行き情
報並びにポリゴンパラメータ記憶手段のアドレス値をス
キャンラインごとにポリゴンの外形部分の情報にそれぞ
れ変換する外形処理手段と、上記外形処理手段にて算出
された対向する2辺間の情報を演算し、Xアドレスの変
位と奥行き情報の変位を算出する手段と、スキャンライ
ンの各画素に対応する画素位置がポリゴンの範囲内に存
在するか否か判別する手段と、一番手前に存在する画素
の奥行き情報とその画素位置のポリゴンの奥行き情報を
比較すると共に比較する対象の奥行き情報を常に一番手
前に存在するポリゴンの奥行き情報に書き換える手段
と、ポリゴンの奥行き情報に上記奥行き情報の変位を加
算し隣接する画素位置の奥行き情報を算出する手段と、
比較した画素位置における一番手前に存在するポリゴン
の対向する2辺間の少なくとも一方のXアドレスとポリ
ゴンパラメータ記憶手段のアドレス値を算出する手段
と、算出されたポリゴンパラメータ記憶手段のアドレス
値に基づいて上記ポリゴンパラメータ記憶手段からポリ
ゴン端点の視野座標とポリゴンとマッピングパターンと
の大きさの比率と、上記第2の変換係数を読み出し、マ
ッピング演算を行い、各ドットのマッピングパターンメ
モリアドレスを算出する手段と、上記算出されたマッピ
ングパターンアドレスに基づき上記マッピングパターン
メモリをアクセスし、画像データを表示手段に転送する
手段と、を備えてなる。
ッピングパターンへ変換するための変換係数(UX,U
Y,UZ)、(VX,VY,VZ)を求め、Zバッファ
法による隠面処理を行った後、この変換係数を用いてU
−Vマッピング、射影マッピングを行いマッピングパタ
ーンメモリのアドレスを求めるものである。すなわち、
オブジェクト座標上のポリゴンの座標と上記変換係数
(UX,UY,UZ)、(VX,VY,VZ)をROM
等の記憶手段に格納し、オブジェクトの回転演算、視野
変換による回転演算等のように、ポリゴンの方向が変化
する度に変換係数(UX,UY,UZ)、(VX,V
Y,VZ)にもポリゴン端点と同様の回転演算等を行
い、視野座標上の3次元ポリゴンから2次元マッピング
パターンへの変換係数(UX,UY,UZ)、(VX,
VY,VZ)を求め、隠面処理の終了した点でマッピン
グ演算を行うことにより、高速に且つ、少ないハードウ
ェア量でマッピングを行うことを可能とする。
(VX,VY,VZ)は、ポリゴン毎に有することはな
く、同じ方向で且つ、同じ回転運動しかないものであれ
ばまとめることができ、ROM等の容量を小さくでき
る。
ドレス(MX,MY)を割り当てていないため、ポリゴ
ン面のマッピングパターンを変化させるような特殊効果
を行う場合、そのポリゴンが属する変換係数(UX,U
Y,UZ)、(VX,VY,VZ)を変えることによ
り、少ない処理で多くのポリゴンを処理することができ
る。
て説明する。
理装置の全体構成を示すブロック図であり、この装置
は、例えば、レーシングゲームや飛行機の操縦シュミレ
ーション等のゲーム用機器に用いて好適な一例が示され
ている。図1に従いこの発明の全体構成につき説明す
る。
すると、この装置には、ワールドメモリ1、幾何変換装
置2、操作部3、CPU4を備える。このワールドメモ
リ1にはあらゆる物体が複数のポリゴンの集合体として
表現され、ポリゴンの端点をワールド座標上のX,Y,
Z座標として格納している。更に、このワールドメモリ
1には、オブジェクトの座標上のポリゴン端点のX,
Y,Z座標、及びポリゴンに対応して、それぞれテクス
チャ画像を格納するマッピングパターンメモリ7の端点
情報データが格納されている。操作部3は、ハンドル、
アクセル、ブレーキ等で構成され、その操作内容は電気
信号に変換され、CPU4へ出力される。
れた操作部3の内容に基づいて変換された電気信号に従
いこの状況に応じた状況データを演算し、幾何変換装置
2へデータを与える。
従いワールドメモリ1から各ポリゴンの端点情報のデー
タを読み出し、オブジェクトの運動や視野の回転に必要
な行列演算を実行し、ワールド座標の端点をスクリーン
座標へ投影変換等の幾何変換を行い、そのX,Yの2次
元のスクリーンのデータをスクリーンメモリ5に与え
る。
変換された代表値、すなわち、そのポリゴンの始点から
の距離である奥行き距離データ(Z値)を決定し、その
データをスクリーンメモリ5に与える。このスクリーン
メモリ5は図34に示すように、各ポリゴンの端点につ
き、X,Yのスクリーン座標値、Z値が格納される。
に、ポリゴンの3次元座標からマッピングパターンの2
次元座標へU−Vマッピング、射影マッピングなどによ
り変換する変換係数(UX、UY、UZ)、(VX、V
Y、VZ)をポリゴンパラメータメモリ40の変換テー
ブル領域に書き込むとともに、ポリゴン端点と、マッピ
ングパターンとの基準となるポリゴン端点の視野座標の
EX0,EY0,EZ0とポリゴンとマッピングパター
ンとの大きさの比率(Scale)と、そのポリゴンの
属する変換係数が格納されたテーブルアドレスをポリゴ
ンパラメータメモリ40のポリゴンパラメータ領域に書
き込む。
リ40は、図36に示すように、各ポリゴンのマッピン
グパターンとの基準となるポリゴン端点の視野座標のE
X0,EY0,EZ0とポリゴンとマッピングパターン
との大きさの比率(Scale)と、そのポリゴンの属
する変換テーブルアドレスを格納するポリゴンパラメー
タ領域と、ポリゴンの3次元座標からマッピングパター
ンの2次元座標へ変換する係数(UX、UY、UZ)、
(VX、VY、VZ)を格納する変換テーブル領域とを
有する。
変換処理での行列演算とマッピング用の変換ベクトルと
オブジェクト座標上の変換ベクトルを視野座標上の変換
ベクトルへ変換する。図2は、上記行列演算処理装置の
例を示すブロック図である。
に示すような3次元ポリゴン座標から同図(b)に示す
ように、2次元マッピングパターンへU−Vマッピン
グ、射影マッピングによる平面マッピングを行うため
に、変換係数(UX,UY,UZ)、(VX,VY,V
Z)を求め、後述するポリゴン外形処理装置20及びポ
リゴン内部処理装置30によりマッピングパターンメモ
リアドレスを求める。
の座標と上記変換係数(UX,UY,UZ)、(VX,
VY,VZ)をROM等で保存しておき、幾何変換回路
2により、ポリゴンパラメータメモリ40にその変換係
数を格納する。そして、幾何変換回路2は、オブジェク
トの回転演算の視野変換による回転演算等のポリゴンの
方向が変化する度に、変換係数(UX,UY,UZ)、
(VX,VY,VZ)にもポリゴン端点と同様の回転演
算等を行う。そして、視野座標上の3次元ポリゴンから
2次元マッピングパターンへの変換係数(UX,UY,
UZ),(VX,VY,VZ)を求め、隠面処理の終了
した点でマッピング演算を行う。
数のオブジェクトに対して、例えば各オブジェクトが
(1)、(2)、(3)のポリゴンからなる場合、変換
係数(UX,UY,UZ)、(VX,VY,VZ)は、
それぞれポリゴンごとに次のようになる。
(VX,VY,VZ)は、各ポリゴンごとに持つ必要は
なく、同じ方向で且つ、同じ回転運動しかないものであ
ればまとめることができる。また、ポリゴン端点にマッ
ピングメモリアドレスMX,MYをわりあてていないた
め、ポリゴン面のマッピングパターンを変化させるよう
な特殊効果を行う場合、そのポリゴンが属する変換係数
(UX,UY,UZ)、(VX,VY,VZ)を変える
ことにより、少ない処理で多くのポリゴンを処理するこ
とができる。
マッピング用の変換ベクトルとオブジェクト座標上の変
換ベクトルとを視野座標上の変換ベクトルへ変換する行
列演算は図2に示す行列演算装置により行われる。この
装置は図に示すように、メモリ101にCPU4のプロ
グラムや行列演算処理装置102により変換されるポリ
ゴン端点座標のデータが格納され、CPU4はこのプロ
グラムにより行列演算処理動作を制御する。
のデータのやり取り行うインターフェース(I/F)1
03と、下記数式2及び数式3に示す演算を行う行列演
算装置103を備える。
に、データ入出力装置103a及びアドレス演算処理装
置103bを備え、CPU4からデータのスタートアド
レス、エンドアドレスと、送り側のスタートアドレスと
エンドアドレスを指定することにより、メモリ101ヘ
アドレスを送り、メモリ101からのデータをデータ入
出力装置103で受け取り、メモリ101の内容を書き
込む。
に、まず通常の幾何変換処理を行った後に、マッピング
変換処理を行うように、CPU4は、幾何変換回路2を
制御する。
に、オブジェクトのx,y,zの回転を変換ベクトルV
X,VY,VZに行い、続いて、視野のx,y,zの回
転を変換ベクトルVX,VY,VZに対して行う。
算装置104の演算例を図8に示す。図8は、オブジェ
クト回転の演算例を示し、変換ベクトル(VX,VY,
VZ)に対して、Y回転、X回転、Z回転の行列演算が
行われる。この演算例をまとめると図9に示すようにな
る。このようにして、行列演算装置104はオブジェク
ト回転の演算を行う。
ベクトル(VX,VY,VZ)に対して、Y回転、X回
転、Z回転の行列演算が行われる。この演算例をまとめ
ると図11に示すようになる。このようにして、行列演
算装置104は視野回転の演算を行う。
は、スクリーンメモリ5及びポリゴンパラメータメモリ
40にそれぞれ格納される。
0は、ポリゴン摘出装置21、パラメータ演算装置2
2、垂直補間演算装置23で構成される。ポリゴン摘出
装置21は、スクリーンメモリ5より読み出されたポリ
ゴン端点のXYアドレスに基づいて、ポリゴンを構成す
る各辺のベクトルが図38に示すどの方向に属するかを
判断し、そのベクトルの方向に応じて、図39に示すよ
うに、ポリゴンの辺を構成する端点が右辺に属するか左
辺に属するかを決定する。そして、ポリゴン摘出装置2
1にてスクリーンメモリ5からポリゴンを構成する各辺
の端点、すなわちXの始点アドレス(XS)、終点アド
レス(XE)、及びYの始点アドレス(YS)、右辺ア
ドレス(YE)を取り込むと共に、ポリゴンの奥行き距
離データ(Z値)を取り込み、パラメータ演算装置22
に各データを与える。
パラメータのパラメータ演算装置22は、ポリゴンの外
形端点情報をデジタル微分解析(DDA)で求める際に
必要なパラメータを算出し、そのパラメータを垂直補間
演算装置23に与える。この垂直補間演算装置23に
て、ポリゴンが各スキャンラインと交差する左辺及び右
辺のそれぞれの外形端点情報、Z値を補間しながら算出
する。算出された各データがポリゴンエッジメモリ6に
与えられる。このポリゴン外形処理装置20の詳細につ
いては後述する。
35に示すように、ポリゴン外形処理装置20より与え
られた各データ、すなわち、スキャンライン毎にポリゴ
ンの左辺のX値、ポリゴンパラメータメモリアドレス、
Z値と右辺のX値とZ値が画面の垂直方向(Yアドレス
方向)の解像度だけそれぞれ格納されている。
一つのYアドレスに格納されているポリゴン数(CN
T)が書き込まれる。すなわち、一つのYアドレスに1
個のポリゴンを格納する毎にポリゴン数をカウントアッ
プしてゆき、このカウント数(CNT)をポリゴンエッ
ジメモリ6に書き込む。
各データはポリゴン内部処理装置30へ与えられる。ポ
リゴン内部処理装置30は、パラメータ演算装置31、
水平補間演算装置33、隠面処理装置34で構成され
る。
イン毎にポリゴンエッジメモリ6よりポリゴンの左辺
X、右辺Xの値(XL,XR)と左辺及び右辺のZ値
(ZL,ZR)を受け取り、水平補間演算に必要なパラ
メータを演算し、隠面処理装置34へそれぞれパラメー
タを転送する。
バッファ法を使用した隠面処理を行うもので、スキャン
ライン毎にパラメータ演算装置31よりパラメータを受
け取り、そのパラメータをパイプライン上にて順次各ド
ット(画素)毎に隠面処理を行ってゆき、1スキャンラ
インのデータを全て処理した時点で各ドットのポリゴン
パラメータメモリアドレスを順次水平補間演算装置33
へ転送することにより隠面処理を行う。すなわち、各ド
ットにおいて、格納されている一番手前に存在するポリ
ゴンのZ値と処理するポリゴンのZ値を比較し、処理す
るポリゴンのZ値が小さい場合には、そのポリゴンのパ
ラメータアドレスを水平補間演算装置33へ転送し、そ
のZ値を比較すべきZ値として格納する。また処理する
ポリゴンのZ値が大きい場合には、Z値の書き換え及び
パラメータアドレスの書き換えは行わず、以前に格納さ
れたままのポリゴンパラメータアドレス値が水平補間演
算装置33へ転送される。
4から受け取ったポリゴンパラメータアドレスに従いポ
リゴンパラメータメモリ40をアクセスし、パラメータ
を読み出し、このパラメータに基づきマッピング演算を
行ってマッピングパターンメモリアドレス(MX,M
Y)を算出する。この算出したマッピングパターンメモ
リアドレス(MX,MY)にて、例えば、図37に示す
ようなデータが格納されたマッピングパターンメモリ7
をアクセスすることにより、マッピングパターンメモリ
7に格納されたデータに基づき、各ドットのR,G,B
または輝度(LUT)値を順次読み出し、フレームメモ
リ8へ書き込む。このポリゴン内部処理装置30の詳細
については、後述する。
モリ8へ与えられたドットのR,G,BまたはLUT値
がCRT9に転送され画像として表示される。
0、ポリゴン内部処理装置30につき図12ないし図2
9を参照して説明する。
ーン端点座標(X,Y)とポリゴン端点の視野座標(E
X,EY,EZ)と奥行き距離(Z値)を持つことによ
り、Zバッファ法による隠面処理を行うと共に、例え
ば、図36に示すようなテクスチャをポリゴン面に対応
して変形させてポリゴン面にマッピングする。
ゴンの外形処理について、図12ないし図18に従い説
明する。
21にて、スクリーンメモリ5より読み出されたポリゴ
ン端点のXYアドレスに基づいて、ポリゴンを構成する
各辺のベクトルが図38に示すどの方向に属するかを判
断し、そのベクトルの方向に応じて、図39に示すよう
に、ポリゴンの辺を構成する端点が右辺に属するか左辺
に属するかを決定する。
座標(X,Y)とポリゴンのZ値が格納されている。ポ
リゴン外形処理装置20のポリゴン摘出装置21はスク
リーンメモリ5をアクセスし、スクリーンメモリ5より
スクリーン端点座標(X,Y)及び各ポリゴンのZ値を
読み出し、ポリゴンの外形をデジタル微分解析(DD
A)で算出するために、ポリゴンの右辺、または左辺を
決定し、パラメータを算出するパラメータ演算装置22
にそれぞれ各辺に対応するデータを与える。すなわち、
Xパラメータ演算装置22aには、スクリーン座標が、
Zパラメータ演算装置22bに、各辺の始点及び終点の
スクリーン座標(X,Y)とZ値(ZS,ZE)が与え
られる。
演算装置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に格
納される。
X値パラメータ演算装置22aにて、その微差分値を算
出し、下記(2)式に示すように、X値垂直補間演算装
置23aにて補間演算を行い各辺の始点から終点までの
アドレスを算出する。この(2)式におけるXの初期値
は始点のデータ(XS)である。
たZ値の始点アドレス(ZS)、終点アドレス(ZE)
のアドレスデータからポリゴンに対するデータを下記数
式5の(3),(4)式に基づいて、Z値パラメータ演
算装置22b及びZ値垂直補間装置23bにてデジタル
微分解析(DDA)により算出し、ポリゴンエッジメモ
リ6に格納する。即ち、(3)式に示すように、その微
差分値を算出し、(4)式に示すように、補間演算を行
い、各辺の終点から始点までのデータを算出する。この
(4)式における初期値は始点データ(XS)である。
(4)式の演算が0からDYまで繰り返される。
同期して、その垂直位置を示すYアドレス毎に、ポリゴ
ンの外形とそれに基づいて変形されたマッピングパター
ンの外形アドレス情報及びZ値の外形アドレス情報がポ
リゴンエッジメモリ6に格納される。
御され、このコントローラ25は図30に示すフローチ
ャートに従って、端点間をDDAにより補間するため
に、パラメータ演算装置22、垂直補間演算装置23を
制御する。
構成例を図13ないし図16に示す。図13はXパラメ
ータ演算装置22aの具体的構成を示す回路図である。
aは垂直補間演算に用いるX値パラメータを算出するも
のである。
(YS)がレジスタ201に、スクリーンメモリ5より
読み出されたY終点(YE)がレジスタ202に格納さ
れ、この両レジスタ201,202からYS,YEが減
算器205に入力される。
理し、この値(DY)をレジスタ207が一時的に格納
する。
たX始点(XS)がレジスタ203に、スクリーンメモ
リ5より読み出されたX終点(XE)がレジスタ204
に格納され、この両レジスタ203,204から減算器
206に、XS,XEが与えられる。
理し、この値(DX)をレジスタ208が一時的に格納
する。
に、減算器206にて減算処理したDXと減算器205
にて減算処理したDYが与えられ、DXの値をDYで除
算でする。除算器209により演算された微差分値DD
Xはレジスタ210に一時的に格納された後、X垂直補
間装置23aに転送される。
体的構成を示す回路図である。図14に示すZパラメー
タ演算装置22bは垂直補間演算に用いるZパラメータ
を算出するためのものである。
点(YS)がレジスタ235に、スクリーンメモリ5よ
り読み出されたY終点(YE)がレジスタ236に格納
され、この両レジスタ235,236からYS,YEが
減算器239に入力される。
理し、この値(DY)をレジスタ241が一時的に格納
する。
たZ始点(ZS)がレジスタ237に、スクリーンメモ
リ5より読み出されたZ終点(ZE)がレジスタ238
に格納され、この両レジスタ237,238から減算器
240に、XS、ZEが与えられる。
理し、この値(DZ)をレジスタ242が一時的に格納
する。
に、減算器にて減算処理したDZと減算器239にて減
算処理したDYが与えられ、DZの値をDYで除算す
る。除算器243により演算された微差分値DDZはレ
ジスタ244に一時的に格納された後、Z垂直補間装置
23bに転送される。
ついて、図15に従い説明する。
れたスクリーン座標のXSはマルチプレクサ245を介
してレジスタ247に格納される。
受けたときだけ、Xパラメータ演算装置22aの値をレ
ジスタ247に転送し、それ以外の時には、加算器24
8の出力がレジスタ247に転送するように制御され
る。
置22aより転送されたパラメータDDXの値を一時的
に格納する。
246の値を加算器248へ転送する。加算器248に
てXとDDXが加算され、その加算結果(X)がレジス
タ249に与えられ、ポリゴンエッジメモリコントロー
ラ24を介して、ポリゴンエッジメモリ6へ格納され
る。
16に従い説明する。
れたZSはマルチプレクサ260を介してレジスタ26
2に格納される。
受けた時だけ、Z値パラメータ演算装置22bの値をレ
ジスタ262に転送し、それ以外の時には、加算器26
3の出力をレジスタ262転送するように制御される。
置22bより転送されたパラメータDDZの値を一時的
に格納する。
262の値を加算器263へ転送する。加算器263に
てZとDDZが加算され、その加算結果(Z値)がレジ
スタ264に与えられ、ポリゴンエッジメモリコントロ
ーラ24を介してポリゴンエッジメモリ6へ格納され
る。
7ないし図29に従い説明する。ポリゴン内部処理装置
30は前述したように、パラメータ演算装置31、水平
補間演算装置33、隠面処理装置34にて構成されてい
る。まず、パラメータ演算装置33につき、図17ない
し図18に基づき説明する。
毎に対応する2辺、すなわち、左辺及び右辺間のXYア
ドレスをポリゴンエッジメモリ6より読み出し、この読
み出したアドレス情報に基づいて、下記数式6の(5)
〜(6)式に従いポリゴン内部の各画素ドットのアドレ
スを隠面パラメータアドレスとして算出する。
ンエッジメモリコントローラ31aにてスキャンライン
走査信号に同期して、その垂直位置としてのYアドレス
に対応するポリゴンの外形を示す2点のX左辺(XL)
とXの右辺(XR)とZ値(ZL,ZR)とポリゴンパ
ラメータメモリアドレスをポリゴンエッジメモリ6から
読み出す。
Xアドレスの左辺及び右辺アドレスから(5)式に示す
ようにX方向の距離(DXY)算出する。
リ6より読み出されたZ値を(6)式に基づいてデジタ
ル微分解析(DDA)に用いるパラメータを隠面処理パ
ラメータ演算装置31bにて算出する。
ッジメモリコントローラ31aにより、ポリゴンエッジ
メモリ6からYアドレス(スキャンライン)毎の左辺、
右辺のスキャンラインアドレス(XL,XR)、Z値
(ZL,ZR)を読み出し、隠面処理パラメータ演算装
置31bにそれぞれデータを転送する。
31bの具体的構成を示す回路図である。
より、Yアドレス(スキャンライン)毎の左辺のスキャ
ンラインアドレス(XL)がレジスタ320に、右辺の
スキャンラインアドレス(XR)がレジスタ321に与
えられ、この両レジスタ320,321からXL,XR
が減算器324に入力される。
理し、この値(DXY)をレジスタ326に一時的に格
納する。
31aより、Z値の左辺(ZL)がレジスタ322、Z
値の右辺(ZR)がレジスタ323にそれぞれ与えら
れ、この両レジスタ322,323から減算器325
に、ZL,ZRが与えられる。
理し、この値(DZ)をレジスタ327が一時的に格納
する。
にて減算処理したDXYと除算器325にて減算処理し
たDZが与えられ、DZの値をDXYで除算する。除算
器328により演算された微差分値DDZはレジスタ3
29に一時的に格納された後、隠面処理装置インタフェ
ース(I/F)31eを介して隠面処理装置34へ転送
される。上記各回路はコントローラ40にて制御され、
図31のフローチャートに従い動作する。
す。この隠面処理装置34はZバッファ法を使用した隠
面処理を行うもので、スキャンライン毎にパラメータ演
算装置31よりパラメータを受け取り、そのパラメータ
をパイプライン上にて順次各ドット(画素)毎に隠面処
理を行ってゆき、1スキャンラインのデータを全て処理
した時点で各ドットのパラメータメモリアドレスを順次
水平補間演算装置33へ転送することにより隠面処理を
行う。すなわち、各ドットにおいて、格納されている一
番手前に存在するポリゴンのZ値と処理するポリゴンの
Z値を比較し、処理するポリゴンのZ値が小さい場合に
は、そのポリゴンのポリゴンパラメータメモリアドレス
を水平補間演算装置33へ転送し、そのZ値を比較すべ
きZ値として格納する。また処理するポリゴンのZ値が
大きい場合には、Z値の書換及びパラメータアドレスの
書換は行わず、以前に格納されたままのポリゴンパラメ
ータアドレス値を水平補間演算装置33へ転送するもの
である。
(XL)、左辺のZ値(ZL)、左辺と右辺のX値の差
(DXY)、Z値の微差分(DDZ)、ポリゴンパラメ
ータメモリアドレスが隠面処理装置34のパラメータ演
算装置I/F34bに与えられ、このパラメータ演算装
置I/F34bから各データがスキャンライン隠面処理
装置34aへ転送される。
バッファ法に基づく隠面処理を行うものであり、スキャ
ンラインの各ドットに対応してそのドットの隠面処理を
行う為に、図20のブロック図に示すように、スキャン
ラインの各ドットに対応して、水平解像度に相当する数
(n+1)個の水平ドット隠面処理装置34−0〜34
−nが設けられている。
取ったデータをスキャンラインの各ドットレベルの水平
ドット隠面処理装置34−0〜34−nの連なるパイプ
ラインの0アドレスから順次パイプライン処理を行うこ
とにより高速な隠面処理を行う。この水平ドット隠面処
理装置34−0〜34−nは、スキャンラインの各ドッ
トに対応し、Zバッファ法によりそのドットの隠面処理
を行う。
を示す。パラメータ演算装置31から転送されるスキャ
ンライン上の各ドットに対応する奥行き距離データ(Z
値)はパラメータ演算装置I/F34bを介して奥行き
レジスタ341に格納される。パラメータ演算装置I/
F34bから転送されるスキャンライン上の各ドットに
対応するポリゴンパラメータメモリ40のアドレスがパ
ラメータアドレスレジスタ342に格納される。
状態の値、すなわちパラメータ演算装置I/F34bを
介して与えられるポリゴンのZ値が、他方の入力には、
マルチプレクサ343を介して、奥行きレジスタ341
に格納された以前のZ値か或いは、そのドットが対応す
るX値、すなわちXアドレス値が与えられる。このマル
チプレクサ343は、比較器344が他のポリゴンのZ
値と比較するときには、奥行きレジスタ341の値を比
較器344へ送り、他のポリゴンがこのドットにかかる
か調べる時には、Xアドレス値を比較器344へ送るよ
うに制御される。そして、比較器344では、パイプラ
インを流れてくるポリゴンがそのドットにかかるか否か
の判断と、かかった場合、そのポリゴンのZ値がパラメ
ータアドレスレジスタ342に入っているポリゴンのZ
値とではどちらが手前か、すなわちどちらのZ値が小さ
いかの判断を行い、その結果をコントローラ352へ知
らせる。
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へ送り出す。
XYの演算をした時は加算器346の出力をBバスパイ
プラインレジスタ350へ送り、その他の時は、Bバス
の値をBバスパイプラインレジスタ350へ送る。
値の更新をした時に加算器346の出力をAバスパイプ
ラインレジスタ349へ送り、そのほかの時はAバスの
値をAバスパイプラインレジスタ349へ送る。このA
バスパイプラインレジスタ349の値は次段の水平ドッ
ト隠面処理装置34へ転送される。
の値は次段の水平ドット隠面処理装置34へ転送され
る。Cバスパイプラインレジスタ351の値は次段の水
平ドット隠面処理装置34へ転送される。コントローラ
352はEバスより受けたアクティブ信号により駆動
し、もしアクティブであれば、図32のようなフローに
従い水平ドット隠面処理装置を動作させ、アクティブで
なければ駆動しない、Eバスパイプラインフリップフロ
ップ353は、コントローラ352がアクティブである
か否かを示すEバス信号が格納され、このEバス信号を
次の水平ドット隠面処理装置34へ転送する。
の図21及び図22を参照して、この隠面処理装置の動
作を説明する。
座標値の代わりに右辺と左辺の差DXYをBバスより与
える。即ち左辺の座標(XL,ZL)、DXY、単位ド
ット当たりのZ座標の微差分値DDZが、図20に示す
アレイ構造の構成される水平ドット隠面処理装置34の
左側からAバス、Bバスに分けて入力される。制御情報
(フリップフロップ353に格納されるEバス信号)に
は、そのドットの存在する範囲内に入っていることを示
す情報がある。各バスのデータには図22に示すように
データが時分割的に与えられる。
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の出力を出力する。
ている状態であれば、AバスのZとBバスのDDZを加
算して加算器346の出力をBバスに出力し、そうでな
ければデータを更新しないでBバスに出力する。そし
て、ドットが存在範囲内に入っている状態でAバス上の
AデータZ奥行きレジスタ341に格納されているデー
タZAを比較器344で比較した結果がZ<ZAの時、
奥行きレジスタ341のデータを書き換えると共に、パ
ラメータアドレスレジスタ342にAバス上のZとCバ
ス上のポリゴンパラメータメモリアドレスをそれぞれ格
納する。
−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との比較は行われない。
aのパイプラインのタイムチャートを示す。P1−1と
はポリゴン1のポリゴン状態1、P1−2とはポリゴン
1の状態2、P2−1とはポリゴン2の状態1のことで
ある。水平補間演算装置33から受けた水平ライン上の
ドットアドレス値をスキャンライン隠面処理装置34a
へ送り、次のドットに対応する水平ドット隠面処理装置
34がパラメータアドレスレジスタ342の値をDバス
を介して受け取り、そのポリゴンパラメータメモリアド
レスを水平補間演算装置33へ送る。これら各装置はコ
ントローラ41で制御される。
3につき説明する。隠面処理装置34が各ドットのポリ
ゴンパラメータメモリ40のアドレスをパラメータ入力
装置33aに与える。パラメータ入力装置33aは入力
されたポリゴンパラメータメモリアドレスに従って、ポ
リゴンパラメータメモリ40よりそのアドレスに格納さ
れたパラメータを読み出し、マッピング演算装置33b
に転送する。
X,Y,Z値と、パラメータ入力装置33aを介してポ
リゴンパラメータメモリ40から読み出された各ポリゴ
ンのマッピングパターンとの基準となるポリゴン端点の
視野座標のEX,EY,EZとポリゴンとマッピングパ
ターンとの大きさの比率(Scale)と、そのポリゴ
ンの属する変換テーブルアドレスを受け取ると共に、こ
の変換テーブルアドレスに基づくポリゴンの3次元座標
からマッピングパターンの2次元座標へ変換する係数U
X、UY、UZ、VX、VY、VZを受け取り、マッピ
ング演算を行い、各ドットのマッピングパターンメモリ
アドレスMX,MYを求め、フレームメモリコントロー
ラ33cに転送する。
ッピング演算装置33bで求めたマッピングパターンメ
モリアドレス(MX,MY)によりマッピングパターン
メモリ7をアクセスすることにより、現在処理されてい
るスキャンラインのXアドレスのドットのR,G,B又
はLUT値を求めフレームメモリ8に書き込む。これら
各装置はコントローラ42にて制御され、このコントロ
ーラ42は図33に示すフローチャートに従い動作す
る。
体的実施例を示すブロック図である。このマッピング演
算装置33bは、視野座標X,Y,Z値生成装置331
とマッピング演算装置332を備える。視野座標X,
Y,Z値生成装置331は、隠面処理装置34から受け
取った正規化座標に変換されたZ値を受け取り、このZ
値を視野座標のZ値に変換し、スクリーンX,Y値とス
クリーン距離から視野座標のX値、Y値を求め、マッピ
ング演算装置332へ転送する。
X,Y,Z値を視野座標X,Y,Z値生成装置331か
ら受け取り、パラメータ入力装置33aを介してポリゴ
ンパラメータメモリ40から読み出された各ポリゴンの
マッピングパターンとの基準となるポリゴン端点の視野
座標のEX,EY,EZとポリゴンとマッピングパター
ンとの大きさの比率(Scale)と、そのポリゴンの
属する変換テーブルアドレスとを受け取ると共に、この
変換テーブルアドレスに基づくポリゴンの3次元座標か
らマッピングパターンの2次元座標へ変換する係数U
X、UY、UZ、VX、VY、VZを受け取り、マッピ
ング演算を行い、各ドットのマッピングパターンメモリ
アドレスMX,MYをフレームメモリコントローラ33
cへ転送する。
ブロック図を示す。視野座標X,Y,Z値生成装置33
1は、視野座標標値生成装置331aと視野座標X,Y
値生成装置331bとを備える。視野座標Z値生成装置
331aは、正規化されたZ値を下記に示す数式8の変
換演算により等出する。Z値の正規化処理として、下記
数式7に示すものが知られている。
の最小値、VLENはスクリーンとの距離である。
化座標値IZへ変換される。従って、この視野座標Z値
生成装置331aは、隠面処理装置34により補間され
たSZ値から上記の数式7の逆変換を行い、下記の数式
8に従い視野座標のZ値をもとめる。
求めるように、視野座標Z値装置331aは演算処理を
行う。
の具体的実施例を示すブロック図である。隠面処理装置
34から送られてきた正規化座標のZ値は、レジスタ3
51に格納され、上記数5のA2のパラメータは、レジ
スタ352に格納される。両レジスタ351、352か
ら、それぞれのデータが減算器353に与えられ、1Z
−A2の演算が行われる。上記B2のパラメータは、レ
ジスタ354に格納され、この値が除算器355の一方
に与えられる。
は、投影処理されたX,Y値を下記に示す数式10の変
換演算により算出するものである。投影処理として、下
記数式9に示すものが知られている。
式10に基づいて、X,Yの演算を行う。
1bの具体的実施例を示すブロック図である。
スタ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へ与えられる。
体的実施例を示すブロック図である。
メモリ40のポリゴンパラメータ領域から読み出された
基準となるポリゴン端点の視野座標EX0が格納され、
レジスタ372には視野座標X,Y,Z値生成装置33
1から受け取った視野座標X値(EX)が格納される。
レジスタ371に格納されたEX0は減算器373の一
方の入力に与えられる。減算器373の他方の入力には
レジスタ372に格納されたEXが与えられる。この減
算器373にてEX−EX0の演算が行われ、現在処理
中のドットのポリゴン上の相対的な視野座標上のX値を
求め、その演算結果が乗算器375の一方の入力に与え
られる。
メモリ40の変換テーブル領域から読み出されたポリゴ
ンの3次元座標からマッピングパターン2次元座標へ変
化する変換係数UX、VXが格納され、(EX−EX
0)に変換係数が乗算され、その乗算結果が加算器38
6に与えられる。
メータメモリ40のポリゴンパラメータ領域から読み出
された基準となるポリゴン端点の視野座標EY0が格納
され、レジスタ377には視野座標X,Y,Z値生成装
置331から受け取った視野座標Y値(EY)が格納さ
れる。レジスタ376に格納されたEY0は減算器37
8の一方の入力に与えられる。減算器378の他方の入
力にはレジスタ377に格納されたEYが与えられる。
この減算器378にてEY−EY0の演算が行われ、現
在処理中のドットのポリゴン上の相対的な視野座標上の
Y値を求め、その演算結果が乗算器380の一方の入力
に与えられる。
メモリ40の変換テーブル領域から読み出されたポリゴ
ンの3次元座標からマッピングパターン2次元座標へ変
化する変換係数UY、VYが格納され、(EY−EY
0)に変換係数が乗算され、その乗算結果が加算器38
6に与えられる。
メータメモリ40のポリゴンパラメータ領域から読み出
された基準となるポリゴン端点の視野座標EZ0が格納
され、レジスタ382には視野座標X,Y,Z値生成装
置331から受け取った視野座標Z値(EZ)が格納さ
れる。レジスタ381に格納されたEZ0は減算器38
3の一方の入力に与えられる。減算器383の他方の入
力にはレジスタ382に格納されたEZが与えられる。
この減算器383にてEZ−EZ0の演算が行われ、現
在処理中のドットのポリゴン上の相対的な視野座標上の
Z値を求め、その演算結果が乗算器385の一方の入力
に与えられる。
メモリ40の変換テーブル領域から読み出されたポリゴ
ンの3次元座標からマッピングパターン2次元座標へ変
化する変換係数UZ、VZが格納され、(EZ−EZ
0)に変換係数が乗算され、その乗算結果が加算器38
6に与えられる。
X値、Y値、Z値にそれぞれ変換係数を乗算した演算結
果が加算器386で加算され、マッピングパターン2次
元座標(U,V)を算出し、その結果をレジスタ387
に格納する。
器389の一方の入力に与えられる。レジスタ388に
は、ポリゴンパラメータメモリ40のポリゴンパラメー
タ領域から読み出されたポリゴンとマッピングパターン
との大きさの比率(scale)が格納されており、こ
の比率が乗算器389の他方の入力として与えられ、
U,Vのそれぞれ比率が乗算され、マッピングパターン
上のアドレス(MX,MY)が算出され、このアドレス
値(MX,MY)がレジスタ390に格納される。これ
ら各回路は、コントローラ391により制御される。
ン内部処理装置30の動作を図30ないし図33の動作
フローに基づき、上記回路例に従い説明する。
明する。まず、コントローラ25がポリゴン数(P)を
スクリーンメモリ5より読み出し、そして、処理するポ
リゴン端点数を読み出し、その数をポリゴン摘出装置2
1に与える(ステップS1,S2)。
点(XS,YS,ZS)をそれぞれ読み出し(ステップ
S3)、スクリーンメモリ5のアドレスをインクリメン
トする。続いて、スクリーンメモリ5より各辺の終点
(XE,YE,ZE)をそれぞれ読み出す(ステップS
4)。この読み出した端点の始点(XS,YS)、終点
(XE,YE)からポリゴン摘出装置21にて方向ベク
トルを算出し、この辺ベクトルに基づき左辺又は右辺を
判定すると共にポリゴンの向き(DIR)を設定する
(ステップS5)。
ラメータ演算装置22aにてXパラメータの演算を行う
(ステップS6)。Xパラメータ演算装置22aの減算
器にスクリーンメモリ5からのYE,YSのデータが与
えられ、両者間の距離DYを算出する。
算器にスクリーンメモリ5から始点(XS)及び終点
(XE)データが与えられ、この減算器からの減算結果
(XE−XS)が除算器へ供給される。
除算が行われ、Xパラメータが算出される(ステップS
6)。また、微差分演算回路にて、DZ=(ZE−Z
S)/DYの演算が行われ、Zパラメータが算出される
(ステップS7)。
8)、前記Xパラメータを用いてX垂直補間装置23a
でX垂直補間演算が行われる(ステップS9)。
bへ供給され、Z垂直補間演算が行われる(ステップS
10)。
即ちポリゴンが下向きの時には、“+1”、上向きの時
には“−1”の演算を行いステップS12に進む。そし
て、ステップS12にて、Y≠YEが判断され、Y≠Y
Eの場合には、ステップS9へ戻り、前述の動作を繰り
返し、Y=YEになるとステップS13へ進む。
が終了したか否か判断され、終了していない場合には、
ステップS3へ戻り、前述の動作を繰り返す。
プS14に進み、ステップS14にて、ポリゴンの全て
の処理が終了したか否か判断され、ポリゴンの全ての処
理が終了していない場合には、ステップS2に戻り、前
述の動作を繰り返す。そして、ポリゴンの全ての処理が
終了したと判断されると、外形処理動作が終了する。
て説明する。まずポリゴンエッジメモリ6からの読み出
しについて図31に従い説明する。
レスを初期化し(ステップS21)、スキャンラインの
Yアドレス毎のポリゴン数を読み出し、(ステップS2
2)、ステップS23に進む。
する2辺間のポリゴンの外形を示す2点のXの左辺(X
L)とZ値のアドレス(ZL)をポリゴンエッジメモリ
6から読み出し、ステップS24に進む。
する2辺間のポリゴンの外形を示す2点のXの右辺(X
R)とZ値のアドレス(ZR)をポリゴンエッジメモリ
6から読み出し、ステップS25に進む。
メータ演算を行い(ステップS25)、続いて、隠面処
理パラメータの演算を行う(ステップS26)。
ZL値及び、DDZ値が与えられ、隠面処理が行われる
(ステップS27)。ステップS28でスキャンライン
上のポリゴン全てに処理を行ったか否か判断され、処理
が終了していない場合には、ステップS23へ戻り前述
の動作を繰り返す。
ドレスのポリゴン数が終了すると、ステップS29に進
み、ステップS29にてYアドレスをインクリメント
し、全てのYアドレスに対応する処理が終了するまで、
即ち、Yアドレスが垂直解像度より大きくなるまで前述
の動作を繰り返し(ステップS30)、全てのアドレス
に対応する処理が終了した時点で、パラメータ演算動作
が終了する。
動作につき、図33の動作フローに従い説明する。ま
ず、そのドットがポリゴンの範囲内に存在するか否か判
断される。即ち、ポリゴンエッジメモリメモリコントロ
ーラ31aより、Yアドレス(スキャンライン毎)のス
キャンラインアドレスが与えられ、このXLとそのドッ
トが対応するXアドレスLを比較すると共に、DXYの
値が0であるか否か判断する(ステップS71)。そし
てXアドレスよりXLが大きく且つDXYが0でない場
合には、そのドットがポリゴンの範囲内に存在するので
ステップS72に進み、そうでない場合には、隠面処理
動作を繰り返す。
1に格納されたZ値(ZA)と、今読み込んだZ値とを
比較し、奥行きレジスタ341のZ値の方が大きい、す
なわち、今読み込んだドットの方が手前にある場合には
ステップS73に進み、Z値が小さい場合にはステップ
S74に進む。ステップS73ではポリゴンパラメータ
アドレスレジスタ342にポリゴンパラメータアドレス
を格納し、ステップS74に進む。ステップS74で
は、DXY=DXY−1の演算を行い、ステップS75
へ進み、ステップS75で次のZ値を求める演算である
Z値の補間、即ち、Z=DDZ+Zの演算を行った後、
隠面処理動作を終了する。
るポリゴンパラメータメモリ40からのデータ読み出し
動作を中心として、図32の動作フロー図に従い説明す
る。まず、Yアドレス及びXアドレスを初期化した後
(ステップS41,S42)、隠面処理装置34よりX
アドレスのポリゴンパラメータアドレスを読み出す(ス
テップS43)。
レスにポリゴンが存在するか否か判断され、ポリゴンが
存在しない場合には、ステップS50へ進み、ポリゴン
が存在する場合には、ステップS45に進む。ステップ
45でパラメータ演算装置にてパラメータを算出し、ス
テップS46に進む。ステップS46では隠面処理装置
34より与えられたXアドレスに対応するポリゴンパラ
メータアドレスに従ってポリゴンパラメータメモリ40
よりポリゴンパラメータを読み出し、ステップS47へ
進む。
置33にてポリゴンパラメータメモリ40より読み出さ
れたパラメータに従って、マッピングパターンメモリ7
のアドレス(MX,MY)を算出し、ステップS48に
進む。
レスに従ってマッピングパターンメモリ7をアクセス
し、マッピングパターンメモリ7からR,G,B又はL
UT値等の色情報を読み出し、ステップS49に進む。
ムメモリ8に書き込み、ステップS50に進む。ステッ
プS50にて、Xアドレスを一つインクリメントし、ス
テップS51へ進む。
平解像度が比較され、Xアドレスが水平解像度より小さ
い時には、ステップS43に戻り前述の動作を繰り返
す。Xアドレスが水平解像度より大きくなるとステップ
S52に進み、ステップS52にて、隠面処理装置34
を初期化し、ステップS53に進む。
ンクリメントし、ステップS54に進み、ステップS5
4にてYアドレスと垂直解像度が比較される。Yアドレ
スが垂直解像度より小さい場合には、ステップS42に
戻り、前述の動作を繰り返し、Yアドレスが垂直解像度
より大きくなると、ポリゴン内部処理動作が終了する。
元ポリゴン座標から2次元マッピングパターンへ変換す
るための変換係数(UX,UY,UZ)、(VX,V
Y,VZ)を求め、隠面処理を行った後、この変換係数
を用いてU−Vマッピング、射影マッピングを行いマッ
ピングパターンメモリのアドレスを求める。すなわち、
オブジェクト座標上のポリゴンの座標と上記変換係数
(UX,UY,UZ)、(VX,VY,VZ)をROM
等の記憶手段に格納し、オブジェクトの回転演算、視野
変換による回転演算等のように、ポリゴンの方向が変化
する度に変換係数(UX,UY,UZ)、(VX,V
Y,VZ)にもポリゴン端点と同様の回転演算等を行
い、視野座標上の3次元ポリゴンから2次元マッピング
パターンへの変換係数(UX,UY,UZ)、(VX,
VY,VZ)を求め、隠面処理の終了した点でマッピン
グ演算を行うことにより、高速に且つ、少ないハードウ
ェア量でマッピングを行うことが可能となる。
(VX,VY,VZ)は、ポリゴン毎に有することはな
く、同じ方向で且つ、同じ回転運動しかないものであれ
ばまとめることができ、ROM等の容量を小さくでき
る。
アドレス(MX,MY)を割り当てていないため、ポリ
ゴン面のマッピングパターンを変化させるような特殊効
果を行う場合、そのポリゴンが属する変換係数(UX,
UY,UZ)、(VX,VY,VZ)を変えることによ
り、少ない処理で多くのポリゴンを処理することができ
る。
ック図である。
を示すブロック図である。
ク図である。
ーンに変換する状態を示す模式図である。
へ変換する場合の変換係数の関係を示す図である。
ーチャートである。
ーチャートである。
の構成を示すブロック図である。
ータ演算装置の構成を示すブロック図である。
ータ演算装置の構成を示すブロック図である。
間装置の構成を示すブロック図である。
間装置の構成を示すブロック図である。
のパラメータ演算装置の構成を示すブロック図である。
タ演算装置の具体的構成を示すブロック図である。
成を示すブロック図である。
隠面処理装置の構成を示すブロック図である。
水平ドット隠面処理装置の具体的構成例を示すブロック
図である。
送状態を示すタイミングチャートである。
ミングを示す模式図である。
平補間演算装置の構成例を示すブロック図である。
の具体的実施例を示すブロック図である。
Z値生成装置の具体的実施例を示すブロック図である。
装置の具体的実施例を示すブロック図である。
生成装置の具体的実施例を示すブロック図である。
を示すブロック図である。
すフローチャートである。
すフローチャートである。
すフローチャートである。
動作を示すフローチャートである。
す模式図である。
を示す模式図である。
モリを示す模式図である。
図である。
ある。
図である。
Claims (1)
- 【請求項1】 3次元ポリゴン座標から2次元マッピン
グパターンへ平面マッピング変換を行うための第1の変
換係数にオブジェクトの回転処理及び視野変換の回転処
理を行うことにより、第2の変換係数を算出する手段
と、上記ポリゴンの端点の視野座標値と上記第2の変換
係数とポリゴンとマッピングパターンとの大きさの比率
をポリゴンごとに格納するポリゴンパラメータ記憶手段
と、上記ポリゴンのスクリーン端点情報とポリゴンの奥
行き情報と上記ポリゴンパラメータ記憶手段のアドレス
値を格納するスクリーン記憶手段と、テクスチャ画像を
格納するマッピングパターンメモリと、上記ポリゴンの
スクリーン端点情報に基づいてポリゴン外形のアドレス
情報及びポリゴンの奥行き情報並びにポリゴンパラメー
タ記憶手段のアドレス値をスキャンラインごとにポリゴ
ンの外形部分の情報にそれぞれ変換する外形処理手段
と、上記外形処理手段にて算出された対向する2辺間の
情報を演算し、Xアドレスの変位と奥行き情報の変位を
算出する手段と、スキャンラインの各画素に対応する画
素位置がポリゴンの範囲内に存在するか否か判別する手
段と、一番手前に存在する画素の奥行き情報とその画素
位置のポリゴンの奥行き情報を比較すると共に比較する
対象の奥行き情報を常に一番手前に存在するポリゴンの
奥行き情報に書き換える手段と、ポリゴンの奥行き情報
に上記奥行き情報の変位を加算し隣接する画素位置の奥
行き情報を算出する手段と、比較した画素位置における
一番手前に存在するポリゴンの対向する2辺間の少なく
とも一方のXアドレスとポリゴンパラメータ記憶手段の
アドレス値を算出する手段と、算出されたポリゴンパラ
メータ記憶手段のアドレス値に基づいて上記ポリゴンパ
ラメータ記憶手段からポリゴン端点の視野座標とポリゴ
ンとマッピングパターンとの大きさの比率と、上記第2
の変換係数を読み出し、マッピング演算を行い、各ドッ
トのマッピングパターンメモリアドレスを算出する手段
と、上記算出されたマッピングパターンアドレスに基づ
き上記マッピングパターンメモリをアクセスし、画像デ
ータを表示手段に転送する手段と、を備えてなる立体画
像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32299694A JP3344675B2 (ja) | 1994-12-26 | 1994-12-26 | 立体画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32299694A JP3344675B2 (ja) | 1994-12-26 | 1994-12-26 | 立体画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08180207A JPH08180207A (ja) | 1996-07-12 |
JP3344675B2 true JP3344675B2 (ja) | 2002-11-11 |
Family
ID=18149981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32299694A Expired - Fee Related JP3344675B2 (ja) | 1994-12-26 | 1994-12-26 | 立体画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3344675B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6700586B1 (en) * | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
-
1994
- 1994-12-26 JP JP32299694A patent/JP3344675B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08180207A (ja) | 1996-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6172678B1 (en) | Image processing method and apparatus including hidden surface removal | |
US5469535A (en) | Three-dimensional, texture mapping display system | |
US5566285A (en) | Image processing apparatus capable of mapping texture to each polygon of a three dimensional image | |
JP4160261B2 (ja) | 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 | |
US5877769A (en) | Image processing apparatus and method | |
JP3514947B2 (ja) | 3次元画像処理装置及び3次元画像処理方法 | |
JP3332165B2 (ja) | 画像処理装置 | |
KR910009102B1 (ko) | 화상합성 장치 | |
JPH09330423A (ja) | 三次元形状データ変換装置 | |
JP3959862B2 (ja) | テクスチャマッピング方法及びその装置 | |
JPH0927045A (ja) | 画像処理装置 | |
JP3344675B2 (ja) | 立体画像処理装置 | |
JP2003233836A (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
JP2003505773A (ja) | テクスチャ付き表面のコンピュータグラフィックス画像を計算する方法及び装置 | |
US7372461B2 (en) | Image processing apparatus and method of same | |
JPH07105404A (ja) | 立体画像処理装置及びその処理方法 | |
JP3850080B2 (ja) | 画像生成表示装置 | |
US6563507B1 (en) | Storage circuit control device and graphic computation device | |
US6476818B1 (en) | Storage circuit control device and graphic computation device | |
JP4308367B2 (ja) | 3次元画像生成装置および環境マップの生成方法 | |
JP2637905B2 (ja) | 垂直スパンを用いてポリゴン輪郭を描画する方法及びシステム | |
JP2001283254A (ja) | 3次元グラフィックス描画装置およびその方法 | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
JP3278828B2 (ja) | 半透明立体画像処理装置 | |
JP3722593B2 (ja) | 立体画像描画処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080830 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080830 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090830 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090830 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100830 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100830 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110830 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |