JP2006139727A - 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体 - Google Patents

3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体 Download PDF

Info

Publication number
JP2006139727A
JP2006139727A JP2004331224A JP2004331224A JP2006139727A JP 2006139727 A JP2006139727 A JP 2006139727A JP 2004331224 A JP2004331224 A JP 2004331224A JP 2004331224 A JP2004331224 A JP 2004331224A JP 2006139727 A JP2006139727 A JP 2006139727A
Authority
JP
Japan
Prior art keywords
coordinate
polygon
value
axis direction
polygon side
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.)
Granted
Application number
JP2004331224A
Other languages
English (en)
Other versions
JP4180043B2 (ja
Inventor
Hiroaki Fukui
弘明 福井
Isao Nakamura
功 中村
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2004331224A priority Critical patent/JP4180043B2/ja
Priority to TW094140082A priority patent/TWI322393B/zh
Priority to US11/272,756 priority patent/US7764292B2/en
Publication of JP2006139727A publication Critical patent/JP2006139727A/ja
Application granted granted Critical
Publication of JP4180043B2 publication Critical patent/JP4180043B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

【課題】領域DDAを用いず、表示画像データ保存領域としてラインバッファの利用を可能にしてメモリ領域を節約でき、かつ精度をできるだけ落とさずにポリゴン辺に適合した計算で計算時間の増加を抑えて良好にアンチエイリアシングを行う。
【解決手段】 3次元図形描画処理装置1において、ポリゴン辺の始頂点・終頂点の情報とスキャンラインの情報のみからポリゴン辺とスキャンラインとの交点座標をポリゴン辺の特性に従って計算方法を変化させながら求め、さらにピクセルにおけるポリゴン内部領域の占める面積率を計算することによりアンチエイリアシングのためのブレンディング係数も得る。
【選択図】 図1

Description

本発明は、例えばコンピュータグラフィックス(CG)を表示可能なゲーム装置の表示部などに用いられ、限られた演算器を効率よく利用することが可能であり、精度を落とさずかつ高速に整合性の高いポリゴンエッジ描画とアンチエイリアシングを容易にする3次元図形描画処理装置、これを用いた画像表示装置、この3次元図形描画処理装置を用いた3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体に関する。
従来、コンピュータグラフィックス(CG)における3次元図形描画時のアンチエイリアシング手段(ぎざぎざを目立たなくする処理手段)としてフィルタリング法が知られている。このフィルタリング法とは、生成した画像データを各描画点に対して、重み付けした係数値を元に周囲の描画点の色データとブレンディングした結果を表示画面とする方法である。
このフィルタリング法では、品位は比較的低いが計算量が少なくて済むことと、スキャンライン毎に独立してライン上の描画点のブレンディング結果を求めることもできるため、他のフレームバッファを必要とする描画方法に比べて回路構成をより簡単にすることができ、リソースの節約が可能である。
また、フィルタリング法の中でも従来技術としてポリゴン(多角形面)辺から描画点までの変位を基に描画点の色を変える方法がある。この方法によれば、ポリゴン辺の描画に際してポリゴン辺から各描画点までの変位を求め、この変位に基づき、ポリゴン辺の近辺と判定された描画点について、この変位の大きさにより色を変えることでアンチエイリアシングされたポリゴン辺を描くことができる。
これが例えば特許文献1の「イメージ処理装置」に開示されており、多角形の各辺(ポリゴン辺)に対応して2次元座標系の1次式を順次計算し、描画点の多角形に対する相対位置関係を判定し、各描画点の多角形の辺からの変位を求める計算手段と、この計算手段で求められた変位に基づき、多角形の辺の近辺の描画点の色または色調を変える変換手段とを有し、ビットマップメモリ上で多角形の内部を塗りつぶす、または陰影付けを行うものである。
特開平6−4679号公報
しかしながら、上記従来のアンチエイリアシング手段では、ポリゴン辺から各描画点までの変位を求める際に、ポリゴン辺を直線式
f (x, y) = a×x + b×y + c
で表し、この直線式f (x, y)を領域DDA(Digital Differential Analyzer;直線補間回路)を用いて計算して、ポリゴン辺から各描画点までの変位を求めている。このポリゴン辺から各描画点までの変位およびポリゴン辺の傾きの値からテーブルを引いて各描画点での色の値を決定し、これを実際の画面分の表示画像データ保存領域であるフレームバッファに書き込んでいる。
ところが、この方法では、領域DDAを用いているため、表示画像データ保存領域として少なくとも1フレーム分以上のフレームバッファが必要になり、ドット数が増えると多くのメモリ領域を必要とすること、および計算方法がポリゴン辺の特性(左辺・右辺の区分、X軸方向の増分の正・負、傾きの大きさ)に関わらず同じであるため、ポリゴン辺の特性によらず一定の計算量が発生するので計算時間が長くなるなどの問題がある。
本発明は、上記従来の問題を解決するもので、領域DDAおよびこれに用いるフレームバッファを用いることなく、表示画像データ保存領域としてラインバッファの利用を可能にしてメモリ領域を節約でき、かつ精度をできるだけ落とさずにポリゴン辺に適合した計算で計算時間の増加を抑えて良好にアンチエイリアシングができる3次元図形描画装置、これを用いた画像表示装置、この3次元図形描画処理装置を用いた3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体を提供することを目的とする。
本発明の3次元図形描画装置は、3次元ポリゴンを構成する各ポリゴン辺であって左辺・右辺に分けられたポリゴン辺を、さらに2次元XY座標上での該ポリゴン辺の傾きの大きさにより分類するポリゴン辺分類手段と、該ポリゴン辺分類手段で分類された該ポリゴン辺の隣接スキャンラインとの各交点に対応した各描画点において、少なくともX座標が最も小さい描画点とX座標が最も大きい描画点の各座標値を求める座標計算手段と、該座標計算手段で求めた描画点の各座標値から、該各交点に対応する所定単位領域のピクセル内にポリゴン内部領域が占める面積率を求める面積率計算手段とを有するものであり、そのことにより上記目的が達成される。
また、本発明の3次元図形描画装置におけるポリゴン辺分類手段は、前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いたX座標の差分値を求めるX軸方向差分演算手段と、該ポリゴン辺の終頂点および始頂点の一方のY座標の値から他方のY座標の値を引いたY座標の差分値を求めるY軸方向差分演算手段と、該X座標の差分値と該Y座標の差分値との大小関係を比較して、該ポリゴン辺の傾きの大きさを判定することにより該ポリゴン辺を分類する比較判定手段とを有する。
さらに、本発明の3次元図形描画装置における比較判定手段は、前記ポリゴン辺の傾きの大きさが1を超える場合に、該ポリゴン辺が左辺であれば「左」、該ポリゴン辺が右辺であれば「右」のように該ポリゴン辺を分類する。
さらに、本発明の3次元図形描画装置における比較判定手段は、前記ポリゴン辺の傾きの大きさが1以下の場合に、前記X座標の差分値が負の値になる左辺であれば「上」、該X座標の差分値が負の値になる右辺であれば「下」、該X座標の差分値が正の値になる左辺であれば「下」、該X座標の差分値が正の値になる右辺であれば「上」のように該ポリゴン辺を分類する。
さらに、本発明の3次元図形描画装置における座標計算手段は、前記ポリゴン辺分類手段で得られたポリゴン辺の傾き情報に基づいて、前記始頂点からスキャンラインとの交点までのX軸方向の距離に0.5を加算して、小数点以下を切捨てることにより四捨五入を行うかまたは、該始頂点から該スキャンラインとの交点までのX軸方向の距離は小数点以下を切り捨てて切り下げとするかを判定して、該始頂点から現スキャンラインまたは次のスキャンラインとの交点までの整数化されたX軸方向の距離を求めるX軸方向距離獲得手段を有する。
さらに、本発明の3次元図形描画装置におけるX軸方向距離獲得手段は、前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いたX座標の差分値を求めるX軸方向差分演算手段と、該ポリゴン辺の終頂点および始頂点の一方のY座標の値から他方のY座標の値を引いたY座標の差分値を求めるY軸方向差分演算手段と、 該Y座標の差分値で該X座標の差分値を割ることにより該ポリゴン辺上でのY軸方向に対するX軸方向の増加率を求めるXY除算手段と、該始頂点から現スキャンラインの間にスキャンしたスキャンラインの本数を計算するスキャンライン増分値計算手段と、該XY除算手段で得たY軸方向に対するX軸方向の増加率に、該スキャンライン増分値計算手段で得た始頂点から現スキャンラインまでのスキャンラインの本数を乗算することにより、始頂点から現スキャンラインまでの間のX軸方向の距離を求める乗算手段と、該ポリゴン辺の傾き情報に基づいて、該乗算手段で求めたX軸方向の距離に0.5を加算するかどうかを判断し、得られた値の小数点以下を切り捨てることにより整数化したX軸方向の距離を求める四捨五入手段とを有する。
さらに、本発明の3次元図形描画装置における座標計算手段は、前記ポリゴン辺分類手段によって得られたポリゴン辺の傾き情報および、前記X軸方向距離獲得手段により求めたX軸方向の距離、前記始頂点のX座標の値により、該ポリゴン辺の隣接スキャンラインとの交点間にある各描画点においてX座標が最も小さい描画点からX座標が最も大きい描画点までのX座標値を求める交点X座標計算手段を有する。
さらに、本発明の3次元図形描画装置における面積率計算手段は、前記ピクセルにポリゴン内部領域が占める面積率を求める際に、前記ポリゴン辺分類手段で得られたポリゴン辺の情報と、前記座標計算手段で得られたX座標が最も小さい描画点およびX座標が最も大きい描画点のX座標情報とに基づいて、該ピクセルの左右上下端いずれの側から占める面積率を使うかを判別して面積率の計算を行う。
さらに、本発明の3次元図形描画装置における面積率計算手段は、前記ポリゴン辺が前記ポリゴン辺分類手段により、該ポリゴン辺の傾きの大きさが1を超える場合に、「左」または「右」と分類されたポリゴン辺であって、かつ現スキャンラインと交差してから次のスキャンラインと交差するまでの間に二つの前記ピクセル間に跨るかどうかによって、一定の面積率とするか詳細な計算を行うかを決定する計算方法決定手段を有する。
本発明の3次元図形描画方法は、3次元ポリゴンを構成する各ポリゴン辺であって左辺・右辺に分けられたポリゴン辺を、さらに2次元XY座標上での該ポリゴン辺の傾きの大きさにより分類するポリゴン辺分類ステップと、該ポリゴン辺分類ステップで分類された該ポリゴン辺の隣接スキャンラインとの各交点に対応した各描画点において、少なくともX座標が最も小さい描画点とX座標が最も大きい描画点の各座標値を求める座標計算ステップと、該座標計算ステップで求めた描画点の各座標値から、該各交点に対応する所定単位領域のピクセル内にポリゴン内部領域が占める面積率を求める面積率計算ステップとを有するものであり、そのことにより上記目的が達成される。
また、本発明の3次元図形描画方法におけるポリゴン辺分類ステップは、前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いた差分値を求めるステップと、該ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のY座標の値を引いた差分値を求めるステップと、該X座標の差分値と該Y座標の差分値の大小関係を比較して、該ポリゴン辺の傾きの大きさを判定することにより該ポリゴン辺を分類する比較判定ステップとを有する。
さらに、本発明の3次元図形描画方法における座標計算ステップは、前記ポリゴン辺分類ステップで得られたポリゴン辺の傾き情報に基づいて、前記始頂点からスキャンラインとの交点までのX軸方向の距離に0.5を加算して、小数点以下を切捨てることにより四捨五入を行うかまたは、該始頂点から該スキャンラインとの交点までのX軸方向の距離は小数点以下を切り捨てて切り下げとするかを判定して、該始頂点から現スキャンラインまたは次のスキャンラインとの交点までの整数化されたX軸方向の距離を求めるX軸方向距離獲得ステップと、該ポリゴン辺の傾き情報および、該X軸方向距離獲得ステップにより求めたX軸方向の距離、前記始頂点のX座標の値により、該ポリゴン辺のスキャンラインとの交点である描画点においてX座標が最も小さい描画点とX座標が最も大きい描画点の各座標値を求める交点X座標計算ステップとを有する。
さらに、本発明の3次元図形描画方法におけるX軸方向距離獲得ステップは、前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いた差分値を求めるステップと、該ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のY座標の値を引いた差分値を求めるステップと、前記Y座標の差分値で前記X座標の差分値を割ることにより該ポリゴン辺上でのY軸方向に対するX軸方向の増加率を求めるXY除算ステップと、該始頂点から現スキャンラインの間にスキャンしてきたスキャンラインの本数を計算するスキャンライン増分値計算ステップと、該XY除算ステップで得たY軸方向に対するX軸方向の増加率に、該スキャンライン増分値計算ステップで得た始頂点から現スキャンラインまでのスキャンラインの本数を乗算することにより、該始頂点から現スキャンラインまでの間のX軸方向の距離を求める乗算ステップと、前記ポリゴン辺の傾き情報に基づいて、該乗算ステップで求めたX軸方向の距離に0.5を加算するかどうかを判断し、得られた値の小数点以下を切り捨てることにより整数化したX軸方向の距離を求める四捨五入ステップとを有する。
さらに、本発明の3次元図形描画方法における面積率計算ステップは、前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いた差分値を求めるステップと、該ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のY座標の値を引いた差分値を求めるステップと、該Y座標の差分値で該X座標の差分値を割ることにより該ポリゴン辺上でのX軸方向に対するY軸方向の増加率を求めるYX除算ステップと、スキャンラインとポリゴン辺が交差するピクセルにおいて、前記座標計算ステップにより求めた各座標値と、前記YX除算ステップにより求めたY軸方向の増加率とにより、該ピクセルに占めるポリゴン内部領域の面積率を求めるに際し、該ポリゴン辺の傾きの大きさおよび該X座標の差分値の符号に応じて、該ピクセルの左右上下どの端から見た場合の該ポリゴン辺までの距離を面積率とするかを選択して計算する面積率選択計算ステップとを有する。
さらに、本発明の3次元図形描画方法における面積率選択計算ステップは、前記ポリゴン辺の傾きの大きさが1を超え、該ポリゴン辺が現スキャンラインと次のスキャンラインとの間にピクセル境界を跨ぐ場合に一定の面積率を適用し、そうでない場合は計算により面積率を求める。
本発明の制御プログラムは、請求項10〜15のいずれかに記載の3次元図形描画処理方法の各処理ステップをコンピュータに実行させるためのものであり、そのことにより上記目的が達成される。
本発明の可読記録媒体は、請求項16に記載の制御プログラムが記録されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
本発明の画像表示装置は、請求項1〜9のいずれかに記載の3次元図形描画処理装置を用いて表示画面を表示可能とするものであり、そのことにより上記目的が達成される。
上記構成により、以下、本発明の作用を説明する。
本発明においては、ポリゴン辺の始頂点・終頂点の情報とスキャンラインの情報のみからポリゴン辺とスキャンラインとの交点座標をポリゴン辺の特性に従って計算方法を変化させながら求め、さらに、ポリゴン辺とスキャンラインとの交点に対応する所定単位領域のピクセルにおけるポリゴン内部領域の占める面積率を計算することによりアンチエイリアシングのためのブレンディング係数も得る事が可能となる。これによって、従来のように領域DDAおよびこれに用いるフレームバッファを用いることなく、表示画像データ保存領域としてラインバッファの利用を可能にしてメモリ領域を節約でき、かつ精度をできるだけ落とさずにポリゴン辺に適合した計算で計算時間の増加を抑えて良好なアンチエイリアシングを可能とする。
以上により、本発明のよれば、ポリゴン辺の始頂点・終頂点の情報とスキャンラインの情報のみからポリゴン辺とスキャンラインの交点座標を求める際に、ポリゴン辺の傾きの大小および始頂点と終頂点のX座標値の大小により場合分けを行いそれぞれに最も適した計算方法を適用することで、より高速でかつ精度を保った描画点の特定が可能になるとともに、上下の描画点の情報に依存しないためラインバッファなどの保存領域の非常に少ない描画方法の使用ができる。
さらに、ポリゴン辺が他のポリゴンとの共有辺である場合にも2つのポリゴンの境界が一意に決定される。また各描画点におけるピクセルに占めるポリゴン内部領域の面積率を求める際にも同様の分類を行うことに加えて、ポリゴン辺とピクセル境界との関係によっても計算方法を変えることにより精度を損なわず高速に面積率の決定が行われ、アンチエイリアシングにおいてもラインバッファ方式を対応させることができる。その結果、従来技術のように大量の記憶領域や処理時間を必要とすることなく、より良好なアンチエイリアシングを行うことができる。
以下に、本発明の3次元図形描画装置および3次元図形描画方法の実施形態について図面を参照しながら説明する。
図1は、本発明の3次元描画処理装置の一実施形態における構成例を示すブロック図である。
図1において、本実施形態の3次元描画処理装置1は、ポリゴン辺頂点座標保持メモリ2と、X軸方向差分演算手段としてのX軸方向差分演算器3と、Y軸方向差分演算手段としてのY軸方向差分演算器4と、XY除算手段としてのXY除算器5と、スキャンラインカウンタ手段としてのスキャンラインカウンタ6と、スキャンライン増分値計算手段としてのスキャンライン増分値計算器7と、乗算手段としての乗算器8と、比較判定手段としての比較器9と、四捨五入手段としての四捨五入回路10と、交点X座標計算手段としての交点X座標計算回路11と、YX除算手段としてのYX除算器12と、面積率初期値計算手段としての面積率初期値計算回路13と、Xカウンタ手段としてのXカウンタ14と、選択加算手段としての選択加算回路15とを有している。
ポリゴン辺頂点座標保持メモリ2は、各ポリゴン(多角形面)辺について左辺・右辺別に始頂点・終頂点のXY座標値が格納されており、この座標値は以下のX軸方向差分演算器3と、Y軸方向差分演算器4との入力になる。また、ポリゴン辺頂点座標保持メモリ2から得られるX座標値は交点X座標計算回路11に入力されて使用され、また、ポリゴン辺頂点座標保持メモリ2から得られるY座標値はスキャンライン増分値計算器7に入力されて使用される。この場合に、各ポリゴン(多角形面)辺について左辺・右辺とは、ポリゴンをスキャンラインが横切る場合に二つのポリゴン辺を横切るが、スキャンラインが横切った二つのポリゴン辺の左側を左辺とし、右側を右辺とする。
X軸方向差分演算器3は、左辺・右辺に分けられたポリゴン辺(多角形辺)についてポリゴン辺の終頂点のX座標の値から始頂点のX座標の値を引いたX座標の差分値を求める。
Y軸方向差分演算器4は、左辺・右辺に分けられたポリゴン辺(多角形辺)についてポリゴン辺の終頂点のY座標の値から始頂点のY座標の値を引いたY座標の差分値を求める。
XY除算器5は、Y座標の差分値でX座標の差分値を割ることでポリゴン辺上でのY軸方向に対するX軸方向の増加率を求める。
スキャンラインカウンタ6は、スキャンラインをカウントしており、次のスキャンラインの描画に移る時にカウントアップする。
スキャンライン増分値計算器7は、この現スキャンライン値ScanYから始頂点のY座標値sy_leftを引いて始頂点から現スキャンラインの間にスキャンしてきたスキャンラインの本数を計算する。
乗算器8は、XY除算器5で得たY軸方向に対するX軸方向の増加率に、スキャンライン増分値計算器7で得た始頂点から現スキャンラインまでのスキャンラインの本数を乗算することにより、始頂点から現スキャンラインまでの間のX軸方向の距離を求める。
比較器9は、X軸方向差分演算器3からのX座標の差分値における絶対値と、Y軸方向差分演算器4からのY座標の差分値との大小関係を比較して、即ちポリゴン辺の傾きの大きさを判定する。このポリゴン辺の傾きの大きさの判定として、ポリゴン辺のY軸方向の傾きの大きさが1を超える場合にポリゴン辺が左辺であれば「左」、ポリゴン辺が右辺であれば「右」とポリゴン辺を分類する。また、図4に示すように、ポリゴン辺の傾きの大きさの判定として、ポリゴン辺のY軸方向の傾きの大きさが1以下の場合に、X座標の差分値が負の値になる左辺であれば「上」、X座標の差分値が負の値になる右辺であれば「下」、X座標の差分値が正の値になる左辺であれば「下」、X座標の差分値が正の値になる右辺であれば「上」とポリゴン辺を分類する。これらのポリゴン辺頂点座標保持メモリ2、X軸方向差分演算器3、Y軸方向差分演算器4および比較器9によりポリゴン辺分類手段が構成され、このポリゴン辺分類手段は、3次元ポリゴンを構成する各ポリゴン辺であって左辺・右辺に分けられたポリゴン辺を、さらに2次元XY座標上でのポリゴン辺の傾きの大きさに応じて分類する。
四捨五入回路10は、比較器9からの比較結果、即ちポリゴン辺の傾きの大きさに応じて、始頂点から現スキャンライン上のポリゴン辺との交点までの間のX軸方向の距離(乗算器8からの出力値)に0.5を加算するかどうかを判断し、得られた値の小数点以下を切り捨てることにより整数化したX軸方向距離を求める。即ち、以上のポリゴン辺頂点座標保持メモリ2、X軸方向差分演算器3、Y軸方向差分演算器4、XY除算器5、スキャンラインカウンタ6、スキャンライン増分値計算器7、乗算器8および四捨五入回路10によりX軸方向距離獲得手段が構成されている。このX軸方向距離獲得手段は、ポリゴン辺分類手段で得られたポリゴン辺の傾き情報に基づいて、始頂点からスキャンラインとの交点までのX軸方向の距離に0.5を加算して、小数点以下を切捨てることで四捨五入を行うかまたは、該始頂点からスキャンラインとの交点までのX軸方向の距離は小数点以下を切り捨てて切り下げとするかを判定して、該始頂点から現スキャンラインまたは次のスキャンラインとの交点までの整数化されたX軸方向の距離を求める。
交点X座標計算回路11は、現スキャンラインと次のスキャンラインまでの間にポリゴン辺が交差する所定単位領域のピクセルにおける各描画点のうちX座標が最も小さい描画点からX座標が最も大きい描画点までのX座標値を、X軸方向差分演算器3からのX座標の差分値の符号に従って四捨五入回路10によって求められた整数化したX軸方向の距離を用いて選択的に計算する。
YX除算器12は、X座標の差分値でY座標の差分値の絶対値を割ることでポリゴン辺上でのX軸方向に対するY軸方向の増加率を求める。
面積率初期値計算回路13は、スキャンラインとポリゴン辺が交差するピクセルにおいて、交点X座標計算回路11による描画点X座標値と、YX除算器12によるY軸方向の増加率とにより、ピクセルに占めるポリゴン内部領域の面積率を求めるに際し、ポリゴン辺の傾きの大きさと、X座標の差分値の符号とに従って、ピクセルの左右上下どの端から見た場合のポリゴン辺までの距離を面積率とするかを選択してX座標が最も小さい描画点でのピクセルにおける面積率を計算する。
Xカウンタ14は、スキャンラインに沿って次のピクセルに進むときの描画点X座標をカウントする。
選択加算回路15は、このカウントされた描画点X座標を用いて、図10(b)のエッジタイプ「上」での例のように左隣のピクセルにおける面積率の値にX座標+1当たりのY座標増加分IdLを加算する。このようにして順次X座標が最も大きい描画点までの面積率を求める。
以上のYX除算器12、面積率初期値計算回路13、Xカウンタ14および選択加算回路15により面積率計算手段が構成され、面積率計算手段は、座標計算手段で求めた描画点の各座標値から、ポリゴン辺の隣接スキャンラインとの各交点に対応する所定単位領域のピクセル内にポリゴン内部領域が占める面積率を求める。この面積率計算手段は、このピクセルにポリゴン内部領域が占める面積率を求める際に、ポリゴン辺分類時に得られたポリゴン辺の情報と、座標計算時に得られたX座標が最も小さい描画点およびX座標が最も大きい描画点のX座標情報とに基づいて、ピクセルの左右上下端いずれの側から占める面積率を使うかを判別して面積率の計算を行う。さらに、この面積率計算手段は、ポリゴン辺が「左」または「右」と分類されたポリゴン辺であって、かつ現スキャンラインと交差してから次のスキャンラインと交差するまでの間に二つのピクセル間に跨るかどうかによって、一定の面積率とするか詳細な計算を行うかを決定する計算方法決定手段を有する。
以下、上記構成を更に詳細に説明すると共に、その動作を説明する。
まず、X軸方向差分演算器3では、ポリゴン辺頂点座標保持メモリ2にアクセスして得たポリゴン辺終頂点X座標値からポリゴン辺始頂点X座標値を引いた差を符号付きで求める。このとき求まったX軸方向差分値の最上位ビットmは符号を表し、それ以下のビットは差分値の絶対値となっている。左辺の場合のX軸方向差分値をdx_left、右辺の場合のX軸方向差分値をdx_rightとすると、
左辺の場合、
X軸方向差分値(符号付き): dx_left = ex_left - sx_left
X軸方向差分値(絶対値): d_left = dx_left [m-1:0]
X軸方向差分値(符号): dx_left [m] (1:負 0:正)
右辺の場合、
X軸方向差分値(符号付き): dx_right = ex_right - sx_right
X軸方向差分値(絶対値): d_right = dy_right [m-1:0]
X軸方向差分値(符号): dx_right [m] (1:負 0:正)
となる。
また、Y軸方向差分演算器4でも、ポリゴン辺頂点座標保持メモリ2にアクセスして得たポリゴン辺終頂点Y座標値からポリゴン辺始頂点Y座標値を引いた差を求める。この場合には、ポリゴン辺の始頂点は、図2のように、常に、Y座標の小さい方の頂点を始頂点と決めてあるため、始頂点のY座標値は、常に、終頂点のY座標値よりも小さくなるので、このY座標値の差分値は常に正の値である。左辺の場合のY軸方向差分値をdy_left、右辺の場合のY軸方向差分値をdy_rightとすると、
Y軸方向差分値(正の値): dy_left = ey_left - sy_left
Y軸方向差分値(正の値): dy_right = ey_right - sy_right
となる。
このようにして得られたX軸方向差分値の絶対値およびY軸方向差分値を元に、XY除算器5により、ポリゴン辺上で始頂点から終頂点の方向に、Y軸方向に対するX軸方向の増加率を符号なしで求める。
次に、図3を用いて左辺の場合を例に挙げて、ポリゴン辺とスキャンラインとの交点にある描画点のうちX座標が最も小さい描画点(以下、交差開始描画点と表記)X座標整数値sxLと、X座標が最も大きい描画点(以下、交差終了描画点と表記)X座標整数値exLとを求める方法について説明する。なお、右辺の場合においても同様の手順で求めることができる。
スキャンラインカウンタ6では、現在の現スキャンライン値ScanYを示しており、次のスキャンラインの描画に移る時にカウントアップされる。
スキャンライン増分値計算器7により、この現スキャンライン値ScanYから始頂点のY座標値sy_leftを引いて始頂点から現スキャンラインの間にスキャンしてきたスキャンラインの本数を計算する。これは始頂点から現スキャンラインまでのY軸方向の増分値に対応している。
乗算器8では、XY除算器5の出力値にスキャンライン増分値計算器7からの出力値を乗じて(掛け算して)、始頂点からポリゴン辺の現スキャンラインとの交点までのX軸方向を増分値sL_tmpを、小数点以下を含めて求める。また、次のスキャンラインのY座標値までのY座標の増分値eL_tmpも同時に求めておく。
次に、ポリゴン辺と隣接スキャンラインとの各交点となる描画点のX座標を求める処理に入る。ここでは、図4(左辺の場合の例、右辺の場合は図5参照)に示すように比較器9のX軸方向差分値の絶対値d_leftとY軸方向差分値dy_leftとの比較結果(大小関係)および、X軸方向差分演算器3の符号出力dx_left [m]によりポリゴン辺の分類を行う。即ち、X軸方向差分値の絶対値d_leftがY軸方向差分値dy_leftよりも小さければ(d_left < dy_left)、エッジタイプ「左」と分類し、そうでない場合(d_left ≧dy_left)さらに符号出力dx_left [m] = 1であればエッジタイプ「上」、符号出力dx_left [m] = 0であればエッジタイプ「下」と分類する。
エッジタイプ「左」のようにX軸に対するY軸方向の傾きが1を超えるような立っているポリゴン辺については(d_left < dy_left)、現スキャンラインから次のスキャンラインまで一つ進んでもX軸方向への変化は±1未満であるため、この間の描画点は一つだけであるが、エッジタイプ「上」または「下」のようにX軸に対するY軸方向の傾きが1以下の寝ているポリゴン辺では(d_left ≧dy_left)、スキャンラインが1進むとX軸方向への変化が2以上になり得るため、この二つの場合に分けて計算処理する。
実際の計算処理の流れは以下のようになる。
四捨五入回路10では、比較器9からの識別信号により、図6に示すフローチャートに従って、まず、ステップS1でエッジタイプの判定を行い、ステップS1でエッジタイプ「左」または「右」でない場合(No)には、ステップS2でsL_tmp(左辺の場合、右辺ではsR_tmp、以下同様)に0.5を加算しsL'とする。また、ステップS1でエッジタイプ「左」または「右」の場合には、ステップS3でそのままのsL_tmpをsL'とする。
さらに、四捨五入回路10では、ステップS4で、得られた値の小数点以下を切捨てして整数値化し、これを始頂点からスキャンラインとポリゴン辺の交差開始描画点までのX軸方向距離sLとする。これにより、エッジタイプ「上」または「下」のポリゴン辺についてはsL_tmpの値が四捨五入されたことになる。またエッジタイプ「左」または「右」については前述のように1スキャンライン間に1描画点しかないため、見た目に大差ないのでこのような四捨五入処理を行わない。始頂点からスキャンラインとポリゴン辺の交差終了描画点までのX軸方向距離eLについても同様の手順でeL_tmpより算出する。
次に、交点X座標計算回路11では、最終的なsxL、exLを求めるために、比較器9からの識別信号と、X軸方向差分演算器3からの符号出力dx_left [m]とにより、図7に示すフローチャートに従って、四捨五入回路10からのsLとeLおよびポリゴン辺頂点座標保持メモリ2からの始頂点X座標値sx_leftを使って描画点X座標整数値sxLおよびexLを求める。
図7に示すように、交点X座標計算回路11により、ステップS11で、まず、エッジタイプ「左」または「右」の判定を行い、ステップS12で始頂点からスキャンラインとポリゴン辺の交差開始描画点までのX軸方向距離補正値sxL'、始頂点からスキャンラインとポリゴン辺の交差終了描画点までのX軸方向距離補正値exL'を求めるために、エッジタイプで場合分けを行う。
即ち、ステップS11でエッジタイプが「左」または「右」の場合(Yes)には、ステップS12でsLのみを使い、X軸方向差分演算器3からの符号出力dx_left [m]が1、即ち、負ならば(Yes)、ステップS13でsxL'、exL'の両方とも-sL - 1とし、ステップS12でX軸方向差分演算器3からの符号出力dx_left [m]が0、即ち正ならば(No)、ステップS14でsxL'とexL'の両方ともsLとする。前述のようにエッジタイプが「左」または「右」については、1スキャンライン間に1描画点しかないため、sxL'とexL'はsLがわかった時点で両方とも同じ値で即座に求まる。
また、ステップS11でエッジタイプが「左」または「右」ではないと判定された場合(No)には、ステップS15でX軸方向差分演算器3からの符号出力dx_left [m]が1、即ち負ならば(Yes)、ステップS16でsxL'を-eLとし、exL'を-sL - 1とし、ステップS15でX軸方向差分演算器3からの符号出力dx_left [m]が0、即ち正ならば(No)、ステップS17でsxL'をsLとし、exL'をeL - 1とする。
最後に、ステップS18で、このsxL'、exL'にsx_leftを足してスキャンラインとポリゴン辺の交差開始描画点X座標sxLと交差終了描画点X座標exLが求まる。また、sxLとexLの間の描画点はsxLからexLまでのX座標が整数の点である。このように、sxL'とexL'を計算することによって、仮に、あるポリゴン辺が隣接するポリゴン辺との共有辺であった場合にも、図8のように両方のポリゴン辺について描画点が揃い矛盾なく描画できる。
上記で説明した処理方法の図解例として図3の丸で囲んだ部分の拡大図を図9に示している。この図9の図解例では、左辺でエッジタイプが「下」の場合における実際の値の変化を図解している。
ここまでで、ポリゴン辺が現スキャンラインから次のスキャンラインとの間に交わる部分の描画点X座標が求まったことになり、ポリゴンエッジの描画を効率よく行うことができる。
次に、上記処理過程で作成されたsxL、exLの値を用いてスキャンラインとポリゴン辺が交差する描画点におけるピクセルに占めるポリゴン内部領域の面積を求める。
図10(a)および図10(b)は、左辺の場合についてのスキャンラインとポリゴン辺が交差する描画点において、この描画点に対応する描画すべき所定単位領域(ピクセル)内に占めるポリゴン内部領域の面積を求める例を示している。ここで、描画点としてX座標値1×Y座標値1のピクセル(1画素に対応)の左上角(整数値)を例示しているが、描画点は正方形四隅の4点ある。
YX除算器12により、X軸方向差分演算器3からのX軸方向差分値の絶対値d_leftおよびY軸方向差分演算器4からのY軸方向差分値dy_leftを元に、ポリゴン辺上で始頂点から終頂点の方向にX軸方向の値に対するY軸方向の値の増加割合IdLを求める。図2のように始頂点と終頂点を決めてあるため、この増加割合IdLは常に正の値である。
面積率初期値計算回路13において、X軸方向差分演算器3からの符号出力dx_left [m]と、比較器9の識別信号により判定を行った上で、YX除算器12の出力IdLと交点X座標計算回路11で発生する交点情報sL'、eL'、sL、eLとから中間変数aLを求めた後、スキャンラインとポリゴン辺の交差開始描画点および交差終了描画点におけるピクセルに占めるポリゴン内部領域の面積a_leftを求める。
以下、図11のフローチャートにより、面積率計算のアルゴリズムについて詳細に説明する。
最初にポリゴンエッジの傾きの大きさが1を超える場合、ステップS21でエッジタイプを判断し、エッジタイプが「左」または「右」の場合(Yes)については、さらにステップS22でsL < eLであるかどうか、即ちポリゴン辺が現スキャンラインと次のスキャンラインとの間に二つのピクセル間に跨るかどうかにより場合分けを行い、ステップS22で跨る時(Yes)は、ステップS23で中間変数aLに最大値を代入する。ここで最大値とは面積率100%、即ちピクセルがポリゴン内部に含まれた状態に相当するaLの値であり、sL'などの小数点以下有効桁の最大値に等しいものとする。
また、ステップS22で、ポリゴン辺が現スキャンラインと次のスキャンラインとの間に二つのピクセル間に跨らない場合(No)は、ステップS24で中間変数aLをsL'とeL'の小数部分の平均値とする。これは図10(a)のエッジタイプ「左」の例のようにピクセルY中心における始頂点側ピクセル端からのポリゴン辺までの距離を表す。
さらに、ステップS25では、始頂点と終頂点とのX座標の大小に従って、ステップS26で最大値から中間変数aLを引くかまたは、ステップS27で中間変数aLそのままとするかを選択、計算しその値をsxLのピクセルにおけるポリゴン内部領域の面積率a_leftとする。この選択は、常に、ポリゴン内部側のピクセル端からの距離によって面積率を求めるための処理である。以上のようにポリゴン辺の傾きが1を超える場合、ポリゴン辺がピクセル間に跨るかどうかでさらに計算方法を変えることにより精度を落とさずに計算を簡略化している。
次に、ポリゴンエッジの傾きの大きさが1以下の場合、ステップS21でエッジタイプ「左」または「右」ではないと判断された場合(No)には、まず、ステップS28でX軸方向差分演算器3の符号出力dx_left [m]により場合分けして、その符号出力dx_left [m]が1ではない場合(No)、ステップS29で始頂点から描画点sxLまでのY幅IdL×eLに描画点sxLからピクセルX中心までのY幅分IdL÷2を加算して中間変数aLを求める。また、ステップS28でその符号出力dx_left [m]が1の場合(Yes)、ステップS30で始頂点から描画点sxLまでのY幅IdL×eLに描画点sxLからピクセルX中心までのY幅分IdL÷2を減算して中間変数aLを求める。
この中間変数aLの小数部分は図10(b)のエッジタイプ「上」の例のようにピクセルのX中心における始頂点側ピクセル端からのポリゴン辺までの距離を表す。前述のエッジタイプ「左」または「右」の場合と同様にステップS31〜ステップS33で始頂点と終頂点とのX座標の大小によりポリゴンの内部側のピクセル端からの距離となるようにしてsxLのピクセルにおけるポリゴン内部領域の面積率a_leftを算出する。結果的に図4および図5のエッジタイプ「上」に相当する場合はピクセルの下端からの面積率を、エッジタイプ「下」に相当する場合はピクセルの上端からの面積率を求めるようにする。
これでポリゴン辺がスキャンラインと交わる描画点のうち交差開始描画点sxLのピクセル内でのポリゴン内部領域の面積率a_leftの値が求まったことになる。エッジタイプ「上」または「下」の場合にはさらに残りの交点の描画点、即ちX座標がsxL+1からexLまでの描画点のピクセルについて面積率を求めなければならない。
その計算法は、図10(b)のエッジタイプ「上」での例のように左隣のピクセルにおける面積率の値にX座標+1当たりのY座標増加分IdLを加算することにより求まる。エッジタイプ「上」または「下」の場合にはY方向の面積率を計算するため、このようにIdLの加算で順次面積率を計算することができる。この処理は図1のXカウンタ14の示す描画点X座標を使って選択加算回路15において行われる。
このようにして、ポリゴン辺とスキャンラインの交点での全ての描画点においてピクセル内部領域におけるポリゴン内部の面積率が得られる。
以上により、本実施形態によれば、3次元図形描画装置1によれば、ポリゴンを構成する各辺について左辺・右辺に分けられたポリゴン辺をそのY軸方向の傾きの大きさによって、また、各辺の始頂点・終頂点のX座標の大小関係によってそれぞれ最適な計算方法を選択することができ、そのため精度の低下をできるだけ抑えた上でハードウェアリソースを増やすことなくポリゴンとスキャンライン交点の描画点座標計算を実現することができる。
さらに、アンチエイリアシングに必要なピクセルに占めるポリゴン内部領域の面積率を同時に求めることができる。この場合にも、また同様の場合分けを行うことにより計算時間の増加を抑えるようになっている。
なお、本実施形態では、3次元図形描画処理装置1をハードウェア構成で説明したが、これに限らず、ソフトウェア構成でもよい。
この場合、上記3次元図形描画処理方法は、例えば光ディスク(CD)、ハードディスクおよび磁気ディスク(FD)などのコンピュータ読み出し可能な可読記録媒体として、ROM(記憶手段)からワークメモリのRAM内に読み出された3次元図形描画処理用の制御プログラムおよびその各種データにしたがって、制御手段としてのCPU(中央演算処理装置)が、
左辺・右辺に分けられたポリゴン辺についてポリゴン辺の終頂点のX座標の値から始頂点のX座標の値を引いた差分値を求めるステップと、
左辺・右辺に分けられたポリゴン辺についてポリゴン辺の終頂点のX座標の値から始頂点のY座標の値を引いた差分値を求めるステップと、
左辺・右辺の終頂点のY座標の値から始頂点のY座標の値を引いた差分値でX座標の差分値の絶対値を割ることでポリゴン辺上でのY軸方向に対するX軸方向の増加率を求めるステップと、
Y軸方向に対するX軸方向の増加率に始頂点から現スキャンラインまでのスキャンラインの本数を掛けて始頂点から現スキャンラインまでの間のX軸方向の距離を求めるステップと、
X座標の差分値の絶対値とY座標の差分値との大小関係、即ちポリゴン辺の傾きの大きさを求めるステップと、
このポリゴン辺の傾きの大きさに従って、始頂点から現スキャンライン上のポリゴン辺との交点までの間のX軸方向の距離に0.5を加算するかどうかを判断し、得られた値の小数点以下を切り捨てることにより整数化したX軸方向の距離を求め、また、次のスキャンラインに対しても同様の処理を行うX軸方向距離獲得ステップと、
現スキャンラインと次のスキャンラインまでの間にポリゴン辺が交差するピクセルの描画点のうちX座標が最も小さい描画点からX座標が最も大きい描画点までのX座標値を、X座標の差分値の符号に従ってX軸方向距離獲得ステップで求められたX軸方向の距離を用いて選択的に計算する交点X座標計算ステップと、
Y座標の差分値でX座標の差分値の絶対値を割ることでポリゴン辺上でのX軸方向に対するY軸方向の増加率を求めるY軸方向増加率獲得ステップと、
スキャンラインとポリゴン辺が交差するピクセルにおいて、交点X座標計算ステップによる描画点X座標値と、Y軸方向増加率獲得ステップによるY軸方向の増加率とにより、ピクセルに占めるポリゴン内部領域の面積率を求めるに際し、ポリゴン辺の傾きの大きさ及びX座標の差分値の符号に従ってピクセルの左右上下どの端から見た場合のポリゴン辺までの距離を面積率とするかを選択し計算するステップと、
当該ステップにおいて、さらにポリゴン辺の傾きの大きさが1を超える時はポリゴン辺が現スキャンラインと次のスキャンラインとの間にピクセル境界を跨ぐ場合には一定の面積率を適用し、そうでない場合には計算により面積率を求めるステップとの各ステップ(機能手段)の処理手順を順次実行する。これによって、領域DDAおよびこれに用いるフレームバッファを用いることなく、表示画像データ保存領域としてラインバッファの利用を可能にしてメモリ領域を節約でき、かつ精度をできるだけ落とさずにポリゴン辺に適合した計算で計算時間の増加を抑えて良好にアンチエイリアシングができる本発明の効果を奏する。
以上の本発明の3次元図形描画処理装置を、コンピュータグラフィックスを表示可能な3Dのゲーム装置などの画像表示装置に用いることができて上記本発明の効果を奏する。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
本発明は、例えばコンピュータグラフィックス(CG)を表示可能なゲーム装置の表示部などに用いられ、限られた演算器を効率よく利用することが可能であり、精度を落とさずかつ高速に整合性の高いポリゴンエッジ描画とアンチエイリアシングを容易にする3次元図形描画処理装置、これを用いた画像表示装置、この3次元図形描画処理装置を用いた3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体の分野において、ポリゴン辺の始頂点・終頂点の情報とスキャンラインの情報のみからポリゴン辺とスキャンラインの交点座標を求める際に、ポリゴン辺の傾きの大小および始頂点と終頂点のX座標値の大小により場合分けを行いそれぞれに最も適した計算方法を適用することでより高速でかつ精度を保った描画点の特定が可能になるとともに、上下の描画点の情報に依存しないためラインバッファ等の保存領域の非常に少ない描画方法の使用が可能である。さらにポリゴン辺が他のポリゴンとの共有辺である場合にも2つのポリゴンの境界が一意に決定される。また各描画点におけるピクセルに占めるポリゴン内部領域の面積率を求める際にも同様の分類を行うことに加えて、ポリゴン辺とピクセル境界との関係によっても計算方法を変えることにより精度を損なわず高速に面積率の決定が行われ、アンチエイリアシングにおいてもラインバッファ方式に対応可能となる。その結果、従来技術のように大量の記憶領域や処理時間を必要とすることなくアンチエイリアシングを行うことができる。
本発明の3次元描画処理装置の一実施形態における構成例を示すブロック図である。 本発明においてポリゴン辺の始頂点・終頂点の決め方を示す図である。 本発明においてポリゴン辺とスキャンラインの関係の一例を示す図である。 本発明の左辺のポリゴン辺分類方法を示す図である。 本発明の右辺のポリゴン辺分類方法を示す図である。 図1の四捨五入回路の処理動作を示すフローチャートである。 図1の交点X座標計算回路の処理動作を示すフローチャートである。 本発明において、隣接する二つのポリゴン境界となっているポリゴン辺の場合の描画点計算結果の一例を示す図である。 図3のポリゴン辺とスキャンラインの交点付近の始頂点からの距離の関係を詳細に示す図である。 (a)および(b)は、本発明のピクセルにおけるポリゴン内部領域の面積率をエッジタイプにより異なる計算で求める方法の一例を示す図である。 図1の面積率初期値計算回路の処理動作を示すフローチャートである。
符号の説明
1 3次元図形描画処理装置
2 ポリゴン辺頂点座標保持メモリ
3 X軸方向差分演算器
4 Y軸方向差分演算器
5 XY除算器
6 スキャンラインカウンタ
7 スキャンライン増分値計算器
8 乗算器
9 比較器
10 四捨五入回路
11 交点X座標計算回路
12 YX除算器
13 面積率初期値計算回路
14 Xカウンタ
15 選択加算回路

Claims (18)

  1. 3次元ポリゴンを構成する各ポリゴン辺であって左辺・右辺に分けられたポリゴン辺を、さらに2次元XY座標上での該ポリゴン辺の傾きの大きさにより分類するポリゴン辺分類手段と、
    該ポリゴン辺分類手段で分類された該ポリゴン辺の隣接スキャンラインとの各交点に対応した各描画点において、少なくともX座標が最も小さい描画点とX座標が最も大きい描画点の各座標値を求める座標計算手段と、
    該座標計算手段で求めた描画点の各座標値から、該各交点に対応する所定単位領域のピクセル内にポリゴン内部領域が占める面積率を求める面積率計算手段とを有する3次元図形描画処理装置。
  2. 前記ポリゴン辺分類手段は、
    前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いたX座標の差分値を求めるX軸方向差分演算手段と、
    該ポリゴン辺の終頂点および始頂点の一方のY座標の値から他方のY座標の値を引いたY座標の差分値を求めるY軸方向差分演算手段と、
    該X座標の差分値と該Y座標の差分値との大小関係を比較して、該ポリゴン辺の傾きの大きさを判定することにより該ポリゴン辺を分類する比較判定手段とを有する請求項1に記載の3次元図形描画処理装置。
  3. 前記比較判定手段は、前記ポリゴン辺の傾きの大きさが1を超える場合に、該ポリゴン辺が左辺であれば「左」、該ポリゴン辺が右辺であれば「右」のように該ポリゴン辺を分類する請求項2に記載の3次元図形描画処理装置。
  4. 前記比較判定手段は、前記ポリゴン辺の傾きの大きさが1以下の場合に、前記X座標の差分値が負の値になる左辺であれば「上」、該X座標の差分値が負の値になる右辺であれば「下」、該X座標の差分値が正の値になる左辺であれば「下」、該X座標の差分値が正の値になる右辺であれば「上」のように該ポリゴン辺を分類する請求項2または3に記載の3次元図形描画処理装置。
  5. 前記座標計算手段は、
    前記ポリゴン辺分類手段で得られたポリゴン辺の傾き情報に基づいて、前記始頂点からスキャンラインとの交点までのX軸方向の距離に0.5を加算して、小数点以下を切捨てることにより四捨五入を行うかまたは、該始頂点から該スキャンラインとの交点までのX軸方向の距離は小数点以下を切り捨てて切り下げとするかを判定して、該始頂点から現スキャンラインまたは次のスキャンラインとの交点までの整数化されたX軸方向の距離を求めるX軸方向距離獲得手段を有する請求項1に記載の3次元図形描画処理装置。
  6. 前記X軸方向距離獲得手段は、
    前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いたX座標の差分値を求めるX軸方向差分演算手段と、
    該ポリゴン辺の終頂点および始頂点の一方のY座標の値から他方のY座標の値を引いたY座標の差分値を求めるY軸方向差分演算手段と、
    該Y座標の差分値で該X座標の差分値を割ることにより該ポリゴン辺上でのY軸方向に対するX軸方向の増加率を求めるXY除算手段と、
    該始頂点から現スキャンラインの間にスキャンしたスキャンラインの本数を計算するスキャンライン増分値計算手段と、
    該XY除算手段で得たY軸方向に対するX軸方向の増加率に、該スキャンライン増分値計算手段で得た始頂点から現スキャンラインまでのスキャンラインの本数を乗算することにより、始頂点から現スキャンラインまでの間のX軸方向の距離を求める乗算手段と、
    該ポリゴン辺の傾き情報に基づいて、該乗算手段で求めたX軸方向の距離に0.5を加算するかどうかを判断し、得られた値の小数点以下を切り捨てることにより整数化したX軸方向の距離を求める四捨五入手段とを有する請求項5に記載の3次元図形描画処理装置。
  7. 前記座標計算手段は、
    前記ポリゴン辺分類手段によって得られたポリゴン辺の傾き情報および、前記X軸方向距離獲得手段により求めたX軸方向の距離、前記始頂点のX座標の値により、該ポリゴン辺の隣接スキャンラインとの交点間にある各描画点においてX座標が最も小さい描画点からX座標が最も大きい描画点までのX座標値を求める交点X座標計算手段を有する請求項5に記載の3次元図形描画処理装置。
  8. 前記面積率計算手段は、前記ピクセルにポリゴン内部領域が占める面積率を求める際に、前記ポリゴン辺分類手段で得られたポリゴン辺の情報と、前記座標計算手段で得られたX座標が最も小さい描画点およびX座標が最も大きい描画点のX座標情報とに基づいて、該ピクセルの左右上下端いずれの側から占める面積率を使うかを判別して面積率の計算を行う請求項1に記載の3次元図形描画処理装置。
  9. 前記面積率計算手段は、前記ポリゴン辺が前記ポリゴン辺分類手段により、該ポリゴン辺の傾きの大きさが1を超える場合に、「左」または「右」と分類されたポリゴン辺であって、かつ現スキャンラインと交差してから次のスキャンラインと交差するまでの間に二つの前記ピクセル間に跨るかどうかによって、一定の面積率とするか詳細な計算を行うかを決定する計算方法決定手段を有する請求項8に記載の3次元図形描画処理装置。
  10. 3次元ポリゴンを構成する各ポリゴン辺であって左辺・右辺に分けられたポリゴン辺を、さらに2次元XY座標上での該ポリゴン辺の傾きの大きさにより分類するポリゴン辺分類ステップと、
    該ポリゴン辺分類ステップで分類された該ポリゴン辺の隣接スキャンラインとの各交点に対応した各描画点において、少なくともX座標が最も小さい描画点とX座標が最も大きい描画点の各座標値を求める座標計算ステップと、
    該座標計算ステップで求めた描画点の各座標値から、該各交点に対応する所定単位領域のピクセル内にポリゴン内部領域が占める面積率を求める面積率計算ステップとを有する3次元図形描画処理方法。
  11. 前記ポリゴン辺分類ステップは、
    前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いた差分値を求めるステップと、
    該ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のY座標の値を引いた差分値を求めるステップと、
    該X座標の差分値と該Y座標の差分値の大小関係を比較して、該ポリゴン辺の傾きの大きさを判定することにより該ポリゴン辺を分類する比較判定ステップとを有する請求項10に記載の3次元図形描画処理方法。
  12. 前記座標計算ステップは、
    前記ポリゴン辺分類ステップで得られたポリゴン辺の傾き情報に基づいて、前記始頂点からスキャンラインとの交点までのX軸方向の距離に0.5を加算して、小数点以下を切捨てることにより四捨五入を行うかまたは、該始頂点から該スキャンラインとの交点までのX軸方向の距離は小数点以下を切り捨てて切り下げとするかを判定して、該始頂点から現スキャンラインまたは次のスキャンラインとの交点までの整数化されたX軸方向の距離を求めるX軸方向距離獲得ステップと、
    該ポリゴン辺の傾き情報および、該X軸方向距離獲得ステップにより求めたX軸方向の距離、前記始頂点のX座標の値により、該ポリゴン辺のスキャンラインとの交点である描画点においてX座標が最も小さい描画点とX座標が最も大きい描画点の各座標値を求める交点X座標計算ステップとを有する請求項10に記載の3次元図形描画処理方法。
  13. 前記X軸方向距離獲得ステップは、
    前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いた差分値を求めるステップと、
    該ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のY座標の値を引いた差分値を求めるステップと、
    前記Y座標の差分値で前記X座標の差分値を割ることにより該ポリゴン辺上でのY軸方向に対するX軸方向の増加率を求めるXY除算ステップと、
    該始頂点から現スキャンラインの間にスキャンしてきたスキャンラインの本数を計算するスキャンライン増分値計算ステップと、
    該XY除算ステップで得たY軸方向に対するX軸方向の増加率に、該スキャンライン増分値計算ステップで得た始頂点から現スキャンラインまでのスキャンラインの本数を乗算することにより、該始頂点から現スキャンラインまでの間のX軸方向の距離を求める乗算ステップと、
    前記ポリゴン辺の傾き情報に基づいて、該乗算ステップで求めたX軸方向の距離に0.5を加算するかどうかを判断し、得られた値の小数点以下を切り捨てることにより整数化したX軸方向の距離を求める四捨五入ステップとを有する請求項12に記載の3次元図形描画処理方法。
  14. 前記面積率計算ステップは、
    前記ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のX座標の値を引いた差分値を求めるステップと、
    該ポリゴン辺の終頂点および始頂点の一方のX座標の値から他方のY座標の値を引いた差分値を求めるステップと、
    該Y座標の差分値で該X座標の差分値を割ることにより該ポリゴン辺上でのX軸方向に対するY軸方向の増加率を求めるYX除算ステップと、
    スキャンラインとポリゴン辺が交差するピクセルにおいて、前記座標計算ステップにより求めた各座標値と、前記YX除算ステップにより求めたY軸方向の増加率とにより、該ピクセルに占めるポリゴン内部領域の面積率を求めるに際し、該ポリゴン辺の傾きの大きさおよび該X座標の差分値の符号に応じて、該ピクセルの左右上下どの端から見た場合の該ポリゴン辺までの距離を面積率とするかを選択して計算する面積率選択計算ステップとを有する請求項10に記載の3次元図形描画処理方法。
  15. 前記面積率選択計算ステップは、前記ポリゴン辺の傾きの大きさが1を超え、該ポリゴン辺が現スキャンラインと次のスキャンラインとの間にピクセル境界を跨ぐ場合に一定の面積率を適用し、そうでない場合は計算により面積率を求める請求項14に記載の3次元図形描画処理方法。
  16. 請求項10〜15のいずれかに記載の3次元図形描画処理方法の各処理ステップをコンピュータに実行させるための制御プログラム。
  17. 請求項16に記載の制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体。
  18. 請求項1〜9のいずれかに記載の3次元図形描画処理装置を用いて表示画面を表示可能とする画像表示装置。
JP2004331224A 2004-11-15 2004-11-15 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体 Active JP4180043B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004331224A JP4180043B2 (ja) 2004-11-15 2004-11-15 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体
TW094140082A TWI322393B (en) 2004-11-15 2005-11-15 Three dimensional graphics processing apparatus, image display apparatus, three dimensional graphics processing method, and computer-readable recording medium
US11/272,756 US7764292B2 (en) 2004-11-15 2005-11-15 Three dimensional graphics processing apparatus, image display apparatus, three dimensional graphics processing method, control program and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004331224A JP4180043B2 (ja) 2004-11-15 2004-11-15 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体

Publications (2)

Publication Number Publication Date
JP2006139727A true JP2006139727A (ja) 2006-06-01
JP4180043B2 JP4180043B2 (ja) 2008-11-12

Family

ID=36573645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004331224A Active JP4180043B2 (ja) 2004-11-15 2004-11-15 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体

Country Status (3)

Country Link
US (1) US7764292B2 (ja)
JP (1) JP4180043B2 (ja)
TW (1) TWI322393B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257456A (ja) * 2007-04-04 2008-10-23 Matsushita Electric Ind Co Ltd アンチエイリアス描画装置及びアンチエイリアス描画方法
KR100994708B1 (ko) 2009-06-19 2010-11-16 계명대학교 산학협력단 안티 알리아싱을 위한 픽셀내 도형면적 산출 및 픽셀 분할방법 및 그에 따른 장치
KR101117045B1 (ko) * 2009-03-23 2012-03-19 가천대학교 산학협력단 부재 검색을 위한 3차원 데이터의 평활화를 위한 노이즈 제거 시스템 및 그 제거 방법
CN110900630A (zh) * 2019-12-16 2020-03-24 华南理工大学广州学院 基于dda算法给写字机器人输出动力脉冲的方法
CN116029257A (zh) * 2023-02-14 2023-04-28 弈芯科技(杭州)有限公司 版图验证中识别图形的连接关系的方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215144B (zh) * 2011-05-17 2016-06-29 中兴通讯股份有限公司 丢包率的测量方法和系统
TWI597686B (zh) * 2011-11-21 2017-09-01 財團法人國家實驗研究院 協同gpu作為求解偏微分方程式之高效能運算與三維互動影像輸出之方法、裝置及電腦可讀取紀錄媒體、電腦程式產品
US9521270B1 (en) * 2013-05-14 2016-12-13 Google Inc. Changing in real-time the perspective of objects captured in images
US9747680B2 (en) 2013-11-27 2017-08-29 Industrial Technology Research Institute Inspection apparatus, method, and computer program product for machine vision inspection
CN107038731B (zh) * 2017-04-01 2020-04-21 东南大学 一种解决交点退化问题的复杂多边形裁剪方法
CN110246173B (zh) * 2018-08-14 2023-11-03 浙江大华技术股份有限公司 一种判断形状区域的方法和装置
CN109376464B (zh) * 2018-11-16 2023-03-10 西安电子科技大学 三维集成电路中的热通孔插入方法
CN115982542B (zh) * 2023-03-21 2023-08-29 湖北泰跃卫星技术发展股份有限公司 土地之间相邻关系的计算方法、计算设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3102805B2 (ja) * 1990-10-23 2000-10-23 株式会社リコー 図形出力装置
US5278949A (en) * 1991-03-12 1994-01-11 Hewlett-Packard Company Polygon renderer which determines the coordinates of polygon edges to sub-pixel resolution in the X,Y and Z coordinates directions
JPH064679A (ja) 1992-06-24 1994-01-14 Toshiba Corp イメージ処理装置
JP3609189B2 (ja) 1995-03-14 2005-01-12 株式会社リコー アンチエイリアシング機能を有する画像生成装置
US7142224B2 (en) * 1997-07-10 2006-11-28 Yamaha Corporation Polygon drawing apparatus and method, and storage medium for implementing the same method
DE59911685D1 (de) * 1998-08-30 2005-04-07 Gmd Gmbh Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
JP3898426B2 (ja) 2000-08-07 2007-03-28 松下電器産業株式会社 図形描画装置
JP2002133438A (ja) * 2000-10-19 2002-05-10 Mitsubishi Electric Corp 3次元グラフィックス描画装置、3次元グラフィックス描画方法および3次元ポリゴンデータを記録したコンピュータで読取可能な記録媒体
AUPS028702A0 (en) * 2002-02-01 2002-02-28 Canon Kabushiki Kaisha Efficient display update from changing object graphics
JP2005100177A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257456A (ja) * 2007-04-04 2008-10-23 Matsushita Electric Ind Co Ltd アンチエイリアス描画装置及びアンチエイリアス描画方法
KR101117045B1 (ko) * 2009-03-23 2012-03-19 가천대학교 산학협력단 부재 검색을 위한 3차원 데이터의 평활화를 위한 노이즈 제거 시스템 및 그 제거 방법
KR100994708B1 (ko) 2009-06-19 2010-11-16 계명대학교 산학협력단 안티 알리아싱을 위한 픽셀내 도형면적 산출 및 픽셀 분할방법 및 그에 따른 장치
CN110900630A (zh) * 2019-12-16 2020-03-24 华南理工大学广州学院 基于dda算法给写字机器人输出动力脉冲的方法
CN110900630B (zh) * 2019-12-16 2021-06-01 华南理工大学广州学院 基于dda算法给写字机器人输出动力脉冲的方法
CN116029257A (zh) * 2023-02-14 2023-04-28 弈芯科技(杭州)有限公司 版图验证中识别图形的连接关系的方法及装置

Also Published As

Publication number Publication date
US20060119614A1 (en) 2006-06-08
TWI322393B (en) 2010-03-21
US7764292B2 (en) 2010-07-27
JP4180043B2 (ja) 2008-11-12
TW200636613A (en) 2006-10-16

Similar Documents

Publication Publication Date Title
US7764292B2 (en) Three dimensional graphics processing apparatus, image display apparatus, three dimensional graphics processing method, control program and computer-readable recording medium
US11361405B2 (en) Dynamic spread anti-aliasing
KR101916341B1 (ko) 스크린 위치에 따라 달라지는 분해능을 가진 다수의 렌더 타겟을 위한 텍스처 매핑을 위한 그라디언트 조정
US6788301B2 (en) Active pixel determination for line generation in regionalized rasterizer displays
KR100243174B1 (ko) 서브픽셀 마스크 발생방법 및 장치
JP4327105B2 (ja) 描画方法、画像生成装置、および電子情報機器
JP2003271987A (ja) プリミティブにより覆われるピクセルの割合を求める方法
US20200279415A1 (en) Efficiently Computed Distance Fields
US10043233B1 (en) Digital media environment for processing vector objects of vector artwork
US5489920A (en) Method for determining the optimum angle for displaying a line on raster output devices
JP4370438B2 (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP2010146255A (ja) ベクトル図形描画装置
US6025851A (en) Envolvent approximation using accurate slope information
US6753861B2 (en) Active region determination for line generation in regionalized rasterizer displays
US20030122850A1 (en) Method and apparatus for determining bins to be updated for polygons, including triangles
EP0062669A1 (en) GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY.
US11017505B2 (en) System and method for applying antialiasing to images
KR20150061802A (ko) 이미지 출력 장치 및 이의 이미지 렌더링 방법
US7170528B1 (en) Fast glyph rendering for vector based fonts
JP4009289B2 (ja) フットプリントに係るテクセルのカラー値をカラー計算するための重み付けファクタを決定する方法
KR20120069134A (ko) 이차원 평면에서 계단현상 개선 장치 및 방법
US6791547B2 (en) Auxiliary active region determination for line width generation in regionalized rasterizer displays
JP2018019212A (ja) 情報処理装置及び描画処理方法、コンピュータプログラム
JP2010140101A (ja) 描画装置
KR100719480B1 (ko) 고속의 안티알리아싱 처리 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080826

R150 Certificate of patent or registration of utility model

Ref document number: 4180043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

SG99 Written request for registration of restore

Free format text: JAPANESE INTERMEDIATE CODE: R316G99

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04