JP2000099748A - 3次元グラフィックス処理装置及びその処理方法 - Google Patents

3次元グラフィックス処理装置及びその処理方法

Info

Publication number
JP2000099748A
JP2000099748A JP26366298A JP26366298A JP2000099748A JP 2000099748 A JP2000099748 A JP 2000099748A JP 26366298 A JP26366298 A JP 26366298A JP 26366298 A JP26366298 A JP 26366298A JP 2000099748 A JP2000099748 A JP 2000099748A
Authority
JP
Japan
Prior art keywords
data
processing
polygon
aliasing
dda
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP26366298A
Other languages
English (en)
Inventor
Hitoshi Yamamoto
斉 山本
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP26366298A priority Critical patent/JP2000099748A/ja
Publication of JP2000099748A publication Critical patent/JP2000099748A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 この発明は、処理時間の増加をなくし、且
つ、少ない回路規模でアンチエイリアシング処理を実行
することを目的とする。 【解決手段】 この発明は、デジタル微分解析(DD
A)でポリゴンの描画処理を行う3次元グラフィックス
処理装置において、スクリーン座標系に変換されたポリ
ゴンを構成する端点情報を取り込み、前記端点情報に基
づきDDAに用いるパラメータを算出するパラメータ計
算部10と、パラメータに基づきブレゼンハム法に従う
DDAでポリゴン辺を構成する辺線分情報を補間し、描
画情報として出力するDDA処理部11と、ブレゼンハ
ム法のデータに基づいてアンチエイリアス処理に必要な
データを生成するアンチエイリアスデータ生成回路11
cと、このアンチエイリアスデータ生成回路11cから
のデータを用いてアンチエイリアス処理をするアルファ
ブレンド回路12bと、を備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、多角形オブジェ
クト(以下、ポリゴンと称する)の表示処理を行う3次
元グラフィックス処理装置及びその処理方法に関する。
【0002】
【従来の技術】一般的な3次元グラフィックス処理装置
では、図1に示すように、CPU2からポリゴンデータ
が幾何変換部3に与えられ、この幾何変換部3にて、モ
デリング変換、視野変換、透視変換などの幾何変換が行
われ、スクリーン座標系のポリゴンを構成する端点情報
を示すポリゴンデータが描画処理部4に与えられる。描
画処理部4は、ポリゴンデータからポリゴンを構成する
1画素単位の描画情報を求め、その描画情報がフレーム
メモリ5に格納される。そして、格納された描画情報に
基づき、表示装置であるCRT6にポリゴンが表示され
る。
【0003】上記した3次元グラフィックス処理装置に
おいては、ポリゴンのエッジ部分等に発生するギザギザ
であるエイリアスを除去して、スムースで高品質な表示
を行うためにアンチエイリアス(アンチエイリアシン
グ)処理が行われている。
【0004】このアンチエイリアシングには大きくスー
パーサンプリング法とフィルタリング法がある。
【0005】スーパーサンプリング法は処理画素数を実
際の表示画素数のN×N(縦×横)のより細かい画素を
計算し、その結果を平均化するというような方法であ
る。しかし、この方式は処理画素数が表示画素数のN×
N倍になるため、処理時間は膨大なものとなる。
【0006】また、フィルタリング法は一旦全ての処理
を終えたフレームバッファメモリのデータに対して、周
囲の画素との重み付けを持った色演算を実行するという
方法である。この方式は、表示画像全体を処理するため
全体がぼけた画像になる。それを解決するために輪郭部
分にのみこの処理を施す等の手法も考えられたが、その
輪郭抽出のための処理時間も必要になり、やはり処理時
間は増加する。
【0007】
【発明が解決しようとする課題】そこで、特開平7−2
82274号公報(Int.Cl. G06T 11/
20)に示すように、ポリゴンを描画した後、もう一度
その輪郭のみをアンチエイリアス直線描画により実現す
るという手法が提案されている。
【0008】しかし、この手法でもポリゴン描画に加え
てアンチエイリアス直線描画をするため、同一ポリゴン
であるにも関わらず2度も描画される画素が多数存在
し、処理時間を増加させてしまうという問題があった。
【0009】この発明は、上述した従来の問題点を解決
するためになされたものにして、上記した今までの手法
での処理時間の増加をなくし、且つ、少ない回路規模で
アンチエイリアシング処理を実行することを目的とす
る。
【0010】
【課題を解決するための手段】この発明は、デジタル微
分解析でポリゴンの描画処理を行う3次元グラフィック
ス処理装置において、スクリーン座標系に変換されたポ
リゴンを構成する端点情報を取り込み、前記端点情報に
基づきデジタル微分解析に用いるパラメータを算出する
パラメータ算出手段と、前記パラメータに基づきブレゼ
ンハム法に従うデジタル微分解析でポリゴン辺を構成す
る辺線分情報を補間し、描画情報として出力するデジタ
ル微分解析処理手段と、前記ブレゼンハム法のデータに
基づいてアンチエイリアス処理に必要なデータを生成す
るアンチエイリアスデータ生成手段と、このアンチエイ
リアスデータ生成手段からのデータを用いてアンチエイ
リアス処理をするアンチエイリアス手段と、を備えたこ
とを特徴とする。
【0011】前記アンチエイリアス処理手段は、そのポ
リゴンの左辺と右辺の画素と、その画素の一方向のすで
に記憶されているフレームメモリのデータとをカラー演
算することによりアンチエイリアス処理を行うように構
成すればよい。
【0012】また、アンチエイリアスデータ生成手段
は、ブレゼンハム法のエラー項のデジタル微分解析に基
づく小数部のデータか反転データにより生成するように
構成すればよい。
【0013】アンチエイリアス処理のない回路では上記
したデジタル微分解析手段(DDA処理部)にアンチエ
イリアスデータ生成する回路がないだけであり、この発
明ではこのブロックの追加のみでアンチエイリアスに必
要なデータを生成する。そして、そのカラー演算には従
来のアルファブレンド回路を用いてアンチエイリアシン
グ処理が行えるので、非常に回路規模が少なくてすむ。
また、処理時間も従来のポリゴン描画の辺画素に対して
のみアルファブレンド処理をするだけで、処理に全く無
駄がなく処理時間は他の方式より最短時間で処理でき
る。
【0014】また、この発明は、陰面処理にZバッファ
法を用いているとき、その左辺及び右辺のアンチエイリ
アス処理の時のみ、そのZバッファの為に読み出したデ
ータをシフト処理するように構成すればよい
【0015】上記した構成によれば、DDAに誤差が生
じるようなDDAを用いた場合でもアンチエイリアシン
グ処理を正しく実行できる。
【0016】また、この発明の3次元グラフィックス処
理方法は、スクリーン座標系に変換されたポリゴンを構
成する端点情報を取り込み、デジタル微分解析でポリゴ
ン辺を構成する辺線分情報を補間すると共に、前記ブレ
ゼンハム法のデータに基づいてアンチエイリアス処理に
必要なデータを生成し、このデータを用いてアンチエイ
リアス処理をすることを特徴とする。
【0017】
【発明の実施の形態】以下、この発明の実施の形態につ
き図面を参照して説明する。図1は、3次元グラフィッ
クス処理装置の一般的な構成を示すブロック図である。
この発明の3次元グラフィックス処理装置は、基本的に
は、CPU2、幾何変換部3、描画処理部4、フレーム
メモリ5及びCRT6で構成される。なお、この実施の
形態では、CPU2が3次元グラフィックス処理装置全
体を制御するように構成している。
【0018】この発明の3次元グラフィックス処理装置
の特徴とするところは、描画処理部4の構成に係り、ア
ンチエイリアスされた描画処理を遅延させることなく迅
速に行うものである。以下、この描画処理部4を含むこ
の発明の3次元グラフィックス処理装置の主要部につい
て説明する。
【0019】図2は、この発明の実施の形態に係る3次
元グラフィックス処理装置の主要部の概略的な構成を示
すブロック図である。
【0020】描画処理部4において、幾何変換部3で幾
何変換されたポリゴンデータが、パラメータ計算部10
に取り込まれる。このパラメータ計算部10は、ポリゴ
ンデータに基づきDDA処理部11にて行われるブレゼ
ンハム法に基づくDDA処理に用いるパラメータを算出
する。
【0021】このパラメータ計算部10にて算出された
パラメータは、前記ポリゴンデータとともにDDA処理
部11に与えられる。DDA処理部11は、ブレゼンハ
ム法に従いポリゴンデータ及び前記パラメータに基づ
き、1水平ラインとポリゴンとが交差する左辺を構成す
る辺線分情報を補間し、その補間結果を左辺描画情報と
して算出する“Left”のDDA処理と、1水平ライ
ンとポリゴンとが交差する右辺を構成する辺線分情報を
補間し、その補間結果を右辺描画情報として算出する
“Right”のDDA処理と、左辺及び右辺を構成す
る線分情報間を補間し、その補間結果を辺線分情報間描
画情報として算出する“Middle”のDDA処理と
を行う。このDDA処理部11は、図に示すように、ス
クリーンのX、Y及びZ座標、テクスチャのU及びV座
標、輝度やカラーデータ等の全てのパラメータのデジタ
ル微分解析(DDA)を行うDDA回路11aとスクリ
ーンのX及びY座標のDDAを制御するために必要なブ
レゼンハム回路11b、そして、この発明の特徴とする
ブレゼンハム回路11bのデータからアンチエイリアス
に必要なデータを作成するアンチエイリアスデータ生成
回路11cを備える。
【0022】そして、DDA処理部11は処理ポリゴン
の全ての画素データをピクセルバッファ部12に出力す
る。但し、テクスチャマップ処理や輝度計算等の処理が
あるときはDDA処理部11とピクセルバッファ部12
との間にテクスチャ処理部や輝度計算部等がを必要とす
るが、この発明とは、特に関連しないので、ここではブ
ロック図より省略している。
【0023】そして、算出された左辺描画情報、右辺描
画情報、及び辺線分情報間描画情報(以下、描画情報と
総称する場合もある)は、それぞれピクセルバッファ部
12に一時的に格納された後、フレームメモリ5に出力
される。
【0024】そして、ピクセルバッファ部12には画像
データに半透明処理を加えるアルファーブレンド回路1
2bを用いてカラー演算等を行うカラー処理部12aと
Zバッファ処理により陰面処理を行うためのZ処理部1
2cを備えており、フレームメモリ5の既に貯えられて
いるデータを読み出してカラー処理及びZバッファ処理
を行い、再びフレームメモリ5に書き込むという処理を
行っている。
【0025】このピクセルバッファ部12におけるこの
発明のアンチエイリアス処理は、画像データに半透明処
理を加える通常のアルファーブレンド回路12bを用い
るため、アンチエイリアス処理に用いるコントロール回
路以外は必要としない。
【0026】次に、この発明の描画処理方法について説
明する。この発明ではポリゴンを描写するときその輪郭
を求めるのにブレゼンハム法を用い、且つ、Y座標の一
番小さい端点から各スキャンライン毎に描画処理を実行
するものとする。
【0027】図3はこの発明で用いるブレゼンハム法に
出てくるXメジャーとYメジャーを説明する図である。
図3(a)のように2点間のスクリーンX及びY座標の
差分でX座標の方が大きいときXメジャーという。ま
た、図3(b)のようにY座標の方が大きいときYメジ
ャーという。
【0028】そして、この発明のブレゼンハム法は、数
式1のエラー項を使用し、図4に示すアルゴリズムで実
行される。
【0029】
【数式1】エラー項=(XまたはY座標の小さい方の差
分値)/(XまたはY座標の大きい方の差分値)
【0030】図4に示すアルゴリズムに従いこの発明の
ブレゼンハム法につき説明する。
【0031】まず、ブレゼンハム回路11bには、エラ
ーDDAがあり、このエラーDDAの初期値は−0.5
である。まず、エラーDDAの初期値−0.5を設定す
ると共に、スタート端点の座標(X,Y)を設定する
(ステップS1)。そして、そのスタート端点が描画さ
れる(ステップS2)。
【0032】次に、最終ドットかどうか(もう一方の端
点かどうか)をチェックし(ステップS3)、もし最終
ドットなら終了し、最終ドットでない場合には次のステ
ップS4に進む。
【0033】ステップS4においては、エラーDDAに
上記数式1のエラー項を加算し、ステップS5に進む。
ステップS5では、その結果(エラーDDA)が正また
は負であるかをチェックする。もし負であれば、Xメジ
ャーの時は現在のX座標にのみ1加算または減算し(ベ
クトルの向きにより異なる)、Yメジャーの時は現在の
Y座標にのみ1加算する(ステップS6)。また、正で
あれば現在のX座標に1加算または減算し、Y座標は1
加算される。また、エラーDDAはその値から1.0減
算される(ステップS7)。そして、その座標で描画し
(ステップS2)、この動作を繰り返すことにより2端
点間の辺画素データが求められる。
【0034】そして、上記した図4に示すアルゴリズム
に従い処理していくとポリゴンの左辺と右辺の間には図
5に示すようにタイプ1からタイプ8の8通りの辺画素
データとなる。ここで、黒丸は辺画素であり、白色丸は
ポリゴンの内部画素である。タイプ1からタイプ4は左
辺の辺画素データ、タイプ5からタイプ8は右辺の辺画
素データを示す。
【0035】この発明でのアンチエイリアス処理は、図
6に示すように、ポリゴンの辺画素に対し、上下左右の
4方向の内のある方向のフレームメモリ5に既に書き込
まれている画素と後述する数式2に従いカラー演算し、
その結果を辺画素カラーとしてフレームメモリ5に書き
込むことにより実現される。
【0036】
【数式2】AC=EC+(1−α)×FC ここで、 AC:アンチエイリアスカラーデータ EC:辺画素カラーデータ FC:フレームメモリカラーデータ α:アンチエイリアス割合データ である。
【0037】例えば、図6のように黒丸の辺画素カラー
データと三角のフレームメモリカラーデータを黒丸の大
きさで大きいほど1.0に近いアンチエイリアス割合デ
ータを割り当て、小さいほど0.0に近いアンチエイリ
アス割合データを割り当てて考えると、数式2による結
果のアンチエイリアスカラーデータは階段状のポリゴン
辺描画がよりスムーズに変化しているように見えること
がわかる。
【0038】次に、この発明でブレゼンハム法のデータ
をアンチエイリアス処理にどのように使用するかを説明
する。
【0039】図7(a)は図5のタイプ7の場合を示
し、エラーDDAは最上位に符号ビットそして、以下5
ビットが小数部のデータとし、エラー項データが“01
000”(0.25)の時の例である。1段目のエラー
DDAのデータは“110000”(−0.5)で2段
目にはエラー項データが加算され“111000”(−
0.25)でエラーDDAは負であるのでY座標のみに
1加算される。3段目ではエラーDDAが“00000
0”になり正になったため、X座標から1減算されY座
標には1加算され、エラーDDAは−1.0され“10
0000”になる。これを繰り返し、8段目まで実行し
たときのエラーDDA結果を図7に示す。
【0040】そこで、3段目から6段目のエラーDDA
の小数部5ビットの反転データに着目すると順にA点
(1fh)、B点(17h)、C点(0fh)、D点
(07h)となり辺画素のアンチエイリアス割合データ
となる。
【0041】また、図7(b)は図5のタイプ8の場合
を示し、同様にエラーDDAの小数部5ビットに着目す
ると順にE点(00h)、F点(08h)、G点(10
h)、H点(18h)となり辺画素のアンチエイリアス
割合データとなる。
【0042】このようにエラーDDAの小数部のデータ
か反転データがアンチエイリアス割合データとなること
がわかる。
【0043】そこで、表1に図5全てのタイプに対し、
エラーDDAの小数部のデータか反転データを用いる
か、また既に書き込みされたフレームメモリ5のどの方
向のデータとカラー演算しなければならないかをまとめ
る。
【0044】
【表1】
【0045】DDA処理部11のコントロール部(図示
せず)は、ブレゼンハム法を実行するため、既に表1の
メジャー及びX座標の向きデータを格納している。それ
らのデータを使用し、アンチエイリアスデータ生成回路
11cがエラーDDAの小数部を表1の正転/反転に基
づきアンチエイリアス割合データを作成し、各処理画素
毎に図8に示すデータを付加する。
【0046】図8の“E”は1ビットのデータでこのド
ットが辺画素かまたは辺画素でないかを示す。図8の
“DIR”は2ビットの方向データであり、表1の向き
データに対応する。図8の“RATIO”は5ビットの
アンチエイリアス割合データであり、エラーDDAの小
数部から作成される。
【0047】上記したように、図2のDDA処理部11
のアンチエイリアスデータ生成回路12で各画素毎に生
成された図8の付加データがピクセルバッファ部12に
送られる。
【0048】ピクセルバッファ部12は、図8の“E”
データを参照し、その処理画素が辺画素であれば図8の
“DIR”データを参照し、フレームメモリ5からその
方向の既に書き込まれているカラーデータを読み出し、
その辺画素カラーデータとフレームメモリ5のカラーデ
ータとを図8の“RATIO”データをαブレンド値と
して、アルファブレンド回路12bで上記数式2に基づ
きカラー演算を実行する。
【0049】以上により、辺画素以外は通常の描画処理
をし、辺画素に対してはアンチエイリアス処理された画
像処理がなされる。
【0050】図9は、この発明に使用したブレゼンハム
法を用いたDDA処理装置の構成を示すブロック図であ
る。この図9に示す装置は、特願平10−217280
号にてこの発明者は提案している。尚、この図9に示す
回路は、この発明のDDA処理の用いて好適な回路であ
るが、この発明におけるDDA処理はこの回路に限られ
るものではない。
【0051】以下、図9に示す回路を用いた動作につき
説明する。図9は、パラメータ計算部10及びDDA処
理部11の内部構成を示すブロック図である。
【0052】パラメータ計算部10は、ポリゴンデータ
を格納するデータ格納部15と、前記ポリゴンデータに
基づきパラメータを算出する演算部16と、算出された
パラメータを格納するパラメータ格納部17と、を備え
る。前記ポリゴンデータは、ポリゴンを構成する端点情
報であり、前記幾何変換部3にてスクリーン座標系に変
換されたx座標、y座標と、前記ポリゴンの視点からの
距離の代表値を示すz値と、輝度情報の1つであるカラ
ーデータ(色)とで構成される。
【0053】パラメータ計算部10は、前記ポリゴンデ
ータを取り込み、データ格納部15の各レジスタに格納
する。即ち、データ格納部15には、図10に示す三角
形ABCの頂点Aに関するポリゴンデータ(SX0,S
Y0,SZ0,CL0)、頂点Bに関するポリゴンデー
タ(SX1,SY1,SZ1,CL1)、及び頂点Cに
関するポリゴンデータ(SX2,SY2,SZ2,CL
2)とがそれぞれレジスタに格納される。
【0054】前記演算部16は、前記データ格納部15
に格納されたポリゴンデータを用いてx座標が1増加し
た場合のz値の変化率を示す差分値ΔSZX、y座標が
1増加した場合のz値の変化率を示す差分値ΔSZY、
x座標が1増加した場合のカラーデータの変化率を示す
差分値ΔCLX、及びy座標が1増加した場合の変化率
を示す差分値ΔCLYを数式3に基づいて算出する。そ
して、算出部16は、算出結果を算出結果格納部17の
各レジスタにそれぞれ格納する。
【0055】
【数式3】ΔSZX={(SZ2-SZ0) ×(SY1-SY2)-(SZ1-SZ2)
×(SY2-SY0) }/ {(SX2-SX0) ×(SY1-SY2)-(SX1-SX2)
×(SY2-SY0) } ΔSZY={(SZ1-SZ2) ×(SX2-SX0)-(SZ2-SZ0) ×(SX1-SX
2) }/ {(SX2-SX0) ×(SY1-SY2)-(SX1-SX2) ×(SY2-SY
0) } ΔCLX={(CL2-CL0) ×(SY1-SY2)-(CL1-CL2) ×(SY2-SY
0) }/ {(SX2-SX0) ×(SY1-SY2)-(SX1-SX2) ×(SY2-SY
0) } ΔCLY={(CL1-CL2) ×(SX2-SX0)-(CL2-CL0) ×(SX1-SX
2) }/ {(SX2-SX0) ×(SY1-SY2)-(SX1-SX2) ×(SY2-SY
0) }
【0056】また、演算部16は、図10に示す3角形
ABCを示すポリゴンの3つのポリゴン辺AB,BC,
ACを求めるブレゼンハム法に用いられるエラー項パラ
メータERR0,ERR1,ERR2を各ポリゴン辺A
B,BC,ACに対して算出する。前記各ポリゴン辺A
B,BC,ACに対するエラー項パラメータERR0,
ERR1,ERR2は、数式4によってそれぞれ算出さ
れ、算出結果格納部17の各レジスタにそれぞれ格納さ
れる。なお、abs() は、()内の絶対値を示す。
【0057】
【数式4】 if(abs(SX0-SX1)>abs(SY0-SY1)) ERR0=abs(SY0-SY1)/abs(SX0-SX1) else ERR0=abs(SX0-SX1)/abs(SY0-SY1) if(abs(SX1-SX2)>abs(SY1-SY2)) ERR0=abs(SY1-SY2)/abs(SX1-SX2) else ERR0=abs(SX1-SX2)/abs(SY1-SY2) if(abs(SX0-SX2)>abs(SY0-SY2)) ERR0=abs(SY0-SY2)/abs(SX0-SX2) else ERR0=abs(SX0-SX2)/abs(SY0-SY2)
【0058】さらに、演算部16は、各ポリゴン辺A
B,BC,ACの傾きパラメータも算出する。各ポリゴ
ン辺AB,BC,ACの傾きパラメータは、図3(a)
に示すように、x方向の変化量Δxの大きさの方がy方
向の変化量Δyの大きさよりも大きい場合、X−MAJ
ER(メジャー)と設定される。これに対して、図3
(b)に示すように、y方向の変化量Δyの大きさの方
がx方向の変化量Δxの大きさよりも大きい場合、傾き
パラメータはY−MAJER(メジャー)と設定され
る。この傾きパラメータは、DDA処理制御部13が制
御を行う場合に用いる図示しないワークバッファ部に格
納される。
【0059】また、演算部16は、ポリゴン辺の傾きも
算出する。即ち、演算部16は、各ポリゴン辺AB,B
C,ACの傾きが右下がり(正)または左下がり(負)
のどちらであるかを算出する。この算出された各ポリゴ
ン辺の傾きは、DDA処理制御部13が制御を行う場合
に用いる図示しないワークバッファ部に格納される。
【0060】3入力DDA処理部11は、データ・パラ
メータ格納部20、DDA処理群21、及び処理結果格
納部22を備える。
【0061】データ・パラメータ格納部20は、前記パ
ラメータ計算部10から与えられるポリゴンデータ(S
X0,SY0,SZ0,CL0),(SX1,SY1,
SZ1,CL1),(SX2,SY2,SZ2,CL
2)、差分値ΔSZX,ΔSZY,ΔCLX,ΔCLY
及びエラー項パラメータERR0,ERR1,ERR2
を各レジスタに格納する。
【0062】DDA処理群21は、6つのDDA演算器
25〜30で構成される。各DDA演算器25〜30
は、DDA処理制御部13に制御されてDDA処理を行
う。
【0063】DDA処理群21のDDA演算器25は、
2入力加算器AY、マルチプレクサMY、及びレジスタ
DSYで構成され、y座標に関するDDA処理を行う。
マルチプレクサMYには、ポリゴンデータのy座標の最
も小さい座標(SY#)と、2入力加算器AYからの演
算結果とが与えられ、選択した値をレジスタDSYに格
納する。また、2入力加算器には、レジスタDSYに格
納された値と“+1”とが与えられ、加算した値が前記
マルチプレクサMYに与えられる。レジスタDSYに格
納された値は、求められたy座標を示し、処理結果格納
部22のレジスタSYにも格納される。なお、この実施
の形態では、図10に示すように三角形のポリゴンを取
り込むので、図面に示す“#”には0〜2のいずれかが
該当し、ポリゴンデータの値が与えられることを示す。
【0064】DDA演算器26は、3つのマルチプレク
サMX1,MX2,MX3、2つの2入力加算器AX
1,AX2、及び、レジスタDSX,SXL,SXR,
SXM,SXEで構成され、x座標に関するDDA処理
を行う。
【0065】マルチプレクサMX1には、前記データ・
パラメータ格納部20からx座標(SX#)と2入力加
算器AX1からの演算結果とが与えられ、選択した値を
レジスタDSXに格納する。このレジスタDSXに格納
された値は、レジスタSXL,SXR,SXMにも格納
される。レジスタSXLには、“Left”のDDA処
理が終了した時点のレジスタDSXに格納された値が格
納され、レジスタSXRには、“Right”のDDA
処理が終了した時点のレジスタDSXに格納された値が
格納され、レジスタSXMには、“Left”のDDA
処理におけるx座標の最大値を示すレジスタDSXに格
納された値が格納される。なお、レジスタDSXに格納
された値は、求められたx座標を示し、DDA演算結果
格納部22のレジスタSXにも格納される。
【0066】マルチプレクサMX2には、各レジスタS
XL,SXR,SXMと、レジスタDSXに格納された
値が与えられており、“Left”のDDA処理、“R
ight”のDDA処理、または“Middle”のD
DA処理に切り換えられた直後に、切り換えられたDD
A処理に対応したレジスタに格納された値を選択し、そ
れ以外のときには、レジスタDSXに格納された値を選
択する。例えば、“Left”のDDA処理の最初の段
階では、レジスタSXLに格納された値を選択する。な
お、マルチプレクサMX2は、各レジスタに値が格納さ
れていないときには、レジスタDSXに格納された値を
選択する。
【0067】マルチプレクサMX3には、“+1”,
“−1”,または“0”が与えられている。このマルチ
プレクサMX3は、“Left”のDDA処理及び“R
ight”のDDA処理の場合において、前記傾きパラ
メータがX−MAJERである場合、ポリゴン辺の傾き
が正のときは“1”を選択し、ポリゴン辺の傾きが負の
ときは“−1”を選択する。前記傾きパラメータがY−
MAJERである場合、ブレゼンハム法に用いられる後
述する符号データ及びポリゴン辺の傾きに基づき
“1”,“0”,または“−1”のいずれか1つを選択
する。また、“Middle”のDDA処理の場合には
“1”を選択する。
【0068】2入力加算器AX1には、前記マルチプレ
クサMX2にて選択された値と、マルチプレクサMX3
にて選択された値とが与えられ、それらの値を加算して
その加算結果を前記マルチプレクサMX1に与える。
【0069】また、2入力加算器AX2には、“Rig
ht”のDDA処理時のx座標が1水平ラインにおいて
最も小さいときを示す場合に前記レジスタDSXに格納
された値と、“−1”とが与えられ、加算結果をレジス
タSXEに格納する。従って、このレジスタSXEに
は、ポリゴンの右辺の“Right”のDDA処理にお
いて最も小さなx座標の値に1減算した値が格納され
る。このレジスタSXEに格納された値は、後述する
“Middle”のDDA処理から“Left”のDD
A処理への切り換え、及びDDA処理の終了を判断する
ために用いられる。
【0070】DDA演算器27は、2つのマルチプレク
サM1,M2、3入力加算器AZC、レジスタSL,S
R,SM、レジスタDSZ、AND回路A1〜A3、及
びXNOR回路XNで構成され、z値に関するDDA処
理を行う。
【0071】前記マルチプレクサM1には、前記データ
・パラメータ格納部20からz値SZ#と3入力加算器
AZCからの値とが与えられ、選択した値をレジスタD
SZに格納する。このレジスタDSZに格納された値
は、レジスタSL,SR,SMにも格納される。レジス
タSLには、“Left”のDDA処理が終了した時点
のレジスタDSZに格納された値が格納され、レジスタ
SRには、“Right”のDDA処理が終了した時点
のレジスタDSZに格納された値が格納され、レジスタ
SXMには、“Left”のDDA処理におけるx座標
が最大値を示す時点でのレジスタDSZに格納された値
が格納される。また、レジスタDSZに格納された値
は、求められたz値を示す。
【0072】マルチプレクサM2には、各レジスタS
L,SR,SMとレジスタDSZとに格納された値がそ
れぞれ与えられており、“Left”のDDA処理、
“Right”のDDA処理、または“Middle”
のDDA処理に切り換えられた直後に、切り換えられた
DDA処理に対応したレジスタに格納された値を選択
し、それ以外のときには、レジスタDSZに格納された
値を選択する。なお、マルチプレクサM2は、レジスタ
に値が格納されていないときには、レジスタDSZに格
納された値を選択する。
【0073】3入力加算器AZCには、前記マルチプレ
クサM2に選択された値と、YEN信号と差分値ΔSZ
Yとが与えられる論理積回路A1からの出力と、XND
信号と差分値ΔSZXとが与えられるXNOR回路XN
1からの出力とXEN信号とが与えられる論理積回路A
2からの出力とが与えられる。さらに、3入力加算器A
ZCには、XND信号とXEN信号とが与えられる論理
積回路A3の出力がキャリー入力として与えられる。そ
して、3入力加算器AZCは、与えられる3つの値を加
算し、その加算結果をマルチプレクサM1に与える。
【0074】前記YEN信号は、y座標に対するz値の
差分値またはカラーデータの差分値を加減算するときに
ハイレベルとなる信号であり、前記XEN信号は、x座
標に対するz値の差分値またはカラーデータの差分値を
加減算するときにハイレベルとなる信号である。前記X
ND信号は、x座標に対するz値の差分値またはカラー
データの差分値を減算するときにハイレベルとなる信号
である。これらのYEN信号、XEN信号、及びXND
信号は、DDA処理制御部13にてポリゴン辺の傾き及
び傾きパラメータに基づき決定される。
【0075】DDA演算器28は、2つのマルチプレク
サM1,M2、3入力加算器AZC、レジスタDCL,
CL,CR,CM、AND回路A1〜A3、及びXNO
R回路ZNで構成され、カラーデータに関するDDA処
理を行う。即ち、このDDA演算器28は、前述のDD
A演算器27において取り込まれるz値に関する値の代
わりにカラーデータに関する値(カラーデータCL0〜
CL2、差分値ΔCLX,ΔCLY等)を取り込み、z
値に関する情報を格納するレジスタDSZ,SL,S
R,SMからカラーデータに関する情報を格納するレジ
スタDCL,CL,CR,CMに置き換えただけであ
る。従って、DDA演算器28は、同一の処理動作を行
うため、同一の構成には同一の参照符号を付して説明を
省略する。なお、レジスタDCLに格納された値が求め
られたカラーデータを示す。
【0076】DDA演算器29は、2つのマルチプレク
サME1,ME2、2入力加算器AE1、及びレジスタ
DERLで構成され、“Left”のDDA処理の場合
にポリゴンの左辺を構成する辺線分情報を補間するため
に用いられるブレゼンハム法の符号判定に用いられる符
号データを求めるDDA処理を行う。
【0077】マルチプレクサME1には、前記データ・
パラメータ格納部20からポリゴンの左辺及び右辺に対
応するエラー項パラメータERR#と、“−1”とが与
えられ、選択した値を2入力加算器AE1に出力する。
2入力加算器AE1には、マルチプレクサME1に選択
された値とマルチプレクサME2に選択された値とが与
えられ、それらの値を加算し、その加算結果をレジスタ
DERLに格納する。マルチプレクサME2には、前記
レジスタDERLに格納された値と“−0.5”とが与
えられ、選択した値を前記2入力加算器AE1に出力す
る。なお、レジスタDERLに格納された値が、ポリゴ
ンの左辺を構成する辺線分情報を補間するために用いら
れるブレゼンハム法の符号データを示す。
【0078】DDA演算器30は、2つのマルチプレク
サME1,ME2、2入力加算器AE1、及びレジスタ
DERRで構成され、“Right”のDDA処理の場
合にポリゴンの右辺を構成する辺線分情報を補間するた
めに用いられるブレゼンハム法の符号判定に用いられる
符号データを求めるDDA処理を行う。即ち、このDD
A演算器30は、前述のDDA演算器29において取り
込まれるエラー項パラメータの代わりにポリゴンの右辺
に関するエラー項パラメータを取り込み、レジスタDE
RLをレジスタDERRに置き換えた構成であり、同一
の構成には同一の参照符号を付して説明を省略する。そ
して、DDA演算器30においてDDA処理がなされて
レジスタDERRに格納された値が、ポリゴンの右辺を
構成する辺線分情報を補間するために用いられるブレゼ
ンハム法の符号データを示す。
【0079】上述の構成における3入力DDA処理部1
1は、図10に示すように、1水平ラインにおいて、
“Left”のDDA処理→“Right”のDDA処
理→“Middle”のDDA処理を順番に行い、1水
平ラインにおける左辺描画情報、右辺描画情報、及び辺
線分情報間描画情報を算出する。例えば、図10に示す
ように、1水平ラインLに関する描画情報を求める場合
には、“Left”のDDA処理によって、白丸9〜1
2のx座標、y座標、z値及びカラーデータを左辺描画
情報として求め、“Right”のDDA処理によっ
て、白丸13のx座標、y座標、z値及びカラーデータ
を右辺描画情報として求め、“Middle”のDDA
処理によって黒丸14〜19のx座標、y座標、z値及
びカラーデータを辺線分情報間描画情報として求める。
DDA処理制御部13は、パラメータ計算部10で求め
られたパラメータ。及び3入力DDA処理部11で求め
られた描画情報とブレゼンハム法の符号データとに基づ
き、3入力DDA処理部11で行われる上述の3つのD
DA処理を切り換える。
【0080】このDDAはY座標の一番小さい端点から
各スキャンライン毎に描画処理を実行するが、その時各
スキャンラインでは、左辺→右辺→中間という処理手順
でDDAが実行される。つまり図10のラインLでは、
左辺画素である(10)(11)(12)が、次に右辺の(13)が、
そして中間の(14)(15)(16)(17)(18)(19)がその順に処理
される。
【0081】また、図10の3入力DDA内のLeft
Edge及びRight Edgeブロック内のDE
RL及びDERRがこの発明で使用する左辺及び右辺の
エラーDDA値である。そして、図10には図示してい
ないが、アンチエイリアスデータ生成回路11cが、左
辺と右辺の処理の時に表1に基づき図8に示すフォーマ
ットデータを作成し、図10には図示していないバッフ
ァメモリに蓄える。そして、そのデータは次のピクセル
バッファ部12に送られ、カラー処理部12aのアルフ
ァブレンド回路12bにてアンチエイリアス処理され
る。
【0082】次に、隣接するポリゴン描画についてだ
が、図11のように3つのポリゴンを、、の順に
アンチエイリアス処理を実施して描画する場合につき説
明する。
【0083】Zソート法を用いるときはポリゴンの辺
a、b、cは背景のカラーとカラー演算され、アンチエ
イリアス処理がなされる。次に、ポリゴンを描画する
ときは辺d、eはポリゴンと同様で背景のカラーとカ
ラー演算されるが、辺cはポリゴンの辺cよりY座標
が1小さいポリゴン内部のカラーとカラー演算され
る。同様にポリゴンの辺eはポリゴン内部のカラー
とカラー演算される。
【0084】このようにZソート法の時には問題はない
が、Zバッファ法を用いた時に問題が発生するときがあ
る。それは、上記したように、Z座標のためのDDAに
平面方程式を用いてDDAを構成した場合、そのDDA
に用いるパラメータに各ポリゴン間で誤差が生じる。そ
のため、図11のポリゴンの辺cのZ座標のDDA結
果とポリゴンの辺cのZ座標のDDA結果に差異が生
じる。その結果、ポリゴン→→の順で処理した場
合、ポリゴンの処理時、ポリゴンの辺cのZ座標値
が、ポリゴンの辺cのZ座標値より奥になる場合があ
り、ポリゴンの辺cのアンチエイリアス処理した辺画
素を描画しない場合がある。そうすると、辺cにはポリ
ゴンの辺画素カラーと背景のカラーとカラー演算した
データが残ってしまうため、正常にアンチエイリアス処
理された画像とならない。
【0085】この問題を解決するため、この発明では、
図2に示すZ処理部12に図12に示すような読み出し
たZ座標をある値だけシフトできるようにした回路を付
加することにより解決している。図12に示すように、
フレームメモリ5から読み出され既に書き込みされたZ
座標データ(RZ)がレジスタ120に格納される。こ
のレジスタ120に格納されたZ座標データRZがある
値だけシフトするZTrans回路122に与えられ、
所定の値だけシフトされ、比較器123の一方に与えら
れる。また、現在処理しているDDA処理部11から与
えられるZ座標値データ(CZ)はレジスタ122に格
納され、レジスタ121から比較器123の他方に与え
られる。比較器123において、CZ値が手前であれば
今処理中の画素データをフレームメモリ5に書き込みす
る。
【0086】本来、Zバッファ法は、フレームメモリ5
から読み出された既に書き込みされたZ座標データRZ
と今処理している画素のZ座標データCZを比較器12
3で比較して、CZ値が手前であれば今処理中の画素デ
ータをフレームメモリ5に書き込みする。しかし、この
発明では、図11中の辺cのポリゴンとポリゴンの
Z座標値の差異は非常に小さいということから、辺画素
のZバッファを行うときのみ、読み出してきたRZ値を
少しだけ奥のデータになるように、Z Trans回路
122でデータをシフトしている。このようにすれば、
図11中のポリゴンを描写するときの辺cは必ず描画
されるようになり、前記問題を解決できる。
【0087】
【発明の効果】以上説明したように、この発明は、DD
A処理部にアンチエイリアスデータ生成ブロックを追加
するだけで、このブロックのみでアンチエイリアスに必
要なデータを生成し、更に、そのカラー演算には通常の
アルファブレンド回路を用いてアンチエイリアシング処
理を行うことができ、非常に回路規模が少なくて、アン
チエイリアス処理が行える。また、処理時間も従来のポ
リゴン描画の辺画素に対してのみアルファブレンド処理
をするだけで、処理に全く無駄がなく処理時間は他の従
来の方式より最短時間で処理できる。
【0088】また、Z値にDDA処理に誤差が生じるよ
うなDDAを用いた場合でも、アンチエイリアス処理の
時にZ値に加工を施すことで、アンチエイリアシング処
理を正しく実行することができる。
【図面の簡単な説明】
【図1】3次元グラフィックス処理装置の一般的な構成
を示すブロック図である。
【図2】この発明の実施の形態にかかる3次元グラフィ
ックス処理装置の主要部の概略的な構成を示すブロック
図である。
【図3】ポリゴン辺の傾きパラメータを説明するための
模式図であり、(a)は傾きパラメータがX−MAJE
Rとなる場合を示し、(b)は傾きパラメータがY−M
AJERとなる場合を示す。
【図4】この発明に用いられるブレゼンハム法のアルゴ
リズムに基づくフローチャートである。
【図5】ブレゼンハム法により算出した辺画素データを
示す模式図である。
【図6】この発明によるアンチエイリアス処理の状態を
示す模式図である。
【図7】この発明によるアンチエイリアスデータの生成
方法を説明するための模式図である。
【図8】この発明に用いられるアンチエイリアスデータ
のフォーマットを示す図である。
【図9】この発明に使用したブレゼンハム法を用いたD
DA処理装置の構成を示すブロック図である。
【図10】ポリゴンの描画の具体例を示す模式図であ
る。
【図11】ポリゴンの例を示す模式図である。
【図12】この発明の描画処理部におけるZ処理部の一
例を示すブロック図である。
【符号の説明】
4 描画処理部 5 フレームメモリ 10 パラメータ計算部 11 DDA処理部 11a DDA回路 11b ブレゼンハム回路 11c アンチエイリアスデータ生成回路 12 ピクセルバッファ部 12a カラー処理部 12b アルファブレンド回路 12c Z処理部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 デジタル微分解析でポリゴンの描画処理
    を行う3次元グラフィックス処理装置において、スクリ
    ーン座標系に変換されたポリゴンを構成する端点情報を
    取り込み、前記端点情報に基づきデジタル微分解析に用
    いるパラメータを算出するパラメータ算出手段と、前記
    パラメータに基づきブレゼンハム法に従うデジタル微分
    解析でポリゴン辺を構成する辺線分情報を補間し、描画
    情報として出力するデジタル微分解析処理手段と、前記
    ブレゼンハム法のデータに基づいてアンチエイリアス処
    理に必要なデータを生成するアンチエイリアスデータ生
    成手段と、このアンチエイリアスデータ生成手段からの
    データを用いてアンチエイリアス処理をするアンチエイ
    リアス手段と、を備えたことを特徴とする3次元グラフ
    ィックス処理装置。
  2. 【請求項2】 前記アンチエイリアス処理手段は、その
    ポリゴンの左辺と右辺の画素と、その画素の一方向のす
    でに記憶されているフレームメモリのデータとをカラー
    演算することによりアンチエイリアス処理を行うことを
    特徴とする請求項1に記載の3次元グラフィックス処理
    装置。
  3. 【請求項3】 アンチエイリアスデータ生成手段は、ブ
    レゼンハム法のエラー項のデジタル微分解析に基づく小
    数部のデータか反転データにより生成することを特徴と
    する請求項1または2に記載の3次元グラフィックス処
    理装置。
  4. 【請求項4】 陰面処理にZバッファ法を用いていると
    き、その左辺及び右辺のアンチエイリアス処理の時の
    み、そのZバッファの為に読み出したデータをシフト処
    理することを特徴とする請求項1ないし3のいずれかに
    記載の3次元グラフィックス処理装置。
  5. 【請求項5】 スクリーン座標系に変換されたポリゴン
    を構成する端点情報を取り込み、デジタル微分解析でポ
    リゴン辺を構成する辺線分情報を補間すると共に、前記
    ブレゼンハム法のデータに基づいてアンチエイリアス処
    理に必要なデータを生成し、このデータを用いてアンチ
    エイリアス処理をすることを特徴とする3次元グラフィ
    ックス処理方法。
  6. 【請求項6】 アンチエイリアスデータの生成は、ブレ
    ゼンハム法のエラー項のデジタル微分解析に基づく小数
    部のデータか反転データにより生成することを特徴とす
    る請求項5に記載の3次元グラフィックス処理方法。
JP26366298A 1998-09-17 1998-09-17 3次元グラフィックス処理装置及びその処理方法 Pending JP2000099748A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26366298A JP2000099748A (ja) 1998-09-17 1998-09-17 3次元グラフィックス処理装置及びその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26366298A JP2000099748A (ja) 1998-09-17 1998-09-17 3次元グラフィックス処理装置及びその処理方法

Publications (1)

Publication Number Publication Date
JP2000099748A true JP2000099748A (ja) 2000-04-07

Family

ID=17392597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26366298A Pending JP2000099748A (ja) 1998-09-17 1998-09-17 3次元グラフィックス処理装置及びその処理方法

Country Status (1)

Country Link
JP (1) JP2000099748A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001351122A (ja) * 2000-06-08 2001-12-21 Victor Co Of Japan Ltd 画像生成方法
JP2002163671A (ja) * 2000-11-27 2002-06-07 Namco Ltd ゲームシステム、プログラム及び情報記憶媒体
KR100890702B1 (ko) 2006-05-12 2009-03-27 엔비디아 코포레이션 그래픽 프로세서의 다중 디스플레이 헤드를 이용한안티앨리어싱

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001351122A (ja) * 2000-06-08 2001-12-21 Victor Co Of Japan Ltd 画像生成方法
JP2002163671A (ja) * 2000-11-27 2002-06-07 Namco Ltd ゲームシステム、プログラム及び情報記憶媒体
KR100890702B1 (ko) 2006-05-12 2009-03-27 엔비디아 코포레이션 그래픽 프로세서의 다중 디스플레이 헤드를 이용한안티앨리어싱

Similar Documents

Publication Publication Date Title
KR100278565B1 (ko) 그래픽 데이터 계산 수행 방법 및 그에 이용되는 데이터 프로세서
JP4291892B2 (ja) 画像処理装置およびその方法
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
JPH05307610A (ja) テクスチャマッピング方法およびその装置
US7554546B1 (en) Stippled lines using direct distance evaluation
JP2005100177A (ja) 画像処理装置およびその方法
JP2006106705A (ja) アウトラインフォントのレンダリング
CN100399358C (zh) 图像处理装置及其方法
JP2957511B2 (ja) グラフィック処理装置
EP2728551B1 (en) Image rendering method and system
US7015930B2 (en) Method and apparatus for interpolating pixel parameters based on a plurality of vertex values
US6373494B1 (en) Signal processing apparatus and image processing apparatus
JP2000099748A (ja) 3次元グラフィックス処理装置及びその処理方法
JP2001101441A (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
US6460063B1 (en) Division circuit and graphic display processing apparatus
KR20080064523A (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JP4106719B2 (ja) 画像処理装置
JP3278828B2 (ja) 半透明立体画像処理装置
JP4188463B2 (ja) 画像生成装置、画像生成方法および記憶媒体
JP4669334B2 (ja) エッジ・マルチサンプリングハイブリッドアンチエイリアス
JP3712536B2 (ja) 3次元グラフィック処理装置
KR20060132519A (ko) 오차 버퍼와 플래그 버퍼를 이용한 사진 트리에 기초한지형 시각화 방법
JP2006113909A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP3358891B2 (ja) Z値の透視変換処理方法及び画像処理装置
JP3538826B2 (ja) 演算回路および演算方法