(57)【特許請求の範囲】
【請求項１】
Ｚバッファ法による隠面消去を行う三次元ポリゴン描画方法において、
ピクセルの座標値を発生するピクセル発生ステップと、
発生されたピクセルの中心がポリゴン外に存在するか否かを判定する位置判定ステップと、
ポリゴン全体をピクセルの半径分だけ外側に膨らませ、膨らませたポリゴンとピクセルの共有面積を算出する共有面積算出ステップと、
上記共有面積に応じてピクセルの輝度調整を行う輝度調整ステップとを備え、
上記位置判定ステップにおいて、ポリゴン外にピクセルの中心があると判断されたピクセルに対して、共有面積を算出し、輝度調整をすることを特徴とする三次元ポリゴン描画方法。
【請求項２】
Ｚバッファメモリ値と上記ピクセル座標値のＺ値との比較を行うＺ値比較ステップと、
上記Ｚ値比較ステップと上記位置判定ステップとの結果に応じてＺバッファの更新の有無を決定するＺバッファ更新ステップと、
上記共有面積に応じてピクセルの輝度調整を行い、ピクセル描画用メモリに描画する描画ステップとを更に有し、
上記Ｚバッファ更新ステップは、上記位置判定ステップの結果ポリゴン内部にピクセルの中心がなく、且つ上記Ｚ値比較ステップの比較結果が可視である場合、Ｚバッファの更新を行わずに描画のみを行うことを特徴とする請求項１に記載の三次元ポリゴン描画方法。
【請求項３】
上記位置判定ステップによりポリゴン内にピクセルの中心があると判定されたピクセルは、本来の色で、且つ通常のＺバッファ法により描画することを特徴とする請求項１に記載の三次元ポリゴン描画方法。
【請求項４】
上記本来の色は、ピクセル発生時の色であることを特徴とする請求項３に記載の三次元ポリゴン描画方法。
【請求項５】
上記輝度調整ステップは、ポリゴン全体をピクセル半径分だけ外側に膨らませ、膨らませたポリゴンとピクセルの共有面積に応じた計算により輝度調整を行うことを特徴とする請求項１に記載の三次元ポリゴン描画方法。
【請求項６】
上記Ｚ値比較ステップは、上記Ｚバッファメモリ値と上記ピクセル座標値のＺ値との比較を行い、不可視であると判定された場合には、Ｚバッファの更新および描画を行わないことを特徴とする請求項１に記載の三次元ポリゴン描画方法。
【請求項７】
Ｚバッファメモリ値とピクセル座標値のＺ値との比較を行うＺ値比較ステップと、
発生されたピクセルの中心がポリゴン内部に存在するか否かを判定する位置判定ステップと、
上記Ｚ値比較ステップと上記位置判定ステップとの結果に応じてＺバッファの更新の有無を決定するＺバッファ更新ステップと、
全体をピクセルの半径分だけ外側に膨らませたポリゴンとピクセルの共有面積に応じてピクセルの輝度調整を行い、ピクセル描画用メモリに描画する描画ステップとを有し、
上記Ｚバッファ更新ステップは、上記位置判定ステップの結果ポリゴン内部にピクセルの中心がなく、且つ上記Ｚ値比較ステップの比較結果が可視である場合、Ｚバッファの更新を行わずに描画のみを行うことを特徴とする三次元ポリゴン描画方法。
【請求項８】
Ｚバッファ法による隠面消去を行う三次元ポリゴン描画装置において、
ピクセルの座標値を発生するピクセル発生手段と、
ポリゴン全体をピクセル半径分だけ外側に膨らませ、膨らませたポリゴンとピクセルの共有面積を算出する共有面積算出手段と、
上記共有面積に応じてピクセルの輝度調整を行う輝度調整手段とからなることを特徴とする三次元ポリゴン描画装置。
【請求項９】
発生したピクセルの中心がポリゴン内部に存在するか否かを検出するピクセル中心検出手段と、
Ｚバッファメモリ値と上記ピクセル座標値のＺ値との比較を行うＺ値比較手段と、
上記Ｚ値比較の結果が可視の場合、上記ピクセル中心検出結果に応じてＺバッファの更新の有無を決定するＺバッファ更新手段と、
上記共有面積に応じてピクセルの輝度調整を行い、ピクセル描画用メモリに描画する描画手段とを更に有することを特徴とする請求項８に記載の三次元ポリゴン描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三次元コンピュータ・グラフィックス描画装置において、物体を複数のポリゴンにより近似、描画する際に生じるエッジのギザギザ、すなわちエイリアシングを除去するのに用いられる三次元ポリゴン描画方法および装置に関する。
【０００２】
【従来の技術】
従来、Ｚバッファ法による隠面消去を行う三次元コンピュータ・グラフィックス描画装置において、ポリゴンのエッジがギザギザしてしまう、エイリアシングが問題となっていた。この一つの解決案として、図６に示すようにポリゴンとこのポリゴンを形成するピクセルとの共有面積を求め、この面積に応じてポリゴンを描画するピクセルの輝度を落とす、というものがあった。
【０００３】
図６において、黒丸はその全体が例えば三角形に含まれているピクセルであり、白丸は一部が三角形の外部にあるピクセルである。上述の解決案は、単体のポリゴンを描画する際には有効である。しかしながら、複雑な物体を複数のポリゴンで描画する際には、ポリゴンとポリゴンの境目のピクセルの輝度が下がってしまい、描画品質を逆に著しく低下させてしまうという問題があった。
【０００４】
図７Ａは、一つの四角形を二つの三角形１および三角形２で描画しようとした例である。先ず、三角形１を描画する際、上述したように三角形とこれを構成するピクセルとの共有面積に応じてピクセルの輝度を決定する。描画後には、Ｚバッファ法による隠面消去を行う場合、各ピクセルの位置に相当するＺバッファには各ピクセルまでの視点からの距離情報が保存されている。次に三角形２を描画することを考えると、図７ＢのＰ１からＰ５までのピクセルが問題となる。
【０００５】
これらのピクセルＰ１からＰ５は、三角形１を描画した際に既に描画されたものであり、図７Ａのように辺Ｅ１が視点に近い、すなわち凸形である場合、中心が三角形１の外部にあるＰ１、Ｐ２およびＰ４のピクセルは三角形２を描画する際には不可視であると判定され描画されない。
【０００６】
また、中心が三角形１の内部にあるＰ３およびＰ５のピクセルは、三角形２を描画する際に再度描画されるが、輝度が低く描画されてしまう。逆に辺Ｅ１が視点に遠い、すなわち、凹形である場合、三角形２を描画する際に、Ｐ３およびＰ５のピクセルは描画されず、Ｐ１、Ｐ２およびＰ４のピクセルは再度描画されるものの、輝度が低く描画される。この結果として、いづれのケースでも、本来２つの三角形１および三角形２で構成される四角形の完全に内部にあるピクセルまでも輝度が低下してしまい、描画品質を著しく落としてしまうことになる。
【０００７】
また、他の方法として、物体を左右上下に少しずつずらして何回も描画し、それらの結果を各ピクセルごとに加算していき、最後に各ピクセルを描画回数で割り、これを最終描画結果とするものがある。しかしながら、上述の方法を実現するには、加算していくピクセルを保持するための大容量のメモリが必要であり、且つ、複数回の描画を行わなければいけないため、当然のことながら高速な描画は期待できない。
【０００８】
【発明が解決しようとする課題】
従来のＺバッファ法による隠面消去を行う三次元コンピュータ・グラフィックス描画装置において、複数回の描画などによる非効率的な方法以外では、複雑な物体を多数のポリゴンで近似、描画する際には、本来輝度が低下してはいけないポリゴンとポリゴンの境界のピクセルの輝度が低下してしまい描画品質を著しく低下させてしまうという大きな問題点があった。このように、Ｚバッファ法による隠面消去を行う三次元コンピュータ・グラフィックス描画装置において、高速なポリゴンのエイリアシングの除去は一般的に不可能とされてきた。
【０００９】
従って、この発明の目的は、単体のポリゴンのエッジのエイリアシングのみならず、複雑な物体を多数のポリゴンで近似、描画する際にも高品位且つ高速なエイリアシング除去をすることができる三次元ポリゴン描画方法および装置を提供することにある。
【００１０】
【課題を解決するための手段】
上述した課題を解決するために、請求項１の発明は、Ｚバッファ法による隠面消去を行う三次元ポリゴン描画方法において、ピクセルの座標値を発生するピクセル発生ステップと、発生されたピクセルの中心がポリゴン外に存在するか否かを判定する位置判定ステップと、ポリゴン全体をピクセルの半径分だけ外側に膨らませ、膨らませたポリゴンとピクセルの共有面積を算出する共有面積算出ステップと、共有面積に応じてピクセルの輝度調整を行う輝度調整ステップとを備え、位置判定ステップにおいて、ポリゴン外にピクセルの中心があると判定されたピクセルに対して、共有面積を算出し、輝度調整をすることを特徴とする三次元ポリゴン描画方法である。
そして、請求項７の発明は、Ｚバッファメモリ値とピクセル座標値のＺ値との比較を行うＺ値比較ステップと、発生されたピクセルの中心がポリゴン内部に存在するか否かを判断する位置判定ステップと、Ｚ値比較ステップと位置判定ステップとの結果に応じてＺバッファの更新の有無を決定するＺバッファ更新ステップと、全体をピクセルの半径分だけ外側に膨らませたポリゴンとピクセルの共有面積に応じてピクセルの輝度調整を行い、ピクセル描画用メモリに描画する描画ステップとを有し、Ｚバッファ更新ステップは、位置判定ステップの結果ポリゴン内部にピクセルの中心がなく、且つＺ値比較ステップの比較結果が可視である場合、Ｚバッファの更新を行わずに描画のみを行うことを特徴とする三次元ポリゴン描画方法である。
【００１１】
また、請求項８の発明は、Ｚバッファ法による隠面消去を行う三次元ポリゴン描画装置において、ピクセルの座標値を発生するピクセル発生手段と、ポリゴン全体をピクセル半径分だけ外側に膨らませ、膨らませたポリゴンとピクセルの共有面積を算出する共有面積算出手段と、共有面積に応じてピクセルの輝度調整を行う輝度調整手段とからなることを特徴とする三次元ポリゴン描画装置である。
【００１２】
ピクセル発生装置からＺバッファ比較装置に対して、ピクセルの位置（Ｘ、Ｙ、Ｚ）座標、色（Ｒ、Ｇ、Ｂ）、ピクセルの中心がポリゴンの内部に存在するか否かの情報Ｃｉｎ、およびポリゴンとピクセルとの共有面積αが出力される。そして、Ｚバッファ比較装置において、情報Ｃｉｎが `１' である、すなわち、ピクセルの中心がポリゴンの内部にある時には、ピクセルのＺ座標とＺバッファ中のＺとを比較する。Ｚバッファ比較装置から出力されたピクセルは、ピクセル描画装置により、輝度を調整した後、メモリにピクセルを描画する。
【００１３】
【発明の実施の形態】
以下、この発明の一実施例について説明する。図１は、この発明を三次元アンチエリアスド・ポリゴン描画装置に適用したものである。三次元アンチエリアスド・ポリゴン描画装置は、主に、ピクセル発生装置１０、Ｚバッファ比較装置１１、Ｚバッファ用メモリ１２、ピクセル描画装置１３、ピクセル描画用メモリ１４で構成される。
【００１４】
図１において、ピクセル発生装置１０からＺバッファ比較装置１１に対して、ピクセルの位置（Ｘ、Ｙ、Ｚ）座標、色（Ｒ、Ｇ、Ｂ）、ピクセルの中心がポリゴンの内部に存在するか否かの情報Ｃｉｎ、およびポリゴンとピクセルとの共有面積αが出力される。情報Ｃｉｎは、ピクセルが完全にポリゴン内部に含まれる時には１とし、全く共有面積を持たない時は `０' とする。但し、ピクセルの中心がポリゴン内部に存在する場合は、ピクセルの一部がポリゴンの外部に出ていても `１' とする。さらに、共有面積αは、実際のポリゴンとのものではなく、実際のポリゴンをピクセルの直径の半分だけ外側にずらしたポリゴンとのものである。
【００１５】
Ｚバッファ比較装置１１において、情報Ｃｉｎが `１' である、すなわち、ピクセルの中心がポリゴンの内部にある時には、ピクセルのＺ座標とＺバッファ中のＺとを比較し、若し、この比較が可視であると判断された場合には、Ｚバッファを新たなＺで更新すると共にピクセルをピクセル描画装置１３に出力する。また、不可視と判断された場合には、ピクセルは捨てられる。さらに、情報Ｃｉｎが `０' である、すなわち、ピクセルの中心がポリゴンの外部にあるときは、ピクセルのＺ座標とＺバッファ中のＺとを比較し、若し、この比較が可視であると判断された場合には、Ｚバッファの更新は行わずに、ピクセルをピクセル描画装置１３に出力するのみである。また、不可視であると判断された場合には、情報Ｃｉｎが `１' の時と同様にピクセルは捨てられる。
【００１６】
Ｚバッファ比較装置１１から出力されたピクセルは、ピクセル描画装置１３により、下記の（１）から（３）式に示すように輝度を調整した後、ピクセル描画用メモリ１４にピクセルを描画する。
Ｒ’＝  Ｒ×α＋Ｒd ×（１−α）                ・・・（１）
Ｇ’＝  Ｇ×α＋Ｇd ×（１−α）                ・・・（２）
Ｂ’＝  Ｂ×α＋Ｂd ×（１−α）                ・・・（３）
但し、（１）から（３）式において、Ｒd 、Ｇd 、Ｂd は既にピクセル描画用メモリ１４に描画されていたピクセルの色である。
【００１７】
図２に、この発明の一実施例によるピクセル発生装置１０を示す。ピクセル発生装置１０は、図２に示すように、エッジ発生ブロック２０とスパン発生ブロック２１で構成され、ポリゴンの形状および色を決定する各種パラメータが入力される。この発明の一実施例では、ピクセル発生装置１０は三角形を処理の対象とし、三角形の三頂点の座標（Ｘ，Ｙ，Ｚ）および色（Ｒ，Ｇ，Ｂ）が入力される。これらのパラメータは、先ず図３に示すように、Ｐ１からＰ６およびＰ１’からＰ６’までのポリゴンのエッジの座標（Ｘ，Ｙ，Ｚ）および色（Ｒ，Ｇ，Ｂ）を算出するエッジ発生ブロック２０に渡される。エッジ発生ブロック２０が発生したエッジは、Ｐ１とＰ１’、Ｐ２とＰ２’、Ｐ３とＰ３’、Ｐ４とＰ４’、Ｐ５とＰ５’、Ｐ６とＰ６’というように２組をペアーとしてスパン発生ブロック２１に渡される。
【００１８】
スパン発生ブロック２１では、エッジ発生ブロック２０から渡された２点のエッジのデータを基に、図４の黒丸で示すＰn 、Ｐn'の２点間にピクセルの中心があるピクセルの座標および色の算出を行う。これらのピクセルには、ポリゴンとの共有面積αとして１、ピクセルの中心がポリゴンの内部に入っている情報Ｃｉｎとして `１' が付加される。
【００１９】
さらに、スパン発生ブロック２１は、図５の白丸のピクセルを発生する。図５に示す一例では、発生されるピクセルは左右１ピクセルずつであるが、Ｅ１およびＥ２をそれぞれ左右にピクセルの直径の半分だけずらしたＥ１’およびＥ２’で作られる領域と共有面積を持つものすべてを発生する。また、これらのピクセルには、共有面積αとしてＥ１’およびＥ２’で作られる領域との共有面積が、ピクセルの中心がポリゴンの外部にあることを示す情報Ｃｉｎとして `０' が付加される。
【００２０】
このようにして、ピクセル発生装置１０が発生したピクセル情報は、Ｚバッファ比較装置１１に渡される。Ｚバッファ比較装置１１では、情報Ｃｉｎが `１' であるときは、ピクセルのＺ座標とＺバッファ中のＺとを比較し、若し、この比較が可視であると判断された場合には、Ｚバッファを新たなＺで更新すると共にピクセルをピクセル描画装置に出力する。また、不可視であると判断された場合には、ピクセルは捨てられる。さらに、情報Ｃｉｎが `０' であるときは、ピクセルのＺ座標とＺバッファ中のＺとを比較し、若し、この比較が可視であると判断された場合には、Ｚバッファの更新は行わずに、ピクセルをピクセル描画装置１３に出力するのみである。また、不可視と判断された場合には、情報Ｃｉｎが
`１' の時と同様にピクセルは捨てられる。
【００２１】
ピクセル描画装置１３には、ピクセルの座標（Ｘ，Ｙ）、色（Ｒ，Ｇ，Ｂ）およびポリゴンとピクセルの共有面積αが入力される。このピクセル描画装置１３は、上述の（１）から（３）式を用いて輝度の調整を行った後に、ピクセル描画用メモリ１４の入力座標（Ｘ，Ｙ）に相当するアドレスに輝度調整後の色を描画する。
【００２２】
この発明の一実施例では、図７Ｂの三角形１を描画する際に、Ｐ３およびＰ５は三角形の内部にそのピクセルの中心がある、すなわち、情報Ｃｉｎが `１' であるので、輝度が低下することなく描画され、それぞれのピクセルのＺ座標でＺバッファが更新されている。従って、三角形２を描画する際、Ｚバッファ法により可視と判定された場合でも、もともとの２つの三角形の色に大差がなければ、（１）から（３）式から明らかなように三角形１を描画する際に描画したＰ３およびＰ５の色は殆ど変わらない。また、不可視と判定された場合には、当然のことながら、Ｐ３およびＰ５の色は変化しない。
【００２３】
さらに、他のピクセルＰ１、Ｐ２およびＰ４が三角形１を描画するときには、情報Ｃｉｎが `０' であったため輝度が低くなって描画されているが、Ｚバッファの更新が行われていない。従って、三角形２を描画する際には、これらのピクセルは可視であると判定され、且つこれらのピクセルの中心は三角形２の内部にあるため輝度が落とされずに描画される。以上のように、従来方法ではポリゴンの境目のピクセルの輝度が落ちてしまう問題点を解決することができる。
【００２４】
よりさらに、境界でないピクセルに関しても、中心がポリゴンの外部にあるピクセルは実際のポリゴンではなく、ピクセルの半径だけ外側にずらしたポリゴンとの共有面積で輝度を調整している。そのため、ピクセルの中心がポリゴンの内部に存在するが、その一部が外部に出ているにもかかわらずもともとの輝度で描画したピクセルからの輝度の急激な低下が起こらず、高品位なエイリアシング除去が高速に実現できる。
【００２５】
【発明の効果】
この発明は、Ｚバッファ法による隠面消去を行う三次元コンピュータ・グラフィックス描画装置において、複雑な物体を多数のポリゴンで近似、描画する際には、本来輝度が低下してはいけないポリゴンとポリゴンの境界のピクセルの輝度が低下してしまい、描画品質を著しく低下させてしまうため、実際には不可能と考えられていたポリゴンのエイリアシング除去を高速に実現することが可能である。
【００２６】
また、この発明は、エイリアシングがない高品位な描画結果を得られることができ、コンピュータ・グラフィックスを使用するゲーム、VR(Virtual Reality）、CAD(Computer Aided Design ）、デザインなどの分野で広く利用することができる。
【図面の簡単な説明】
【図１】この発明の一実施例を示すブロック図である。
【図２】この発明の一実施例のピクセル発生装置の構成の一例を示すブロック図である。
【図３】ピクセル発生装置のエッジ発生ブロックの動作を説明するための略線図である。
【図４】ピクセル発生装置のスパン発生ブロックの動作を説明するための略線図である。
【図５】ピクセル発生装置のスパン発生ブロックでのポリゴンとピクセルの共有面積の算出方法を説明するための略線図である。
【図６】従来の技術を説明するための略線図である。
【図７】二つの三角形を描画する場合の処理を説明するための略線図である。
【符号の説明】
１０  ピクセル発生装置
１１  Ｚバッファ比較装置
１２  Ｚバッファ用メモリ
１３  ピクセル描画装置
１４  ピクセル描画用メモリ
２０  エッジ発生ブロック
２１  スパン発生ブロック
【図１】
0003718888.tif 000002
【図２】
0003718888.tif 000003
【図３】
0003718888.tif 000004
【図４】
0003718888.tif 000005
【図５】
0003718888.tif 000006
【図６】
0003718888.tif 000007
【図７】
0003718888.tif 000008