(57)【特許請求の範囲】
【請求項１】
グラフィックスモデルを表す複数のポリゴンを含むメッシュをレンダリングする方法であって、
ポリゴン生成手段が、前記メッシュの各ポリゴンの各エッジにおいて少なくとも１つの付加的なポリゴンを生成するステップであって、前記各付加的なポリゴンは、所定の向き、サイズおよび色を有する、該生成するステップと、
レンダリング手段が、前記グラフィックスモデルの幾何学的な特徴を強調するために、前記メッシュの複数のポリゴンおよび前記付加的なポリゴンをレンダリングするステップと
を備え、
前記各エッジにおいて生成される前記ポリゴンの所定の向きは、輪郭線を強調するために、前記ポリゴンが所定の視点に対して裏側に面している場合には、そのポリゴンに対して１８０°であり、前記各エッジにおける第１の生成されるポリゴンの所定の向きは、稜線を強調するために、前記ポリゴンが前記視点に対して表側に面している場合には、そのポリゴンに対してユーザによって指定された第１の角度であり、前記各エッジにおける第２の生成されるポリゴンの前記所定の向きは、谷線を強調するために、前記ポリゴンが前記視点に対して表側に面している場合には、そのポリゴンに対して、ユーザによって選択された、前記第１の角度とは異なる第２の角度である方法。
【請求項２】
前記生成されるポリゴンの色は黒である請求項１に記載の方法。
【請求項３】
前記全てのポリゴンの奥行き値は、第１のｚバッファ、および前記第１のｚバッファより大きな奥行き値を有する第２のｚバッファ内に保持され、
前記第２の生成されるポリゴンの奥行き値が、前記第１のｚバッファの奥行き値と前記第２のｚバッファの奥行き値との間にある場合にのみ、前記第１のｚバッファの奥行き値を更新するステップをさらに含む請求項１に記載の方法。
【請求項４】
前記全てのポリゴンの奥行き値は、第１のｚバッファ、および前記第１のｚバッファより大きな奥行き値を有する第２のｚバッファ内に保持され、
表に面しているポリゴンの特定の部分の奥行き値が、前記第１のｚバッファの奥行き値と前記第２のｚバッファの奥行き値との間にある場合にのみ、前記第１のｚバッファの奥行き値を更新するステップをさらに含む請求項１に記載の方法。
【請求項５】
さらに、前記ポリゴンは、前記付加的なポリゴンを生成する間に、レンダリングエンジンにおいて１つずつ処理される請求項１に記載の方法。
【請求項６】
特定の表に面しているポリゴンのある部分が、前記第１のｚバッファおよび前記第２のｚバッファ内の奥行き値間にある奥行き値を有するか否かを判定するステップと、
交差するポリゴンを判定するために、前記特定の表に面しているポリゴンが視点に最も近いポリゴンである場合のみ、前記部分をレンダリングするステップとをさらに含む請求項３に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は全般にポリゴン（多角形）を用いてシーンおよび物体をレンダリングする分野に関し、より詳細には、ポリゴンを用いてシーンおよび物体の幾何学的なエッジ特徴をレンダリングすることに関する。
【０００２】
【従来の技術】
シーンおよびグラフィックスモデルは、ポリゴンのメッシュを用いて画像としてしばしばレンダリングされる。ポリゴンのメッシュは、輪郭線、稜線、谷線および交差線のような幾何学的なエッジ特徴を含むことがある。あるポリゴンの輪郭線エッジは、裏に面したポリゴンを表に面したポリゴンに接続する。稜線エッジは、稜線閾角より小さい角度で配置される２つの隣接するポリゴンを接続する。谷線エッジの場合、２つの隣接するポリゴンの角度は、谷線閾角より大きい。交差線エッジは、２つの交差するポリゴンの内側部分に共通である。
【０００３】
画像においてこれらの特定のエッジが強調されるとき、そのエッジは、視認者に大量の情報を伝達することができる。テクニカルイラストレーション、エンジニアリングＣＡＤ図面および非写実的（non-photo-realistic）レンダリングのような静止画像では、強調された特徴によって、根底をなすグラフィックスモデルの見え方が改善される。
【０００４】
これらの特有の幾何学的特徴を考慮に入れる多数のレンダリング方法が当分野において知られている。ポリゴンのシーンの特徴をレンダリングするための技術は、Gooch等による「Interactive Technical Illustration」（Symp. on Interactive 3D Graphics、1999）およびMarkosian等による「Real-Time Non-photorealistic Rendering」（Computer Graphics、Proceedings of SIGGRAPH'97、August、1997）によって記載される。
【０００５】
Raskerによる「Image Precision Silhouette Edges」（Interactive 3D Graphics Symposium、1999）およびRossignac等による「Hidden Contours on a Framebuffer」（Proceedings of the 7th Workshop on Computer Graphics Hardware、Eurographics、1992）は、２つのレンダリングパスを必要とする輪郭線をレンダリングするための技術を記載している。さらに、そのエッジ強調は、非写実的で、実質的な正投影、および厳密でも正確でもない透視投影に基づいていた。さらに、Rossignac等の文献は、走査変換中に多数のデプスバッファおよびフレームバッファを必要とし、線およびポリゴンが混在するレンダリング技術とを必要としていた。
【０００６】
そのポリゴンのための隣接情報が利用可能であるとき、静的なモデルに対して鮮明なエッジを特定することは比較的簡単である。ある従来からのアプローチでは、隣接ポリゴン間の関係を決定し、特有の特徴を特定するために、各ポリゴンエッジの場合に、シーンのグラフおよびリストが横断される。その後、その特徴は視覚化プロセスを用いてレンダリングされる。
【０００７】
隣接情報が利用できないとき、特有の特徴を特定するためには、隣接するポリゴンの位置を特定するために、シーンのグラフあるいはリストをランダムに横断する必要がある。隣接マトリクスを生成し、かつ保持し、さらにそれを横断することは、処理時間およびメモリ要件を増加させる。それゆえ、そのような操作は通常、ソフトウエアによって実行される。このタスクは、動的なシーンの場合にはさらに難しくなる。これは、幾何学的な特徴の強調が、大部分の動的な視覚化中には用いられないことの主な理由である。
【０００８】
隣接情報を利用できる場合であっても、最も一般的に用いられるハードウエアおよびソフトウエアレンダリングエンジンはその情報を利用することができない。レンダリングハードウエアは、１組ずつ、比較的少数の組の三角形において並行して動作することが好ましく、レンダリングのために必要とされる全ての情報が、その組の個々の三角形に含まれなければならない。レンダリングパイプラインが、他のポリゴンについての情報を用いることを必要とすることなく、各ポリゴンを処理することが理想的である。
【０００９】
明確なエッジを線としてレンダリングする場合の二次的な問題点は、典型的なポリゴンラスタ走査変換パイプラインの効率が、２Ｄあるいは３Ｄ線が表示される際に低下することである。これは、ラスタ線が、そのポリゴンの場合に用いられる座標系とは異なるスクリーン座標系において、一様な幅に塗りつぶされるためである。
【００１０】
また輪郭線エッジは視点に依存するので、フレーム毎に判定されなければならない。対照的に、稜線および谷線は視点には依存せず、それゆえ、厳密な変換に基づいて固定される。たとえば、点あるいは指向性の光源に対して、あるポリゴンが表に面しているか裏に面しているかは、ライティング計算中の視点には依存しない。しかしながら、大部分のハードウエアパイプライン型のレンダリング操作の場合、以前のフレームからの一貫した情報を用いることなく、フレーム内のエッジを計算し、レンダリングするのがより簡単である。さらに、ソフトウエアレンダリングエンジンの場合には通常、一般化し、各フレームのための対応するドット積を計算するのがより簡単である。
【００１１】
【発明が解決しようとする課題】
それゆえ、フレームバッファにおいて特有の特徴を直接特定することができる方法が必要とされる。その際、その特有の特徴はさらに、本発明によられなければ接続情報を必要とするはずの従来のレンダリングエンジンを用いて、１つずつ複数のポリゴンをレンダリングしながら、表示されることができる。さらに、その方法は、ライティングのような他のレンダリング操作を用いることなく、特徴特定操作を実行することになる。さらにその方法は、写実的な透視レンダリング技術を用いて正確に動作することになる。
【００１２】
【課題を解決するための手段】
本発明によれば、個々のポリゴンを１つずつ処理するレンダリングエンジンによって、輪郭線、稜線、谷線および交差線のような、シーンあるいはグラフィックスモデルの特有の特徴をレンダリングできるようになる。本発明は、局所的な計算のみを用いて、その特有の特徴を判定し、ポリゴンのメッシュが閉じているか開いているか、凹形か凸形か、あるいは先端を有するかには依存しない。
【００１３】
より具体的には、本発明は、グラフィックスモデルを表す、ポリゴンから構成されるメッシュをレンダリングする方法を提供する。そのポリゴンは、そのメッシュの幾何学的な特徴を強調するために、１つずつ処理される。そのメッシュの各ポリゴンの各エッジにおいて、少なくとも１つ付加的なポリゴンが生成される。付加的な各ポリゴンは、所定の向き、サイズおよび色を有する。生成されるポリゴンの所定の向きは、輪郭線を強調するために、そのポリゴンが裏に面しているポリゴンである場合には、そのポリゴンに対して１８０°である。生成されるポリゴンの所定の向きは、稜線を強調するために、そのポリゴンが表に面しているポリゴンである場合には、そのポリゴンに対して第１の閾角であり、生成されるポリゴンの所定の向きは、谷線を強調するために、そのポリゴンが表に面しているポリゴンである場合には、そのポリゴンに対して第２の閾角である。
【００１４】
【発明の実施の形態】
本発明は、シーンおよびグラフィックスモデルのポリゴンメッシュにおいて、輪郭線、稜線、谷線および交差線のような特有の幾何学的な特徴を特定する。以下の説明および図面では、そのポリゴンは、視認方向に対して概ね直交して示される。
【００１５】
特定の視点１００の場合に図１（ａ）および図１（ｂ）に示されるように、本発明による方法は、レンダリングされるポリゴンのメッシュにおいて、それぞれ向きを定められたポリゴン１０１および１０２を特定する。ポリゴンは頂点１０４を有する。本発明による方法は、輪郭線、稜線、谷線および交差線においてエッジを強調することができるように、表に面しているポリゴン１０１と裏に面しているポリゴン１０２との間を区別する。当然、あるポリゴンが表に面しているか裏に面しているかは、特定の視点に依存する。最も単純に表現すると、表に面しているポリゴン１０１の法線１１１は視点の方を指し、法線１１２は離れる方向を指す。
【００１６】
一般に、本発明による方法は、そのメッシュの各ポリゴンの各エッジにおいて少なくとも１つの付加的なポリゴンを生成する。典型的には、隣接するポリゴンの色（黒以外）およびテクスチャを問わず、任意の隣接するポリゴンにわたって常に目立つように、その付加的なポリゴンは黒色である。
【００１７】
その付加的なポリゴンは、共通のエッジにおいてポリゴンに対して所定の向き（二面角）を有する。その向きは、種々の特徴のうちのどの特徴が強調されるかを決定する。またサイズも予め決定することができ、実際にはサイズは、強調の「幅」を制御する。最低でも、その付加的なポリゴンは、画像平面上に投影されるとき、少なくとも１画素の幅を有することになる。実際のサイズはユーザが選択することができ、ポリゴンを大きくすると、強調される度合いが大きくなるであろう。通常は黒色の塗りつぶしが良好に作用するが、シーンあるいはグラフィックス物体の幾何学的な特徴の全体的な見え方を改善するために、ハイライトを生じるテクスチャをこれらの付加的なポリゴンにマップすることができる。
【００１８】
輪郭線
裏に面しているポリゴン１０２の場合に図１（ｂ）に示されるように、付加的なポリゴン１０３は、もしあれば、隣接する表に面しているポリゴン１０１の投影の周囲に現れるように配置される。付加的に生成されたポリゴン１０３は頂点１０５と、ポリゴン１０２と共通のエッジ上の頂点とを有する。ここで、付加的なポリゴン１０３の向きは、裏に面しているポリゴンの平面内にある。すなわち、それは、裏に面している各ポリゴンの各エッジの場合に、１８０°をなして生成されるようなポリゴンである。
【００１９】
図２（ａ）に示されるように、付加的な各ポリゴン１０３のサイズは、画像空間内の所与の幅の場合に、視点１００に対するその向きＮ２０４と、頂点１０４の距離とに依存する。
【００２０】
図２（ａ）は、視認ベクトルＶ２０１、すなわち視点１００からポリゴンの頂点２０２への向きと、視点の軸ベクトルＣ２０３との間の角度（Ｖ．Ｃ）と、視認ベクトルと、図１（ａ）および図１（ｂ）の裏に面しているポリゴン１０２の向きＮ１０４との間の角度（Ｖ．Ｎ）とを示す。付加的なポリゴン１０３のサイズ、すなわちこの側面図では高さは、ｚ（Ｖ．Ｃ）／（Ｖ．Ｎ）に比例する。ただしｚは、視点に対する頂点１０４の奥行き値である。角度（Ｖ．Ｎ）は、局所的な視点の場合の鏡面反射率によって生成されるハイライトのためのライティング計算中に一般的に用いられる。角度（Ｖ．Ｃ）は、画像空間内の所与の位置の場合の定数であり、主点の周囲において径方向に対称である。図２（ｂ）は、付加的なポリゴン１０３の投影２０５を示す。
【００２１】
視認ベクトルに対する、付加的なポリゴン１０３の向きは、裏に面しているポリゴンのエッジの向きにも依存する。Ｅがエッジベクトルであり、ｃｏｓ（α）＝Ｖ．Ｅである場合には、付加的なポリゴンの向きは、方向Ｅ．Ｎにおいてｚｓｉｎ（α）．（Ｖ．Ｃ）／（Ｖ．Ｎ）である。
【００２２】
ここで、輪郭線エッジを、付加的なポリゴン１０３を用いて、より大きな幅でレンダリングすることができる。輪郭線のエッジの見え方をさらに強調するために、明瞭に視認可能なパターンを、テクスチャマッピングを用いて付加的なポリゴン部分１０３に適用することができる。
【００２３】
稜線
図３（ａ）〜図３（ｄ）に示されるように、稜線を強調するために、本発明による方法は、θ以下の二面角を有する稜線が視認可能になるように、各表に面しているポリゴン１０１の各エッジにおいて付加的なポリゴンを生成する。付加的なポリゴンの向きは、ユーザによって指定された二面角θ３０１に等しい。通常、二面角は、２つの隣接するポリゴン１０１の法線間の角度を意味する。この説明を簡単にするために、二面角θは、隣接する表に面しているポリゴン１０１間の内角である。
【００２４】
図３（ｂ）および図３（ｃ）に示されるように、本発明による方法は、各表に面しているポリゴンの各エッジにおいてポリゴン３０２および３０３を追加する。ポリゴン３０２および３０３は、表に面しているポリゴンに対してθの角度に向けられる。ポリゴンが視認可能であるか否かは、元のポリゴンおよび付加的なポリゴンが走査変換されるときの奥行き値を用いて決定することができる。図３（ｄ）に示されるように、視認可能なポリゴン３０２のみが視認可能である。ポリゴン３０２のレンダリングは、先に輪郭線の場合に記載されたように行われる。
【００２５】
隣接するポリゴンの二面角がθより大きいとき、追加されたポリゴンは、隣接する表に面しているポリゴンによって隠される。したがって、レンダリングされるエッジの閾角と厚みとを所定のパラメータによって制御することができる、鮮明な稜線の表示は、単に１つずつポリゴンを処理することにより、接続情報をレンダリングエンジンに提供することなく、１つのパスにおいて実現可能である。
【００２６】
谷線
図４（ａ）〜図４（ｃ）に示されるように、谷線をレンダリングするための本発明による方法は、稜線をレンダリングする方法と概ね同じである。なぜなら、いずれも、二面角、この場合には角度φ４０１の閾値によって画定される鮮明なエッジのタイプだからである。角度φは角度θとは異なることに留意されたい。ユーザが選択可能な閾角φを与えるとき、本発明による方法は、その角度がφよりさらに小さい場合には、共通のエッジを有する２つの隣接するポリゴン間の谷線の視認可能な部分を強調する。ここで、再び簡単にするために、角度φが谷線に対する外角であることに留意されたい。
【００２７】
本発明による方法は、図４（ｂ）に示されるように、各表に面しているポリゴン１０１の各エッジにおいて、角度φをなすポリゴン４０２を追加し、その結果、追加されたポリゴン４０２が、隣接する表に面しているポリゴン１０１の前に現れる。これは、稜線の場合の状況の正反対である。
【００２８】
図５（ａ）および図５（ｂ）に示されるように、本発明による方法は、２つのデプスバッファｚ１（符号５０１）およびｚ２（符号５０２）を用いて、付加的なポリゴンが適当にレンダリングされることを確実にすることができる。ｚ２の奥行き値は、対応するｚ１の値よりわずかに大きい。ある値より大きいかの検査、およびある値より小さいかの検査に加えて、本発明による方法は、ブール演算による奥行きの検査、ここで、ある値間に存在するかの検査と呼ばれる検査も実行する。この検査は、検査されることになる奥行き値がｚ１およびｚ２の対応する値間の奥行き値を有する際には真値に戻り、そうでない場合には誤りである。それゆえ、ｚ２はｚ１より少なくとも２だけ大きいはずである。したがって、付加的なポリゴンは、奥行き値が、ある値間に存在するかの検査を満足するときには、デプスバッファを更新することなく表示される、すなわち色バッファが更新される。これにより、本発明による方法は、任意の順序で、１つずつポリゴンの全てを処理できるようになる。
【００２９】
交差線
交差線は、高品質グラフィックスモデルにおいては直面しないはずであるが、不正確な変換または処理、あるいは誤りを含む設計パラメータの結果として、交差するポリゴンが発生するようになる。所与の視点の場合に２つのポリゴン間にある交差線を強調するための本発明による手順は、谷線を強調するための手順と概ね同じである。
【００３０】
図６に示されるように、走査変換中に、各表に面しているポリゴンの各部分が、ｚ１およびｚ２の奥行き範囲６０１〜６０２の間にあるか否かを確認するために検査される。交差線あるいは同一平面内にあるポリゴンを有するモデルの場合、その部分が最も近い表に面しているポリゴンに属する場合にのみ、そのような部分６０３が取り込まれ、レンダリングされるであろう。
【００３１】
多数のデプスバッファが不足しているシステムの場合、谷線および交差線は、１つのデプスバッファを用いてレンダリングすることができ、多数のレンダリングパス中に１つのステンシルバッファが用いられる。
【００３２】
図７は、本発明による特有の幾何学的な特徴をレンダリングするためのシステム７００を示す。ステップ７１０では、ユーザがシーンあるいはグラフィックス物体のポリゴンメッシュ７０１を供給する。またユーザは、２つの閾角θおよびφ７１１、７１２と、追加される三角形のサイズおよび見え方を決定するレンダリングパラメータＰ７１３とを供給する。
【００３３】
ステップ７２０では、付加的なポリゴンが、１８０°の向きをなして、各裏に面しているポリゴンの各エッジにおいて追加され、パラメータＰ７１３にしたがって、ポリゴンメッシュ７０１内の輪郭線７２９が強調される。
【００３４】
ステップ７３０では、付加的なポリゴンが、θ７１１の向きをなして、各表に面しているポリゴンの各エッジにおいて追加され、パラメータ７１３にしたがって、ポリゴンメッシュ内の稜線７３９が強調される。ステップ７４０では、付加的なポリゴンが、φの向きをなして、各表に面しているポリゴンの各エッジにおいて追加され、パラメータ７１３にしたがって、ポリゴンメッシュ内の谷線７４９が強調される。
【００３５】
ステップ７５０では、奥行き値ｚ１と奥行き値ｚ２との間にある部分を決定するために、各表に面しているポリゴンの各部分が走査変換中に検査される。ただし、ｚ２は、その部分が交差するポリゴンの内側の交差部分７５９であるか否かを判定するために、ｚ１よりわずかに大きい。その値の間にある場合には、その部分がパラメータ７１４にしたがってレンダリングされる。その組み合わせられたレンダリング７５９によって、輪郭線、稜線、谷線および交差線が強調される。
【００３６】
上記の方法によって、これらの特徴を形成するエッジを明確に特定することなく、シーンおよびグラフィックスモデルのポリゴンメッシュの特有の幾何学的な特徴を特定し、レンダリングする方法を導くことができる。さらに、本発明による方法によれば、ポリゴンは、時間をかけて前処理を行うことなく、あるいは接続情報を計算することなく、１つずつ処理されるようになる。こうして、本発明による方法は、シーンのグラフあるいは三角形リストをただ一度だけ横断して、動的なシーンをレンダリングすることができる。
【００３７】
本発明による方法は、局所的な情報のみを用いて特有の特徴に対応するエッジ、すなわち個々のポリゴンのエッジおよび向きの視認可能な部分においてポリゴンを追加することにより、静的および動的な画像の見え方を改善する。
【００３８】
本発明による方法は、ゲームコンソールのような、ハードウエアレンダリングエンジンのために特に適している。なぜなら、これらの装置は、処理時間を増加させることなく、多くの三角形をインタラクティブに生成することができるためである。ハードウエア実装形態では、あるシーン内のポリゴンの数はさして問題ではなく、それゆえ、本発明による方法は、グラフィックスパイプラインに著しく負荷をかけることはない。現在の３Ｄグラフィックスチップの主な問題点は帯域幅およびフィルレートである。本発明による方法は、簡単な幾何学的プリミティブ、たとえば黒色のポリゴンを生成し、テクスチャを用いることを必要としないので、帯域幅あるいはフィルレートについての問題に直面することが回避される。
【００３９】
本発明は、ＣＡＤ／ＣＡＭ、エイリアス、あるいは３Ｄスタジオマックスのような、市販されるモデリングおよびレンダリングパッケージに用いることができる。またその方法は、ダイレクト３ＤおよびオープンＧＬのようなリアルタイムレンダリングインターフェースで用いることもできる。
【００４０】
本明細書では、好ましい実施形態の詳細な説明が提供される。しかしながら、本発明が種々の形態で具現される場合があることは理解されたい。それゆえ、本明細書に開示される特定の細部は、制限するものとして解釈されるべきではなく、むしろ特許請求の範囲のための根拠として、また、仮想的な任意の適当に詳細なシステム、構成あるいは態様において本発明を用いるために、当業者に教示するための典型的な基礎として解釈されるべきである。
【図面の簡単な説明】
【図１】  （ａ）は表に面しているポリゴンおよび裏に面しているポリゴンの側面図であり、（ｂ）は強調されることになるエッジを有する裏に面しているポリゴンの側面図である。
【図２】  （ａ）はポリゴンと視認方向との間の角度の側面図であり、（ｂ）は視認軸とポリゴンの向きとの間の角度の側面図である。
【図３】  （ａ）〜（ｄ）は、共通の稜線エッジを有する表に面しているポリゴンの側面図である。
【図４】  （ａ）〜（ｃ）は、共通の谷線エッジを有する表に面しているポリゴンの側面図である。
【図５】  （ａ）及び（ｂ）は、交差するポリゴンおよびデプスバッファの側面図である。
【図６】  交差するポリゴンおよびデプスバッファの側面図である。
【図７】  本発明によるシステムのブロック図である。
【図１】
0004209129.tif 000002
【図２】
0004209129.tif 000003
【図３】
0004209129.tif 000004
【図４】
0004209129.tif 000005
【図５】
0004209129.tif 000006
【図６】
0004209129.tif 000007
【図７】
0004209129.tif 000008