(57)【要約】  ポリゴントポロジを記憶するシステム、方法、そしてコンピュータプログラムが、複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現し、上記複数の頂点を頂点配列に記憶し、上記複数の外部ハーフエッジをハーフエッジ配列に記憶する。上記配列は、互いにインデックス化され、パラレル化され、それによって、上記プリミティブが、上記パラレルな配列から、プリミティブ構造から黙示される上記ハーフエッジ、適当な手段、そして、コンピュータ読み取り可能な命令を用いて再作成される。
2010500670.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴントポロジを記憶する方法であって、
複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現し、
前記複数の頂点を頂点配列に記憶し、前記複数の外部ハーフエッジをハーフエッジ配列に記憶し、前記配列は、互いにインデックス化され（ｉｎｄｅｘｅｄ）、パラレルであり、
前記プリミティブが、前記パラレルな配列から、プリミティブ構造から黙示される（ｉｍｐｌｉｃｉｔ  ｆｒｏｍ）前記内部ハーフエッジを用いて再作成される
ことを特徴とするポリゴントポロジ記憶方法。
【請求項２】
請求項１に記載のポリゴントポロジ記憶方法において、
前記プリミティブが、トリストリップ（ｔｒｉｓｔｒｉｐ）である
ことを特徴とするポリゴントポロジ記憶方法。
【請求項３】
請求項１に記載のポリゴントポロジ記憶方法において、
前記プリミティブが、ポリゴン、ラインストリップ（ｌｉｎｅｓｔｒｉｐ）、クアドストリップ（ｑｕａｄｓｔｒｉｐ）、そしてトリファン（ｔｒｉｆａｎ）のうちの一つである
ことを特徴とするポリゴントポロジ記憶方法。
【請求項４】
記憶されたポリゴントポロジを使用する方法であって、
第２の配列に対してインデックス化され、パラレルな第１の配列を取得し、
前記インデックス化された配列から複数の一意の頂点データと複数の外部ハーフエッジデータとを抽出し、
前記データからプリミティブを作成する
ことを特徴とするポリゴントポロジ使用方法。
【請求項５】
請求項４に記載のポリゴントポロジ使用方法において、
前記プリミティブが、トリストリップである
ことを特徴とするポリゴントポロジ使用方法。
【請求項６】
請求項４に記載のポリゴントポロジ使用方法において、
前記プリミティブが、ポリゴン、ラインストリップ、クアドストリップ、そしてトリファンのうちの一つである
ことを特徴とするポリゴントポロジ使用方法。
【請求項７】
ポリゴントポロジを記憶する方法を実行するために計算機読み取り可能な媒体において具体的に具現化されるコンピュータプログラムプロダクトであって、
コンピュータに、
複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現させ、
前記複数の頂点と前記複数の外部ハーフエッジとをパラレルな配列に記憶させる処理を実行させる命令を備え、
前記プリミティブが、前記パラレルな配列から、プリミティブ構造から黙示される前記内部ハーフエッジを用いて再作成される
ことを特徴とするコンピュータプログラムプロダクト。
【請求項８】
ポリゴントポロジを記憶する方法を実行する少なくとも一つのプロセッサとアクセス可能なメモリとを備えるデータ処理システムであって、
複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現する手段と、
前記複数の頂点と前記複数の外部ハーフエッジとをパラレルな配列に記憶する手段とを備える
ことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに記述されている本発明の好適な実施例は、ソフトウェアアプリケーションに関する。より具体的には、本好適な実施例は、軽量ポリゴントポロジ表現に関する。
【背景技術】
【０００２】
コンピュータグラフィックシステムにおいて、三角形ストリップ又はトリストリップ（ｔｒｉｓｔｒｉｐ）は、各々の三角形が先行する三角形と２つの頂点を共有している、一連の接続された三角形である。最初の３つのインデックスが三角形を定義し、各々の追加的な頂点が別の三角形を定義する。取り決めによって、最初の三角形は右回り（ｒｉｇｈｔ  ｈａｎｄｅｄ）であり、そのハンディッドネス（ｈａｎｄｅｄｎｅｓｓ）が各々の連続する三角形を決める（ｆｌｉｐｓ）。トリストリップと他の類似のプリミティブ、例えばトリファン（ｔｒｉｆａｎ）が、ｎ個の三角形がｎ＋２個の頂点によって特定される、すなわち、特に重要なことに、３ｎ個の頂点がｎ個の三角形をエンコードするために別個に必要となるＯｐｅｎＧＬといったグラフィックライブラリを用いて、より速くレンダリングする。
【０００３】
ＯｐｅｎＧＬは、多くのポピュラーなグラフィックスカードにおいて利用され、それぞれのＧＰＵにおいて最適化されるグラフィックスライブラリであり、専用のグラフィックスレンダリングデバイスであるグラフィックス処理ユニットである。ＯｐｅｎＧＬは、一意の頂点レコード（ｒｅｃｏｒｄ）からの頂点を利用してレンダリングする、インデックス化された配列を利用するイミディエートモードのレンダリング機能を有する。更に、ＧＰＵは、例えば、最近の先行して変換された（ｐｒｅ−ｔｒａｎｓｆｏｒｍｅｄ）頂点のキャッシュを保持する頂点キャッシュを有し、そこにおいて、与えられた頂点の繰り返しの使用が別の頂点の使用に接近して起こるようにプリミティブが配列されている。
【０００４】
グラフィックライブラリとＧＰＵとを利用して、より速くレンダリングするために、冗長な頂点の数を減らすだけでなく、配列サイズを減らす、インデックス化された配列におけるプリミティブ情報を記憶するシステム及び方法が必要である。
【発明の概要】
【０００５】
前述したことを実現するため、ここに広範に記述される本好適な実施例の目的に従って、本出願は、ポリゴントポロジ（ｐｏｌｙｇｏｎａｌ  ｔｏｐｏｌｏｇｙ）を記憶する方法であって、複数の頂点、内部ハーフエッジ、外部ハーフエッジを有するプリミティブを表現し、前記複数の頂点を頂点配列に記憶し、前記複数の外部ハーフエッジをハーフエッジ配列に記憶する方法を提供する。前記配列は、互いにインデックス化され、パラレルである（ｐａｒａｌｌｅｌ  ｔｏ  ｏｎｅ  ａｎｏｔｈｅｒ）。前記プリミティブが、前記パラレル配列から、プロミティブ構造から黙示される（ｉｍｐｌｉｃｉｔ）前記内部ハーフエッジを用いて（ｗｉｔｈ  ｓａｉｄ  ｉｎｔｅｒｎａｌ  ｈａｌｆ−ｅｄｇｅｓ）再作成される。前記方法において、前記プリミティブが、トリストリップである。前記方法において、前記プリミティブがポリゴン、ラインストリップ、クアドストリップ（ｑｕａｄｓｔｒｉｐ）、及びトリファンのうちの一つである。
本出願の他の利点は、記憶されたポリゴントポロジを使用する方法であって、第２の配列に対してインデックス化され、パラレルな第１の配列を取得し、前記インデックス化された配列から複数の一意の頂点データと複数の外部ハーフエッジデータとを抽出し、前記データからプリミティブを作成する方法を提供することである。前記方法において、前記プリミティブが、トリストリップである。前記方法において、前記プリミティブがポリゴン、ラインストリップ、クアドストリップ、及びトリファンのうちの一つである。
【０００６】
本出願の他の利点は、ポリゴントポロジを記憶する方法を実行するために計算機読み取り可能な媒体において具体的に具現化されるコンピュータプログラムプロダクトであって、コンピュータに、複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現させ、前記複数の頂点と前記複数の外部ハーフエッジとをパラレルな配列に記憶させ、それによって、前記プリミティブが、前記パラレルな配列から、プロミティブ構造から黙示される（ｉｍｐｌｉｃｉｔ）前記内部ハーフエッジを用いて再作成されるコンピュータプログラムプロダクトを提供することである。
【０００７】
本出願の他の利点は、ポリゴントポロジを記憶する方法を実行する少なくとも一つのプロセッサとアクセス可能なメモリとを備えるデータ処理システムであって、複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現する手段と、前記複数の頂点と前記複数の外部ハーフエッジとをパラレルな配列に記憶する手段とを備えるデータ処理システムを提供することである。
【０００８】
本好適な実施例の他の利点は、前記方法を実行するための、計算機読み取り可能な媒体において具体的に具現化されるコンピュータプログラムプロダクトを実行する計算機読み取り可能な媒体において具体的に実現されるコンピュータプログラムプロダクトを提供することである。
【０００９】
本好適な実施例の他の利点の一部は明細書とそれに伴う図面中に記述され、一部は、本好適な実施例の実施によって認識できる。本好適な実施例は、その一部をなす以下の図を参照して記述される。本好適な実施例の範囲を逸脱することなく他の実施例が利用され、そして変更が加えられることが理解される。
【図面の簡単な説明】
【００１０】
本好適な実施例は、同様の符号が同様の要素を示す、添付された図面に関連して記述される。
【図１】イルカを表現する三角形メッシュであって、数個のトリストリップを有する三角形メッシュである。
【図２】トリストリップにおけるポリゴンメッシュを示す図である。
【図３】内部ハーフエッジを表示しないトリストリップにおけるポリゴンメッシュを示す図である。
【図４】ポリゴントポロジを記憶する技術である。
【図５】本好適な実施例が実施されるコンピュータ環境のブロック図である。
【発明を実施するための形態】
【００１１】
本出願の多くの革新的技術が特に本好適な実施例に関連して記述されている。しかし、このクラスの実施例は、ここでの革新的な技術の多くの利点のほんの少しのみを提供することが理解されるべきである。本好適な実施例は、とりわけ、コンピュータネットワークを通じた明白なソフトウェアアプリケーションからのエラーログの管理システム及び方法を提供する。従って、本好適な実施例によれば、オペレーティングシステムが、汎用のパーソナルコンピュータといったようなコンピュータ上で実行する。図５及び以下の論議は、本好適な実施例が実施される、適合するコンピューティング環境の、簡潔で一般的な記述を提供することを意図している。必要ではないが、本好適な実施例は、パーソナルコンピュータによって実行されるプログラムモジュールといった、コンピュータ実行可能な命令の一般的内容において記述される。一般に、プログラムモジュールは、特定のタスク又はインプリメンテーションの特定のアブストラクトデータタイプ（ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｐａｒｔｉｃｕｌａｒ  ａｂｓｔｒａｃｔ  ｄａｔａ  ｔｙｐｅｓ）を実行する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本好適な実施例は、任意の周知のコンピューティング環境において実行される。
【００１２】
図５を参照すると、本好適な実施例を実行する具体的システムが、複数の周辺デバイス（図示せず）を備える、デスクトップ又はラップトップコンピュータといったコンピュータ５００の形式で汎用コンピューティングを有する。コンピュータ５００は、マイクロプロセッサ５０５と、周知の技術に従ってマイクロプロセッサ５０５とコンピュータ５００の複数のコンポーネントとを接続し、それらの間での通信を可能とするために適用されるバス５１０とを備える。バス５１０は、任意の様々なバスアーキテクチャーを用いる、メモリバス又はメモリコントローラ、ペリフェラルバス、ローカルバスを含む任意の数タイプのバス構成である。コンピュータ５００は、具体的には、マイクロプロセッサ５０５をバス５１０を介して、キーボード５２０、マウス５２５、そして／又は、タッチセンシティブスクリーン、デジタルペンエントリパッド（ｄｉｇｉｔｉｚｅｄ  ｐｅｎ  ｅｎｔｒｙ  ｐａｄ）等の他のインタフェースデバイス５３０といった、１又は複数のインタフェースデバイスに接続する、ユーザインタフェースアダプタ５１５を備える。バス５１０は、また、ＬＣＤスクリーン又はモニタといったディスプレイデバイス５３５をディスプレイアダプタ５４０を介してマイクロプロセッサ５０５に接続する。バス５１０は、また、マイクロプロセッサ５０５をＲＯＭ、ＲＡＭ等を備え得るメモリ５４５に接続する。
【００１３】
コンピュータ５００は、更に、少なくとも一つのストレージデバイス５５５そして／又は少なくとも一つの光学ドライブ５６０をバスにつなぐドライブインタフェース５５０を備える。ストレージデバイス５５５は、ディスクをリード及びライトする図示しないハードディスクドライブ、取り外し可能な磁気ディスクドライブからリードし、この磁気ディスクドライブにライトするための、図示しない磁気ディスクドライブを備え得る。同様に、光学ドライブ５６０は、ＣＤ  ＲＯＭ又は他の光学媒体といった取り外し可能な光学ディスクからリードし、この光学ディスクにライトするための、図示しない光学ディスクドライブを備え得る。前述したドライブと、関連するコンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、そしてコンピュータ５００用の他のデータについての不揮発性のストレージを提供する。
【００１４】
コンピュータ５００は、通信チャネル５６５を介して、他のコンピュータ又はコンピュータのネットワークと通信し得る。コンピュータ５００は、ローカルエリアネットワーク（ＬＡＮ）又は広域エリアネットワーク（ＷＡＮ）における、そのような他のコンピュータと関連付けられ、又は、それは、他のコンピュータ等を有するクライアント／サーバ配置におけるクライアントとなり得る。更に、本好適な実施例は、タスクが通信ネットワークを通じてリンクされたリモート処理装置によって実行される分散コンピューティング環境において実施される。分散コンピューティング環境においては、プログラムモジュールが、ローカルなメモリストレージデバイス及びリモートのメモリストレージデバイス双方に配置される。これらの全ての構成は、適合する通信ハードウェア及びソフトウェアと同様に、この技術分野において知られている。
【００１５】
本好適な実施例を実現するソフトウェアプログラミングコードは、具体的には、コンピュータ５００のメモリ５４５に記憶される。クライアント／サーバ配置においては、そのようなソフトウェアプログラミングコードは、サーバのメモリに記憶される。そのソフトウェアプログラミングコードは、また、ハードドライブ、ディスケット又はＣＤ−ＲＯＭといった、様々な不揮発性のデータストレージデバイス上で具現化される。そのコードは、そのような媒体上で配信され、又は、あるタイプのネットワークを通じて一つのコンピュータシステムのメモリからユーザに配信され、他のコンピュータシステムに対してそのような他のシステムのユーザによって使用されるために配信される。物理媒体上でソフトウェアプログラムを具現化し、そして／又はネットワークを介してソフトウェアコードを配信する技術と方法は周知であり、ここで更に議論される。
（システム）
【００１６】
図１は、イルカを表現する三角形メッシュであって、数個のトリストリップを有する三角形メッシュである。図１を参照すると、イルカ１００は、三角形のファン（トリファン）１０５又は三角形のストリップ（トリストリップ）の形式をとる数個のプリミティブから構成される。トリファンのプリミティブにおいて、新たな三角形が、新たな頂点、前の頂点、そして「ファン」における全ての三角形に共通である最初の（中央の）頂点によって定義される。トリストリップのプリミティブにおいては、新たな三角形が、新たな頂点と、そのトリストリップに追加された、前の２個の頂点によって定義される。１１５において部分的に示されるトリストリップのプリミティブを詳細に参照する。そのトリストリップは、頂点、ファセット（フェース）、そしてハーフエッジと呼ばれるトポロジカルエンティティを有する、Ｔ０、Ｔ１、そしてＴ２と標記された３個の三角形を有する。
【００１７】
図２は、トリストリップにおけるポリゴンメッシュを示す図である。図２を参照すると、Ｔ０、Ｔ１、そしてＴ２という３個の三角形について、各々の三角形には３個の頂点が付随している。例えば、Ｔ１にはトポロジカル頂点Ｖ１、Ｖ２、Ｖ３が付随している。それらは、幾何学上の頂点というよりむしろトポロジカル頂点と呼ばれる。なぜなら、頂点Ｖ１のアイデンティテイ（ｉｄｅｎｔｉｔｙ）は空間内のそのロケーションに依存しないからである。言い換えると、三角形Ｔ０とＴ１の双方に、それが空間上のどこにいようとも頂点Ｖ１が付随する。通常、各々の三角形は、各々が空間内の任意のポイントに位置する３個の明確な幾何学上の頂点を持っているものと考えられている。トポロジカルな考え方においては、これらの２個の三角形は隣接している。これは、それら各々が、空間内において他の三角形上の２つの頂点と同じ場所に位置する２個の頂点を持つからではなく、その三角形達が、それらの位置にかかわらず、頂点Ｖ１とＶ２上に配置するように定義されるからである。Ｔ０とＴ１は、本質的に頂点Ｖ１とＶ２を共有する。
【００１８】
図２を更に参照すると、トポロジカル三角形は、３個のトポロジカル頂点を持つ３辺の（ｔｈｒｅｅ−ｓｉｄｅｄ）エンティティである。そのトポロジカル三角形は、エリア、ノーマルベクトル（ｎｏｒｍａｌ  ｖｅｃｔｏｒ）、又は他の幾何学的属性を持たない。幾何学的な頂点がそのトポロジカル頂点と関連付けられている場合にのみ、そのトポロジカル三角形から幾何学的な三角形を抽出することができる。
【００１９】
図２を最後に参照すると、トポロジカルハーフエッジ（ｔｏｐｏｌｏｇｉｃａｌ  ｈａｌｆ−ｅｄｇｅ）であるＨＥが存在する。Ｖ１とＶ２との間のトポロジカルエッジについて考察する。これらのトポロジカル頂点が関連する幾何学的な頂点を有する場合、トポロジカルエッジＶ１−Ｖ２が、具体的な幾何学的なエッジを定義する。そのトポロジカルエッジを構成する、その２個のいわゆるトポロジカルハーフエッジのみを表現するだけで十分であり、そこにおいて、このエッジは、本質的に真ん中で分割され、その半分の２個（ｔｗｏ  ｈａｌｖｅｓ）がＴ０とＴ１とによって共有される。三角形Ｔ０のハーフエッジは、ＨＥ２と記され、三角形Ｔ１のハーフエッジは、ＨＥ３と記される。ＨＥ３は、ＨＥ２の「逆の（ｏｐｐｏｓｉｔｅ）」ハーフエッジとして知られる。同様に、ＨＥ２はＨＥの逆（ｏｐｐｏｓｉｔｅ）である。ハーフエッジＨＥ０は、境界エッジ上に位置するので、逆のハーフエッジを持たない。全てのハーフエッジが直進する（ｄｉｒｅｃｔｅｄ）ことに注意すべきである。それらは、開始（ｏｒｉｇｉｎａｔｉｎｇ）頂点とターゲット頂点とを有する。例えば、ＨＥ２は、Ｖ２からＶ１へ進むものとして定義される。更に、任意のトポロジカル三角形が有する３個のハーフエッジが、通常反時計回りにその三角形の周りに並ぶことに注意すべきである。
【００２０】
図１及び図２の双方を参照すると、トリストリップ１１５が、Ｎ−２個の三角形を定義するＮ個の頂点の順序付けられたセットである。Ｔ０、Ｔ１、そしてＴ２という３個の三角形が、５個の頂点｛Ｖ０，Ｖ１，Ｖ２，Ｖ３，Ｖ４｝によって表現されるトリストリップである。その三角形ストリップは、その三角形が通常、特徴のある「ジグザグの」パターンを形成するという、固定のトポロジを有する。この固定のトポロジカルドメインにおいて、明確に表現されることを要せず、そのトリストリップ構造に起因してむしろ黙示されている（ｉｍｐｌｉｃｉｔ）、多数の内部ハーフエッジ（図中の、ＨＥ２，ＨＥ３，ＨＥ４，そしてＨＥ６）が存在する。トリストリップが長くなるにつれて、明確に表現される必要のないこれらの内部ハーフエッジの断片は２／３に達する。図２のトポロジカルエレメントが表１内に表現される。表１は、以下を開示する。１）トリストリップに起因して、５個の頂点のリファレンスのみが記憶され、２）５個のハーフエッジのリファレンスのみが記憶される必要がある（４個の内部ハーフエッジがそのトリストリップ構造において黙示されている）。記憶されることを要する５個のハーフエッジは、厳格なパターンに従う。
【００２１】
表１の第４欄を見ると、頂点は、そのトリストリップから参照される順に配置されており、そして、第３欄からの対応するハーフエッジは、ターゲット頂点が第２欄に出現するハーフエッジである。第１の三角形の第１のハーフエッジは、そのトリストリップの開始外部エッジを示す。他の全ての三角形の第１のハーフエッジは、そのストリップにおいて前の三角形に導く（ｌｅａｄｉｎｇ  ｔｏ）エッジを示す。最後の三角形の第２のハーフエッジは、そのトリストリップの終端の外部エッジを示す。他の全ての三角形の第２のハーフエッジは、そのストリップにおいて次の三角形に導くエッジを示す。全ての三角形の第３のエッジは、そのストリップにおける外部エッジを示す。この規則的な構成によって、トリストリップにおける任意の三角形の任意のハーフエッジの正確な性質を効率良く知ることができる。
【００２２】
図３は、内部ハーフエッジを表示しないトリストリップにおけるポリゴンメッシュを示す図である。Ｎ個の頂点のストリップに対してＮ個のハーフエッジが存在し、表２内のデータが作成されることが理解される。表２の最初の２つの欄におけるエントリは、配列内に記憶され、互いにインデックス化されると、与えられたトリストリップを定義する単一のパラレルな配列を作成する。これは、表２の第１欄におけるエントリが、頂点配列に記憶されることを意味する。表２の第２欄のエントリは、ハーフエッジ配列に記憶される。そのハーフエッジ配列における各々のエレメントは、その頂点配列における対応する頂点エレメントにパラレルに位置する。そして、その頂点配列における各々のエレメントは、その逆の（ｏｐｐｏｓｉｔｅ）ハーフエッジのハーフエッジ配列におけるインデックスを示す。この逆のハーフエッジのリファレンス（ｏｐｐｏｓｉｔｅ  ｈａｌｆ−ｅｄｇｅ  ｒｅｆｅｒｅｎｃｅ）の単一の配列が、トリストリップ内に黙示されている情報を十分に強化する（ｌｅｖｅｒａｇｉｎｇ）ことによって、非常に効率的な方法でポリゴントポロジを十分に表現するために必要な機能のツールボックスを完成させる。ＯｐｅｎＭｅｓｈの装置が要求される場合と比べて、このトポロジを表現する方法は、１０分の一の規模であり、このスキームは合理的なトリストリップ長であると考えられる。
（要旨）
【００２３】
本好適な実施例において上述したシステムを想定すると、図４は、ポリゴントポロジを記憶する技術である。図４を更に参照すると、本好適な実施例が、複数の頂点、内部ハーフエッジ、そして外部ハーフエッジによってプリミティブを表現する（ステップ４００）。次に、その技術は、その複数の頂点と複数の外部ハーフエッジとをインデックス化されたパラレルな配列に記憶する（ステップ４０５）。プリミティブが、パラレル配列から、プリミティブ構造から黙示される内部ハーフエッジを用いて（ｗｉｔｈ  ｔｈｅ  ｉｎｔｅｒｎａｌ  ｈａｌｆ−ｅｄｇｅｓ）再作成される。
（結論）
【００２４】
本好適な実施例は、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて実施される。本好適な実施例の装置が、計算機読み取り可能なストレージデバイス内で具体的に具現化されるコンピュータプログラムプロダクトにおいて、プログラマブルプロセッサによる実行のために実装され、本好適な実施例の方法のステップは、本好適な実施例の機能を入力データ上で動作し出力を生成することによって実行するための命令についてのプログラムを実行するプログラマブルプロセッサによって実行される。
【００２５】
本好適な実施例は、データストレージシステムからデータ及び命令を受信し、データストレージシステムに対してデータ及び命令を送信するために接続された少なくとも１個のプログラマブルプロセッサ、少なくとも１個の入力装置、そして、少なくとも１個の出力装置を備える。そのアプリケーションプログラムは、高水準プログラミング言語、又はオブジェクト指向のプログラミング言語、又は、必要な場合はアセンブリ又は機械言語において実行される。
【００２６】
一般に、プロセッサは、リードオンリーメモリそして／又はランダムアクセスメモリから命令及びデータを受信する。コンピュータプログラムの命令及びデータを具体的に具現化するのに適合するストレージデバイスは、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、そして、フラッシュメモリデバイスを含む、あらゆる形式の不揮発性メモリ、内部ハードディスクとリムーバルディスクといった磁気ディスク、光磁気ディスク、そしてＣＤ−ＲＯＭディスクを有する。
【００２７】
多くの実施例が記述された。例えば、トリストリップを、トリファン、ラインストリップ、そしてクアドストリップに取り替えるなど、本好適な実施例の思想および範囲を逸脱することのない様々な修正がなされることを理解すべきである。従って、他の実施は以下のクレームの範囲内にある。
【図１】
2010500670.tif 000003
【図２】
2010500670.tif 000004
【図３】
2010500670.tif 000005
【図４】
2010500670.tif 000006
【図５】
2010500670.tif 000007
【手続補正書】
【提出日】平成21年2月16日(2009.2.16)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
ここに記述されている本発明の好適な実施例は、ソフトウェアアプリケーションに関する。より具体的には、本好適な実施例は、軽量ポリゴントポロジ表現に関する。
本発明は、ここに参照として組み込まれている、出願日２００６年８月１１日、出願番号６０／８２２，１３３の米国仮特許出願に基づく優先権を主張する。
【国際調査報告】
2010500670.tif 000008
2010500670.tif 000009
2010500670.tif 000010