JP3358891B2 - Z値の透視変換処理方法及び画像処理装置 - Google Patents
Z値の透視変換処理方法及び画像処理装置Info
- Publication number
- JP3358891B2 JP3358891B2 JP25508694A JP25508694A JP3358891B2 JP 3358891 B2 JP3358891 B2 JP 3358891B2 JP 25508694 A JP25508694 A JP 25508694A JP 25508694 A JP25508694 A JP 25508694A JP 3358891 B2 JP3358891 B2 JP 3358891B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- data
- perspective transformation
- circuit
- czf
- 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
【0001】
【産業上の利用分野】この発明は、Zバッファ法により
透視変換されたスクリーン座標のポリゴンにテクスチャ
マッピングを施す画像処理装置に関する。
透視変換されたスクリーン座標のポリゴンにテクスチャ
マッピングを施す画像処理装置に関する。
【0002】
【従来の技術】コンピュータグラフィックスにおいて
は、視野ピラミッドというものを考えて透視変換やクリ
ッピングの処理が行われる。モデリングでは、ワールド
座標系での視点の位置、視線の方向、そして視野角を与
えることで視野ピラミッドがつくられている。
は、視野ピラミッドというものを考えて透視変換やクリ
ッピングの処理が行われる。モデリングでは、ワールド
座標系での視点の位置、視線の方向、そして視野角を与
えることで視野ピラミッドがつくられている。
【0003】ワールド座標系から視点座標系への変換で
は、視点が原点になるように、全体を(光線を含め)平
行移動し、更に視線がZ軸の正方向を向くように回転移
動させる。この変換にはアフィン変換が用いられる。そ
して、変換された視点座標系からスクリーン座標系へ透
視変換を用いて変換される。
は、視点が原点になるように、全体を(光線を含め)平
行移動し、更に視線がZ軸の正方向を向くように回転移
動させる。この変換にはアフィン変換が用いられる。そ
して、変換された視点座標系からスクリーン座標系へ透
視変換を用いて変換される。
【0004】ところで、3次元グラフィックスにおい
て、Zバッファ・アルゴリズムは色々な隠面処理法の中
でもアルゴリズムが単純であり、大量の形状データを高
速にレンダリングすることができるため現在最も一般的
に用いられている。
て、Zバッファ・アルゴリズムは色々な隠面処理法の中
でもアルゴリズムが単純であり、大量の形状データを高
速にレンダリングすることができるため現在最も一般的
に用いられている。
【0005】このZバッファ・アルゴリズムを用いた隠
面処理行う前に上記の座標変換などを行う必要がある。
この中で視野(視点)座標系からスクリーン座標系に変
換する、すなわち、3次元データを2次元データに変換
する透視変換がある。Zバッファ法を用いる場合、X、
Y値だけでなくZ値に対しても透視変換を行う必要があ
る。これはZ値に対して透視変換を行わないと、直線が
直線に、平面が平面に写像されなくなり、前後関係が入
れ替わるなどの問題が発生するからである。
面処理行う前に上記の座標変換などを行う必要がある。
この中で視野(視点)座標系からスクリーン座標系に変
換する、すなわち、3次元データを2次元データに変換
する透視変換がある。Zバッファ法を用いる場合、X、
Y値だけでなくZ値に対しても透視変換を行う必要があ
る。これはZ値に対して透視変換を行わないと、直線が
直線に、平面が平面に写像されなくなり、前後関係が入
れ替わるなどの問題が発生するからである。
【0006】このため、Z値に対して透視変換する方法
が種々提案されているが、ゲームなどのようにオブジェ
クト(ポリゴンのかたまり、物体)を数多く表示させる
場合などに適した方法は提案されていない。
が種々提案されているが、ゲームなどのようにオブジェ
クト(ポリゴンのかたまり、物体)を数多く表示させる
場合などに適した方法は提案されていない。
【0007】一方、テクスチャマッピングの方法とし
て、ピクセル単位で逆透視変換するという方法がある
が、この方法は処理速度が遅いという欠点があり、リア
ルタイムでテクスチャマッピングを行うことはできなか
った。
て、ピクセル単位で逆透視変換するという方法がある
が、この方法は処理速度が遅いという欠点があり、リア
ルタイムでテクスチャマッピングを行うことはできなか
った。
【0008】そこで、この問題を解決するために、I/
Oインターフェース、メモリ、辺補間回路、線分補間回
路、マッピングメモリ、乗算回路を備えたテクスチャマ
ッピング装置が特開昭63−80375号や特開平5−
298456号が提案されている。これら装置は、ディ
ジタル微分解析(DDA)を用いてテクスチャマッピン
グを行っている。
Oインターフェース、メモリ、辺補間回路、線分補間回
路、マッピングメモリ、乗算回路を備えたテクスチャマ
ッピング装置が特開昭63−80375号や特開平5−
298456号が提案されている。これら装置は、ディ
ジタル微分解析(DDA)を用いてテクスチャマッピン
グを行っている。
【0009】
【発明が解決しようとする課題】しかし、上述した装置
においては、奥行きを考慮していないため、テクスチャ
マップ上の直線が画面では歪んで見えたり、動かしたと
きにスムーズに動かないという問題があった。
においては、奥行きを考慮していないため、テクスチャ
マップ上の直線が画面では歪んで見えたり、動かしたと
きにスムーズに動かないという問題があった。
【0010】この発明は上述した従来の問題点に鑑み、
まずZ値について考察し、奥行きを考慮したテクスチャ
マッピング並びにグローシェーディングの可能なZバッ
ファ法を用いた画像処理装置を提供することを目的とし
ている。
まずZ値について考察し、奥行きを考慮したテクスチャ
マッピング並びにグローシェーディングの可能なZバッ
ファ法を用いた画像処理装置を提供することを目的とし
ている。
【0011】
【課題を解決するための手段】この発明は、Zバッファ
法による隠面処理に用いられるスクリーン座標上のZ値
を透視変換により算出するZ値の透視変換処理方法にお
いて、前方クリップ面のZ値をCZFとし、後方クリッ
プ面のZ値をCZBとし、Z値の透視変換値を、Zs=
1−CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて算出するこ
とを特徴とする。
法による隠面処理に用いられるスクリーン座標上のZ値
を透視変換により算出するZ値の透視変換処理方法にお
いて、前方クリップ面のZ値をCZFとし、後方クリッ
プ面のZ値をCZBとし、Z値の透視変換値を、Zs=
1−CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて算出するこ
とを特徴とする。
【0012】また、この発明は、Zバッファ法による隠
面処理に用いられるスクリーン座標上のZ値を透視変換
により算出するZ値の透視変換処理方法において、前方
クリップ面のZ値をCZFとし、後方クリップ面のZ値
をCZBとした時、Z値の透視変換値を、Zs=CZF
/Ze(ここで、Zsはスクリーン座標上のZ値、Ze
は視野座標上のZ値)に基づいて算出することを特徴と
する。
面処理に用いられるスクリーン座標上のZ値を透視変換
により算出するZ値の透視変換処理方法において、前方
クリップ面のZ値をCZFとし、後方クリップ面のZ値
をCZBとした時、Z値の透視変換値を、Zs=CZF
/Ze(ここで、Zsはスクリーン座標上のZ値、Ze
は視野座標上のZ値)に基づいて算出することを特徴と
する。
【0013】更に、この発明は、Zバッファ法による隠
面処理に用いられるスクリーン座標上のZ値を透視変換
により算出するZ値の透視変換処理方法において、前方
クリップ面のZ値をCZFとし、後方クリップ面のZ値
をCZBとした時、スクリーン座標上のZ値(Zs)を
前方クリッピング面のZ値に応じて1/Ze(Zeは視
野座標上のZ値)を左シフトした値を用いることを特徴
とする。
面処理に用いられるスクリーン座標上のZ値を透視変換
により算出するZ値の透視変換処理方法において、前方
クリップ面のZ値をCZFとし、後方クリップ面のZ値
をCZBとした時、スクリーン座標上のZ値(Zs)を
前方クリッピング面のZ値に応じて1/Ze(Zeは視
野座標上のZ値)を左シフトした値を用いることを特徴
とする。
【0014】上記1/Zeを演算した出力を、バレルシ
フタまたはマルチプレクサにより、CZFの値に応じて
シフトさせるとよい。
フタまたはマルチプレクサにより、CZFの値に応じて
シフトさせるとよい。
【0015】この発明の画像処理装置は、上記したいず
れかの方法でZ値の透視変換を行う処理手段と、このZ
値及び表示するポリゴンのスクリーンデータ、テクスチ
ャマップアドレスデータをポリゴン辺の2点間の補間処
理でエッジ展開する手段と、エッジ展開された各データ
をエッジ2点間の補間処理でピクセル展開する手段と、
ピクセル展開されたテクスチャマップアドレスデータに
応じてテクスチャマッピングメモリからテクスチャデー
タとして読み出す手段と、を備える。
れかの方法でZ値の透視変換を行う処理手段と、このZ
値及び表示するポリゴンのスクリーンデータ、テクスチ
ャマップアドレスデータをポリゴン辺の2点間の補間処
理でエッジ展開する手段と、エッジ展開された各データ
をエッジ2点間の補間処理でピクセル展開する手段と、
ピクセル展開されたテクスチャマップアドレスデータに
応じてテクスチャマッピングメモリからテクスチャデー
タとして読み出す手段と、を備える。
【0016】また、この発明の画像処理装置は、透視変
換を行う処理手段とエッジ展開手段との間にレジスタフ
ァイルを設け、数ポリゴン分のデータを一度に転送する
とよい。
換を行う処理手段とエッジ展開手段との間にレジスタフ
ァイルを設け、数ポリゴン分のデータを一度に転送する
とよい。
【0017】更に、この発明の画像処理装置は、テクス
チャマップアドレスデータを透視変換したZ値で乗算
し、この乗算したテクスチャマップアドレスデータをピ
クセル展開し、ピクセル展開したテクスチャマップアド
レスデータを透視変換したZ値で除算することを特徴と
する。
チャマップアドレスデータを透視変換したZ値で乗算
し、この乗算したテクスチャマップアドレスデータをピ
クセル展開し、ピクセル展開したテクスチャマップアド
レスデータを透視変換したZ値で除算することを特徴と
する。
【0018】上記エッジ展開手段は、ポリゴンを構成す
る辺の傾きが入力される第1のマルチプレクサと、この
傾きデータを格納するシフトレジスタと、このシフトレ
ジスタからの出力をフィードバックして前記第1のマル
チプレクサに与える手段と、前記シフトレジスタの出力
を一方の入力とする加算器と、この加算器の出力及び始
点データが入力される第2のマルチプレクサと、前記第
2のマルチプレクサからの出力を格納するシフトレジス
タと、このシフトレジスタからの出力を前記加算回路に
与える手段とからなることを特徴とする。
る辺の傾きが入力される第1のマルチプレクサと、この
傾きデータを格納するシフトレジスタと、このシフトレ
ジスタからの出力をフィードバックして前記第1のマル
チプレクサに与える手段と、前記シフトレジスタの出力
を一方の入力とする加算器と、この加算器の出力及び始
点データが入力される第2のマルチプレクサと、前記第
2のマルチプレクサからの出力を格納するシフトレジス
タと、このシフトレジスタからの出力を前記加算回路に
与える手段とからなることを特徴とする。
【0019】上記ピクセル展開手段として、2分子1分
母除算器を用いるよい。
母除算器を用いるよい。
【0020】また、輝度値データを透視変換したZ値で
乗算し、この乗算した輝度値データをピクセル展開し、
ピクセル展開した輝度値データを透視変換したZ値で除
算するように構成することもできる。
乗算し、この乗算した輝度値データをピクセル展開し、
ピクセル展開した輝度値データを透視変換したZ値で除
算するように構成することもできる。
【0021】透明か否かのフラグを格納した透明マッピ
ングメモリを備えると良い。
ングメモリを備えると良い。
【0022】
【作用】上記の構成によれば、従来の無駄な計算のみ省
いているので、計算量が少なく、また、精度も保たれ
る。
いているので、計算量が少なく、また、精度も保たれ
る。
【0023】
【0024】2次元のテクスチャマップデータを透視変
換逆透視変換することで、奥行きを考慮したテクスチャ
マッピングが行える。
換逆透視変換することで、奥行きを考慮したテクスチャ
マッピングが行える。
【0025】
【実施例】以下、この発明の実施例につき図面を参照し
て説明する。
て説明する。
【0026】図1は、この発明の第1の実施例の全体構
成を示すブロック図である。
成を示すブロック図である。
【0027】前述したように、3次元グラフィックスに
おいて、Zバッファ・アルゴリズムは色々な隠面処理法
の中でもアルゴリズムが単純であり、大量の形状データ
を高速にレンダリングすることができる。
おいて、Zバッファ・アルゴリズムは色々な隠面処理法
の中でもアルゴリズムが単純であり、大量の形状データ
を高速にレンダリングすることができる。
【0028】画像処理装置においては、このZバッファ
・アルゴリズムを用いた隠面処理行う前に視点座標系か
らスクリーン座標系に変換する必要がある。すなわち、
ワールド座標系から視点座標系への変換をアフィン変換
により行いこれらの変換をマイクロプロセッサ部1で行
う視点座標系からスクリーン座標系に変換する透視変換
が行われる。
・アルゴリズムを用いた隠面処理行う前に視点座標系か
らスクリーン座標系に変換する必要がある。すなわち、
ワールド座標系から視点座標系への変換をアフィン変換
により行いこれらの変換をマイクロプロセッサ部1で行
う視点座標系からスクリーン座標系に変換する透視変換
が行われる。
【0029】前述したように、Zバッファ法を用いる場
合、X、Y値だけでなくZ値に対しても透視変換を行う
必要がある。これはZ値に対して透視変換を行わない
と、直線が直線に、平面が平面に写像されなくなり、前
後関係が入れ替わるなどの問題が発生するからである。
合、X、Y値だけでなくZ値に対しても透視変換を行う
必要がある。これはZ値に対して透視変換を行わない
と、直線が直線に、平面が平面に写像されなくなり、前
後関係が入れ替わるなどの問題が発生するからである。
【0030】Z値に対して、透視変換する方法として
は、次の数式(1)に示すものがある。
は、次の数式(1)に示すものがある。
【0031】
【数1】Zs=1/Ze …(1) ここで、Zsはスクリーン座標上のZ値、Zeは視野座
標上のZ値である。
標上のZ値である。
【0032】上記(1)式を用いることにより、Z値を
透視変換することができるが、この方法では精度が悪い
という問題がある。
透視変換することができるが、この方法では精度が悪い
という問題がある。
【0033】そこで、この精度をよくするためにビュー
・ボリュームの奥行き方向の範囲をなるべく狭くし、Z
値を0と1の間に正規化し、下記の数式(2)により透
視変換する方法が提案されている(例えば、PIXEL
(No.73)88頁ないし89頁参照。)。
・ボリュームの奥行き方向の範囲をなるべく狭くし、Z
値を0と1の間に正規化し、下記の数式(2)により透
視変換する方法が提案されている(例えば、PIXEL
(No.73)88頁ないし89頁参照。)。
【0034】
【数2】 Zs=Z/W=(A・Ze+B)/C・Ze =a(1−CZF/Ze) …(2) ただし、a=CZB/(CZB−CZF) ここで、CZFは前方クリップ面の値、CZBは後方ク
リップ面の値である。
リップ面の値である。
【0035】ところで、ゲームなどのように、オブジェ
クトを数多く表示させる場合には、どうしてもCZFと
CZBの距離が大きくなる。そこで、この発明は、オブ
ジェクトを多く表示させる必要がある場合、すなわちC
ZB》CZFの場合には、aは約1になるので、上記
(2)式は次の数式(3)になる。
クトを数多く表示させる場合には、どうしてもCZFと
CZBの距離が大きくなる。そこで、この発明は、オブ
ジェクトを多く表示させる必要がある場合、すなわちC
ZB》CZFの場合には、aは約1になるので、上記
(2)式は次の数式(3)になる。
【0036】
【数3】Zs=1−CZF/Ze …(3)
【0037】上記(3)式は、(2)式に比べて単純と
なり、演算が簡単に行える。このため、この発明では、
オブジェクトを多く表示させるなどの場合は、上記
(3)式に基づきマイクロプロセッサ部1でZ値を透視
変換する。スクリーン座標上のX、Y値(Xs、Ys)
は次の数式(4)で計算される。
なり、演算が簡単に行える。このため、この発明では、
オブジェクトを多く表示させるなどの場合は、上記
(3)式に基づきマイクロプロセッサ部1でZ値を透視
変換する。スクリーン座標上のX、Y値(Xs、Ys)
は次の数式(4)で計算される。
【0038】
【数4】 Xs=Xe・d/Ze、Ys=Ye・d/Ze …(4) ここで、dは視点からスクリーンまでの距離である。
【0039】また、ZeはCZFとCZBとの間で変化
するため、上記(3)式のZsは0から(1−CZF/
CZB)=1の間で変化する。Zバッファ法を用いる場
合、0から1でも1から0に変化してもZバッファの初
期化の値を変えるだけでよいので、上記(3)式は下記
の数式(5)のように取り扱っても問題はない。
するため、上記(3)式のZsは0から(1−CZF/
CZB)=1の間で変化する。Zバッファ法を用いる場
合、0から1でも1から0に変化してもZバッファの初
期化の値を変えるだけでよいので、上記(3)式は下記
の数式(5)のように取り扱っても問題はない。
【0040】
【数5】Zs=CZF/Ze …(5)
【0041】また、上記(1)式の結果をシフトして用
いることにより、(1)式の精度をよくすることができ
る。すなわち、Zsの値をCZFの値に応じてシフトさ
せる。例えば、CZF=Ze=33の時、1/Zeを小
数点以下16ビットで表すと、07c1hとなる。CZ
F≦Zeの関係から、CZfが33の時は16ビット中
上位5ビットは0固定となる。すなわち、16ビットの
値を5ビット左シフトしても問題がない。但し、この場
合、1/Zeは小数点以下21ビット以上求めておかな
ければならないが、マイクロプロセッサ部1の除算器の
結果が32ビットのものを使用すれば全く問題はない。
いることにより、(1)式の精度をよくすることができ
る。すなわち、Zsの値をCZFの値に応じてシフトさ
せる。例えば、CZF=Ze=33の時、1/Zeを小
数点以下16ビットで表すと、07c1hとなる。CZ
F≦Zeの関係から、CZfが33の時は16ビット中
上位5ビットは0固定となる。すなわち、16ビットの
値を5ビット左シフトしても問題がない。但し、この場
合、1/Zeは小数点以下21ビット以上求めておかな
ければならないが、マイクロプロセッサ部1の除算器の
結果が32ビットのものを使用すれば全く問題はない。
【0042】以上のことから、この発明の第1の実施例
を示す図1の画像処理装置では、マイクロプロセッサ部
1からエッジ展開回路2へ出力される透視変換後のZ値
において、上記(3)式又は上記(5)式を用いる。
を示す図1の画像処理装置では、マイクロプロセッサ部
1からエッジ展開回路2へ出力される透視変換後のZ値
において、上記(3)式又は上記(5)式を用いる。
【0043】なお、アフィン変換は予めシステムで行っ
ても良いが、このマイクロプロセッサ部1にて行うよう
に構成してもよい。
ても良いが、このマイクロプロセッサ部1にて行うよう
に構成してもよい。
【0044】更にマイクロプロセッサ部1の負担を少な
くしたい場合には、上記(1)式を用い、そして精度を
上げるためにZeをシフトさせればよい。特に、(1)
式を用いる場合には、マイクロプロセッサ部1でシフト
させても良いが、1/Zeのデータをそのまま出力し、
受け取る側の回路、この例では、エッジ展開回路2でバ
レルシフタあるいはマルチプレクサを用いてシフトさせ
るように構成している。図2にエッジ展開回路2のデー
タ入力部を構成するシフタ回路の一例を示す。マイクロ
プロセッサ部1から透視変換されたX,Y,1/Ze,
I(輝度値)、MX,MYがバレルシフタ(BRS)2
1に与えられる。BRS21からシフトされたZ値と、
X,Y,I,MX,MYが出力され、エッジ展開され
る。また、1ワードのデータに数パラメータ(XとYな
ど)が含まれる場合には、BRSコントローラ22に入
力されるCZFに基づいて判定すればよい。
くしたい場合には、上記(1)式を用い、そして精度を
上げるためにZeをシフトさせればよい。特に、(1)
式を用いる場合には、マイクロプロセッサ部1でシフト
させても良いが、1/Zeのデータをそのまま出力し、
受け取る側の回路、この例では、エッジ展開回路2でバ
レルシフタあるいはマルチプレクサを用いてシフトさせ
るように構成している。図2にエッジ展開回路2のデー
タ入力部を構成するシフタ回路の一例を示す。マイクロ
プロセッサ部1から透視変換されたX,Y,1/Ze,
I(輝度値)、MX,MYがバレルシフタ(BRS)2
1に与えられる。BRS21からシフトされたZ値と、
X,Y,I,MX,MYが出力され、エッジ展開され
る。また、1ワードのデータに数パラメータ(XとYな
ど)が含まれる場合には、BRSコントローラ22に入
力されるCZFに基づいて判定すればよい。
【0045】図1に示す画像処理装置において、1ポリ
ゴン分のデータをダイレクト・メモリ・アクセス(DM
A)転送によって、マイクロプロセッサ部1からエッジ
展開回路2に転送される。マイクロプロセッサ部1には
DMA転送のための回路が含まれている。
ゴン分のデータをダイレクト・メモリ・アクセス(DM
A)転送によって、マイクロプロセッサ部1からエッジ
展開回路2に転送される。マイクロプロセッサ部1には
DMA転送のための回路が含まれている。
【0046】しかし、1ポリゴンづつデータを転送する
と、無駄な時間が多くなるかあるいは、無駄な時間を少
なくするための制御回路が必要となる。そこで、この発
明では、図3に示すように、数ポリゴン分あるいは、そ
れ以上のポリゴンデータを格納するためのレジスタファ
イル(RGF)23が設けられている。このレジスタフ
ァイル23はRGFアドレスコントローラ24により制
御され、マイクロプロセッサ部1からのZ値、X,Y,
I,MX,MYが格納される。
と、無駄な時間が多くなるかあるいは、無駄な時間を少
なくするための制御回路が必要となる。そこで、この発
明では、図3に示すように、数ポリゴン分あるいは、そ
れ以上のポリゴンデータを格納するためのレジスタファ
イル(RGF)23が設けられている。このレジスタフ
ァイル23はRGFアドレスコントローラ24により制
御され、マイクロプロセッサ部1からのZ値、X,Y,
I,MX,MYが格納される。
【0047】このようにレジストファイル23を設けれ
ばDMA転送時の無駄な処理時間がその分少なくすむ。
ばDMA転送時の無駄な処理時間がその分少なくすむ。
【0048】図4にエッジ展開回路2の構成を示す。図
4に示すように、マイクロプロセッサ部1からスクリー
ン座標値のXs、Ys、Zs、MXs、MYsと輝度値
(I)がレジスタファイル23にDMA転送される。こ
の時、ポリゴンに対する各フラグ、例えば、フラットシ
ェーディング或いはグローシェーディングなどのフラグ
も転送される。そして、このレジストファイル23から
初期演算部25にデータが送られ、この実施例では、こ
の初期演算部25は、図2に示すバレルシフタ21によ
るシフト動作を行う。エッジ展開回路2では、ポリゴン
データを図5のように、左辺と右辺のエッジに展開す
る。なお、この実施例では4角形で説明するが、別に何
角形でもよい。図5に示すように、左辺と右辺と分割さ
れたそれぞれのデータを右辺は補間回路26で左辺は補
間回路27でディジタル微分解析(DDA)により補間
処理し、補間して得られたそれぞれのデータをピクセル
展開回路3に転送する。また、DDAコントロール部2
8からはスキャンライン、すなわちYデータとフラグが
出力される。
4に示すように、マイクロプロセッサ部1からスクリー
ン座標値のXs、Ys、Zs、MXs、MYsと輝度値
(I)がレジスタファイル23にDMA転送される。こ
の時、ポリゴンに対する各フラグ、例えば、フラットシ
ェーディング或いはグローシェーディングなどのフラグ
も転送される。そして、このレジストファイル23から
初期演算部25にデータが送られ、この実施例では、こ
の初期演算部25は、図2に示すバレルシフタ21によ
るシフト動作を行う。エッジ展開回路2では、ポリゴン
データを図5のように、左辺と右辺のエッジに展開す
る。なお、この実施例では4角形で説明するが、別に何
角形でもよい。図5に示すように、左辺と右辺と分割さ
れたそれぞれのデータを右辺は補間回路26で左辺は補
間回路27でディジタル微分解析(DDA)により補間
処理し、補間して得られたそれぞれのデータをピクセル
展開回路3に転送する。また、DDAコントロール部2
8からはスキャンライン、すなわちYデータとフラグが
出力される。
【0049】ピクセル展開回路3は、補間回路26、2
7から出力される点データを入力とし、これらの点デー
タの2点により決まるスキャンラインに平行な直線を補
間してピクセル展開し、この展開されたデータをアドレ
スとして、テクスチャマッピングメモリ4をアクセスす
る。テクスチャマッピングメモリ4は、ピクセル展開回
路3から出力されるデータが示すアドレス値のテクスチ
ャデータを出力し、カラー演算回路5に出力する。
7から出力される点データを入力とし、これらの点デー
タの2点により決まるスキャンラインに平行な直線を補
間してピクセル展開し、この展開されたデータをアドレ
スとして、テクスチャマッピングメモリ4をアクセスす
る。テクスチャマッピングメモリ4は、ピクセル展開回
路3から出力されるデータが示すアドレス値のテクスチ
ャデータを出力し、カラー演算回路5に出力する。
【0050】カラー演算回路5では、ピクセル展開回路
3から読み出されたLUTADからルックアップテーブ
ルメモリ6をアクセスし、そのピクセルの色情報(R、
G、B)を取り出す。そして、カラー演算を行う。
3から読み出されたLUTADからルックアップテーブ
ルメモリ6をアクセスし、そのピクセルの色情報(R、
G、B)を取り出す。そして、カラー演算を行う。
【0051】メモリ制御回路7では、上述した方法で計
算したZsをピクセル展開したZsが格納されているフ
レームメモリ9と同じフォーマットのZバッファメモリ
8とフレームメモリ(R、G、B値が格納されている)
の制御を行う。
算したZsをピクセル展開したZsが格納されているフ
レームメモリ9と同じフォーマットのZバッファメモリ
8とフレームメモリ(R、G、B値が格納されている)
の制御を行う。
【0052】このメモリ制御回路7では、まず、Zバッ
ファメモリ8のそのピクセルのデータを読み出し計算し
たピクセルのZs値比較し、Zs値の方が大きければ、
すなわち、計算されたピクセルが手前にあればフレーム
メモリ9とZバッファメモリ8にそれぞれのデータを書
き込み、逆に小さければ何も書き込まない。またCRT
コントローラ10の制御信号により、1つ前のフレーム
のRGBデータを読みだす。このCRTコントローラは
フレームメモリのRGBデータをD/Aコンバータ、R
GBエンコーダを経てコンポジットビデオ信号をCRT
に出力する。
ファメモリ8のそのピクセルのデータを読み出し計算し
たピクセルのZs値比較し、Zs値の方が大きければ、
すなわち、計算されたピクセルが手前にあればフレーム
メモリ9とZバッファメモリ8にそれぞれのデータを書
き込み、逆に小さければ何も書き込まない。またCRT
コントローラ10の制御信号により、1つ前のフレーム
のRGBデータを読みだす。このCRTコントローラは
フレームメモリのRGBデータをD/Aコンバータ、R
GBエンコーダを経てコンポジットビデオ信号をCRT
に出力する。
【0053】このようにして、Zバッファ法に基づくテ
クスチャマッピングが容易に行える。
クスチャマッピングが容易に行える。
【0054】前述した装置におけるテクスチャ・マッピ
ング装置では、奥行きを考慮していないため、図21に
示すように、Z1とZ2が等しい場合には問題がない
が、Z1≠Z2の場合、奥行きを考慮していないため、
図22に示すようにはならないという問題がある。更
に、テクスチャマップ上の直線がスクリーン画面上では
直線にならなかったり、回転などして動かした場合動き
がスムーズにならないという問題がある。そこで、この
発明の第2の実施例では、これらの問題を解決するため
に、次のようにテクスチャマッピングを行っている。
ング装置では、奥行きを考慮していないため、図21に
示すように、Z1とZ2が等しい場合には問題がない
が、Z1≠Z2の場合、奥行きを考慮していないため、
図22に示すようにはならないという問題がある。更
に、テクスチャマップ上の直線がスクリーン画面上では
直線にならなかったり、回転などして動かした場合動き
がスムーズにならないという問題がある。そこで、この
発明の第2の実施例では、これらの問題を解決するため
に、次のようにテクスチャマッピングを行っている。
【0055】まず、テクスチャマップアドレスMX、M
Yの透視変換(スクリーン変換)を次の数式(6)によ
り行う。
Yの透視変換(スクリーン変換)を次の数式(6)によ
り行う。
【0056】
【数6】 MXs=MX/Ze、MYs=MY/Ze …(6) ここで、MXs、MYsはスクリーン上のテクスチャマ
ップアドレスである。
ップアドレスである。
【0057】そして、MXs、MYsをポリゴンデータ
からピクセルデータまでデジタル微分解析(DDA)に
より展開する。
からピクセルデータまでデジタル微分解析(DDA)に
より展開する。
【0058】ピクセル展開された(MXs、MYs)を
元のテクスチャマップアドレス(MX、MY)に次の数
式(7)に従い逆変換する。
元のテクスチャマップアドレス(MX、MY)に次の数
式(7)に従い逆変換する。
【0059】
【数7】 MX=MXs/Zs、MY=MYs/Zs …(7) ここで、Zsはピクセルに展開されたZs値である。
【0060】このように演算することで、奥行きを考慮
したテクスチャマッピングが可能となる。
したテクスチャマッピングが可能となる。
【0061】図6は、上述した方法を用いた画像処理装
置を示すブロック図である。図6に示すように、マイク
ロプロセッサ部1では、前述の第1の実施例と同様に座
標変換、シェーディング、クリッピングなどを行い、ス
クリーン座標値のXs、Ys、Zs、MXs、MYsと
輝度値(I)をDMA転送する。この時、ポリゴンに対
する各フラグ、例えば、フラットシェーディング或いは
グローシェーディングなどのフラグも転送される。ま
た、このマイクロプロセッサ部1は、アフィン変換やD
MA転送などの専用ハードウェアも含まれている。そし
て、上記(6)式の演算並びに上述したZ値の透視変換
はこのブロックで行われる。
置を示すブロック図である。図6に示すように、マイク
ロプロセッサ部1では、前述の第1の実施例と同様に座
標変換、シェーディング、クリッピングなどを行い、ス
クリーン座標値のXs、Ys、Zs、MXs、MYsと
輝度値(I)をDMA転送する。この時、ポリゴンに対
する各フラグ、例えば、フラットシェーディング或いは
グローシェーディングなどのフラグも転送される。ま
た、このマイクロプロセッサ部1は、アフィン変換やD
MA転送などの専用ハードウェアも含まれている。そし
て、上記(6)式の演算並びに上述したZ値の透視変換
はこのブロックで行われる。
【0062】1ポリゴン分のデータをDMA転送によっ
て、マイクロプロセッサ部1からエッジ展開回路2に転
送される。しかし、1ポリゴンづつデータを転送する
と、無駄な時間が多くなるかあるいは、無駄な時間を少
なくするための制御回路が必要となる。そこで、この実
施例においても、図3に示すように、数ポリゴン分ある
いは、それ以上のポリゴンデータを格納するためのレジ
スタファイル23が設けられている。このようにレジス
トファイル23を設けたエッジ展開回路2では、ポリゴ
ンデータを図5のように、左辺と右辺のエッジに展開す
る。
て、マイクロプロセッサ部1からエッジ展開回路2に転
送される。しかし、1ポリゴンづつデータを転送する
と、無駄な時間が多くなるかあるいは、無駄な時間を少
なくするための制御回路が必要となる。そこで、この実
施例においても、図3に示すように、数ポリゴン分ある
いは、それ以上のポリゴンデータを格納するためのレジ
スタファイル23が設けられている。このようにレジス
トファイル23を設けたエッジ展開回路2では、ポリゴ
ンデータを図5のように、左辺と右辺のエッジに展開す
る。
【0063】図7にこのエッジ展開回路の構成を示す。
このエッジ展開回路は前述の第1の実施例と同様に構成
されるが、この実施例における初期演算部では、図2に
示すシフト動作と、更に上記(6)式に示すMXをMX
sに、MYをMYsに変換する処理が行われる。この初
期化演算回路25aは図8に示すように構成されてい
る。
このエッジ展開回路は前述の第1の実施例と同様に構成
されるが、この実施例における初期演算部では、図2に
示すシフト動作と、更に上記(6)式に示すMXをMX
sに、MYをMYsに変換する処理が行われる。この初
期化演算回路25aは図8に示すように構成されてい
る。
【0064】マイクロプロセッサ部1からDMA転送さ
れたデータを一時的にレジスタファイル(RGF23)
に格納し、1ポリゴンづつ初期演算部25aにデータを
転送する。バレルシフタ250でZ値のシフト処理を行
いMXs,MYs演算部251で、MX、MYにZsを
乗算して、MXs、MYsに変換する。この演算部25
1でMX,MYをスクリーン座標に変換するのは、マイ
クロプロセッサ部1でMX、MYを上記(6)式に基づ
いてスクリーン座標に変換するよりも、このブロックで
スクリーン変換したZs値を乗算した方が精度が良くな
り、入力データのビット数も少なくすむからである。
れたデータを一時的にレジスタファイル(RGF23)
に格納し、1ポリゴンづつ初期演算部25aにデータを
転送する。バレルシフタ250でZ値のシフト処理を行
いMXs,MYs演算部251で、MX、MYにZsを
乗算して、MXs、MYsに変換する。この演算部25
1でMX,MYをスクリーン座標に変換するのは、マイ
クロプロセッサ部1でMX、MYを上記(6)式に基づ
いてスクリーン座標に変換するよりも、このブロックで
スクリーン変換したZs値を乗算した方が精度が良くな
り、入力データのビット数も少なくすむからである。
【0065】そして、DDA初期設定部252でY値を
判定して、図5のように、右辺と左辺を識別し、傾きデ
ータを算出する。傾きデータは、例えば、Xsの時は、
(Xs1−Xs0)/Ys1−Ys0)(0、1はポリ
ゴンの端点番号)で求める。このブロックで計算された
各パラメータの傾きデータと始点データを右辺と左辺の
補間回路26、27に転送する。図9にその補間回路、
図10に加算回路を示す。なお、Ys値については、1
づつ加算するだけでよいので、図7のDDAコントロー
ル部28で計算する。また、Ys値の算出はカウンタで
行っても良い。
判定して、図5のように、右辺と左辺を識別し、傾きデ
ータを算出する。傾きデータは、例えば、Xsの時は、
(Xs1−Xs0)/Ys1−Ys0)(0、1はポリ
ゴンの端点番号)で求める。このブロックで計算された
各パラメータの傾きデータと始点データを右辺と左辺の
補間回路26、27に転送する。図9にその補間回路、
図10に加算回路を示す。なお、Ys値については、1
づつ加算するだけでよいので、図7のDDAコントロー
ル部28で計算する。また、Ys値の算出はカウンタで
行っても良い。
【0066】図9に示される補間回路26、27は、そ
れぞれ加算回路26a(27a)〜6e(27e)にて
構成され、加算回路26a(27a)は、X座標を補間
して生成する回路、加算回路26b(27b)は、Z値
を補間して生成する回路、加算回路26c(27c)
は、I(輝度値)を補間して生成する回路、加算回路2
6d(27d)は、MX値を補間して生成する回路、加
算回路26e(27e)は、MY値を補間して生成する
回路である。
れぞれ加算回路26a(27a)〜6e(27e)にて
構成され、加算回路26a(27a)は、X座標を補間
して生成する回路、加算回路26b(27b)は、Z値
を補間して生成する回路、加算回路26c(27c)
は、I(輝度値)を補間して生成する回路、加算回路2
6d(27d)は、MX値を補間して生成する回路、加
算回路26e(27e)は、MY値を補間して生成する
回路である。
【0067】これら加算回路の具体的構成例の一例を図
10に示す。この加算回路は、DDA変換部252で算
出された傾きデータを格納するレジスタ261を備えて
おり、このレジスタ261からのデータが加算器262
に与えられる。また、始点データはマルチプレクサ26
3に与えられ、このマルチプレクサ263には加算回路
262からの出力が与えられる。マルチプレクサ263
のデータはレジスタ264に保持され、このレジスタ2
64の値が加算回路262に与えられる。従って、始点
データはまず、マルチプレクサ263を介してレジスタ
264に保持され、そして、レジスタ264に保持され
た始点データとレジスタ261に保持された傾きデータ
が加算器262で加算され、その値がマルチプレクサ2
63に介してレジスタ264に与えられ、この補間され
たデータが出力される。続いて、前回補間されたデータ
と傾きデータとが加算器262で加算され、逐次補間処
理が行われる。
10に示す。この加算回路は、DDA変換部252で算
出された傾きデータを格納するレジスタ261を備えて
おり、このレジスタ261からのデータが加算器262
に与えられる。また、始点データはマルチプレクサ26
3に与えられ、このマルチプレクサ263には加算回路
262からの出力が与えられる。マルチプレクサ263
のデータはレジスタ264に保持され、このレジスタ2
64の値が加算回路262に与えられる。従って、始点
データはまず、マルチプレクサ263を介してレジスタ
264に保持され、そして、レジスタ264に保持され
た始点データとレジスタ261に保持された傾きデータ
が加算器262で加算され、その値がマルチプレクサ2
63に介してレジスタ264に与えられ、この補間され
たデータが出力される。続いて、前回補間されたデータ
と傾きデータとが加算器262で加算され、逐次補間処
理が行われる。
【0068】このエッジ展開を行う回数は、ピクセル展
開回路3を並列化したとき以外は、ピクセル展開を行う
回数に比べて少ない。従って、図9のように、1サイク
ルで全てのパラメータを補間する必要はない。
開回路3を並列化したとき以外は、ピクセル展開を行う
回数に比べて少ない。従って、図9のように、1サイク
ルで全てのパラメータを補間する必要はない。
【0069】図11は複数のパラメータを補間していく
加算回路を、図12はこの加算回路を用いた補間回路を
示す。図11に示すように、複数の傾きデータはマルチ
プレクサ265を介してシフトレジスタ267に与えら
れ、このシフトレジスタ267からはマルチプレクサ2
65及び加算器268に出力がそれぞれ与えられる。加
算回路268からはマルチプレクサ269を介してレジ
スタ270のデータが転送され、このレジスタ270か
らシフトレジスタ266を介して加算器266にデータ
が与えられる。複数の始点データはマルチプレクサ26
9を介してレジスタ270に与えられる。このように構
成することで、順次複数のパラメータの補間処理が行え
る。このように構成すれば、回路規模が小さくなる。ま
た、このように構成することで、傾きデータを算出する
ための除算回路も各パラメータごとに持つ必要はない。
加算回路を、図12はこの加算回路を用いた補間回路を
示す。図11に示すように、複数の傾きデータはマルチ
プレクサ265を介してシフトレジスタ267に与えら
れ、このシフトレジスタ267からはマルチプレクサ2
65及び加算器268に出力がそれぞれ与えられる。加
算回路268からはマルチプレクサ269を介してレジ
スタ270のデータが転送され、このレジスタ270か
らシフトレジスタ266を介して加算器266にデータ
が与えられる。複数の始点データはマルチプレクサ26
9を介してレジスタ270に与えられる。このように構
成することで、順次複数のパラメータの補間処理が行え
る。このように構成すれば、回路規模が小さくなる。ま
た、このように構成することで、傾きデータを算出する
ための除算回路も各パラメータごとに持つ必要はない。
【0070】更に、ピクセル展開回路3ではエッジ展開
回路2から出力された各パラメータの始点と終点、ここ
で、始点は左辺データ、終点は右辺データからピクセル
に補間する。計算方法はエッジ展開回路2と同じであ
る。図13にピクセル展開回路の構成を示す。
回路2から出力された各パラメータの始点と終点、ここ
で、始点は左辺データ、終点は右辺データからピクセル
に補間する。計算方法はエッジ展開回路2と同じであ
る。図13にピクセル展開回路の構成を示す。
【0071】初期演算部31にて各傾きデータの初期値
を演算し、この初期データを補間回路32に与える。補
間回路32は、前述の加算回路260と同様に構成さ
れ、DDAにより左辺と右辺の2点間に挟まれたスキャ
ンライン毎にピクセル展開して行く。この補間回路32
によって、ピクセル展開された各パラメータのうち、M
XsとMYsは逆変換回路33でMX、MYに変換しな
ければならない。図14にその逆変換回路の構成を示
す。なお、この回路の除算器331、332は逐次型除
算器である。ここで、分子はMXsとMYsの2種類で
あるが、分母はZsの1種類だけであるので、図16に
示す除算器を用いれば回路規模が小さくなる。この図1
6は2分子1分母除算器の具体的構成を示す回路図であ
る。この除算器を用いたピクセル展開回路を図15に示
す。なお、この除算器330には小数点以下の四捨五入
回路を含む。また分母のZsデータは除算結果と一緒に
出力されるので、シフトレジスタは不要となる。
を演算し、この初期データを補間回路32に与える。補
間回路32は、前述の加算回路260と同様に構成さ
れ、DDAにより左辺と右辺の2点間に挟まれたスキャ
ンライン毎にピクセル展開して行く。この補間回路32
によって、ピクセル展開された各パラメータのうち、M
XsとMYsは逆変換回路33でMX、MYに変換しな
ければならない。図14にその逆変換回路の構成を示
す。なお、この回路の除算器331、332は逐次型除
算器である。ここで、分子はMXsとMYsの2種類で
あるが、分母はZsの1種類だけであるので、図16に
示す除算器を用いれば回路規模が小さくなる。この図1
6は2分子1分母除算器の具体的構成を示す回路図であ
る。この除算器を用いたピクセル展開回路を図15に示
す。なお、この除算器330には小数点以下の四捨五入
回路を含む。また分母のZsデータは除算結果と一緒に
出力されるので、シフトレジスタは不要となる。
【0072】このようにして求めた(MX、MY)とフ
ラグ(FLAG)に含まれるテクスチャマップブロック
番号(MB)からテクスチャマップメモリ制御部34は
そのピクセルでのルックアップテーブルアドレス(LU
TAD)を読み出し、カラー演算回路5へ転送する。
ラグ(FLAG)に含まれるテクスチャマップブロック
番号(MB)からテクスチャマップメモリ制御部34は
そのピクセルでのルックアップテーブルアドレス(LU
TAD)を読み出し、カラー演算回路5へ転送する。
【0073】カラー演算回路5では、ピクセル展開回路
3から読み出されたLUTADとMBからルックアップ
テーブルメモリをアクセスし、そのピクセルの色情報
(R、G、B)を取り出す。そして、I、FR、FG、
FB(Iが最大値の時の色情報)から図17のフロー図
に従ってカラー演算を行う。ただしこのフロー図は一例
を示すに過ぎない。図18はFRの色強度を示す模式図
である。図19にカラー演算部のブロック図を示す。輝
度値Iはレジスタ51に与えられ、この輝度値がR演算
回路52に与えられる。このR演算回路にはFRとRが
与えられ、図19に示す強度応じて演算が行われる。ま
た、輝度値がG演算回路53に与えられる。このG演算
回路にはFGとGが与えられ、図19に示す強度と同様
に設定された強度で演算が行われる。更に、輝度値がB
演算回路54に与えられる。このB演算回路にはFBと
Bが与えられ、図19に示す強度と同様に設定された強
度応じて演算が行われる。これら各データはLUTアド
レス制御部により制御され、読み出される。
3から読み出されたLUTADとMBからルックアップ
テーブルメモリをアクセスし、そのピクセルの色情報
(R、G、B)を取り出す。そして、I、FR、FG、
FB(Iが最大値の時の色情報)から図17のフロー図
に従ってカラー演算を行う。ただしこのフロー図は一例
を示すに過ぎない。図18はFRの色強度を示す模式図
である。図19にカラー演算部のブロック図を示す。輝
度値Iはレジスタ51に与えられ、この輝度値がR演算
回路52に与えられる。このR演算回路にはFRとRが
与えられ、図19に示す強度応じて演算が行われる。ま
た、輝度値がG演算回路53に与えられる。このG演算
回路にはFGとGが与えられ、図19に示す強度と同様
に設定された強度で演算が行われる。更に、輝度値がB
演算回路54に与えられる。このB演算回路にはFBと
Bが与えられ、図19に示す強度と同様に設定された強
度応じて演算が行われる。これら各データはLUTアド
レス制御部により制御され、読み出される。
【0074】図17のフロー図に示すように、まず図1
8に80hより大きいか否か判断され(ステップ1)、
80hより大きい場合には、FRから80hの値を減算
し、そして、この結果に輝度値の上位7ビット分を乗算
する(ステップ2、4)。そして、80hより小さいと
きは、80hの値を出力し、この値に輝度値の上位7ビ
ット分を乗算する(ステップ3、4)。続いて、80h
より大きいか否か判断され(ステップ5)、大きい場合
には、R1とR0を加算し、また大きくない場合にはR
1の値を出力する。
8に80hより大きいか否か判断され(ステップ1)、
80hより大きい場合には、FRから80hの値を減算
し、そして、この結果に輝度値の上位7ビット分を乗算
する(ステップ2、4)。そして、80hより小さいと
きは、80hの値を出力し、この値に輝度値の上位7ビ
ット分を乗算する(ステップ3、4)。続いて、80h
より大きいか否か判断され(ステップ5)、大きい場合
には、R1とR0を加算し、また大きくない場合にはR
1の値を出力する。
【0075】メモリ制御回路7では、上述した方法で計
算したZsをピクセル展開したZsが格納されている。
そして、フレームメモリと同じフォーマットのZバッフ
ァメモリ8とフレームメモリ9(R、G、B値が格納さ
れている)の制御を行う。
算したZsをピクセル展開したZsが格納されている。
そして、フレームメモリと同じフォーマットのZバッフ
ァメモリ8とフレームメモリ9(R、G、B値が格納さ
れている)の制御を行う。
【0076】まず、Zバッファメモリ8のそのピクセル
のデータを読み出し計算したピクセルのZs値比較し、
Zs値の方が大きければ、すなわち、計算されたピクセ
ルが手前にあればフレームメモリとZバッファメモリに
それぞれのデータを書き込み、逆に小さければ何も書き
込まない。またCRTコントローラ10の制御信号によ
り、1つ前のフレームのRGBデータを読みだす。この
CRTコントローラ10はフレームメモリ9のRGBデ
ータをD/Aコンバータ、RGBエンコーダを経てコン
ポジットビデオ信号をCRTに出力する。
のデータを読み出し計算したピクセルのZs値比較し、
Zs値の方が大きければ、すなわち、計算されたピクセ
ルが手前にあればフレームメモリとZバッファメモリに
それぞれのデータを書き込み、逆に小さければ何も書き
込まない。またCRTコントローラ10の制御信号によ
り、1つ前のフレームのRGBデータを読みだす。この
CRTコントローラ10はフレームメモリ9のRGBデ
ータをD/Aコンバータ、RGBエンコーダを経てコン
ポジットビデオ信号をCRTに出力する。
【0077】以上のことを行えば、奥行きを考慮したテ
クスチャマッピングが可能となり、また並列化も可能と
なる。
クスチャマッピングが可能となり、また並列化も可能と
なる。
【0078】また、I(輝度値)に対してもMX、MY
に行った処理と同様の処理を行えば奥行きを考慮したグ
ローシェーディングが可能となる。
に行った処理と同様の処理を行えば奥行きを考慮したグ
ローシェーディングが可能となる。
【0079】すなわち、IをIs(Isはスクリーン座
標上の輝度値)に、 Is=I*Zs …(7)
標上の輝度値)に、 Is=I*Zs …(7)
【0080】Isをポリゴンデータからピクセルデータ
にDDAにより展開する。
にDDAにより展開する。
【0081】IsをIに、 I=Is/Zs …(8)
【0082】なお、この場合は、前述の2分子1分母除
算器を3分子1分母除算器にする。
算器を3分子1分母除算器にする。
【0083】この発明の画像処理装置の処理能力を向上
させるために並列化する場合、テクスチャマッピングメ
モリを並列化分用意するか或いは、高速のメモリを用意
しなければならない。
させるために並列化する場合、テクスチャマッピングメ
モリを並列化分用意するか或いは、高速のメモリを用意
しなければならない。
【0084】そこで、テクスチャマップの透明のフラグ
のみを格納した透明マッピングメモリを使用した実施例
を説明する。
のみを格納した透明マッピングメモリを使用した実施例
を説明する。
【0085】図20にマイクロプロセッサ部以降を並列
化したときのブロック図を示す。この例では、図6のテ
クスチャマッピングメモリのところに透明マッピングメ
モリを用い、ここで透明か否かのみを判断する。そし
て、フレームメモリにはRGBデータの変わりに、I、
MB、MX、MYを格納する。テクスチャマッピングメ
モリ、カラー演算はフレームメモリ読み出し時に行う。
化したときのブロック図を示す。この例では、図6のテ
クスチャマッピングメモリのところに透明マッピングメ
モリを用い、ここで透明か否かのみを判断する。そし
て、フレームメモリにはRGBデータの変わりに、I、
MB、MX、MYを格納する。テクスチャマッピングメ
モリ、カラー演算はフレームメモリ読み出し時に行う。
【0086】このように行えば、テクスチャマッピング
メモリは複数個使用しなくても良い。また、余分に透明
マッピングメモリが複数個必要になるが、テクスチャマ
ッピングメモリを複数個用いるよりはかなり容量が少な
くすむ。また、透明データの入ったテクスチャマップも
以前と同様に使用することができる。
メモリは複数個使用しなくても良い。また、余分に透明
マッピングメモリが複数個必要になるが、テクスチャマ
ッピングメモリを複数個用いるよりはかなり容量が少な
くすむ。また、透明データの入ったテクスチャマップも
以前と同様に使用することができる。
【0087】なお、図20のポリゴンレジスタファイル
(PolyRGF)とラインレジスタファイル(Lin
eRGF)はレジスタファイルまたはファーストインフ
ァーストアウト(FIFO)であり、これらを用いるこ
とで、無駄な処理を少なくしている。
(PolyRGF)とラインレジスタファイル(Lin
eRGF)はレジスタファイルまたはファーストインフ
ァーストアウト(FIFO)であり、これらを用いるこ
とで、無駄な処理を少なくしている。
【0088】
【発明の効果】この発明は、Z値の透視変換を、Zs=
1−CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて行うこと
で、従来の無駄な計算のみ省いているので、計算量が少
なく、また、精度も保たれる。
1−CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて行うこと
で、従来の無駄な計算のみ省いているので、計算量が少
なく、また、精度も保たれる。
【0089】また、この発明は、Z値の透視変換を、Z
s=CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて行うことで
も計算が簡単になり、全体の処理能力が向上する。
s=CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて行うことで
も計算が簡単になり、全体の処理能力が向上する。
【0090】更に、この発明は、スクリーン座標上のZ
値(Zs)を前方クリッピング面の値に応じて1/Ze
(Zeは視野座標上のZ値)を左シフトした値を用いる
ことでも、精度をあまり落とさずに処理能力が大幅に向
上させることができる。
値(Zs)を前方クリッピング面の値に応じて1/Ze
(Zeは視野座標上のZ値)を左シフトした値を用いる
ことでも、精度をあまり落とさずに処理能力が大幅に向
上させることができる。
【0091】上記1/Zeを演算した出力を、バレルシ
フタまたはマルチプレクサにより、CZFの値に応じて
シフトさせることで、更に、処理能力を向上させること
ができる。
フタまたはマルチプレクサにより、CZFの値に応じて
シフトさせることで、更に、処理能力を向上させること
ができる。
【0092】この発明の画像処理装置は、上記した方法
でZ値の透視変換を行う処理手段と、このZ値及び表示
するポリゴンのスクリーンデータ、テクスチャマップデ
ータをポリゴン辺の2点間の補間処理でエッジ展開する
手段と、エッジ展開された各データをエッジ2点間の補
間処理でピクセル展開する手段と、ピクセル展開された
テクスチャマップデータに応じてテクスチャマッピング
メモリからテクスチャデータとして読み出す手段と、を
備えることで、最適な処理を効率よく行うことができ
る。
でZ値の透視変換を行う処理手段と、このZ値及び表示
するポリゴンのスクリーンデータ、テクスチャマップデ
ータをポリゴン辺の2点間の補間処理でエッジ展開する
手段と、エッジ展開された各データをエッジ2点間の補
間処理でピクセル展開する手段と、ピクセル展開された
テクスチャマップデータに応じてテクスチャマッピング
メモリからテクスチャデータとして読み出す手段と、を
備えることで、最適な処理を効率よく行うことができ
る。
【0093】また、この発明の画像処理装置は、透視変
換を行う処理手段とエッジ展開手段との間にレジスタフ
ァイルを設け、数ポリゴン分のデータを一度に転送する
ことで、無駄な処理を軽減することができる。
換を行う処理手段とエッジ展開手段との間にレジスタフ
ァイルを設け、数ポリゴン分のデータを一度に転送する
ことで、無駄な処理を軽減することができる。
【0094】更に、この発明の画像処理装置は、テクス
チャマップデータを透視変換したZ値で乗算し、この乗
算したテクスチャマップデータをピクセル展開し、ピク
セル展開したテクスチャマップデータを透視変換したZ
値で除算することで、奥行きを考慮したテクスチャマッ
ピングが行える。
チャマップデータを透視変換したZ値で乗算し、この乗
算したテクスチャマップデータをピクセル展開し、ピク
セル展開したテクスチャマップデータを透視変換したZ
値で除算することで、奥行きを考慮したテクスチャマッ
ピングが行える。
【0095】上記ピクセル展開手段として、2分子1分
母除算器を用いることで、回路規模を小さくできる。
母除算器を用いることで、回路規模を小さくできる。
【図1】この発明の第1の実施例の全体構成を示すブロ
ック図である。
ック図である。
【図2】エッジ展開回路の入力部を構成するシフタ回路
を示すブロック図である。
を示すブロック図である。
【図3】この発明に用いられるレジスタファイルの構成
を示すブロック図である。
を示すブロック図である。
【図4】エッジ展開回路の一例を示すブロック図であ
る。
る。
【図5】ポリゴンデータを示す模式図である。
【図6】この発明の第2の実施例の全体構成を示すブロ
ック図である。
ック図である。
【図7】エッジ展開回路の一例を示すブロック図であ
る。
る。
【図8】初期化演算回路の一例を示すブロック図であ
る。
る。
【図9】補間回路の一例を示すブロック図である。
【図10】補間回路に用いられる加算回路の構成例を示
すブロック図である。
すブロック図である。
【図11】複数のパラメータを補間する加算回路の構成
例を示すブロック図である。
例を示すブロック図である。
【図12】図11の加算回路を用いた補間回路を示すブ
ロック図である。
ロック図である。
【図13】ピクセル展開回路の一例を示すブロック図で
ある。
ある。
【図14】逆変換回路の構成を示すブロック図である。
【図15】ピクセル展開回路の構成を示すブロック図で
ある。
ある。
【図16】2分子1分母除算器の具体的構成を示す回路
図である。
図である。
【図17】カラー演算の動作を示す模式図である。
【図18】FRの色強度を示す模式図である。
【図19】カラー演算部の構成を示すブロック図であ
る。
る。
【図20】マイクロプロセッサ部以降を並列化した時の
ブロック図である。
ブロック図である。
【図21】ポリゴンとZ値との関係を示す図である。
【図22】ポリゴンとZ値との関係を示す図である。
1 マイクロプロセッサ部 2 エッジ展開回路 3 ピクセル展開回路 4 テクスチャマッピングメモリ 5 カラー演算回路
フロントページの続き (56)参考文献 特開 平5−189203(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/40 200 G06T 15/30
Claims (11)
- 【請求項1】 Zバッファ法による隠面処理に用いられ
るスクリーン座標上のZ値を透視変換により算出するZ
値の透視変換処理方法において、前方クリップ面のZ値
をCZFとし、後方クリップ面のZ値をCZBとし、Z
値の透視変換値を、 Zs=1−CZF/Ze(ここで、Zsはスクリーン座
標上のZ値、Zeは視野座標上のZ値)に基づいて算出
することを特徴とするZ値の透視変換処理方法。 - 【請求項2】 Zバッファ法による隠面処理に用いられ
るスクリーン座標上のZ値を透視変換により算出するZ
値の透視変換処理方法において、前方クリップ面のZ値
をCZFとし、後方クリップ面のZ値をCZBとした
時、Z値の透視変換値を、 Zs=CZF/Ze(ここで、Zsはスクリーン座標上
のZ値、Zeは視野座標上のZ値)に基づいて算出する
ことを特徴とするZ値の透視変換処理方法。 - 【請求項3】 Zバッファ法による隠面処理に用いられ
るスクリーン座標上のZ値を透視変換により算出するZ
値の透視変換処理方法において、前方クリップ面のZ値
をCZFとし、後方クリップ面のZ値をCZBとした
時、スクリーン座標上のZ値(Zs)を前方クリッピン
グ面のZ値に応じて1/Ze(Zeは視野座標上のZ
値)を左シフトした値を用いることを特徴とするZ値の
透視変換処理方法。 - 【請求項4】 上記1/Zeを演算した出力を、バレル
シフタまたはマルチプレクサにより、CZFの値に応じ
てシフトさせることを特徴とする請求項3に記載のZ値
の透視変換処理方法。 - 【請求項5】 上記請求項1ないし3のいずれかに記載
した方法でZ値の透視変換を行う処理手段と、このZ値
及び表示するポリゴンのスクリーンデータ、テクスチャ
マップアドレスデータをポリゴン辺の2点間の補間処理
でエッジ展開する手段と、エッジ展開された各データを
エッジ2点間の補間処理でピクセル展開する手段と、ピ
クセル展開されたテクスチャマップアドレスデータに応
じてテクスチャマッピングメモリからテクスチャデータ
を読み出す手段と、を備える画像処理装置。 - 【請求項6】 透視変換を行う処理手段とエッジ展開手
段との間にレジスタファイルを設け、数ポリゴン分のデ
ータを一度に転送することを特徴とする請求項5に記載
の画像処理装置。 - 【請求項7】 テクスチャマップアドレスデータを透視
変換したZ値で乗算し、この乗算したテクスチャマップ
アドレスデータをピクセル展開し、ピクセル展開したテ
クスチャマップデータを透視変換したZ値で除算するこ
とを特徴とする請求項5または6に記載の画像処理装
置。 - 【請求項8】 上記エッジ展開手段は、ポリゴンを構成
する辺の傾きが入力される第1のマルチプレクサと、こ
の傾きデータを格納するシフトレジスタと、このシフト
レジスタからの出力をフィードバックして前記第1のマ
ルチプレクサに与える手段と、前記シフトレジスタの出
力を一方の入力とする加算器と、この加算器の出力及び
始点データが入力される第2のマルチプレクサと、前記
第2のマルチプレクサからの出力を格納するシフトレジ
スタと、このシフトレジスタからの出力を前記加算回路
に与える手段とからなることを特徴とする請求項5ない
し6のいずれかに記載の画像処理装置。 - 【請求項9】 ピクセル展開手段として、2分子1分母
除算器を用いたことを特徴とする請求項5ないし8のい
ずれかに記載の画像処理装置。 - 【請求項10】 輝度値データを透視変換したZ値で乗
算し、この乗算した輝度値データをピクセル展開し、ピ
クセル展開した輝度値データを透視変換したZ値で除算
することを特徴とする請求項5または6に記載の画像処
理装置。 - 【請求項11】 透明か否かのフラグを格納した透明マ
ッピングメモリを備えてなる請求項5または6に記載の
画像処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25508694A JP3358891B2 (ja) | 1994-06-20 | 1994-10-20 | Z値の透視変換処理方法及び画像処理装置 |
| US08/607,277 US5771046A (en) | 1994-06-20 | 1996-02-21 | Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13768894 | 1994-06-20 | ||
| JP6-137688 | 1994-06-20 | ||
| JP25508694A JP3358891B2 (ja) | 1994-06-20 | 1994-10-20 | Z値の透視変換処理方法及び画像処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0869546A JPH0869546A (ja) | 1996-03-12 |
| JP3358891B2 true JP3358891B2 (ja) | 2002-12-24 |
Family
ID=26470917
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25508694A Expired - Fee Related JP3358891B2 (ja) | 1994-06-20 | 1994-10-20 | Z値の透視変換処理方法及び画像処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3358891B2 (ja) |
-
1994
- 1994-10-20 JP JP25508694A patent/JP3358891B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0869546A (ja) | 1996-03-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3860859B2 (ja) | 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム | |
| EP0360155B1 (en) | Image transformation method and device | |
| US6275235B1 (en) | High precision texture wrapping method and device | |
| EP1025558B1 (en) | A method and apparatus for performing chroma key, transparency and fog operations | |
| JP3107452B2 (ja) | テクスチャマッピング方法およびその装置 | |
| JPH0916806A (ja) | 立体画像処理装置 | |
| JP3349871B2 (ja) | 画像処理装置 | |
| WO1996031844A1 (en) | Graphics system | |
| JPH09223244A (ja) | 3次元オブジェクトを高速にレンダリングする方法および装置 | |
| WO1996028794A1 (en) | Three-dimensional graphic display device | |
| US5771046A (en) | Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions | |
| US5892516A (en) | Perspective texture mapping circuit having pixel color interpolation mode and method thereof | |
| US20030160799A1 (en) | Reconfigurable hardware filter for texture mapping and image processing | |
| US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
| US5657436A (en) | Preprocessing apparatus and method for line scan conversion in a computer graphics system | |
| JPH09134452A (ja) | コンピュータ・グラフィックス・ディスプレイ・システムにおける奥行きバッファ値の高速補間方法及びグラフィックス・システム | |
| JP3358891B2 (ja) | Z値の透視変換処理方法及び画像処理装置 | |
| US6847378B2 (en) | System and method for performing scale and bias operations by preclamping input image data | |
| JP3311905B2 (ja) | 画像処理装置 | |
| US6460063B1 (en) | Division circuit and graphic display processing apparatus | |
| JPH11185052A (ja) | 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法 | |
| US6847372B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
| JPH07105404A (ja) | 立体画像処理装置及びその処理方法 | |
| JP2003263650A (ja) | 画像処理装置およびその方法 | |
| JP2007128180A (ja) | 演算処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |