JP3349871B2 - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JP3349871B2 JP3349871B2 JP19708095A JP19708095A JP3349871B2 JP 3349871 B2 JP3349871 B2 JP 3349871B2 JP 19708095 A JP19708095 A JP 19708095A JP 19708095 A JP19708095 A JP 19708095A JP 3349871 B2 JP3349871 B2 JP 3349871B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- coordinate
- pixel
- buffer
- viewpoint
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、Zバッファ法を用
いて、隠面処理を行なう画像処理装置に関する。
いて、隠面処理を行なう画像処理装置に関する。
【0002】
【従来の技術】3次元グラフィック機能を実現する際に
必要な隠面処理方法として、従来、PIXEL(No.
73)、p88−89に示す「Zバッファ法のアルゴリ
ズム」などのZバッファ法を用いた方法が各種、提案さ
れている。この場合、PIXEL(No.73)、p8
8−89に示す「Zバッファ法のアルゴリズム」は、物
体(ポリゴン)をフレームバッファ上に描いていると
き、既に手前に物体があり、その物体に隠れてしまう場
合にはなにもせず、目に見える可能性がある場合に、フ
レームバッファの色を塗り替えていくという処理を各ピ
クセル毎に行なって、物体の3次元画像を作成すること
を基本としている。具体的には、図6に示す如く“バッ
ファの初期化処理”、“座標変換処理”、“クリッピン
グ処理”、“透視変換処理”、“スキャン変換処理”を
順次、行なって、物体の3次元画像を作成する。
必要な隠面処理方法として、従来、PIXEL(No.
73)、p88−89に示す「Zバッファ法のアルゴリ
ズム」などのZバッファ法を用いた方法が各種、提案さ
れている。この場合、PIXEL(No.73)、p8
8−89に示す「Zバッファ法のアルゴリズム」は、物
体(ポリゴン)をフレームバッファ上に描いていると
き、既に手前に物体があり、その物体に隠れてしまう場
合にはなにもせず、目に見える可能性がある場合に、フ
レームバッファの色を塗り替えていくという処理を各ピ
クセル毎に行なって、物体の3次元画像を作成すること
を基本としている。具体的には、図6に示す如く“バッ
ファの初期化処理”、“座標変換処理”、“クリッピン
グ処理”、“透視変換処理”、“スキャン変換処理”を
順次、行なって、物体の3次元画像を作成する。
【0003】<バッファの初期化処理>バッファの初期化処理は、 各シーン(計算機の中に作っ
た風景)の背景となる色を決定するのに必要な処理であ
り、フレームバッファ内にある各ピクセルの色を黒、あ
るいはバックグラウンドの色に初期化するとともに、Z
バッファに無限遠にあたる値を入れる。例えば、後述す
る「透視変換処理」で説明するように、奥行きの範囲が
“0”から“1”の間に正規化されている場合には、Z
バッファの全アドレスに“1”を入れる。 <座標変換処理> また、座標変換処理は、シーンの各部分に各物体を配置
するのに必要な処理であり、シーン内に配置される各物
体を構成している各ポリゴンの頂点座標値、すなわち各
部品毎のローカルな座標系(モデリング座標系、ボディ
座標系と称される座標系)を回転、移動、縮小、拡大さ
せて、シーン全体の座標系(ワールド座標系)に変換し
た後、ワールド座標系で記述された各部品の座標を視点
座標系に変換して、シーンをある視点から眺めたときに
見える各物体のポリゴン座標値を作成する。
た風景)の背景となる色を決定するのに必要な処理であ
り、フレームバッファ内にある各ピクセルの色を黒、あ
るいはバックグラウンドの色に初期化するとともに、Z
バッファに無限遠にあたる値を入れる。例えば、後述す
る「透視変換処理」で説明するように、奥行きの範囲が
“0”から“1”の間に正規化されている場合には、Z
バッファの全アドレスに“1”を入れる。 <座標変換処理> また、座標変換処理は、シーンの各部分に各物体を配置
するのに必要な処理であり、シーン内に配置される各物
体を構成している各ポリゴンの頂点座標値、すなわち各
部品毎のローカルな座標系(モデリング座標系、ボディ
座標系と称される座標系)を回転、移動、縮小、拡大さ
せて、シーン全体の座標系(ワールド座標系)に変換し
た後、ワールド座標系で記述された各部品の座標を視点
座標系に変換して、シーンをある視点から眺めたときに
見える各物体のポリゴン座標値を作成する。
【0004】<クリッピング処理>また、クリッピング
処理は、視点座標系に変換された各物体のポリゴン座標
値を視点座標系上に設定されたスクリーンに投影した
際、このスクリーンからはみ出してしまう部分(視点か
ら見えなくなってしまう部分)を切り捨てる処理であ
り、図7に示す如く上述した座標変換処理で得られたシ
ーン内にある各部品のポリゴン座標値のうち、視点から
見える範囲、すなわち6つのクリッピング平面で囲まれ
たビューボリュームと呼ばれる四角錐台の内部にあるポ
リゴン座標値を残して、他のポリゴン座標値をカットす
る。 <透視変換処理>また、透視変換処理は、スクリーン上
に投影される各部品のうち、視点に近い部品が大きく見
え、視点から遠い部品が小さく見えるようにパースをか
ける処理であり、Zバッファ法を使用して隠面処理を行
なうとき、下記の(1)式に示す4×4のマトリックス
を使用した演算を行なって、パラメータx、y、z、w
を求めた後、さらに下記の(2)式に示す演算を行なっ
て、視点座標系で表現された各部品のポリゴン座標値を
透視座標系に変換する。
処理は、視点座標系に変換された各物体のポリゴン座標
値を視点座標系上に設定されたスクリーンに投影した
際、このスクリーンからはみ出してしまう部分(視点か
ら見えなくなってしまう部分)を切り捨てる処理であ
り、図7に示す如く上述した座標変換処理で得られたシ
ーン内にある各部品のポリゴン座標値のうち、視点から
見える範囲、すなわち6つのクリッピング平面で囲まれ
たビューボリュームと呼ばれる四角錐台の内部にあるポ
リゴン座標値を残して、他のポリゴン座標値をカットす
る。 <透視変換処理>また、透視変換処理は、スクリーン上
に投影される各部品のうち、視点に近い部品が大きく見
え、視点から遠い部品が小さく見えるようにパースをか
ける処理であり、Zバッファ法を使用して隠面処理を行
なうとき、下記の(1)式に示す4×4のマトリックス
を使用した演算を行なって、パラメータx、y、z、w
を求めた後、さらに下記の(2)式に示す演算を行なっ
て、視点座標系で表現された各部品のポリゴン座標値を
透視座標系に変換する。
【0005】
【数1】 但し、xe :視点座標系で表現されたポリゴンのX値 ye :視点座標系で表現されたポリゴンのY値 ze :視点座標系で表現されたポリゴンのZ値 xs :透視座標系で表現されたポリゴンのX値 ys :透視座標系で表現されたポリゴンのY値 zs :透視座標系で表現されたポリゴンのZ値 A :定数 B :定数 C :定数 そして、視点からスクリーンまでの距離を“d”とすれ
ば、前記(1)式中で使用される各定数は、通常、
ば、前記(1)式中で使用される各定数は、通常、
【0006】
【数2】 となる。このとき、図8(a)に示す如く視点座標系上
に直線a、bがあり、これをXYだけ透視座標に変換す
ると、図8(b)に示す如く直線が直線に、平面が平面
に写像されなくなり、前後関係が入れ替わってしまうた
め、前記(1)式によってZの値をも透視座標に変換し
て、図8(c)に示す如く直線が直線に、平面が平面に
写像されるようにしている。さらに、この透視座標に変
換する際、Zの値が手前の方で粗になり、奥の方で密に
なるため、結果として精度が悪くなってしまうことがあ
るため、精度を良くする必要があるときには、前記
(1)式で使用される各定数の値となる、前記(3)式
に示す値に代えて、次式に示す値を使用し、これによっ
てZの値を“0”と、“1”との間に正規化し、ビュー
ボリュームの奥行き方向の範囲をなるべく狭くし、この
ような問題が発生しないようにしている。
に直線a、bがあり、これをXYだけ透視座標に変換す
ると、図8(b)に示す如く直線が直線に、平面が平面
に写像されなくなり、前後関係が入れ替わってしまうた
め、前記(1)式によってZの値をも透視座標に変換し
て、図8(c)に示す如く直線が直線に、平面が平面に
写像されるようにしている。さらに、この透視座標に変
換する際、Zの値が手前の方で粗になり、奥の方で密に
なるため、結果として精度が悪くなってしまうことがあ
るため、精度を良くする必要があるときには、前記
(1)式で使用される各定数の値となる、前記(3)式
に示す値に代えて、次式に示す値を使用し、これによっ
てZの値を“0”と、“1”との間に正規化し、ビュー
ボリュームの奥行き方向の範囲をなるべく狭くし、この
ような問題が発生しないようにしている。
【0007】
【数3】 <スキャン変換処理>また、スキャン変換処理は、各部
品のポリゴン座標値に対応するポリゴンエッジの情報に
基づき、ポリゴン内部を塗り潰して、物体を構成する各
ポリゴンの面を形成する処理であり、図9に示す如くポ
リゴンエッジを縦方向(Y方向)と、横方向(X方向)
とに分けた2段階の処理で、面の塗り潰しを行なう。こ
の際、まず、エッジの両端の頂点の値をY値によって線
形に補間して、右側のエッジと、左側のエッジとを求
め、それぞれのエッジに対して、各スキャンライン(横
方向に並ぶピクセルの中心を通る直線)との交点上にあ
るピクセルのX値、Z値を求めた後、各スキャンライン
上にある各ピクセルのうち、左のエッジのX値から右の
エッジのX値までの範囲にあるX値を持つピクセルを選
択し、左右のエッジのZ値を補間して、選択したピクセ
ルのZバッファ値を求めて隠面処理を行ないながら、シ
ェーディング計算によって前記ピクセルのフレームバッ
ファ色を求め、これを塗り潰す。
品のポリゴン座標値に対応するポリゴンエッジの情報に
基づき、ポリゴン内部を塗り潰して、物体を構成する各
ポリゴンの面を形成する処理であり、図9に示す如くポ
リゴンエッジを縦方向(Y方向)と、横方向(X方向)
とに分けた2段階の処理で、面の塗り潰しを行なう。こ
の際、まず、エッジの両端の頂点の値をY値によって線
形に補間して、右側のエッジと、左側のエッジとを求
め、それぞれのエッジに対して、各スキャンライン(横
方向に並ぶピクセルの中心を通る直線)との交点上にあ
るピクセルのX値、Z値を求めた後、各スキャンライン
上にある各ピクセルのうち、左のエッジのX値から右の
エッジのX値までの範囲にあるX値を持つピクセルを選
択し、左右のエッジのZ値を補間して、選択したピクセ
ルのZバッファ値を求めて隠面処理を行ないながら、シ
ェーディング計算によって前記ピクセルのフレームバッ
ファ色を求め、これを塗り潰す。
【0008】そして、最後のピクセルを処理したとき、
フレームバッファに格納されている各ピクセルの色をラ
スタ方向に読み出し、これをD/A変換回路(図示は省
略する)に供給して、CRT(図示は省略する)上に画
面表示させる。ところで、このPIXEL(No.7
3)、p88−89に示す「Zバッファ法のアルゴリズ
ム」などのZバッファ法を用いた方法では、次に述べる
ような問題があった。まず、PIXEL(No.7
3)、p88−89に示す「Zバッファ法のアルゴリズ
ム」では、Zバッファ法を用いて隠面処理を行なう際、
直線を直線に、平面を平面に写像させるために、各ポリ
ゴンのX値、Y値のみならず、Z値に対しても、透視変
換を行なわなければならない。
フレームバッファに格納されている各ピクセルの色をラ
スタ方向に読み出し、これをD/A変換回路(図示は省
略する)に供給して、CRT(図示は省略する)上に画
面表示させる。ところで、このPIXEL(No.7
3)、p88−89に示す「Zバッファ法のアルゴリズ
ム」などのZバッファ法を用いた方法では、次に述べる
ような問題があった。まず、PIXEL(No.7
3)、p88−89に示す「Zバッファ法のアルゴリズ
ム」では、Zバッファ法を用いて隠面処理を行なう際、
直線を直線に、平面を平面に写像させるために、各ポリ
ゴンのX値、Y値のみならず、Z値に対しても、透視変
換を行なわなければならない。
【0009】この際、前記(1)式、(2)式および
(4)式から明らかなように、次式に示すようにして、
Z値を“0”と、“1”との間に正規化し、透視変換し
なければならない。
(4)式から明らかなように、次式に示すようにして、
Z値を“0”と、“1”との間に正規化し、透視変換し
なければならない。
【0010】
【数4】 但し、Zs :透視座標上のZ値 Ze :視点座標上(視野座標上)のZ値 W :パラメータ CZF:前方クリップ面のZ値 CZB:後方クリップ面のZ値 しかしながら、レースもののゲームなどのように、前方
クリップ面の値CZFと、後方クリップ面の値CZBと
の距離が大きくなる場合には、図10に示す如く各ポリ
ゴンのZ値が視点から見て、手前側で大きく変化するも
のの、奥側ではほとんど変化しなくるため、視点から見
て、かなり手前側でしか、Z値の比較を行なうことがで
きなくなる。
クリップ面の値CZFと、後方クリップ面の値CZBと
の距離が大きくなる場合には、図10に示す如く各ポリ
ゴンのZ値が視点から見て、手前側で大きく変化するも
のの、奥側ではほとんど変化しなくるため、視点から見
て、かなり手前側でしか、Z値の比較を行なうことがで
きなくなる。
【0011】そこで、このような問題を解決する方法と
して、Z値に割り当てるビット数を多くして、視点から
見て奥側でも、Z値の比較を容易にすることも考えられ
るが、このような方法では、Zバッファメモリの容量が
増えてしまうとう問題が発生する。そこで、このような
問題を解決する方法として、従来、特開平3−1566
86号に示す「対数変換器付きZバッファ回路」などが
提案されている。
して、Z値に割り当てるビット数を多くして、視点から
見て奥側でも、Z値の比較を容易にすることも考えられ
るが、このような方法では、Zバッファメモリの容量が
増えてしまうとう問題が発生する。そこで、このような
問題を解決する方法として、従来、特開平3−1566
86号に示す「対数変換器付きZバッファ回路」などが
提案されている。
【0012】この特開平3−156686号に示す「対
数変換器付きZバッファ回路」は、上述したスキャン変
換処理で行われるZバッファを使用した隠面処理を行な
う際に、Zの値が手前の方で粗になり、奥の方で密にな
って、精度が悪くなってしまうという欠点を解消するた
めになされた提案であり、図11に示す如く第1乗算器
101、加算器102、第2乗算器103によって構成
される対数変換部104によって各ピクセルのZ値を対
数変換した後、これをZバッファメモリ部105に供給
して、読み出しレジスタ106によってZバッファメモ
リ107内から同じアドレスを持つピクセルのZ値を読
み出させ、比較器108によってこれせ同一アドレスを
持つ各ピクセルのZ値を比較させ、書込みレジスタ10
9によって、これら各ピクセルのうち、Z値が小さい方
のピクセルを残すことにより、視点から見える方のピク
セルを残す。
数変換器付きZバッファ回路」は、上述したスキャン変
換処理で行われるZバッファを使用した隠面処理を行な
う際に、Zの値が手前の方で粗になり、奥の方で密にな
って、精度が悪くなってしまうという欠点を解消するた
めになされた提案であり、図11に示す如く第1乗算器
101、加算器102、第2乗算器103によって構成
される対数変換部104によって各ピクセルのZ値を対
数変換した後、これをZバッファメモリ部105に供給
して、読み出しレジスタ106によってZバッファメモ
リ107内から同じアドレスを持つピクセルのZ値を読
み出させ、比較器108によってこれせ同一アドレスを
持つ各ピクセルのZ値を比較させ、書込みレジスタ10
9によって、これら各ピクセルのうち、Z値が小さい方
のピクセルを残すことにより、視点から見える方のピク
セルを残す。
【0013】この際、対数変換部104によって、比較
対象となるピクセルのZ値に対数特性を付与した後、Z
バッファメモリ部105で同一アドレスを持つ各ピクセ
ルのZ値を比較させるようにしているので、Zの値が本
来持っている特性、すなわち手前の方で粗になり、奥の
方で密になって、精度が悪くなるという特性を補償し、
これによって各ピクセル毎に付加されるZ値のビット数
を少なくして、Zバッファメモリ107の容量を削減さ
せることができる。しかしながら、この方法は、対数特
性を利用して、図10に示す如くZ値の特性全体を粗に
するようにしているので、視点から奥の方であまり粗に
ならず、Z値の特性全体を粗にするという点で、十分な
ものではなかった。
対象となるピクセルのZ値に対数特性を付与した後、Z
バッファメモリ部105で同一アドレスを持つ各ピクセ
ルのZ値を比較させるようにしているので、Zの値が本
来持っている特性、すなわち手前の方で粗になり、奥の
方で密になって、精度が悪くなるという特性を補償し、
これによって各ピクセル毎に付加されるZ値のビット数
を少なくして、Zバッファメモリ107の容量を削減さ
せることができる。しかしながら、この方法は、対数特
性を利用して、図10に示す如くZ値の特性全体を粗に
するようにしているので、視点から奥の方であまり粗に
ならず、Z値の特性全体を粗にするという点で、十分な
ものではなかった。
【0014】
【発明が解決しようとする課題】本発明は上記に鑑みて
なされたものであり、Z値のビット数を増やすことな
く、Z値の値を全体的に粗にして、視点座標系で表現さ
れた各部品のポリゴン座標値を透視座標系に変換する
際、直線を直線に、平面を平面に正確に写像させること
ができ、これによってZバッファメモリの容量を少なく
したまま、精度良く、かつ高速でZ値の比較を行なうこ
とができる画像処理装置を提供することを目的としてい
る。
なされたものであり、Z値のビット数を増やすことな
く、Z値の値を全体的に粗にして、視点座標系で表現さ
れた各部品のポリゴン座標値を透視座標系に変換する
際、直線を直線に、平面を平面に正確に写像させること
ができ、これによってZバッファメモリの容量を少なく
したまま、精度良く、かつ高速でZ値の比較を行なうこ
とができる画像処理装置を提供することを目的としてい
る。
【0015】
【課題を解決する為の手段】上記の目的を達成するため
に、本発明は、各部品の情報に基づき、座標変換処理、
透視変換処理、Zバッファ法による隠面処理を行い、各
シーンの3次元画像を作成する画像処理装置において、
座標変換後の視野座標上のZ値座標をZ方向に、視点
(原点)に近い方では間隔を狭く、遠い方では間隔を広
く分割して、複数の空間を作成し、これら各空間毎に、
Z値を0と1の間に正規化して透視変換を行い、該透視
変換で正規化された各Z値に空間番号を付加し、この空
間番号の付加されたZ値を使用して隠面処理を行うこと
を特徴としている。
に、本発明は、各部品の情報に基づき、座標変換処理、
透視変換処理、Zバッファ法による隠面処理を行い、各
シーンの3次元画像を作成する画像処理装置において、
座標変換後の視野座標上のZ値座標をZ方向に、視点
(原点)に近い方では間隔を狭く、遠い方では間隔を広
く分割して、複数の空間を作成し、これら各空間毎に、
Z値を0と1の間に正規化して透視変換を行い、該透視
変換で正規化された各Z値に空間番号を付加し、この空
間番号の付加されたZ値を使用して隠面処理を行うこと
を特徴としている。
【0016】
【作用】本発明では、座標変換後の視野座標上のZ値座
標をZ方向に、視点(原点)に近い方では間隔を狭く、
遠い方では間隔を広く分割して、複数の空間を作成し、
これら各空間毎に、Z値を0と1の間に正規化して透視
変換を行ない、この透視変換を行なう際に使用した空間
の番号を付加したZ値を使用して隠面処理を行なうこと
により、Z値のビット数を増やすことなく、Z値の値を
全体的に粗にして、視点座標系で表現された各部品のポ
リゴン座標値を透視座標系に変換する際、直線を直線
に、平面を平面に正確に写像させ、これによってZバッ
ファメモリの容量を少なくしたまま、精度良く、かつ高
速でZ値の比較を行なう。
標をZ方向に、視点(原点)に近い方では間隔を狭く、
遠い方では間隔を広く分割して、複数の空間を作成し、
これら各空間毎に、Z値を0と1の間に正規化して透視
変換を行ない、この透視変換を行なう際に使用した空間
の番号を付加したZ値を使用して隠面処理を行なうこと
により、Z値のビット数を増やすことなく、Z値の値を
全体的に粗にして、視点座標系で表現された各部品のポ
リゴン座標値を透視座標系に変換する際、直線を直線
に、平面を平面に正確に写像させ、これによってZバッ
ファメモリの容量を少なくしたまま、精度良く、かつ高
速でZ値の比較を行なう。
【0017】
【発明の実施の形態】以下、本発明を添付図面に示した
実施例により詳細に説明する。図1は本発明による画像
処理装置の一実施例を示すブロック図である。この図に
示す画像処理装置1は、幾何変換装置2と、隠面処理装
置3と、Zバッファメモリ4と、フレームメモリ5とを
備えており、シーンの内容を示すシーン情報およびシー
ンを構成する各部品の情報を取込み、これらの情報に基
づき、“バッファの初期化処理”、“座標変換処理”、
“クリッピング処理”、“透視変換処理”、“スキャン
変換処理”を順次、行なって、物体の3次元画像を作成
し、これをD/A変換回路(図示は省略する)に供給し
て、CRT(図示は省略する)上に表示させる。
実施例により詳細に説明する。図1は本発明による画像
処理装置の一実施例を示すブロック図である。この図に
示す画像処理装置1は、幾何変換装置2と、隠面処理装
置3と、Zバッファメモリ4と、フレームメモリ5とを
備えており、シーンの内容を示すシーン情報およびシー
ンを構成する各部品の情報を取込み、これらの情報に基
づき、“バッファの初期化処理”、“座標変換処理”、
“クリッピング処理”、“透視変換処理”、“スキャン
変換処理”を順次、行なって、物体の3次元画像を作成
し、これをD/A変換回路(図示は省略する)に供給し
て、CRT(図示は省略する)上に表示させる。
【0018】幾何変換装置2はシーンの内容を示すシー
ン情報およびシーンを構成する各部品の情報を取込み、
これらの情報に基づき、“バッファの初期化処理”、
“座標変換処理”、“クリッピング処理”、“透視変換
処理”を行なう装置であり、透視変換処理を行なうと
き、図2に示す如く視野座標上にあるZ値座標をZ方向
に、視点(原点)に近い方では間隔を狭く、遠い方では
間隔を広く複数に分割し、図3に示す如くこれら各分割
領域(空間)毎に、Z値を0と1の間に正規化して、各
物体を構成するポリゴンのZ値を求める。
ン情報およびシーンを構成する各部品の情報を取込み、
これらの情報に基づき、“バッファの初期化処理”、
“座標変換処理”、“クリッピング処理”、“透視変換
処理”を行なう装置であり、透視変換処理を行なうと
き、図2に示す如く視野座標上にあるZ値座標をZ方向
に、視点(原点)に近い方では間隔を狭く、遠い方では
間隔を広く複数に分割し、図3に示す如くこれら各分割
領域(空間)毎に、Z値を0と1の間に正規化して、各
物体を構成するポリゴンのZ値を求める。
【0019】この際、Z方向を4分割する場合には、一
番手前の空間(第0空間)では、前記(5)式におい
て、前方クリップ面の値CZFとして、元の値をそのま
ま使用し、また後方クリップ面の値CZBとして、この
第0空間の最大値を使用した演算を行なって、透視変換
を行なう。また、第0空間の奥側にある第1空間では、
前記(5)式において、前方クリップ面の値CZFとし
て、この第1空間の最小値を使用し、また後方クリップ
面の値CZBとして、この第1空間の最大値を使用した
演算を行なって、透視変換を行なう。
番手前の空間(第0空間)では、前記(5)式におい
て、前方クリップ面の値CZFとして、元の値をそのま
ま使用し、また後方クリップ面の値CZBとして、この
第0空間の最大値を使用した演算を行なって、透視変換
を行なう。また、第0空間の奥側にある第1空間では、
前記(5)式において、前方クリップ面の値CZFとし
て、この第1空間の最小値を使用し、また後方クリップ
面の値CZBとして、この第1空間の最大値を使用した
演算を行なって、透視変換を行なう。
【0020】以下、同様に、第1空間の奥側にある第2
空間、第3空間では、前記(5)式において、前方クリ
ップ面の値CZFとして、これら第2空間、第3空間の
最小値を使用し、また後方クリップ面の値CZBとし
て、これら第2空間、第3空間の最大値を使用した演算
を行なって、透視変換を行なう。そして、この透視変換
処理で正規化された各Z値の上位ビット側に、図4に示
す如く空間番号を付加して、どの空間で正規化したかを
示すことにより、図5に示す如く視野座標上のZ値と、
透視変換後のZ値とを対応させることができる。この結
果、この図5に示す視野座標上のZ値と透視変換後のZ
値との関係と、図10に示す視野座標上のZ値と透視変
換後のZ値との関係とを比較すれば分かるように、視点
から奥側にあるポリゴンについても、Z値を粗にするこ
とができ、Z値の比較を容易にすることができる。
空間、第3空間では、前記(5)式において、前方クリ
ップ面の値CZFとして、これら第2空間、第3空間の
最小値を使用し、また後方クリップ面の値CZBとし
て、これら第2空間、第3空間の最大値を使用した演算
を行なって、透視変換を行なう。そして、この透視変換
処理で正規化された各Z値の上位ビット側に、図4に示
す如く空間番号を付加して、どの空間で正規化したかを
示すことにより、図5に示す如く視野座標上のZ値と、
透視変換後のZ値とを対応させることができる。この結
果、この図5に示す視野座標上のZ値と透視変換後のZ
値との関係と、図10に示す視野座標上のZ値と透視変
換後のZ値との関係とを比較すれば分かるように、視点
から奥側にあるポリゴンについても、Z値を粗にするこ
とができ、Z値の比較を容易にすることができる。
【0021】また、隠面処理装置3は、前記幾何変換装
置2で得られた透視変換後のポリゴン座標を取込み、Z
バッファメモリ4を使用したZバッファ法で前記ポリゴ
ン座標の隠面処理を行ない、この隠面処理結果に基づ
き、前記フレームメモリ5内に画像を作成する装置であ
り、前記幾何変換装置2から出力される各物体のピクセ
ル情報を取り込み、これら各ピクセルのアドレスをキー
として、Zバッファメモリ5内に格納されている同一ア
ドレスを持つ各ピクセルのZ値を読み出しながら、これ
ら同一アドレスを持つ各ピクセルのZ値を比較し、Z値
が小さい方のピクセル、すなわち視点から見て手前側の
ピクセルを選択し、このピクセルのZ値をZバッファメ
モリ4の同一アドレスに書き込むとともに、前記フレー
ムメモリ5の前記同一アドレスに前記ピクセルの色を書
き込む。
置2で得られた透視変換後のポリゴン座標を取込み、Z
バッファメモリ4を使用したZバッファ法で前記ポリゴ
ン座標の隠面処理を行ない、この隠面処理結果に基づ
き、前記フレームメモリ5内に画像を作成する装置であ
り、前記幾何変換装置2から出力される各物体のピクセ
ル情報を取り込み、これら各ピクセルのアドレスをキー
として、Zバッファメモリ5内に格納されている同一ア
ドレスを持つ各ピクセルのZ値を読み出しながら、これ
ら同一アドレスを持つ各ピクセルのZ値を比較し、Z値
が小さい方のピクセル、すなわち視点から見て手前側の
ピクセルを選択し、このピクセルのZ値をZバッファメ
モリ4の同一アドレスに書き込むとともに、前記フレー
ムメモリ5の前記同一アドレスに前記ピクセルの色を書
き込む。
【0022】Zバッファメモリ4は、前記隠面処理装置
3で行われるZバッファ法の作業エリアとなるメモリで
あり、前記隠面処理装置3から読み出し指令が出力され
たとき、この読み出し指令で指定されたアドレス上にあ
るピクセルのZ値を読み出し、これを前記隠面処理装置
3に供給し、またこの隠面処理装置3から書込み指令が
出力されたとき、この書込み指令とともに出力されるピ
クセルのZ値を指定されたアドレスに書込む。
3で行われるZバッファ法の作業エリアとなるメモリで
あり、前記隠面処理装置3から読み出し指令が出力され
たとき、この読み出し指令で指定されたアドレス上にあ
るピクセルのZ値を読み出し、これを前記隠面処理装置
3に供給し、またこの隠面処理装置3から書込み指令が
出力されたとき、この書込み指令とともに出力されるピ
クセルのZ値を指定されたアドレスに書込む。
【0023】フレームメモリ5は、1画面分の容量を持
つデュアルポートメモリやシングルポートメモリなどに
よって構成されており、前記隠面処理装置3から出力さ
れる各ピクセルの情報(例えば、色情報など)を取り込
んで、これを指定されたアドレスに記憶するとともに、
出力指令が供給されたとき、記憶している各ピクセル情
報をラスタ方向に読み出し、これをD/A変換回路に供
給して、CRT上に画面表示させる。
つデュアルポートメモリやシングルポートメモリなどに
よって構成されており、前記隠面処理装置3から出力さ
れる各ピクセルの情報(例えば、色情報など)を取り込
んで、これを指定されたアドレスに記憶するとともに、
出力指令が供給されたとき、記憶している各ピクセル情
報をラスタ方向に読み出し、これをD/A変換回路に供
給して、CRT上に画面表示させる。
【0024】このように、幾何変換装置2によってシー
ン情報や各部品の情報を取込み、座標変換処理後、透視
変換処理を行なうとき、図2に示す如く、視野座標上に
あるZ値座標をZ方向に、視点(原点)に近い方では間
隔を狭く、遠い方では間隔を広く複数に分割し、図3に
示す如く、これら各分割領域(空間)毎に、Z値を0と
1の間に正規化して、各物体を構成するポリゴンのZ値
を求めるようにしたので、図5に示す如く視点の手前側
にあるZ値のみならず、視点から奥側にあるZ値をも粗
にすることができ、これによってZ値のビット数を増や
すことなく、各ポリゴンのZ値を全体的に粗にして、視
点座標系で表現された各部品のポリゴン座標値を透視座
標系に変換する際、直線を直線に、平面を平面に正確に
写像させることができる。この結果、Zバッファメモリ
4の容量を少なくしたまま、精度良く、かつ高速でZ値
の比較を行なうことができる。
ン情報や各部品の情報を取込み、座標変換処理後、透視
変換処理を行なうとき、図2に示す如く、視野座標上に
あるZ値座標をZ方向に、視点(原点)に近い方では間
隔を狭く、遠い方では間隔を広く複数に分割し、図3に
示す如く、これら各分割領域(空間)毎に、Z値を0と
1の間に正規化して、各物体を構成するポリゴンのZ値
を求めるようにしたので、図5に示す如く視点の手前側
にあるZ値のみならず、視点から奥側にあるZ値をも粗
にすることができ、これによってZ値のビット数を増や
すことなく、各ポリゴンのZ値を全体的に粗にして、視
点座標系で表現された各部品のポリゴン座標値を透視座
標系に変換する際、直線を直線に、平面を平面に正確に
写像させることができる。この結果、Zバッファメモリ
4の容量を少なくしたまま、精度良く、かつ高速でZ値
の比較を行なうことができる。
【0025】
【発明の効果】以上説明したように本発明によれば、請
求項1では、Z値のビット数を増やすことなく、Z値の
値を全体的に粗にして、視点座標系で表現された各部品
のポリゴン座標値を透視座標系に変換する際、直線を直
線に、平面を平面に正確に写像させることができ、これ
によってZバッファメモリの容量を少なくしたまま、精
度良く、かつ高速でZ値の比較を行なうことができる。
求項1では、Z値のビット数を増やすことなく、Z値の
値を全体的に粗にして、視点座標系で表現された各部品
のポリゴン座標値を透視座標系に変換する際、直線を直
線に、平面を平面に正確に写像させることができ、これ
によってZバッファメモリの容量を少なくしたまま、精
度良く、かつ高速でZ値の比較を行なうことができる。
【図1】本発明による画像処理装置の一実施例を示すブ
ロック図である。
ロック図である。
【図2】図1に示す幾何変換装置で行われる透視変換処
理の際、使用されるZ値座標の分割例を示す模式図であ
る。
理の際、使用されるZ値座標の分割例を示す模式図であ
る。
【図3】図2に示すZ値座標の分割処理で得られる視野
座標上のZ値と、透視変換後のZ値との関係例を示すグ
ラフである。
座標上のZ値と、透視変換後のZ値との関係例を示すグ
ラフである。
【図4】図3に示すグラフによって変換されたZ値デー
タのフォーマット例を示す模式図である。
タのフォーマット例を示す模式図である。
【図5】図2に示すZ値座標の分割処理で得られる視野
座標上のZ値と、透視変換後のZ値との関係例を示すグ
ラフと、図4に示すZ値データのフォーマットとを加味
した視野座標上のZ値と、透視変換後のZ値との関係例
を示すグラフである。
座標上のZ値と、透視変換後のZ値との関係例を示すグ
ラフと、図4に示すZ値データのフォーマットとを加味
した視野座標上のZ値と、透視変換後のZ値との関係例
を示すグラフである。
【図6】PIXEL(No.73)、p88−89に示
す「Zバッファ法のアルゴリズム」で開示されている物
体の3次元画像作成時のアルゴリズムを示す図である。
す「Zバッファ法のアルゴリズム」で開示されている物
体の3次元画像作成時のアルゴリズムを示す図である。
【図7】図6に示すアルゴリズムのクリッピング処理で
使用されるビューボリュームの一例を示す模式図であ
る。
使用されるビューボリュームの一例を示す模式図であ
る。
【図8】(a) (b) 及び(c) は図6に示すアルゴリズムの
透視変換処理で行われるZ値の変換理由を示す模式図で
ある。
透視変換処理で行われるZ値の変換理由を示す模式図で
ある。
【図9】図6に示すアルゴリズムのスキャン変換処理で
行われる塗り潰し動作例を示す模式図である。
行われる塗り潰し動作例を示す模式図である。
【図10】図6に示すアルゴリズムの透視変換処理で行
われるZ値の変換処理で得られる視野座標上のZ値と、
透視変換後のZ値との関係例を示すグラフである。
われるZ値の変換処理で得られる視野座標上のZ値と、
透視変換後のZ値との関係例を示すグラフである。
【図11】特開平3−156686号に示す「対数変換
器付きZバッファ回路」の概要を示すブロック図であ
る。
器付きZバッファ回路」の概要を示すブロック図であ
る。
1 画像処理装置 2 幾何変換装置 3 隠面処理装置 4 Zバッファメモリ 5 フレームメモリ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 15/40 200 JICSTファイル(JOIS)
Claims (1)
- 【請求項1】 各部品の情報に基づき、座標変換処理、
透視変換処理、Zバッファ法による隠面処理を行い、各
シーンの3次元画像を作成する画像処理装置において、 座標変換後の視野座標上のZ値座標をZ方向に、視点
(原点)に近い方では間隔を狭く、遠い方では間隔を広
く分割して、複数の空間を作成し、これら各空間毎に、
Z値を0と1の間に正規化して透視変換を行い、該透視
変換で正規化された各Z値に空間番号を付加し、 前記空間番号の付加されたZ値を使用して隠面処理を行
うことを特徴とする画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19708095A JP3349871B2 (ja) | 1995-07-10 | 1995-07-10 | 画像処理装置 |
US08/676,556 US5923332A (en) | 1995-07-10 | 1996-07-08 | Image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19708095A JP3349871B2 (ja) | 1995-07-10 | 1995-07-10 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0927045A JPH0927045A (ja) | 1997-01-28 |
JP3349871B2 true JP3349871B2 (ja) | 2002-11-25 |
Family
ID=16368393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19708095A Expired - Fee Related JP3349871B2 (ja) | 1995-07-10 | 1995-07-10 | 画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5923332A (ja) |
JP (1) | JP3349871B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2239279C (en) * | 1997-06-02 | 2002-04-23 | Nippon Telegraph And Telephone Corporation | Image generating apparatus and method |
US6211884B1 (en) * | 1998-11-12 | 2001-04-03 | Mitsubishi Electric Research Laboratories, Inc | Incrementally calculated cut-plane region for viewing a portion of a volume data set in real-time |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6972760B2 (en) * | 2000-03-30 | 2005-12-06 | S3 Graphics Co., Ltd. | Area and span based Z-buffer |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
JP2007066045A (ja) * | 2005-08-31 | 2007-03-15 | Hitachi Ltd | シミュレーション装置 |
JPWO2013105157A1 (ja) | 2012-01-13 | 2015-05-11 | パナソニックIpマネジメント株式会社 | 画像生成装置、画像生成方法、画像生成プログラムおよび集積回路 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658247A (en) * | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
JPH0754551B2 (ja) * | 1986-09-24 | 1995-06-07 | ダイキン工業株式会社 | 多角形ぬりつぶし装置 |
US5249264A (en) * | 1988-11-14 | 1993-09-28 | International Business Machines Corporation | Image display method and apparatus |
JPH03156686A (ja) * | 1989-11-15 | 1991-07-04 | Mitsubishi Precision Co Ltd | 対数変換器付きzバッファ回路 |
US5220646A (en) * | 1990-04-30 | 1993-06-15 | International Business Machines Corporation | Single pass hidden line removal using z-buffers |
JPH06309425A (ja) * | 1990-10-12 | 1994-11-04 | Internatl Business Mach Corp <Ibm> | グラフィックディスプレイ装置及び方法 |
US5307450A (en) * | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
US5293467A (en) * | 1991-04-03 | 1994-03-08 | Buchner Gregory C | Method for resolving priority between a calligraphically-displayed point feature and both raster-displayed faces and other calligraphically-displayed point features in a CIG system |
JPH05298456A (ja) * | 1992-04-22 | 1993-11-12 | Mitsubishi Electric Corp | テクスチャ・マッピング方式 |
JPH06110655A (ja) * | 1992-09-29 | 1994-04-22 | Ricoh Co Ltd | ソート処理装置 |
-
1995
- 1995-07-10 JP JP19708095A patent/JP3349871B2/ja not_active Expired - Fee Related
-
1996
- 1996-07-08 US US08/676,556 patent/US5923332A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5923332A (en) | 1999-07-13 |
JPH0927045A (ja) | 1997-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7145565B2 (en) | Depth bounds testing | |
US6285779B1 (en) | Floating-point complementary depth buffer | |
JP4237271B2 (ja) | 3dグラフィックスにおける属性補間のための方法及び装置 | |
US5249264A (en) | Image display method and apparatus | |
EP1127337B1 (en) | Shading 3-dimensional computer generated images | |
JP3759971B2 (ja) | 3次元像を陰影付けする方法 | |
JP3349871B2 (ja) | 画像処理装置 | |
US5898437A (en) | Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives | |
EP0553973A2 (en) | Computer graphics display method and system with shadow generation | |
JPH0634748A (ja) | レーダ信号表示装置 | |
JPH0778267A (ja) | 陰影を表示する方法及びコンピュータ制御表示システム | |
JP2002529871A (ja) | 3次元コンピュータ生成画像のシェーディング | |
US7158133B2 (en) | System and method for shadow rendering | |
US6184893B1 (en) | Method and system for filtering texture map data for improved image quality in a graphics computer system | |
US7466322B1 (en) | Clipping graphics primitives to the w=0 plane | |
US20040113911A1 (en) | Method and system for improved per-pixel shading in a computer graphics system | |
US6988059B1 (en) | Rendering method and device, game device, and computer-readable recording medium for storing program to render stereo model | |
WO1996028794A1 (fr) | Dispositif d'affichage graphique tridimensionnel | |
JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
KR100256472B1 (ko) | 사용자가 정의한 룸 및 윈도우를 이용하는 효율적인 렌더링 | |
US5657436A (en) | Preprocessing apparatus and method for line scan conversion in a computer graphics system | |
US6590582B1 (en) | Clipping processing method | |
JP4060375B2 (ja) | スポットライト特性形成方法及びこれを用いた画像処理装置 | |
US6188409B1 (en) | 3D graphics device | |
US7382377B1 (en) | Render to texture cull |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |