(57)【要約】【課題】従来のタイリング方式で、プリミティブの輪郭強調を行う場合、直線描画が必要で、タイリング方式の塗りつぶしで形成されるプリミティブのエッジと、直線描画によるプリミティブの生成エッジでは手法の相異により、同一エッジとは限らず、直線描画のエッジが本来のプリミティブの外側に生成される場合や、輪郭とプリミティブ間に隙間が生じる場合がある。【解決手段】３次元グラフィックスにおけるプリミティブをタイリング方式で描画する装置において、ポリゴンを指定する頂点データから、この頂点データに最も近いプリミティブ内部の頂点座標を求める直線用頂点座標生成手段と、前記直線用頂点座標生成手段により生成された頂点座標をもとに直線を生成する直線描画手段を備えることで、直線描画の生成エッジが本来のプリミティブの内側に生成される。【選択図】図７
2006107104.tif 000002
【特許請求の範囲】
【請求項１】
３次元グラフィックスにおけるプリミティブをタイリング方式で描画する装置において、ポリゴンを指定する頂点データから、この頂点データに最も近い前記プリミティブ内部の頂点座標を求める直線用頂点座標生成手段と、前記直線用頂点座標生成手段により生成された頂点座標をもとに直線を生成する直線描画手段を備える輪郭強調描画装置。
【請求項２】
前記直線用頂点座標生成手段からの頂点座標により生成される直線座標の奥行き成分であるＺ値に対してオフセット処理を行う奥行きオフセット手段を備える請求項１記載の輪郭強調描画装置。
【請求項３】
前記プリミティブは形状が三角形とされ、前記直線描画手段に、直線のピクセルが三角形プリミティブ内部のピクセルかどうかを判定する手段と、判定結果が三角形プリミティブ内部のピクセルでない場合は、三角形プリミティブ内部のピクセルに補正する手段を備える請求項１記載の輪郭強調描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、３次元コンピュータグラフィックスに関して、３次元モデル表示を行う場合に、モデルを構成するプリミティブを強調する輪郭強調描画装置に関するものである。
【背景技術】
【０００２】
従来の輪郭強調描画装置は特開平4-205484号公報で示されるように、ポリゴンの塗りつぶしをスキャンライン方向に行うスキャンライン方式に対して実施されている。
これはポリゴンを塗りつぶす場合に、図２で示すようにポリゴンの左右にエッジを生成し、左右のエッジ間のピクセルを生成することで塗りつぶしを行う方法である。このエッジを生成する方式を輪郭描画に用いることでピクセルの輪郭を生成することができる。
【０００３】
また塗りつぶしの他の方法としてスキャンライン方向に塗りつぶすのではなく、タイリング状に塗りつぶす方式もとられている。これはテクスチャマッピングを行う場合にテクスチャ読み出しを効率よく行うためにとられる方法である。この方式は図３に示すように例えば2×2のタイル上のエリアを考え、この2×2の各ピクセルがプリミティブの三角形内部にあるかどうかを判定しながら塗りつぶす方法である。この方式の場合はスキャンライン方式と異なり、エッジを生成する手法が含まれていないため、輪郭を強調する場合には通常の直線描画用の手法で描画する必要があった。
【０００４】
【特許文献１】特開平4-205484号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のタイリング方式による塗りつぶし方式は、エッジ生成を行わないため、塗りつぶしを行ったプリミティブの輪郭強調を行う場合には通常の直線描画を行う必要がある。このタイリング方式の塗りつぶし方法により形成されるプリミティブのエッジと、直線描画方法によるプリミティブのエッジ生成では手法が異なるため、同一のエッジを生成するとは限らず、直線描画方法によるプリミティブの生成エッジが本来のプリミティブの外側に輪郭を生成する場合や、輪郭とプリミティブ間に隙間が開いてしまう場合がある。
【０００６】
この発明は、上述のような課題を解決するためになされたもので、タイリング方式の塗りつぶし方式においても描画プリミティブの輪郭強調においてプリミティブのサイズを超えることなく輪郭強調を作り出すことが出来る輪郭強調描画装置である。
【課題を解決するための手段】
【０００７】
この発明の輪郭強調描画装置は３次元グラフィックスにおけるプリミティブをタイリング方式で描画する装置において、ポリゴンを指定する頂点データから、この頂点データに最も近いプリミティブ内部の頂点座標を求める直線用頂点座標生成手段と、前記直線用頂点座標生成手段により生成された頂点座標をもとに直線を生成する直線描画手段を備える。
【発明の効果】
【０００８】
直線用頂点座標生成手段で、ポリゴンを指定する頂点データから、この頂点データに最も近いプリミティブ内部の頂点座標を求めるようにすることで、直線の始点と終点がプリミティブの内部になるため、プリミティブの内部に直線描画を行うことが可能になる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１はこの発明の実施の形態１における輪郭強調描画装置を含むパソコンやPDA（Personal Digital Assistants）や携帯電話で使用される３次元グラフィックスシステムの一例である。図１においてCPU（Central Processing Unit）１１はホストプロセッサとして本装置全体を制御し、描画対象となる３次元オブジェクトデータをジオメトリエンジン１２に転送する。ジオメトリエンジン１２では三角形や直線などの描画プリミティブに対して回転、拡大縮小、平行移動などの座標変換や、ライティング計算などによる色計算、クリップ処理を行い、スクリーン座標系における座標や色をレンダリングコントローラ１３に設定する。レンダリングコントローラ１３は設定された描画プリミティブである三角形や直線を表示ディスプレイ上のピクセルに展開して、色情報をフレームメモリ１４に、奥行き情報をデプスメモリ１５に設定する。
【００１０】
図１のように構成された３次元グラフィックスシステムにおいてプリミティブの描画を行うレンダリングコントローラ１３は設定された三角形の３頂点より三角形の内部を塗りつぶす。塗りつぶし方法としてタイリング法が使用される場合は三角形を含む最小矩形領域を生成し、この矩形領域の各ピクセルが三角形の内部に存在するかどうかを判定して、内部にある場合には塗りつぶし処理を行い、外部になる場合は塗りつぶし処理をおこなわない。
この内部にあるかどうかの判定は一般にピクセルの中心が三角形の内部になるかどうかで判定される。例えば図４で示される三角形があると、頂点１、頂点２、頂点３が含まれるピクセルはピクセルの中心が三角形の内部にないため描画されない。ピクセルの中心が三角形内部にあるものだけを塗りつぶすというルールに従うと図４の○で示されたピクセルが塗りつぶされる。
【００１１】
このプリミティブの輪郭強調を行うために、三角形プリミティブの３頂点を使用して直線描画を行うと３頂点を含むピクセルが塗りつぶされるため図５のようにプリミティブの外側に輪郭強調の直線が描画される。このためこの発明では図７に示す直線用頂点座標生成手段と直線描画手段及びメモリを組み合わせた輪郭強調直線描画装置をレンダリングコントローラ１３に設けることでこの問題を解決する。
【００１２】
図７に示す７１は三角形の第１頂点のデータを保持する手段、７２は三角形の第２頂点のデータを保持する手段、７３は三角形の第３頂点のデータを保持する手段、７４は７１，７２，７３が保持する各頂点データから輪郭強調のための直線描画用頂点を生成する直線用頂点座標生成手段でレンダリングコントローラ１３の演算部で兼用される。７５は前記三角形第１頂点データ保持手段７１に対応する直線用第１頂点のデータを保持する手段、７６は前記三角形第２頂点データ保持手段７２に対応する直線用第２頂点のデータを保持する手段、７７は前記三角形第３頂点データ保持手段７３に対応する直線用第３頂点のデータを保持する手段、７８は７５，７６，７７の各頂点データ保持手段の各頂点座標をもとに直線描画を行う直線描画手段である。
【００１３】
三角形プリミティブにより指定された３頂点から直線用の頂点を生成するフローを図８に示す。第１のステップは各頂点座標が含まれるピクセルの中心が三角形の内部に含まれるかどうかを直線用頂点座標生成手段７４がチェックする。この結果、各頂点座標を含む各ピクセルの中心が三角形の内部である場合、直線用頂点座標生成手段７４はステップ４において、各頂点データを図７の７５，７６，７７の直線用第ｎ頂点データ保持手段へ転送する。また各頂点座標を含む各ピクセルの中心が三角形の内部でない場合、直線用頂点座標生成手段７４はステップ２においてこの頂点座標が含まれるピクセルを囲む周辺８ピクセルの選択を行う。次にステップ３において、同じく直線用頂点座標生成手段７４は選択された８ピクセルから三角形内部にあり、頂点のピクセルと前記選択されたピクセルの中心との距離が一番短いピクセルを選択し、ステップ４においてステップ３で選択されたピクセルを図７の７５，７６，７７の直線用第ｎ頂点のデータ保持手段へコピーを行う。
【００１４】
直線用頂点座標生成手段７４において図８のフローに従って直線用の各頂点データを生成し、保持手段に保管後、この各頂点データを用いて直線描画手段７８が直線描画を行う。このようにすることにより、直線の各頂点が図６に示すように三角形の内部にあるため、三角形プリミティブの内部に直線描画を行うことが可能になる。
【００１５】
上記直線用頂点座標生成手段７４の計算は図１のレンダリングコントローラ１３の演算部において計算する以外に、図１のジオメトリエンジン１２の演算部で処理することも可能である。
【００１６】
また上記直線用頂点座標生成手段７４の計算は図１のレンダリングコントローラ１３の演算部において計算する以外に、図１のCPU１１において計算することも可能である。
【００１７】
実施の形態２．
図９にこの発明の実施の形態２における輪郭強調直線描画装置を示す。この実施の形態２は図７に示す実施の形態１の輪郭強調直線描画装置に奥行きオフセット手段を追加したものである。この奥行きオフセット手段９８は直線用頂点座標生成手段７４により生成された直線座標の奥行き成分であるＺ値に対してオフセット処理を行う。一般に手前がゼロで奥に行くにしたがってＺ値が増加する。このため奥行きオフセット手段９８においてオフセット値分だけ手前にずらす。これによりポリゴンと直線のＺ値生成方法の違いから発生するＺ値のコンフリクトにより、ポリゴン上に直線が点線描画のようになり、きれいに描画されないような状態を回避することができ、ポリゴン上に確実に輪郭線を描画可能にする。
【００１８】
実施の形態３．
実施の形態３は、実施の形態１における直線描画手段７８に判定手段と補正手段を備えたものである。直線描画手段７８においてピクセルが生成される毎にそのピクセルと三角形プリミティブとの関係を判定手段で調べて、もし生成されたピクセルが三角形プリミティブの内部にない場合は隣接するピクセルで同一スキャンライン上かつ三角形プリミティブの内部に存在するピクセルに補正手段で置換するものである。
【００１９】
これは図１０に示すように始点と終点を三角形プリミティブの内部のピクセルにしたにもかかわらず、三角形ライスタライズ方法と直線ライスタライズの方法の違いにより、直線の始点と終点以外のピクセルが三角形プリミティブ外に出てしまうことを避けるためのものである。
【００２０】
このための処理フローを図１１に示す。直線描画手段７８において生成されたピクセルをステップ１において三角形プリミティブの内部であるかどうかを判定手段で判定する。その結果、三角形プリミティブの内部である場合はステップ３においてピクセルの描画を行う。三角形プリミティブの内部でないと判定された場合はステップ２において同一スキャンライン上で隣接するピクセルの中で三角形プリミティブ内部に入るピクセルを補正手段で選択し、ステップ３においてピクセルの描画を行う。
このようにすることで、始点と終点以外のピクセルも全て三角形プリミティブ内にすることができる。
【産業上の利用可能性】
【００２１】
パソコンや携帯電話および携帯端末等に搭載される３Ｄグラフィックスシステムに適用され、被搭載機器の高機能化、多機能化が図れる。
【図面の簡単な説明】
【００２２】
【図１】この発明の実施の形態１における輪郭強調描画装置を含む３次元グラフィックスシステムの構成図である。
【図２】スキャンライン方式によるポリゴン塗りつぶす方法の説明図である。
【図３】タイリング方式によるポリゴン塗りつぶす方法の説明図である。
【図４】この発明による三角形プリミティブのピクセル塗りつぶし方法の説明図である。
【図５】三角形プリミティブの３頂点による直線描画方法の説明図である。
【図６】この発明による三角形プリミティブの直線描画方法の説明図である。
【図７】この発明の実施の形態１における輪郭強調直線描画装置の構成図である。
【図８】三角形プリミティブ３頂点から直線用頂点を生成するフロー図である。
【図９】この発明による実施の形態２の輪郭強調直線描画装置の構成図である。
【図１０】直線の始点と終点以外のピクセルが三角形外になる説明図である。
【図１１】実施の形態３における直線描画手段の動作フロー図である。
【符号の説明】
【００２３】
１１  CPU、１２  ジオメトリエンジン、１３  レンダリングコントローラ、１４  フレームメモリ、１５  デプスメモリ、７１  三角形第１頂点データ保持手段、７２  三角形第２頂点データ保持手段、７３  三角形第３頂点データ保持手段、７４  直線用頂点座標生成手段、７５  直線第１頂点データ保持手段、７６  直線第２頂点データ保持手段、７７  直線第３頂点データ保持手段、７８  直線描画手段、９８  奥行きオフセット手段。
【図１】
2006107104.tif 000003
【図２】
2006107104.tif 000004
【図３】
2006107104.tif 000005
【図４】
2006107104.tif 000006
【図５】
2006107104.tif 000007
【図６】
2006107104.tif 000008
【図７】
2006107104.tif 000009
【図８】
2006107104.tif 000010
【図９】
2006107104.tif 000011
【図１０】
2006107104.tif 000012
【図１１】
2006107104.tif 000013