JPH1131236A - ポリゴンデータのソート方法及びこれを用いた画像処理装置 - Google Patents

ポリゴンデータのソート方法及びこれを用いた画像処理装置

Info

Publication number
JPH1131236A
JPH1131236A JP10132106A JP13210698A JPH1131236A JP H1131236 A JPH1131236 A JP H1131236A JP 10132106 A JP10132106 A JP 10132106A JP 13210698 A JP13210698 A JP 13210698A JP H1131236 A JPH1131236 A JP H1131236A
Authority
JP
Japan
Prior art keywords
polygon
data
polygon data
sorting
coordinate value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP10132106A
Other languages
English (en)
Inventor
Junichi Naoi
純一 直井
Morihisa Tezuka
盛久 手塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Enterprises Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP10132106A priority Critical patent/JPH1131236A/ja
Publication of JPH1131236A publication Critical patent/JPH1131236A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】デプスバッファの容量を小さくし得るポリゴン
データのソート方法及びこれを用いた画像処理装置を提
供する。 【解決手段】三次元座標を有する複数のポリゴンデータ
を複数の走査線により描画する画像処理装置における、
前記複数のポリゴンデータのバッファメモリへの描画順
を決定するためのポリゴンデータのソート方法である。
一の走査線上に稜線が交差する複数のポリゴンを、前記
一の走査線上のX軸方向に前記ポリゴンの特定位置を基
準にソートする第一のソートステップと、この第一のソ
ートステップによりソートされた、前記一の走査線に稜
線が交差する複数のポリゴンのZ座標値を基準にソート
する第二のソートステップを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ポリゴンデータの
ソート方法及び、これを用いた画像処理装置に関し、特
にメモリ容量を削減可能とするポリゴンデータのソート
方法に関する。
【0002】
【従来の技術】近年のゲーム装置は、仮想現実感を与え
るために三次元座標で表される図形を多角形面即ち、ポ
リゴンの集積と考え、各々のポリゴンの三次元座標をC
RT等の二次元表示平面を有する表示素子の座標に変換
して表示している。
【0003】かかる三次元画像を画面表示する画像表示
装置の概略構成ブロック図が図36に示される。図36
において、画像表示装置の全体の機能は制御手段として
のCPU1により制御される。CPU1により、表示オ
ブジェクトを構成する複数のポリゴンのデータがデータ
バッファ2に書き込まれる。
【0004】ポリゴンデータは、ポリゴンの頂点データ
であり、各頂点の所定の三次元空間における三次次元座
標、頂点カラー、テクスチャマップ座標アドレス、頂点
透明度及び頂点の法線ベクトル等を有する。
【0005】ジオメトリ部3は、プログラムの進行及び
CPU1の処理速度に対応してデータバッファ2からポ
リゴンの頂点データやレジスタファンクションを読み出
す。さらに、ジオメトリ部3は、頂点座標データに基づ
き三次元空間にポリゴンを配置し、三次元空間のどの領
域までを表示対象とするかのビューポートの決定、法線
ベクトルに基づき各頂点の輝度の計算等を行う。
【0006】また、ビューポートよりはみ出すポリゴン
の頂点除去即ち、クリッピングを行う。さらに、ビュー
ポートに配置されたポリゴンを所定の視点を基準として
2次元平面に投影して三次元から二次元への座標変換を
行う。
【0007】二次元座標に変換されたポリゴンデータ
は、レンダリング部4に送られる。レンダリング部4
は、図示しない塗りつぶし回路、テクスチャ貼り付け回
路、ソーティング回路等を有する。
【0008】塗りつぶし回路は、ポリゴンの各頂点で囲
まれた範囲にある画素(ピクセル)のデータを計算し、
他のレンダリング部4内の各回路にデータを渡す機能を
有する。かかる塗りつぶし回路のための計算は、ポリゴ
ンの各頂点間にあるピクセルのデータを対応の両頂点の
データを基に、例えば線形補間により求め、同様にして
順次全ピクセルのデータを求める。
【0009】テクスチャ貼り付け回路は、ピクセルのテ
クスチャマップ座標アドレスに対応するアドレスに格納
されるテクスチャデータをテクスチャマップ5から読み
出し、ピクセル毎にカラーを計算して求める回路であ
る。
【0010】ここで、かかるゲーム装置において、二次
元平面座標に変換されたポリゴンを表示する際には、重
なった不透明ポリゴンに対し、一のポリゴンの下側に配
置されるポリゴンの表示を行わないようにする陰面処理
が行われる。この陰面処理のために、画面の奥行き方向
の距離を考慮して、フレームバッファメモリ7へのポリ
ゴンの描画の順序を決定しなければならない。
【0011】すなわち、描画の際にデプスバッファ6に
格納されるZ値に基づいてポリゴンデータをソートす
る。このために、ソーティング回路があり、複数のポリ
ゴンの前後関係を比較して、ソータされた順にポリゴン
のデータをデプスバッファ6に並べ替えて記憶させる機
能を有する。
【0012】そして、画面上の先に描かれたポリゴンと
重なる位置に新しくポリゴンを表示する場合、新しいポ
リゴンを構成する各ピクセルのZ値と、デプスバッファ
6から読み出される先に描かれたポリゴンのピクセルの
Z値とを比較する。
【0013】比較の結果、新しいポリゴンのピクセルが
手前(Z値が小さい)の場合は、これをフレームバッフ
ァメモリ7に上書きするようにして、順次1画面分のデ
ータをフレームバッファメモリ7に格納する。フレーム
バッファメモリ7に書き込まれたデータは、順次読み出
し、CRT等の表示装置8に表示される。
【0014】このような目的のために、これまでの簡易
な主流のソート方法としてZソート方式等が知られてい
る。かかるソート方法では全てのポリゴンが、座標変換
され、これをソートして表示画面の奥行き方向の距離の
順序に配列して記憶される。
【0015】したがって、特徴として、ソートのために
全てのポリゴンに対し、座標変換した後、変換後のデー
タを一旦メモリに記憶しておくことが必要である。かか
る変換後のデータの記憶のために大きな容量のメモリ領
域が別に必要となる。
【0016】また、さらに、変換後のデータの全てを表
示画面奥行き方向の距離の大きい順にソートする手順が
必要となる。このためソート処理に時間が掛かるという
問題がある。よって、かかる一般式なソート方法は、高
速性を要求されるゲーム装置に用いることは適さない。
特に、低コストを実現しながら処理の高速化を実現する
ことは困難である。
【0017】さらに、図36の構成例では、ソーティン
グ回路によりソートされたポリゴンの1画面分のZ値デ
ータを格納するデプスバッファ6が必要である。
【0018】
【発明が解決使用とする課題】したがって、本発明の目
的は、デプスバッファ6の容量を小さくし得るポリゴン
データのソート方法及び、これを用いた画像処理装置を
提供することにある。
【0019】さらに、本発明の目的は、外部メモリとし
てのフレームバッファメモリを一走査線分の容量のライ
ンバッファとすることを可能とし、従って低コスト化を
実現するポリゴンデータのソート方法及び、これを用い
た画像処理装置を提供することにある。
【0020】また、本発明の目的は、上記ラインバッフ
ァへのピクセル単位の書き込みを高速化するポリゴンデ
ータのソート方法及び、これを用いた画像処理装置を提
供することにある。
【0021】
【課題を解決するための手段】上記本発明の目的を達成
するポリゴンデータのソート方法は、三次元座標を有す
る複数のポリゴンデータを複数の走査線により描画する
画像処理装置における、該複数のポリゴンデータのバッ
ファメモリへの描画順を決定するためのポリゴンデータ
のソート方法を前提とし、一の走査線上に稜線が交差す
る複数のポリゴンを、この一の走査線上のX軸方向に前
記ポリゴンの特定位置を基準にソートする第一のソート
ステップと、この第一のソートステップによりソートさ
れた、前記一の走査線に稜線が交差する複数のポリゴン
のZ座標値を基準にソートする第二のソートステップを
有する。
【0022】さらに、一の態様として、前記において、
前記第一のソートステップにおけるソートの基準とする
特定位置は、前記一の走査線とポリゴンの左側稜線の交
差する左端座標であり、前記左端座標の大きさの順に一
の走査線上に稜線が交差する複数のポリゴンをソートす
ることを特徴とする。
【0023】さらに、一態様として、前記第二のソート
ステップは、更に、前記第一のソートステップによりソ
ートされた順位が先である第一のポリゴンデータの右端
座標値と、比較すべき第二のポリゴンデータの左側稜線
の該一の走査線と交差する左端座標値との大小を比較
し、且つ前記一のポリゴンデータが透明ポリゴンである
かを判断することを特徴とする。
【0024】また、別の態様として、前記第二のソート
ステップの比較の過程で、前記第一のポリゴンデータの
右端座標値より、前記第二のポリゴンデータの左端座標
値が小さいと判断される場合まで、この第一のポリゴン
データを出力することを特徴とする。
【0025】さらに又、前記第一のポリゴンデータの右
端座標値より、前記第二のポリゴンデータの左端座標値
が小さいと判断される場合、第一のポリゴンデータの右
端座標値を前記第二のポリゴンデータの左端座標値に置
き換えることを特徴とする。
【0026】さらに、一態様として、前記出力される第
一のポリゴンデータは、前記一の走査線上のピクセル単
位で一走査線分の容量を有するラインバッファに出力さ
れることを特徴とする。
【0027】また、別の態様として、三次元座標を有す
る複数のポリゴンデータを複数の走査線により描画する
画像処理装置における、該複数のポリゴンデータのバッ
ファメモリへの描画順を決定するためのポリゴンデータ
のソート方法において、フレーム単位に該複数のポリゴ
ンデータをジオメトリ変換し、このジオメトリ変換され
たポリゴンデータのY座標値を基準に、前記複数のポリ
ゴンをリンクしたポリゴンリストを生成し、前記ポリゴ
ンリストから読み出だされるポリゴンの稜線が、該複数
の走査線の各々において交差するポリゴンのリストをア
クティブポリゴンリストとして生成し、アクティブポリ
ゴンリストにおける走査線毎に、前記アクティブポリゴ
ンの、左側稜線が走査線と交差するX座標値を基準にソ
ートして、その順位をリストしたアクティブリストを生
成し、アクティブリストにリストされる順位で前記アク
ティブポリゴンを読み出し、前記アクティブポリゴンの
Z値を基準にソートして、データを出力するポリゴンを
求めることを特徴とする。
【0028】さらに、一の態様として、前記アクティブ
ポリゴンのZ値を基準とするソートは、前記アクティブ
リストにリストされる順位が先である第一のポリゴンデ
ータの右端座標値と、比較すべき第二のポリゴンデータ
の左側稜線の前記一の走査線と交差する左端座標値との
大小を比較し、且つ前記一のポリゴンデータが透明ポリ
ゴンであるかを判断することにより実行される。
【0029】また、前記第一のポリゴンデータの右端座
標値より、前記第二のポリゴンデータの左端座標値が小
さいと判断される場合、第一のポリゴンデータの右端座
標値を該第二のポリゴンデータの左端座標値に置き換え
ることを特徴とする。
【0030】さらに又、前記出力される第一のポリゴン
データは、前記一の走査線上のピクセル単位で一走査線
分の容量を有するラインバッファに出力されることを特
徴とする。
【0031】上記本発明の課題を達成する画像処理装置
は、三次元座標を有する複数のポリゴンデータを複数の
走査線により描画する画像処理装置において、一の走査
線上に稜線が交差する複数のポリゴンを、前記一の走査
線上のX軸方向にソートする第一のソート処理部と、こ
の第一のソート処理部によりソートされた、前記一の走
査線に稜線が交差する複数のポリゴンのZ座標値を基準
にソートする第二のソート処理部と、この第二のソート
処理部のソートにより生成された一走査線分のポリゴン
データを格納するラインバッファを有することを特徴と
する。
【0032】さらに、一態様として、前記第一のソート
処理部におけるソートの基準とする特定位置は、前記一
の走査線とポリゴンの左側稜線の交差する左端座標であ
り、前記左端座標の大きさの順に該一の走査線上に稜線
が交差する複数のポリゴンデータをソートすることを特
徴とする。
【0033】また、一態様として、前記第二のソート処
理部は、前記第一のソート処理部によりソートされた順
に入力されるポリゴンデータが書き込まれる複数のワー
ドを有するレジスタファイルを有し、このレジスタファ
イルに先に書き込まれている第一のポリゴンデータの右
端座標値と、新たに前記第一のソート処理部により入力
される第二のポリゴンデータの左側稜線の前記一の走査
線と交差する左端座標値との大小を比較し、且つ前記一
のポリゴンデータが透明ポリゴンであるか否かを判断す
ることを特徴とする。
【0034】また別の形態として、前記レジスタファイ
ルは、前記複数のワードの各ワードに書き込まれるポリ
ゴンデータの前記一の走査線上の左端座標値、右端座標
値、Z軸座標値及び、前記ポリゴンデータが透明である
か否かの表示の領域を含み、且つ各ワードの右端の座標
値及びZ軸座標値の領域は入力データの対応する右端座
標値及びZ軸座標値と比較する比較器を有することを特
徴とする。
【0035】さらに、一の形態として、前記新たに第一
のソート処理部により入力される前記第二のポリゴンデ
ータと比較する、前記レジスタファイルに先に書き込ま
れている第一のポリゴンデータは、前記レジスタファイ
ルの前記複数のワードを順に検証し、n番目のポリゴン
データが不透明又は入力データのZ座標の方が、n番目
のポリゴンデータのZ座標より小さい場合に、前記n番
目のポリゴンデータから前記一の走査線上の描画すべき
ポリゴンデータを作成して出力することを特徴とする。
【0036】また、別の態様として、前記一の走査線上
の描画すべきポリゴンデータを作成して出力されるポリ
ゴンデータのうち不透明のポリゴンデータを先に前記ラ
インバッファに出力して、その後に透明のポリゴンデー
タを前記ラインバッファに出力することを特徴とする。
【0037】本発明の更なる目的及び、特徴は、以下に
説明する発明の実施の形態から明らかになる。
【0038】
【発明の実施の形態】以下図面に従い本発明の実施の形
態を説明する。なお、図において、同一又は類似のもの
には同一の参照番号又は、参照記号を付して説明する。
【0039】図1は、本発明に従うソート方法を用いた
画像処理装置の構成例ブロック図である。図1におい
て、CPUバスBSを通して、制御手段としてのCPU
1、データバッファ機能を有するワークメモリ2及び、
本発明の特徴とするソート方法を実現する画像描画LS
I40が接続されている。
【0040】画像描画LSI40には、テキスチャメモ
リ5及び、図1では図示されていない表示装置に、画像
信号を出力するためのデジタル/アナログ変換回路80
が接続されている。
【0041】CPUバスBSには、更に入力装置及び、
アプリケーションプログラムを格納する外部メモリ等の
外部デバイスインタフェース10が接続される。
【0042】図1の画像描画LSI40の詳細ブロック
図が図2に示される。画像描画LSI40は、その内部
モジュールが走査線(以下スキャンラインという)を基
本単位として、4段パイプラインL0〜L3で構成され
ている。図2に示される画像描画LSI40の構成によ
り、本発明の特徴とするスキャンライン三次元ソート方
式が実現され、陰面処理の基本構造をスキャンライン方
式、Z比較をZソート方式で実現する。
【0043】図3は、本発明のスキャンライン三次元ソ
ート方式の動作フローである。図3の動作フローに従
い、図1及び、図2の実施例構成の動作を以下に説明す
る。
【0044】「三次元−二次元座標変換](ステップS
01) 図1のCPU1あるいは、ジオメトリ演算器が、3次元
座標を有するポリゴンに対し、アプリケーションプログ
ラムに従い必要により移動、変形を行い、これに対応す
る三次元座標変換を行う。さらに、二次元平面スクリー
ンに透視投影変換を行い、二次元座標に変換する。すな
わち、ポリゴンの各頂点の二次元平面スクリーン上の対
応するX、Y座標を算出する。
【0045】[外部ポリゴンリストの生成(Yソー
ト)](ステップS02) 次いで、外部ポリゴンリストの生成を行う。外部ポリゴ
ンリストは、ワークメモリ2に生成され、図4に示され
るように、PAT(ポリゴンアロケーションテーブル)
領域Iとデータ領域IIを有して構成される。
【0046】かかる図3におけるステップS01及び、
ステップS02の処理は、フレーム単位に行われる。
【0047】この外部ポリゴンリストは、最初にPAT
領域Iのデータが全て0に初期化される。PAT領域I
は、一つの表示画面を構成するスキャンラインの数分存
在し、各々のスキャンラインから始まるポリゴンのリン
ク開始位置を示す。
【0048】外部ポリゴンリスト生成処理において、上
記のポリゴン各頂点のうち、スクリーン最上にある(Y
軸値が最小)頂点を選出し、この選出された頂点のY軸
値をもって、該当ポリゴンのスキャンライン番号とす
る。
【0049】そして、外部ポリゴンリスト生成は、次の
手順で行われる。該当のスキャンライン番号に対応し
た、外部ポリゴンリストのPAT領域Iを読み、現在登
録されている該当スキャンラインの最終ポリゴンを検索
する(PATデータがブランクであれば、該当スキャン
ラインにポリゴンは存在しない)。
【0050】次にデータ領域IIの任意の位置にポリゴン
データを書き込む。この時リンク情報には、PAT領域
Iから読み込んだリンク値(該当スキャンラインの前回
最終ポリゴン位置)を書き込み、さらに処理中ポリゴン
の位置情報(先頭の相対アドレス/20H)をPAT領
域Iに書き込む。
【0051】全ポリゴンに対し、上記の処理を行い、各
スキャンラインに対応したポリゴンのリンク情報を完成
させる。
【0052】図4の実施例において、完成された外部ポ
リゴンリストの内容は、図5に示されるポリゴン〜
の表示イメージ例に対応している。例えば、アドレス0
28Hに、ポリゴンへのデータ領域IIにおけるリンク
情報(220H/20H)が登録されている。
【0053】したがってリンク先アドレス(220H/
20H)には、ポリゴンへのデータ領域IIにおけるリ
ンク情報(200H/20H)と、ポリゴンの内容が
データとして登録されている。
【0054】また、ポリゴンへのデータ領域IIにおけ
るリンク先アドレス(200H/20H)には、このラ
インには、更なるリンク先が無いこと及び、ポリゴン
の内容がデータとして登録されている。
【0055】このように生成された外部ポリゴンリスト
の先頭アドレスが、フレーム(表示画面の切換時間単
位)の変化点で、画像描画LSI40に登録され、描画
が開始される。
【0056】[アクティブポリゴンリスト(LSI内部
ポリゴンキャッシュ)](ステップS03) 上記のように、画像描画LSI40内部での描画処理
は、スキャンライン単位に進められる。スキャンライン
開始時に、外部ポリゴンリストから処理スキャンライン
の該当ポリゴンの全てが、ポリゴン制御回路102の制
御に基づき内部キャッシュメモリ103のアクティブポ
リゴンリストに、CPUインタフェース100及び、ホ
ストインタフェース101を通して読み込まれる。
【0057】その読込方法は、次の通りである。図6に
示す表示例では、現在、Yアドレス70にあるラインが
処理スキャンラインであることが示されている。まず当
該処理スキャンラインに対するPAT領域Iの該当スキ
ャンライン部を読み、そのリンク先にあるポリゴンデー
タを読み込む。
【0058】さらに、そのデータにあるリンク情報に基
づき、次のポリゴンを読み込む(図4参照)。読み込ん
だ全てのポリゴンデータは、内部キャッシュメモリ10
3のアクティブポリゴンリストに格納される。
【0059】アクティブポリゴンリストは、図7に示す
ように、実施例として有限個、512個の処理中のポリ
ゴンデータを確保する。全てのポリゴンは、連続したス
キャンラインにまたがる。したがって、一度処理された
(外部ポリゴンリストから読み込まれた)ポリゴンは、
処理が完了しない限り、次のスキャンラインにおいても
使用されるように保持される。
【0060】次いで、処理が完了したポリゴンのリスト
領域は、開放される。これにより、一度読み込んだポリ
ゴンデータは、二度と読み込まないように構成されてい
る。したがって、外部ポリゴンリストのバスネックが大
幅に減少し、処理の高速化が期待できる。
【0061】しかし、スキャンライン単位に、処理可能
なポリゴン数が、キャッシュ容量に依存するために、局
所にポリゴンが集中し、アクティブポリゴンリストが、
オーバフローした場合は、画像表示に破綻をきたす。
【0062】これを防止するために、実施例として、ポ
リゴン属性に優先タグ113を付加する。優先タグ11
3は、ポリゴンの優先度を示し、リストタグ123によ
り、アクティブポリゴンリストがオーバフローしたこと
を検知される場合、優先タグ113に基づき優先度が低
いポリゴンからオーバライトするために用いられる。
【0063】優先タグ113は、CPU1によりそのポ
リゴンの重要度に応じて任意に付けられる。また、CP
U1により優先タグを設ける方法とは別に、ポリゴン取
得制御回路102に処理ポリゴンの大きさを検出する機
能を持たせ、検出された大きさをリストタグ123に登
録する。そして、リストタグ123を参照して指定サイ
ズ以上の場合、優先度を上げるように制御することも可
能である。
【0064】これらの方法により、より重要なポリゴン
が削除される確率を減らし、実質の処理量を低減するこ
とが可能である。
【0065】「アクティブライン検出](ステップS0
4) 次いで、内部キャッシュメモリ103のアクティブポリ
ゴンリストから処理スキャンラインに対してアクティブ
なポリゴンのデータが、アクティブライン検出回路10
4に転送される。回路104では、転送されたポリゴン
の頂点データからスキャンラインを横切る稜線を検出す
る。
【0066】図8に示す頂点座標A(Xa、Ya)、B
(Xb、Yb)、C(Xc、Yc)を有するポリゴンを
想定すると、頂点データ(A、B、C)からスキャンラ
インYLと交差する稜線が検出される。この例では、A
−B,C−Aが交差する稜線である。
【0067】かかるスキャンラインと交差する稜線の検
出は、アクティブライン検出回路104において、次の
ロジックにより実行される。
【0068】
【数1】
【0069】ついで、ポリゴンエッジ検出回路105に
より、該当稜線とスキャンラインが交差する点即ち、エ
ッジ点の座標(X値のみ)を求める。回路105での座
標値計算は、次の直線方程式から導出された式を用いて
行われる。
【0070】
【数2】
【0071】2つの稜線に対し、求められたスキャンラ
インと交差する2つの座標(X値)を比較する。より小
さい座標値をXL、大きい方をXRとして、アクティブ
エッジリスト106に格納される。このアクティブエッ
ジリスト106は、内部キャッシュ103のアクティブ
ポリゴンリストの格納場所をアドレスとして、スキャン
ラインとの交点XL、XRを左右別にエッジデ−タとし
て格納するバッファである。
【0072】[スキャンラインXソート](ステップS
05) スキャンラインXソート回路107は、アクティブエッ
ジリスト106に格納されたエッジデータから、左エッ
ジXLに着目して該当スキャンラインにアクティブなポ
リゴンを全てソートする。
【0073】このソートの方法を示すと次の様である。
表示イメージを図9に示すように考える。また、図10
は、スキャンラインXソート回路107を模式的に示す
図であり、512個のワード領域に対応して、それぞれ
比較器117と、シフタ機能付きレジスタ127を有し
て構成される。 (1)まず、スキャンラインXソート回路107のレジ
スタ127の内容が全て最大値に初期化される。 (2)次いで、アクティブエッジリスト106から入力
される入力ポリゴンの左エッジを、レジスタ127の全
てと比較する。実施例として、図9の表示イメージにお
ける処理ライン上には、3つ入力ポリゴンの左エッジが
存在する。したがって、これらを順番に入力する。 (3)そして、入力左エッジデータより大きい値と小さ
い値の境界を検出する。 (4)大きい値は、全てより大きい方にシフトする。小
さい値は、そのままとする。 (5)シフトされた境界位置のレジスタに入力ポリゴン
の左エッジデータを格納する。 (6)上記(1)〜(5)の処理を全アクティブポリゴ
ン(図9の表示イメージの処理ラインについては、3個
のアクティブポリゴンについて実行する。そして、スキ
ャンラインの変化点(スキャンラインが切り替わる時
点)で、スキャンラインXソート回路107の内容をL
2ラインのスキャンラインZソート回路108に転送す
る。
【0074】このように、スキャンラインXソートを行
うことにより、処理ライン毎に、ポリゴンがX方向に順
位付けされ、次に説明するスキャンラインZソート実施
例にアクティブなポリゴンを割り出すことができる。
【0075】[スキャンラインZソート](ステップS
06) スキャンラインZソート回路108の詳細構成及び、そ
の動作は後に改めて説明するが、先に図11に示す表示
イメージに基づいて動作概要を説明する。
【0076】図12〜図17は、図11の表示イメージ
に対応した処理の過程におけるスキャンラインZソート
回路108のレジスタの状態図である。
【0077】まず、初期化において、スキャンラインZ
ソート回路108のレジスタの全てに最大のZ値(一番
奥に配置される値)が格納される(図12参照)。
【0078】次いで、スキャンラインXソート回路10
7で、ソートされた順位で、ポリゴンエッジデータがス
キャンラインZソート回路108に新規入力される(図
13)。
【0079】図11の処理ラインにおいて、左エッジが
最左端にあり、順位1にソートされているのは、ポリゴ
ンである。したがって、図13において、入力される
ポリゴンのZ値と初期設定された最大値とを比較す
る。ポリゴンのZ値の方が小さいので、ポリゴンの
Z値と、その右端値が第1番目のレジスタに格納され
る。且つ、ポリゴンの左端値と、右端値が保持レジス
タに保持される。
【0080】次に、図11の表示イメージの該当処理ラ
インにおいて、左エッジが順位2にソートされているポ
リゴンのデータが入力される(図14)。ポリゴン
のZ値は、ポリゴンのZ値より大きく、初期設定され
た最大値より小さい。したがって、図14に示すよう
に、ポリゴンのデータは、ポリゴンのデータの下に
配置され、それ以降の初期値データは順次下方にシフト
される。この際も、ポリゴンの左端値及び、右端値は
そのまま保持される。
【0081】ここで、スキャンラインXソート回路10
7から出力されるデータは、図15に示すように、左端
値が順位3にソートされているポリゴンのデータが入
力されるタイミングまで、ポリゴンのデータが出力さ
れる。
【0082】図16において、更に、該当処理ライン上
で左端値が最下位に順位されたポリゴンのデータが入
力される。そして、ポリゴンのZ値と、既にレジスタ
に登録されているポリゴンのZ値と比較する。ポリゴン
のZ値は、最小であるので、図16に示すように、レ
ジスタ値は、順次下方にシフトされて、ポリゴンのZ
値と右端値がレジスタの最上位にセットされる。
【0083】したがって、図17に示すように、スキャ
ンラインがポリゴンの右端値に至る間、ポリゴンの
データが出力される。そして、順次レジスタの値を上方
にシフトすることにより、ポリゴンのデータが消さ
れ、次いでポリゴン、ポリゴンの順にポリゴンデー
タが消去される。
【0084】このようにして、スキャンラインZソート
回路108は、ポリゴンのZ値をソートしつつ、最も手
前(Z値が最小)のポリゴン(不透明ポリゴン)データ
のみをL1ラインの描画ブロックに転送する。したがっ
て、スキャンラインZソート回路108は、ポリゴンの
重なりに対し、重複してデータの出力を行わない。
【0085】上記は、図11の表示イメージに基づく説
明であるが、不透明ポリゴン処理時のスキャンラインZ
ソートの処理(ステップS06)の手順を纏めると次の
様である。 (1)スキャンラインZソート回路108は、スキャン
ラインXソート回路107とほぼ同様の構成であって、
比較回路及び、シフタ機能付きのZ値と左端値を格納す
るZ値レジスタを有する。初期化時に、このZ値レジス
タを全て最大Z値にセットする。 (2)Zソーティングの過程で、スキャンラインXソー
ト回路107から新規ポリゴンデータを転送する。 (3)転送された新規ポリゴンに対し、図18のa〜d
の状態のいずれに該当するかを検出する。状態aは、ス
キャンラインZソート回路108のバッファにポリゴン
データはなく、新規ポリゴンのみが転送される状態であ
る。状態bは、新規ポリゴンがバッファの最前面ポリゴ
ンに前面で交差する状態である。状態cは、新規ポリゴ
ンがバッファの最前面に後面で交差する状態である。状
態dは、新規ポリゴンがバッファの最前面に交差しない
状態である。 (4)状態aである場合:スキャンラインZソート回路
108の左位置保持バッファと右位置保持バッファに新
規転送ポリゴンの両端値を格納し、バッファストア処理
(下記(5)以降の処理)を行う(図12参照)。
【0086】状態bである場合:図11でポリゴンと
の関係に相当する。バッファの最前面ポリゴンを出力
し、Zソートバッファを後面にシフトする。出力ポリゴ
ンの属性として、左位置に左保持バッファの値、右位置
に新規ポリゴンの左端値を転送する。さらに、左位置保
持バッファ、右位置保持バッファに新規ポリゴンの両端
値を格納し、バッファストア処理に移行する。
【0087】状態cである場合:図11の処理ライン上
のポリゴンとの関係に対応する。バッファストア処
理に移行する。
【0088】状態dである場合:バッファの最前面ポリ
ゴンを出力し、Zソートバッファを前面にシフトする。
出力ポリゴンの属性として、左位置に左位置保持バッフ
ァの値、右位置に出力ポリゴンの右端値を転送する。さ
らに、左位置保持バッファに出力ポリゴンを格納する。 (5)バッファストア処理として、i)入力ポリゴンの
Z値を、全Z値と比較する。ii)入力Z値より大きい
値、小さい値の境界を検出する。iii)大きい値を全
て、より大きい値に側にシフトし、小さい値側はそのま
まとする。iv)境界のレジスタに入力ポリゴンZ値を格
納する。 (6)上記(2)〜(5)を全転送ポリゴンに対して実
行する。
【0089】「ピクセル描画](ステップS07) 次に、スキャンラインZソート回路108で陰面処理を
完成されたポリゴンについて、ピクセル単位に、ピクセ
ル描画処理が行われる。
【0090】描画データ演算器109で、ピクセル毎に
順次テクスチャアドレス、シェーディング計数等の補間
値が算出される。補間値の算出方法として、先ず各係数
の左右エッジにおける補間値を算出し、その両エッジ補
間値から描画ピクセルの補間値を算出する。
【0091】この時の、補間値算出の演算式は、次の直
線方程式から導出された下記式を用いる。左稜線を頂点
A−B間、右稜線を頂点A−C間とする場合、記号は、
図19、図20に示される記号に対応する。
【0092】図19は、三頂点A(Xa,Ya),B
(Xb,Yb),C(Xc,Yc)を有するポリゴンの
表示イメージであり、図20は、テクスチャメモリ5に
格納されるテクスチャマップを示す。
【0093】
【数3】
【0094】[テクスチャデータ取得](ステップS0
8) 上記の式により描画データ演算器109で補間により決
定した図20に示すテクスチャアドレスにより、テクス
チャメモリ5から色データを取得する。ビットマップ合
成回路110において、取得した色データに対して、図
19に示すグロー係数で補正する。この補正されたライ
ンバッファ112に出力する。
【0095】この時の補正演算式は、次の通りである。
【0096】 表示RGB各輝度=取得色データ各輝度+グーロ係数 [ラインバッファストア](ステップS09) 次に、L0ラインの処理として、完成されたピクセルデ
ータをラインバッファ112に書き込む。半透明データ
の場合は、一度ラインバッファ112の該当位置からデ
ータを読み出し、合成後更に、書き込む。後に説明する
ように、スキャンラインZソート処理において、半透明
のZ値相互の関係を確保することで、データの破綻は起
こらない。この時の、合成演算式は、次の式に従う。
【0097】表示RGB各輝度={ピクセル輝度X(2
56−透明度)+下絵輝度Xと透明度}/256 ここで、上記スキャンラインZソート処理(ステップS
06)の説明においては、専ら、ソート対象ポリゴンを
不透明ポリゴンと考えて説明した。したがって、以下に
スキャンラインZソート回路108の具体的実施例を半
透明ポリゴンの扱いも含めて更に、説明する。
【0098】図21は、スキャンラインZソート回路1
08の構成例ブロック図である。図21は、図22の状
態遷移図である。スキャンラインZソート回路108
は、レジスタファイル410と、レジスタファイル41
0の上位33番目までのデータのうち順次1つを選択出
力する選択出力回路411を有する。選択出力回路41
1から順次選択出力する順は、Zカウンタ412により
設定される。
【0099】レジスタファイル410には、スキャンラ
インXソート回路107からのスキャンライン上で順位
付けられた順に、ポリゴンデータが入力される。レジス
タファイル410から出力は、選択出力回路411に導
かれる。
【0100】そして、選択出力回路411から出力され
るデータが、不透明ポリゴンのデータである場合は、出
力バッファ413に入力される。さらに、選択出力回路
411からの出力データが半透明ポリゴンのデータであ
る場合は、スタックレジスタ414に入力される。
【0101】出力バッファ413及び、スタックレジス
タ414から読み出されるデータは、出力セレクタ41
7を通して出力され、図2のL1ラインにおける描画デ
ータ演算器に109に入力される。
【0102】スタックレジスタ414へのデータの書き
込み、読み出しの際に、Tカウンタ415が、歩進、後
退される。Tカウンタ415の値が”1”以上である
時、スタックレジスタ414からデータが読み出され
て、出力セレクタ417に送られる。
【0103】図21において、コントローラ416は、
上記のスキャンラインZソート回路108の各ブロック
を制御する制御回路である。かかる図21に示す構成の
スキャンラインZソート回路108の状態遷移を図22
により説明する。
【0104】先ず、初期状態にセットされる(INIT
IAL)。次いで、レジスタファイル410へのスキャ
ンラインXソート回路107からのデータの入力待ちの
状態となる(ステップST1)。さらに、レジスタファ
イル410の不要データが削除される(ステップST
2)。この後、Zカウンタ412の初期値が決定される
(ステップST3)。
【0105】次いで、スキャンラインXソート回路10
7からの入力データに基ずき出力データの作成が行われ
る(ステップST4)。さらに、作成されたデータの出
力バッファ413への格納、レジスタファイル410の
シフト動作及びデータの書込み状態、及び出力バッファ
413から出力セレクタ417への出力状態に遷移する
(ステップST5)。
【0106】次いで、スタックレジスタ414への書込
み(ステップST6)、スタックデータの読み出し(ス
テップST7)に遷移する。
【0107】ここで、上記図22の状態遷移により実行
されるスキャンラインZソート回路108の動作を図2
3により説明する。
【0108】図23において、スキャンラインS上にあ
るポリゴンA、Bについて考察する。ポリゴンAのスキ
ャンラインSと交差する左端のX軸座標はXLaであ
り、右端のX軸座標はXRaである。一方、ポリゴンB
の走査線Sと交差する左端のX軸座標はXLbであり、
右端のX軸座標はXRbである。
【0109】上記のポリゴンAとポリゴンBは、図23
に示すようにポリゴンAの右端XRbとポリゴンBの左
端XLbの範囲で重なる。スキャンラインZソート回路
108は、スキャンラインXソート回路107から送ら
れる、スキャンラインS上のポリゴンAとポリゴンBの
X軸座標に基ずき、左端のX座標値の小さいポリゴンA
の右端のX座標XRaと、ポリゴンBの左端のX座標X
Lbを比較する。
【0110】この比較の結果、X座標XRaとXLbの
範囲で重なっていると判断する。さらに、ポリゴンAと
ポリゴンBのZ軸座標を比較する。この結果ポリゴンB
のZ軸座標値は、ポリゴンAのそれより小さく観察者の
視点側にあることが判断できる。
【0111】この場合、スキャンラインZソート回路1
08は、ポリゴンAの右端のX座標値をXLbに等しい
X’Raに変更し、スキャンラインS上のポリゴンAの
表示範囲(出力データ)を図23の両矢印で示す範囲と
して確定する。
【0112】図24は、図21のレジスタファイル41
0の構成例である。右座標R値(12ビット)、Z値
(16ビット)、属性ビットAT(4ビット)、不透明
/半透明ビットT値(1ビット)及び、テキスチャマッ
プアドレスADを含む計33ビットを128ワード分有
する大きさである。
【0113】さらに、128ワードのうち0〜32ワー
ドについては、左座標L値(12ビット)を持つ。ま
た、R値、Z値については、入力値に対し、比較を行う
ために比較器Cを各ワード毎に有している。出力データ
は、これら比較器Cの出力値と不透明/半透明ビットT
値の組み合わせの関係によって、以下の例のように決定
される。
【0114】すなわち、図25は、R値、Z値の比較器
Cの出力と、不透明/半透明ビットT値の組み合わせの
関係を示す図である。図25において、STRPnは、
不透明/半透明ビットT値であり、STRPn=0の時
は不透明、STRPn=1の時は半透明を表わす。
【0115】さらに、FLAGRnは、R値用比較器C
の出力であり、FLAGRn=1の時、入力データのL
座標値とレジスタデータのR座標値の範囲が重ならない
場合であり、FLAGRn=0の時は、入力データのL
座標値とレジスタデータのR座標値の範囲が重なるか、
または一致する場合である。
【0116】また、FLAGZnは、Z値用比較器Cの
出力であり、FLAGZn=1の時、入力データのZ座
標がレジスタデータのZ座標値より大きい場合であり、
FLAGZn=0の時は、入力データのZ座標値がレジ
スタデータのZ座標値より小さいか又は、同じ場合であ
る。
【0117】上記の様に、図24において、レジスタフ
ァイル410には、スキャンラインXソート回路107
から順次に入力データとして送られ、先に処理されたデ
ータであってレジスタファイル410に格納されている
レジスタデータと上記の比較器Cにより比較されること
によりFLAGRn、FLAGZnが得られる。
【0118】図26は、出力開始ワードを示すZカウン
タ412の初期値の決定を説明する図である。図21に
おけるスキャンラインZソート回路108のコントロー
ラ416は、先ず初めにどのワードから出力するかを決
定する。
【0119】コントローラ416は、ワード0番目から
順に検証し、n番目が不透明(STRPn=0)又は、
入力データが上(FLAGZn=0)ならばn番目を出
力開始ワードとなるようにZカウンタ412の初期値を
決定する。
【0120】図26A、図26Bにおいて、破線は半透
明ポリゴンを表わし、実線は不透明ポリゴンを表わして
いる。従って、図26Aの例では、レジスタファイル4
10に書き込まれているワード2が初めて不透明である
ので、ワード2からスキャンラインZソート回路108
でのデータ作成作業が開始される。
【0121】図26Bの例では、半透明のワード4の上
に不透明の入力データが有るので、ワード4からデータ
作成作業が開始される。
【0122】なお、以下の各実施例に対応する図面にお
いても、破線は半透明ポリゴンを表わし、実線は不透明
ポリゴンを表わしている。
【0123】図27に示される例では、入力データbの
Z値が、出力候補レジスタのデータaのZ値より小さ
く、且つ入力データbのL値が、n番目のレジスタであ
る出力候補レジスタのデータaのR値より小さい関係に
ある。さらに、出力候補レジスタのデータaが不透明で
ある場合である。
【0124】したがって、図27の例は、図25との関
係においてパターン1に一致する。かかる場合は、出力
データcとして左端座標Lはレジスタファイル410の
n番目の値を、右端座標Rは入力データbの左端座標を
出力する。
【0125】また、出力データcの出力後に、出力バッ
ファ413の右端座標のR値をレジスタファイル410
のn番目以降の全てのデータの左端座標Lに書き込む。
【0126】つぎに、図28の例は、入力データbのZ
値がレジスタデータaより大きい場合であり、図25の
関係において、パターン2に一致する。かかる場合は、
入力データbが、レジスタファイル410に格納される
のみで、データは出力されない。
【0127】図29の例は、入力データbのZ値がレジ
スタデータbより小さいが、レジスタデータaとは重な
らない場合である。この例は、図25の関係において、
パターン3に一致する。かかる場合は、左端座標Lは、
レジスタデータaのL値を出力し、右端座標Rは、レジ
スタデータaのR値を出力する。
【0128】また、それらの出力後に出力バッファ41
3のR値をレジスタファイル410のデータのn番目以
降のL値に書き込む。さらに、レジスタファイル410
のn+1以降をレジスタ0方向にシフトする。シフト後
新しいn番目に対し、出力データの作成を行う。
【0129】図30の例は、入力データbがレジスタデ
ータaよりZ値が大きく且つ、重ならない場合である。
この場合も、図29の例と同様に処理される。
【0130】図31は、入力データbが、レジスタデー
タaと重なるが、レジスタデータaが半透明である場合
である。したがって、図25のパターン4に相当する。
この場合の基本的処理内容は、図27の例と同様である
が、半透明の出力データcは、出力バッファ413では
なくスタックレジスタ414に書き込まれる。また、ス
タックレジスタ414のR値をファイルレジスタ410
のn番目のL値に書き込み、その後n+1番目に対し、
出力データの作成を行う。
【0131】図32は、図31の例に対し、入力データ
bが、レジスタデータaに対しZ値が大きい場合であ
る。この場合は、出力データの作成は行われずZカウン
タ412の初期値の再設定が行われる。
【0132】さらに、図33の例の基本的処理は、図2
9の場合と同様であるが、図31の例と同様に、半透明
の出力データは出力バッファ413ではなくスタックレ
ジスタ414に書き込まれる。
【0133】また、図34は、図33の例に対し、入力
データbが、レジスタデータaに対してZ値が大きい場
合である。この場合は、出力データの作成は行われずに
Zカウンタ412の初期値の再設定が行われる。
【0134】なお、上記図31、図32の例のごとく半
透明出力データがスタック414に書き込まれる際は、
半透明カウンタ(TCNT)415が1づつ歩進する。
したがって、半透明カウンタ415のカウント値が1以
上である場合、スタック414に半透明データが存在す
ることを示している。
【0135】不透明データが出力バッファ413から出
力された後、半透明カウンタ415のカウント値が1以
上である場合、半透明データをスタックレジスタ414
から出力する。図35は、スタックレジスタ414の状
態例を示す図である。33ワード分の容量を有し、順次
半透明出力データが書き込まれる。又、逆方向に半透明
出力データが読み出される。この半透明出力データの書
込み、読み出しに対応して1づつ半透明カウンタ415
が歩進、減算される。
【0136】上記の様に、スキャンラインZソート回路
108において、レジスタファイル410のレジスタデ
ータaと入力データbの基本的関係が8つのパターンに
まとめられる。かかる8つのパターンに対応して出力デ
ータが決定される。
【0137】さらに、スキャンラインZソート回路10
8からの出力データは、ラインバッファ42に格納され
る。ラインバッファ42は、一走査線分の容量を有する
ものであり、図36の構成においては1フレーム分必要
であった構成と比較して、回路規模を小さくできる。
【0138】
【発明の効果】以上図面に従い、実施の形態を説明した
ように本発明においては、ソート処理がスキャンライン
単位に行われる。さらに、ソート処理の結果は、ライン
バッファに格納される。
【0139】したがって、本発明においては、外部メモ
リとしてのフレームバッファを原理上削減することが可
能である。さらに、ラインバッファへの書き込みに対
し、1ピクセルに対し、1ポリゴンを選択する為に、不
透明ポリゴンのデータに対し、ピクセルの上書き処理が
不必要となる。この結果、高速化が可能である。
【0140】なお、上記図面を参照しての実施の形態
は、本発明の理解のためであって、本発明の保護の範囲
は、これに限定されない。本発明の保護の範囲は、特許
請求の範囲に定まり、特許請求の範囲の記載と均等の範
囲も本発明の保護の範囲に含まれるものである。
【図面の簡単な説明】
【図1】本発明に従うソート方法を用いた画像処理装置
の構成例ブロックである。
【図2】図1における画像描画LSI30の実施例ブロ
ック図である。
【図3】図1の画像処理装置の動作フローである。
【図4】図2におけるポリゴンリストの実施例を説明す
る図である。
【図5】ポリゴン〜の表示イメージ例である。
【図6】Yアドレス70にあるラインが処理スキャンラ
インであることが示す表示例である。
【図7】アクティブポリゴンリストの実施例を説明する
図である。
【図8】頂点座標A(Xa、Ya)、B(Xb、Y
b)、C(Xc、Yc)を有するポリゴンを説明する図
である。
【図9】スキャンラインXソート処理を説明する表示イ
メージ図である。
【図10】スキャンラインXソート回路107を模式的
に示す図である。
【図11】スキャンラインZソート処理を説明する表示
イメージ図である。
【図12】図11の表示イメージに対応した処理の過程
におけるスキャンラインZソート回路108のレジスタ
の状態図(初期化時)である。
【図13】図11の表示イメージに対応した処理の過程
におけるスキャンラインZソート回路108のレジスタ
の状態図(ポリゴン投入時)である。
【図14】図11の表示イメージに対応した処理の過程
におけるスキャンラインZソート回路108のレジスタ
の状態図(ポリゴン投入時)である。
【図15】図11の表示イメージに対応した処理の過程
におけるスキャンラインZソート回路108のレジスタ
の状態図(ポリゴン出力時)である。
【図16】図11の表示イメージに対応した処理の過程
におけるスキャンラインZソート回路108のレジスタ
の状態図(ポリゴン入力時)である。
【図17】図11の表示イメージに対応した処理の過程
におけるスキャンラインZソート回路108のレジスタ
の状態図(ポリゴン出力時)である。
【図18】スキャンラインZソート回路108のバッフ
ァのポリゴンデータと新規入力データとの関係を説明す
る図である。
【図19】三頂点A(Xa,Ya),B(Xb,Y
b),C(Xc,Yc)を有するポリゴンの表示イメー
ジである。
【図20】テクスチャメモリ5に格納されるテクスチャ
マップを示す図である。
【図21】本発明に従うスキャンラインZソート回路1
08の構成例ブロック図である。
【図22】図21のスキャンラインZソート回路108
の状態遷移図である。
【図23】図22の状態遷移により実行されるスキャン
ラインZソート回路108の動作の基本原理を説明する
図である。
【図24】図21のレジスタファイル410の構成例で
ある。
【図25】R値、Z値の比較器Cの出力と不透明/半透
明ビットT値の組み合わせの関係を示す図である。
【図26】出力開始ワードデータ(Zカウンタ412の
初期値)の決定を説明する図である。
【図27】図25の関係においてパターン1に一致する
実施例である。
【図28】図25の関係においてパターン2に一致する
実施例である。
【図29】図25の関係においてパターン3に一致する
実施例である。
【図30】図25の関係においてパターン4に一致する
実施例である。
【図31】図25の関係においてパターン5に一致する
実施例である。
【図32】図25の関係においてパターン6に一致する
実施例である。
【図33】図25の関係においてパターン7に一致する
実施例である。
【図34】図25の関係においてパターン8に一致する
実施例である。
【図35】スタックレジスタ414の状態例を示す図で
ある。
【図36】三次元画像を画面表示する画像表示装置の概
略構成ブロック図である。
【符号の説明】
1 CPU 2 ワークメモリ 3 ジオメトリ部 40 画像描画用LSI 107 スキャンラインXソート処理部 108 スキャンラインZソート処理部 5 テクスチャマップ 410 レジスタファイル 411 選択出力回路 412 Zカウンタ 413 出力バッファ 414 スタックレジスタ 415 Tカウンタ 416 コントローラ 417 出力セレクタ

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】三次元座標を有する複数のポリゴンデータ
    を複数の走査線により描画する画像処理装置における、
    該複数のポリゴンデータのバッファメモリへの描画順を
    決定するためのポリゴンデータのソート方法において、 一の走査線上に稜線が交差する複数のポリゴンを、該一
    の走査線上のX軸方向に該ポリゴンの特定位置を基準に
    ソートする第一のソートステップと、 該第一のソートステップによりソートされた、該一の走
    査線に稜線が交差する複数のポリゴンのZ座標値を基準
    にソートする第二のソートステップを有することを特徴
    とするポリゴンデータのソート方法。
  2. 【請求項2】請求項1において、 前記第一のソートステップにおけるソートの基準とする
    特定位置は、前記一の走査線とポリゴンの左側稜線の交
    差する左端座標であり、該左端座標の大きさの順に該一
    の走査線上に稜線が交差する複数のポリゴンをソートす
    ることを特徴とするポリゴンデータのソート方法。
  3. 【請求項3】請求項2において、 前記第二のソートステップは、更に、前記第一のソート
    ステップによりソートされた順位が先である第一のポリ
    ゴンデータの右端座標値と、比較すべき第二のポリゴン
    データの左側稜線の該一の走査線と交差する左端座標値
    との大小を比較し、且つ該一のポリゴンデータが透明ポ
    リゴンであるかを判断することを特徴とするポリゴンデ
    ータのソート方法。
  4. 【請求項4】請求項3において、 前記第二のソートステップの比較の過程で、前記第一の
    ポリゴンデータの右端座標値より、前記第二のポリゴン
    データの左端座標値が小さいと判断される場合まで、該
    第一のポリゴンデータを出力することを特徴とするポリ
    ゴンデータのソート方法。
  5. 【請求項5】請求項4において、 前記第一のポリゴンデータの右端座標値より、前記第二
    のポリゴンデータの左端座標値が小さいと判断される場
    合、第一のポリゴンデータの右端座標値を該第二のポリ
    ゴンデータの左端座標値に置き換えることを特徴とする
    ポリゴンデータのソート方法。
  6. 【請求項6】請求項4において、 前記出力される第一のポリゴンデータは、前記一の走査
    線上のピクセル単位で一走査線分の容量を有するライン
    バッファに出力されることを特徴とするポリゴンデータ
    のソート方法。
  7. 【請求項7】三次元座標を有する複数のポリゴンデータ
    を複数の走査線により描画する画像処理装置における、
    該複数のポリゴンデータのバッファメモリへの描画順を
    決定するためのポリゴンデータのソート方法において、 フレーム単位に該複数のポリゴンデータをジオメトリ変
    換し、 該ジオメトリ変換されたポリゴンデータのY座標値を基
    準に、該複数のポリゴンをリンクしたポリゴンリストを
    生成し、 該ポリゴンリストから読み出だされるポリゴンの稜線
    が、該複数の走査線の各々において交差するポリゴンの
    リストをアクティブポリゴンリストとして生成し、 該アクティブポリゴンリストにおける走査線毎に、該ア
    クティブポリゴンの、左側稜線が走査線と交差するX座
    標値を基準にソートして、その順位をリストしたアクテ
    ィブリストを生成し、 該アクティブリストにリストされる順位で該アクティブ
    ポリゴンを読み出し、該アクティブポリゴンのZ値を基
    準にソートして、データを出力するポリゴンを求めるこ
    とを特徴とするポリゴンデータのソート方法。
  8. 【請求項8】請求項7において、 前記アクティブポリゴンのZ値を基準とするソートは、
    前記アクティブリストにリストされる順位が先である第
    一のポリゴンデータの右端座標値と、比較すべき第二の
    ポリゴンデータの左側稜線の該一の走査線と交差する左
    端座標値との大小を比較し、且つ該一のポリゴンデータ
    が透明ポリゴンであるかを判断することにより実行され
    ることを特徴とするポリゴンデータのソート方法。
  9. 【請求項9】請求項8において、 前記第一のポリゴンデータの右端座標値より、前記第二
    のポリゴンデータの左端座標値が小さいと判断される場
    合、第一のポリゴンデータの右端座標値を該第二のポリ
    ゴンデータの左端座標値に置き換えることを特徴とする
    ポリゴンデータのソート方法。
  10. 【請求項10】請求項7において、 前記出力される第一のポリゴンデータは、前記一の走査
    線上のピクセル単位で一走査線分の容量を有するライン
    バッファに出力されることを特徴とするポリゴンデータ
    のソート方法。
  11. 【請求項11】三次元座標を有する複数のポリゴンデー
    タを複数の走査線により描画する画像処理装置におい
    て、 一の走査線上に稜線が交差する複数のポリゴンを、該一
    の走査線上のX軸方向にソートする第一のソート処理部
    と、 該第一のソート処理部によりソートされた、該一の走査
    線に稜線が交差する複数のポリゴンのZ座標値を基準に
    ソートする第二のソート処理部と、 該第二のソート処理部のソートにより生成された一走査
    線分のポリゴンデータを格納するラインバッファを有す
    ることを特徴とする画像処理装置。
  12. 【請求項12】請求項11において、 前記第一のソート処理部におけるソートの基準とする特
    定位置は、前記一の走査線とポリゴンの左側稜線の交差
    する左端座標であり、該左端座標の大きさの順に該一の
    走査線上に稜線が交差する複数のポリゴンデータをソー
    トすることを特徴とする画像処理装置。
  13. 【請求項13】請求項12において、 前記第二のソート処理部は、前記第一のソート処理部に
    よりソートされた順に入力されるポリゴンデータが書き
    込まれる複数のワードを有するレジスタファイルを有
    し、 該レジスタファイルに先に書き込まれている第一のポリ
    ゴンデータの右端座標値と、新たに該第一のソート処理
    部により入力される第二のポリゴンデータの左側稜線の
    該一の走査線と交差する左端座標値との大小を比較し、 且つ該一のポリゴンデータが透明ポリゴンであるか否か
    を判断することを特徴とする画像処理装置。
  14. 【請求項14】請求項13において、 前記レジスタファイルは、前記複数のワードの各ワード
    に書き込まれるポリゴンデータの前記一の走査線上の左
    端座標値、右端座標値、Z軸座標値及び、該ポリゴンデ
    ータが透明であるか否かの表示の領域を含み、且つ各ワ
    ードの右端の座標値及びZ軸座標値の領域は入力データ
    の対応する右端座標値及びZ軸座標値と比較する比較器
    を有することを特徴とする画像処理装置。
  15. 【請求項15】請求項14において、 前記新たに第一のソート処理部により入力される前記第
    二のポリゴンデータと比較する、前記レジスタファイル
    に先に書き込まれている第一のポリゴンデータは、該レ
    ジスタファイルの前記複数のワードを順に検証し、n番
    目のポリゴンデータが不透明又は入力データのZ座標の
    方が、n番目のポリゴンデータのZ座標より小さい場合
    に、該n番目のポリゴンデータから前記一の走査線上の
    描画すべきポリゴンデータを作成して出力することを特
    徴とする画像処理装置。
  16. 【請求項16】請求項15において、 前記一の走査線上の描画すべきポリゴンデータを作成し
    て出力されるポリゴンデータのうち不透明のポリゴンデ
    ータを先に前記ラインバッファに出力して、その後に透
    明のポリゴンデータを該ラインバッファに出力すること
    を特徴とする画像処理装置。
JP10132106A 1997-05-15 1998-05-14 ポリゴンデータのソート方法及びこれを用いた画像処理装置 Withdrawn JPH1131236A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10132106A JPH1131236A (ja) 1997-05-15 1998-05-14 ポリゴンデータのソート方法及びこれを用いた画像処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-125949 1997-05-15
JP12594997 1997-05-15
JP10132106A JPH1131236A (ja) 1997-05-15 1998-05-14 ポリゴンデータのソート方法及びこれを用いた画像処理装置

Publications (1)

Publication Number Publication Date
JPH1131236A true JPH1131236A (ja) 1999-02-02

Family

ID=26462244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10132106A Withdrawn JPH1131236A (ja) 1997-05-15 1998-05-14 ポリゴンデータのソート方法及びこれを用いた画像処理装置

Country Status (1)

Country Link
JP (1) JPH1131236A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084417A (ja) * 2001-09-07 2003-03-19 Pentax Corp 描画装置における描画処理方法
JP2003084423A (ja) * 2001-09-07 2003-03-19 Pentax Corp バッファレス描画処理方法及び描画装置
EP2551826A2 (en) 2011-07-29 2013-01-30 Fujitsu Limited Drawing device
EP2615578A1 (en) 2012-01-13 2013-07-17 Fujitsu Limited Image drawing apparatus with a cache memory

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084417A (ja) * 2001-09-07 2003-03-19 Pentax Corp 描画装置における描画処理方法
JP2003084423A (ja) * 2001-09-07 2003-03-19 Pentax Corp バッファレス描画処理方法及び描画装置
JP4568461B2 (ja) * 2001-09-07 2010-10-27 株式会社オーク製作所 描画装置における描画処理方法
JP4718732B2 (ja) * 2001-09-07 2011-07-06 株式会社オーク製作所 バッファレス描画処理方法及び描画装置
EP2551826A2 (en) 2011-07-29 2013-01-30 Fujitsu Limited Drawing device
JP2013030066A (ja) * 2011-07-29 2013-02-07 Fujitsu Ltd 描画装置
EP2615578A1 (en) 2012-01-13 2013-07-17 Fujitsu Limited Image drawing apparatus with a cache memory
JP2013145465A (ja) * 2012-01-13 2013-07-25 Fujitsu Ltd 画像描画装置、画像描画プログラム、及び、画像描画方法
EP2738736A1 (en) 2012-01-13 2014-06-04 Fujitsu Limited Image drawing apparatus with a cache memory
US9245370B2 (en) 2012-01-13 2016-01-26 Fujitsu Limited Image drawing apparatus, computer-readable medium storing program, and method of the same

Similar Documents

Publication Publication Date Title
EP0356103B1 (en) Scan-conversion process and processor
US6961065B2 (en) Image processor, components thereof, and rendering method
KR19980702804A (ko) 영상 생성 및 조작을 위한 하드웨어 아키텍처
MXPA01010828A (es) Dispositivo de produccion de imagenes.
JP2009134620A (ja) 描画装置、描画プログラムおよび描画方法
WO1998053425A1 (fr) Processeur d'image et procede correspondant
KR101039132B1 (ko) 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법
JP3756888B2 (ja) グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム
JPH1131236A (ja) ポリゴンデータのソート方法及びこれを用いた画像処理装置
US7528839B1 (en) Faster clears for three-dimensional modeling applications
US20020051016A1 (en) Graphics drawing device of processing drawing data including rotation target object and non-rotation target object
US20100302259A1 (en) Drawing data processing method, graphics drawing system and graphics drawing data generation program
US6518969B2 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
JP3979162B2 (ja) 画像処理装置およびその方法
US6885375B2 (en) Stalling pipelines in large designs
JP2006293470A (ja) 描画装置、方法および描画プログラム
JP2776793B2 (ja) 画像表示方法およびその表示装置
US20050052459A1 (en) Method and system for rendering macropixels in a graphical image
US6489967B1 (en) Image formation apparatus and image formation method
JPH10214352A (ja) 画像生成装置及び画像生成方法
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JP2000207576A (ja) 画像処理方法,画像処理装置,および画像処理プログラムを記録した記録媒体
JPH02132572A (ja) 画像表示装置
JP2634905B2 (ja) 図形ぬりつぶし方法
JP2766478B2 (ja) 画像処理システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802