JP2006517705A - コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法 - Google Patents
コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法 Download PDFInfo
- Publication number
- JP2006517705A JP2006517705A JP2006502556A JP2006502556A JP2006517705A JP 2006517705 A JP2006517705 A JP 2006517705A JP 2006502556 A JP2006502556 A JP 2006502556A JP 2006502556 A JP2006502556 A JP 2006502556A JP 2006517705 A JP2006517705 A JP 2006517705A
- Authority
- JP
- Japan
- Prior art keywords
- texture
- coordinates
- grid
- sequence
- primitive
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本発明によるコンピュータグラフィックスシステムは、モデル情報提供ユニット(MIU)と、ラスタライザ(RU)と、色発生器と、ディスプレイスペースリサンプラ(DSR)とを具える。モデル情報提供ユニット(MIU)は、グラフィックスプリミティブのセットを表す情報を提供し、情報は、少なくともプリミティブの形状を規定する幾何学的情報及びプリミティブの出現を規定する出現情報を具える。ラスタライザ(RU)は、プリミティブに関連した基準グリッドに一致する座標((u1,v1))の第1シーケンスを発生することができ、第1シーケンスに関連した補間値の一つ以上のシーケンスを発生することができ、そのシーケンスは、テクスチャ(T2)のサンプルを指定する座標((u2,v2))の第2シーケンスを具える。色発生器は、前記出現情報を用いて色(Cu,v)を座標の前記第1シーケンスに割り当て、テクスチャデータユニット(TDU)と、テクスチャスペースリサンプラ(TSR)と、シェーディングユニット(SU)とを具える。ディスプレイスペースリサンプラ(DSR)は、色発生器によって割り当てられた基準グリッドの色(Cu,v)を、ディスプレイに関連したグリッドの表示に対して再サンプリングする。
Description
本発明は、コンピュータグラフィックスシステム及びコンピュータグラフィックイメージのレンダリング方法に関する。
3次元コンピュータグラフィックスにおいて、サーフェースは、典型的には、複数のポリゴンを組み合わせることによって所望の形状でレンダリングされる。コンピュータグラフィックスシステムは、通常、グラフィックスパイプラインの形態を有し、この場合、そのようなポリゴンモデルからイメージを発生するのに要求される動作は、高レンダリング速度を達成するよう並列に実行される。
コンピュータグラフィックスシステムは、米国特許第6,297,833号から知られている。コンピュータグラフィックスシステムは、ラスタライザの入力部を設けるフロントエンド及びセットアップ段を具える。ラスタライザは色発生器を駆動し、色発生器は、選択可能なテクスチャに対するテクスチャ値を発生するテクスチャ段と、テクスチャをサーフェースにマッピングすることによって現実的な出力イメージを生成する組合せ段とを具える。このために、ラスタライザは、ディスプレイスペースに座標のシーケンスを発生し、対応するテクスチャ座標を補間によって計算する。第1テクスチャ値を第1セットの色値に混合して第1混合値を発生し、第2テクスチャ値を第2セットの色値に混合して第2混合値を発生し、かつ、第1混合値と第2混合値とを組み合わせることによってポリゴンプリミティブの画素に対するテクスチャ化された色値を発生するように、組合せ段が構成される。
既知のシステムの不都合は、アンチエイリアジングが著しい演算量を必要とすることである。その理由は、表示解像度より著しく高い解像度で色データを演算する必要があるからである。
根本的に異なるアプローチは、文献“Resample hardware for 3D Graphics”, by Koen Meinds and Bart Barenburg, Proceedings of Graphics Hardware 2002, pp17-26, ACM 2002, T. Ertl and W. Heidrich and M Doggett (editors)から知られている。米国特許第6,297,833号から知られているシステムとは異なり、ラスタライザは、ディスプレイの座標が補間されている間、マッピングされるテクスチャのグリッドに一致するサンプル座標のシーケンスを横切ることができる。ディスプレイにおける結果的に得られる画素値は、補間されたディスプレイ座標に対して計算された色データをディスプレイグリッドにマッピングすることによって得られる。この手順を実行するリサンプラユニットは、ディスプレイスペースリサンプラ(DSR)で表される。米国特許第6,297,833号から知られている、テクスチャのグリッドに対して再サンプリングを行うリサンプラは、テクスチャスペースリサンプラ(TSR)として表される。
このグラフィックスシステムによって、減少した計算量でアンチエイリアジングイメージをレンダリングすることができる。達成されるアンチエイリアジング品質は、4×4スーパサンプリングで取得されるアンチエイリアジング品質より優れており、同時に、オフチップメモリバンド幅及び計算コストは、2×2スーパサンプリングにおおよそ匹敵する。
しかしながら、この文献において、(例えば、バンプ環境マッピングで用いられるような)依存性のマルチテクスチャ化のような特徴を具えるプログラマブル画素シェーディングをここで説明するグラフィックスシステムでどのように実現できるか認識されていない。
本発明の目的は、比較的少ない計算量で比較的広い範囲の視覚的な効果を有するイメージをレンダリングすることができるコンピュータグラフィックスシステムを提供することである。
この目的によれば、本発明のコンピュータグラフィックシステムは、請求項1によって特徴付けられる。
本発明によるコンピュータグラフィックシステムにおいて、ラスタライザは、プリミティブの幾何学的な情報に基づいて、プリミティブに関連したスペースのグリッドに座標の規則的なシーケンスを発生する。用語「関連した」は、グリッドにより横切られる座標のシーケンスがプリミティブによって決定されることを意味する。ラスタライザは、テクスチャのグリッドに一致するようにシーケンスを発生することができる。色発生器は、上記出現情報を用いて色を上記座標に割り当てる。そのように取得した色サンプルは、ディスプレイスペースリサンプラによってディスプレイスペースのグリッドに対して再サンプリングされる。米国特許第6,297,833号から知られている方法と比べると、適切なフィルタ処理が著しく簡単になる。第一に、どの色サンプルが特定の画素に寄与するかを決定するのが容易になる。アンチエイリアジングに要求されるプリフィルタのフットポイントが、ディスプレイスペースを規定する軸に整列されるので、ディスプレイスペースにマッピングされたテクスチャ座標が画素の前記フットポイント内にあるか否かを決定するのが簡単になる。さらに、逆テクスチャマッピングとは異なり、フィルタ関数を画素スペースからテクスチャスペースに変換する必要がない。最後に、ラスタライゼーションが、プリミティブに関連したスペースに生じるので、プリミティブに限られた上記スペースの座標のみが、フィルタ処理プロセスに対して考慮される。色発生器のテクスチャスペースリサンプラによって、テクスチャデータユニットによって提供されたテクスチャデータを、基準グリッドに対して任意のグリッドから再サンプリングすることができる。ラスタライザは、第1シーケンスに関連した補間値の一つ以上のシーケンスを発生することができ、一つ以上のシーケンスは、テクスチャのサンプルを指定する座標の第2シーケンスを具える。ここでは、用語「関連した」は、第1シーケンスの各座標に対する対応する値又は第2シーケンスに対する座標が存在することを意味する。座標の第1シーケンスと第2シーケンスとの間の関係は、例えば、環境に関するプリミティブの向きに依存する。このようにして、簡単なテクスチャをマッピングできるだけでなく、環境データもマッピングできる。色発生器のシェーディングユニットによって、比較的広い範囲の視覚的な効果が可能になる。これによって、マルチプルテクスチャ化や、依存性のテクスチャ化や、他の形態の画素シェーディングのような効果を用いて、米国特許第6,297,833号に記載されたようなシステムに適切なシェーディングプログラムを適用することができる。しかしながら、米国特許第6,297,833号から知られているシステムとは異なり、本発明のコンピュータグラフィックスシステムは、基準グリッドによって規定されたスペースに対してテクスチャデータを再サンプリングするテクスチャスペースリサンプラを具える。図面の説明で更に詳細に説明するように、これは、大きなバッファを必要としなくなる。
可能な場合には、基準グリッドをテクスチャのグリッドとする。これによって、そのテクスチャの再サンプリングを必要としなくなる。再サンプリングは、更なる計算量及びイメージ品質の損失を伴う。
しかしながら、適切なテクスチャがプリミティブに関連しない場合が生じることがある。そのような場合は、例えば、虹をレンダリングするのに用いることができる1Dパターンによって記載されたテクスチャである。他の例は、3D(容量)パターンとして格納される。請求項3の例も、ダミーグリッドを選択することによってそのようなテクスチャを用いたイメージのレンダリングを許容する。
請求項4の例において、ラスタライザは、入力座標に関連したディスプレイスペースに座標のシーケンスも発生する。これは、ディスプレイスペースの座標を補間によって簡単に計算できるという利点を有する。ディスプレイスペースの位置を、個別の変換ユニットによって計算することができるが、これは、浮動小数点の乗算及び除算を必要とする。
請求項5の例は、特別な効果に対する機会を著しく増大する。テクスチャスペースリサンプラに対する入力座標としてのテクスチャデータのフィードバックによって、“Real-Time Shading”, by M. Olano, J.C. Hart, W. Heidrich, M. McCool, A K Peter, Natick, Massachusetts, 2002, page 108に記載されたようないわゆるバンプ環境マッピングを適用することができる。
請求項6の例は、これらの場合に対する計算を更に減少し、この場合、簡単なテクスチャのみがプリミティブのサーフェースに対してマッピングされる。簡単なテクスチャの規定は、環境データと、バンプ環境マッピングにおけるようにテクスチャが回帰的に規定される場合を除外する。一つ以上の簡単なテクスチャをマッピングするとき、ラスタライザは、テクスチャが格納されるグリッドに対応するグリッドに入力座標を簡単に発生することができる。バイパス手段によって、ラスタライザは、直接テクスチャ情報ユニットにテクスチャ座標を提供することができる。バイパス手段を、例えば、ラスタライザからテクスチャ情報ユニットまでの個別の接続とすることができる。バイパス手段を、例えば、ラスタライザによって発生したグリッドに対応するグリッドで再サンプリングが行われるテクスチャスペースリサンプラのモジュールとすることができる。
請求項7の例におけるラスタライゼーショングリッド選択ユニットは、プリミティブ上でグリッドを選択する。依存性なくアクセスされた2次元テクスチャをプリミティブに関連させる場合、選択ユニットは、これらから最高解像度(したがって、場合によっては最高のイメージ周波数)のテクスチャマップを選択する。これは最高品質を保証する。その理由は、このテクスチャをテクスチャスペースリサンプラによって再サンプリングする必要がないからである。適切な2次元テクスチャマップが存在しない場合、プリミティブ上の「ダミー」グリッドが、横切るためにラスタライザに対して構成され、画素シェーディングが実行される。このようにして、簡単なGourraudシェーディング、プロシージャルシェーディング、1次元テクスチャ、3次元テクスチャ等でシェーディングされるプリミティブのように、プリミティブは、(2次元テクスチャのアプリケーションに次いで)多種のシェーディング法によってサポートされる。
請求項8に記載したように最高解像度で利用できるテクスチャのグリッドを選択することによって、このグリッドに対して他のテクスチャデータを再サンプリングするときに最適な品質が取得される。
請求項9の例は、イメージ品質と演算の簡単さの最適な組合せを与える値に対してサンプリング距離を適合させることができるという利点を有する。これは、テクスチャデータがミップマップによって提供される例において特に有利である。サンプリング距離に整合するミップマップの部分を選択することができる。
本発明は、請求項10によるコンピュータグラフィックイメージのレンダリング方法も含む。
本発明のこれら及び他の態様を、図面を参照して更に詳細に説明する。
図1は、グラフィックスパイプラインとして配置された従来のコンピュータグラフィックスシステムを線形的に示す。既知のグラフィックスパイプラインは、ラスタライザRUにプリミティブを供給する、例えば、バーテックスシェーダを有するモデル情報検索ユニットMIUを具える。各プリミティブは、三角形のような幾何学的な単位に関連したデータセットを具えることができる。データは、幾何学的なデータ、例えば、三角形の頂点の座標と、出現データとを具える。モデル情報検索ユニットを、例えば、OpenGL又はDirect3D APIを通じてプログラムすることができる。アプリケーションプログラムによって、バーテックスシェーダは、頂点ごとにプログラムを実行することができるとともに、各頂点に対する位置座標や、基準座標や、色座標や、テクスチャ座標のような幾何学的データ及び出現データをバーテックスシェーダに供給することができる。従来のバーテックスシェーダの詳細な説明を、“A user-programmable vertex engine”, Erick Lindholm, Mark J. Kilgard, and Henry Moreton, Proc. Siggraph pages 149-158, August 2001で見つけることができる。
図1は、グラフィックスパイプラインとして配置された従来のコンピュータグラフィックスシステムを線形的に示す。既知のグラフィックスパイプラインは、ラスタライザRUにプリミティブを供給する、例えば、バーテックスシェーダを有するモデル情報検索ユニットMIUを具える。各プリミティブは、三角形のような幾何学的な単位に関連したデータセットを具えることができる。データは、幾何学的なデータ、例えば、三角形の頂点の座標と、出現データとを具える。モデル情報検索ユニットを、例えば、OpenGL又はDirect3D APIを通じてプログラムすることができる。アプリケーションプログラムによって、バーテックスシェーダは、頂点ごとにプログラムを実行することができるとともに、各頂点に対する位置座標や、基準座標や、色座標や、テクスチャ座標のような幾何学的データ及び出現データをバーテックスシェーダに供給することができる。従来のバーテックスシェーダの詳細な説明を、“A user-programmable vertex engine”, Erick Lindholm, Mark J. Kilgard, and Henry Moreton, Proc. Siggraph pages 149-158, August 2001で見つけることができる。
ラスタライザRUは、これらプリミティブを横切って、一つ以上の関連のテクスチャマップ内のアドレスを表す情報をシェーディングユニットSUに供給する。一つ以上のテクスチャスペースリサンプラTSRは、テクスチャデータを、ラスタライザによって表されたアドレスから順次取得する。テクスチャスペースリサンプラによって供給される色情報は、表示されるスペースすなわちディスプレイスペースに対応するグリッドに従って整列される。シェーディングユニットSUは、現在のシェーディングプログラムに従って色情報を組み合わせる。この組合せの結果は、次のパスにおいてテクスチャデータユニットTDUのアドレスとして利用され、又はエッジアンチエイリアジング及び陰面消去EAA&HSRサブシステムに転送される。通常、EAA&HSRサブシステムは、エッジアンチエイリアジングに対してスーパーサンプリング又はマルチサンプリングを用いるとともに、陰面消去に対してzバッファ法を用いる。EAA&HSRサブシステムによって供給された最終的なイメージは、表示のためにフレームバッファFBに格納される。
図2は、上記文献“Resample hardware for 3D Graphics”によるコンピュータグラフィックスシステムの一部を線形的に示す。プリミティブの入力フローに応答して、ラスタライザRUは、テクスチャデータユニットTDUに対するテクスチャ座標のシーケンスを発生するとともに、マッピングされた再構成フィルタフットプリントをディスプレイスペースリサンプラDSRに供給し、ディスプレイスペースリサンプラDSRは、テクスチャデータユニットによって供給されたテクスチャデータを、ディスプレイスペースに対して再サンプリングする。テクスチャデータユニットTDUを、4Dミップマップ再構成ユニット3D>4Dを通じてディスプレイスペースリサンプラDSRに結合することができる。ディスプレイスペースリサンプラDSRは、画素データをエッジアンチエイリアジング及び陰面消去ユニットEAA&HSRに転送する。
図1に示す既知のコンピュータグラフィックススステムにおいて、テクスチャスペースリサンプラTSRは、シェーディングユニットSUに、ディスプレイスペースの画素グリッドの色及びデータを供給する。次いで、ディスプレイスペースでこれらを結合する。この教示を図2のコンピュータグラフィックスシステムに適用することは、シェーディングユニットSUをディスプレイスペースリサンプラDSRの後方に配置すべきであることを意味する。これによって、図3に示す組合せアーキテクチャを導く。
図3に示す組合せアーキテクチャにおいて、ラスタライザRUは、非常に簡単なテクスチャフェッチユニットを制御する。アーキテクチャは、テクスチャデータユニットTDUは別にして、IB02/05468としてPHNL010924に記載されたようなテクスチャメモリに格納された標準的な3Dミップマップから4Dミップマップテクスチャデータを急速に再構成する簡単なフィルタ3D>4Dを具えることができる。ラスタライザによって横切られるテクスチャグリッドの色を取得するために実行すべきフィルタ処理を他に必要としない。ディスプレイスペースリサンプラDSRは、マッピングされたテクスチャ座標に従ってこれらの色を取り出すとともに、ディスプレイ上の画素グリッドにこれらの色を再サンプリングする。各テクスチャマップに対して、これは、ディスプレイスペースに色の「層」を提供する。シェーディングユニットは、全ての層を最終的な画素フラグメントに組み合わせることができる。実際には、このアプローチの結果、画素シェーディングに対するプリミティブごとのmulti-pass texturing法となる。これは、二つの主な不都合がある。
第一に、ディスプレイスペースリサンプラDSRは、テクスチャに対する画素フラグメントの色を、テクスチャグリッドに対応する順番で送出し、この順番は、種々のテクスチャマップに対して互いに相違することがあるので、シェーディングユニットが現在の層から色を組み合わせることができる前に、以前の層からの(組み合わされた)色を格納するためにバッファTMPを必要とする。この結果、要求される余分なメモリバンド幅の形態のオーバヘッドとなる。タイルに基づくレンダリングアーキテクチャは、この問題を緩和することができるが、複雑さが増大する。
第二に、このようなマルチパスのアプローチは、独立したテクスチャ化に対処することができず、これは、今日のGPUの画素シェーディングユニットにおける致命的な特徴である。
図4は、これらの不都合を克服する本発明によるコンピュータグラフィックスシステムの実施の形態を示す。それは、モデル情報提供ユニットMIUを具え、モデル情報提供ユニットMIUは、場合によっては、プログラマブルバーテックスシェーダを具え、グラフィックスプリミティブのセットを表す情報を提供する。三角形の座標(u1,v1)0,(u1,v1)1,(u1,v1)2によって制限された整数の対を発生させることによりプリミティブに関連させる座標の第1シーケンスを発生することができる。他の実施の形態では、任意の多角形を用いることができる。平面の代わりに、図9に示すような湾曲したプリミティブを、ベジエ曲面として用いることができる。そのようなプリミティブは、1対のパラメータによって簡単にパラメータ化されることができ、これらパラメータの下限値及び上限値に対する境界を有する。図9は、4対の座標によって境界が設定された表面の例を示す。しかしながら、ベジエ三角形を表すには、3対で十分である。4より大きい数を用いることもできる。境界の各対に対して、テクスチャ座標(u1,v1)0,(u1,v1)1,(u1,v1)2及び(u1,v1)3を関連させることができる。同様に、前記テクスチャ座標によって境界が設定された整数値の対を発生することによりプリミティブに関連した座標の第1シーケンスを発生することができる。情報は、少なくとも(図示しない)頂点の表示座標のようなプリミティブの形状を規定する幾何学的な情報と、プリミティブの出現を規定する出現情報とを具える。出現情報は、例えばテクスチャ座標の形態のテクスチャ情報と、色情報、すなわち、散乱色及び/又は反射色とを具えることができる。さらに、煙をシミュレートするために煙色を用いることができる。一例として、第1及び第2テクスチャの座標を、図8Aのプリミティブの頂点に関連して示す。第1テクスチャのグリッドは、基準グリッドとしての役割を果たす。第1テクスチャ及び第2テクスチャの座標はそれぞれ、(u1,v1)i及び(u2,v2)iとなり、この場合、iは頂点の番号である。頂点の位置のプリミティブの規定値を表す情報を含めることもできる。
モデル情報提供ユニットは周知である。モデル情報提供ユニットで用いられるプログラマブル頂点シェーディングユニットは、例えば、Lindholm et al.の上記文献に更に詳細に記載されている。モデル情報提供ユニットMIUを、OpenGL及びDirect3D APIを通じてプログラムすることができる。
本発明によるコンピュータグラフィックスシステムは、第1テクスチャのサンプルを指定するテクスチャサンプル座標の第1シーケンスを発生することができるラスタライザ(RU)も具え、第1テクスチャは、プリミティブに関連した基準グリッド、ここでは、第1テクスチャに一致するグリッドに一致する。第1シーケンスに関連した補間値の一つ以上のシーケンスを発生することができ、そのシーケンスは、第2テクスチャのサンプルを指定する座標の第2シーケンスを具える。ラスタライザRUは、ダミーグリッドにより座標の第1シーケンスを発生することもできる。これは、プリミティブに関連するテクスチャがない場合又はテクスチャが2次元グリッドに適さない場合に関連する。これは、例えば虹を描くのに用いることができる1次元パターンによって描かれるテクスチャに当てはまる。他の例は、3次元(容積)パターンとして格納されるテクスチャである。補間値の一つ以上のシーケンスを、座標の第1シーケンスに関連させ、この場合、ラスタライザは、第1シーケンスの各座標に対して補間値を発生する。補間値を、座標の第1シーケンスを発生するのと同時に発生することができるが、その後に発生することもできる。
そのように、ラスタライザは周知である。ラスタライザの詳細な説明は、“Algorithms for Division Free Perspective Correct Rendering” by B. Barenburg et al., pp7-13, Proceedings of Graphics Hardware 2000によって与えられる。
本発明によるコンピュータグラフィックスシステムは、プリミティブに関連した上記出現情報を用いて色を座標の上記第1シーケンスに割り当てる色発生器も具える。色発生器CGは、テクスチャデータをテクスチャサンプル座標に割り当てるテクスチャデータユニットTDUを具える。テクスチャデータユニットTDUを、例えば、各座標に対してテクスチャ値を合成するテクスチャシンセサイザとする。それを、予め規定されたテクスチャが格納されるメモリとすることもできる。テクスチャを圧縮フォーマットで格納することができる。メモリは、互いに相違するスケールで格納された複数のテクスチャを有することもできる。これを実現する既知の方法は、例えば、3D及び4Dミップマップである。
色発生器CGは、シェーディングユニットSUによって供給されるテクスチャサンプル座標uf,vfに応答して出力テクスチャデータTWu,vを発生するように配置された(図5に更に詳細に説明する)テクスチャスペースリサンプラTSRも具える。色発生器CGは、出力テクスチャデータTWu,vを発生するために、第2テクスチャT2のグリッドに整列したテクスチャサンプル座標(ui,vi)を発生する。次いで、色発生器CGは、その座標においてデータTu,vを第2テクスチャT2からフェッチし、フェッチしたテクスチャデータTu,vを第1テクスチャT1のグリッドに対して再サンプリングする。このようにして、同一グリッドを共有しないテクスチャマップを組み合わせることができる。従来知られているテクスチャスペースリサンプラTSRに対して、本発明のコンピュータグラフィックスシステムのテクスチャスペースリサンプラTSRは、第1テクスチャのグリッド位置に対応する座標で駆動され、ディスプレイ上のグリッド位置に対応するグリッド位置で駆動されない。
実際には、例えば8以上の任意の数のテクスチャマップを用いて、プリミティブの出現を規定することができる。これらテクスチャマップを順次再サンプリングすることができるが、色発生器は、再サンプリング工程の速度を上げるために2以上のテクスチャスペースリサンプラ及び2以上のテクスチャデータユニットを有することができる。
色発生器CGは、上記出力テクスチャデータ及びラスタライザによって提供される出現データを用いて色を提供するシェーディングユニットSUも具える。テクスチャデータとは別に、シェーディングユニットは、補間された拡散色や反射の寄与を計算する規定値のような色を提供する種々のデータを用いることができる。
次いで、ディスプレイスペースリサンプラDSRは、色発生器によって割り当てられた色を、ディスプレイに関連したグリッドの表示に対して再サンプリングする。色を表示グリッドに対してフォワードマッピングするこのプロセスは、好適には二つのパスで実行され、この場合、2回の1Dフィルタ処理動作が、互いに交差する方向で互いに実行される。しかしながら、表示座標に対するマッピングを単一の2次元フィルタ処理動作で行うこともできる。フォワードマッピング色データは、上記文献“Resample hardware for 3D Graphics”に詳細に記載されている。
ディスプレイスペースリサンプラDSRによって提供されるデータは、アンチエイリアジング及び陰面消去ユニットEAA&HSRによって処理される。その詳細を、出願番号EP02075420.6を有する既に出願された特許出願PHN020100で見つけることができる。このユニットの出力データを、表示のためにフレームバッファに供給し、又は、破線で示したように後段で使用するためにテクスチャデータユニットTDUに供給することができる。
図5は、本発明によるコンピュータグラフィックスシステムのラスタライザRU及びテクスチャデータユニットTDU並びに更に詳細なテクスチャスペースリサンプラTSR及びシェーディングユニットSUを再び示す。
図5の実施の形態において、テクスチャスペースリサンプラTSRは、座標(uf,vf)から整数座標(ui,vi)を発生するグリッド座標発生器GCGを具える。図示した実施の形態において、テクスチャが2次元座標で指定されているが、更に高い次元の座標又は1次元座標を代わりに用いることもできる。選択信号Selによって制御される選択素子S1によって、不変の座標(uf,vf)をテクスチャデータユニットTDUに送出し又は再サンプリングされた座標(ui,vi)を選択することができる。
ラスタライザRUは、基準グリッドの座標(u1,v1)の規則的なシーケンスを発生するよう配置される。このシーケンスによって横切られる範囲は、プリミティブに関連したデータによって決定される。このために、テクスチャデータユニットTDUは、この場合にはシェーディングユニットSUの選択素子S3及びテクスチャスペースリサンプラTSRの選択素子S1を通じてラスタライザRUに結合される。
ラスタライザRUは、座標(u1,v1)の第1シーケンスによって横切られる基準グリッドを選択するラスタライゼーショングリッド選択ユニットRGSUを具える。
基準を、好適には他のテクスチャT1のグリッドとする。特に、二つ以上のテクスチャT1,T2をプリミティブに関連させる場合、ラスタライゼーショングリッド選択ユニットRGSUは、最高の解像度で利用できる関連のテクスチャT1のグリッドを選択する。
しかしながら、適切なテクスチャが利用できない場合、ダミーグリッドを基準グリッドとして選択する。ラスタライザRUは、プリミティブに関連したスペースとディスプレイに関連したスペースとの間の関係の関数としてステップ状のサンプリング距離に適合することができる。この場合、テクスチャは、3D又は4Dミップマップの形態で格納され、パースペクティブマッピングによってテクスチャの大きさが変化する。
ラスタライザRUは、一つ以上の他のテクスチャの座標のような、プリミティブに関連した他のデータを補間するようにも配置される。ラスタライザRUは、補間された他のテクスチャ座標(u2,v2)をテクスチャスペースリサンプラTSRに供給する。これら補間された他のテクスチャ座標が第2テクスチャT2のグリッドに一致する場合、これらの座標は、選択素子S3及びS1を通じてテクスチャデータユニットTDUに送出される。しかしながら、他のテクスチャ座標(u2,v2)が一致しない場合、テクスチャのグリッドに一致する整数値(ui,vi)を、グリッド座標発生器GCGによって計算することができる。これを、図8Bに線形的に示す。選択素子S1は、テクスチャデータユニットTDUを指定する座標として、再サンプルされたテクスチャ座標(ui,vi)を選択する。図8Bに示すように、座標(u2,v2)は、第2テクスチャの4サンプルa−dによって包囲される。テクスチャスペースリサンプラTSRは、第2テクスチャT2の対応するテクスチャデータを、グリッド座標発生器GCGによって提供される座標からフェッチし、フィルタFLTは、これらを、第1テクスチャT1のグリッドに対して再サンプリングする。再サンプリングを、例えば最近傍近似によって行うことができ、この場合、フィルタFLTは、出力テクスチャ値TWu,vとしてGCGによって発生した最近テクスチャ座標ui,viの結果としてTDUによって発生した一つの値Tuvのみを通過させる。フィルタFLTの出力の代わりに、テクスチャデータユニットTDUによって供給されるテクスチャデータTu,vを選択することによって、フィルタが選択素子S2にこの機能を実行させることができる。再サンプリングを、補間、例えば、バイリニア補間によって行うこともできる。補間を用いる場合、指定されたテクスチャデータTu,vは、グリッド座標発生器GCGによって制御されるフィルタFLTによって重み付けされる。フィルタFLTによって計算される値は、出力テクスチャ値TWu,vとして、選択素子S2を通じてシェーディングユニットSUに供給される。テクスチャスペースリサンプラTSRは、更に多くの出力座標(ui,vi)に基づいて出力テクスチャ値TWu,vを計算することができる。
実際には、テクスチャデータは、しばしば3Dミップマップの形態で格納される。これは、テクスチャグリッドに一致するサンプル座標のシーケンスを見つけることができないという結果を有することがある。しかしながら、IB02/05468として出願されたPHNL010924に記載した方法によって、3Dミップマップから4Dミップマップを迅速に計算することができる。バイリニア補間にも基づくこの計算を、テクスチャスペースリサンプラTSRによって実行することができる。
ラスタライザRUは、補間された色値Cip及び補間された規定値NipもシェーディングユニットSUに供給する。
図示したように、シェーディングユニットは、選択素子S3とは別に、シェーディングモジュールSH及びプログラマブルコントローラCRTLを具える。破線で示すように、コントローラCTRLは、スイッチS1,S2及びS3と、シェーディングモジュールSHとを制御する。
シェーディングモジュールSHによって、ラスタライザからの補間された規定値Nipや補間された色値Cipのような複数の入力データ、テクスチャスペースリサンプラTSRによって提供されたテクスチャデータTWu,v及び(光源の位置及び特性についての情報のような)環境情報に応答して、色Cu,vを計算することができる。このために、シェーディングモジュールSHは、フォンシェーディングのような周知のシェーディング関数を用いることができる。
シェーディング法は、例えば、“The Pixel Flow Shading System, a shading language on graphics hardware:”, by M. Olano and A. Lastra, in proceedings Siggraph (July 1998), pp 159-168に記載されている。Microsoft DirectX Graphics Programmers Guide, DirectX8.1 ed. Microsoft Developer’s Network Library, 2001及び文献“Real-Time Shading”, by M. Olano, J.C. Hart, W. Heidrick, M. McCool, A K Peters, Natick, Massachusetts, 2002も参照のこと。
シェーディングユニットSUは、出力色値Cu,vをディスプレイスペースリサンプラDSRに供給し、ディスプレイスペースリサンプラDSRは、この値を、取得した表示座標に対して再サンプリングする。このために、ラスタライザRUは、表示座標に対して補間値を発生することができる。
図5に示すように、シェーディングモジュールSHの出力は、スイッチング素子S3を通じてテクスチャスペースリサンプラTSRに結合される。他のテクスチャの座標を発生するために出力テクスチャ値TWu,vを再利用する、例えば、これら出力テクスチャ値TWu,vを入力座標(ut,vt)に追加し、又はこれら出力テクスチャ値TWu,vをフィードバック座標(uf,vf)として用いることによって、フィードバックファシリティが、バンプ環境マッピングとして特別な効果を有することができる。通常、これらフィードバック座標はグリッドに整列されない。グリッド座標発生器GCGは、テクスチャグリッドに整列した値(ui,vi)を座標(uf,vf)から発生する。
本発明によるコンピュータグラフィックイメージのレンダリング方法を、図6のフローチャートに線形的に示す。ここに示すように、方法は、以下のステップを具える。
ステップS1において、プリミティブのセットを具えるグラフィックスモデルを表す情報が提供される。情報は、少なくともプリミティブの形状を表す幾何学的情報及びプリミティブの出現を表す出現情報を具える。
ステップS2において、プリミティブに関連した基準グリッドに一致する座標の第1シーケンスを発生する。
ステップS3において、第1シーケンスに関連するとともにテクスチャのサンプルを指定する座標の第2シーケンスを具える補間値の一つ以上のシーケンスを発生する。ステップS3を、フローチャートに示すようにステップS2の次に実行することができるが、ステップS2と並列に実行することもできる。基準グリッドを、ダミーグリッド又は他のテクスチャのグリッドとすることができる。
ステップS4において、テクスチャに整列した座標を第2シーケンスから発生し、これら座標でのテクスチャのデータをフェッチし、かつ、フェッチされたデータの関数として出力データを提供することによって、基準グリッドに整列した出力テクスチャデータが取得される。
ステップS5において、上記出力テクスチャデータ及び出現情報を用いて色を提供する。ステップS6において、そのようにして取得された色が、ディスプレイに関連したグリッドの表示に対して再サンプリングされる。
色発生器の動作を、図7のフローチャートを参照して詳細に説明する。ステップS11において、プリミティブの出現が二つ以上のテクスチャによって決定されるか否か決定する。プリミティブの出現が二つ以上のテクスチャによって決定される場合、ステップS12において、テクスチャカウンタiが0に初期化される。
その後、ステップS13において、現在のテクスチャiのグリッドが、テクスチャサンプル座標のシーケンスによって横切られるグリッドに一致するか否か、確認される。現在のテクスチャiのグリッドが、テクスチャサンプル座標のシーケンスによって横切られるグリッドに一致する場合、プログラムフローは、ステップS14で継続し、その座標でテクスチャサンプルTu,vをフェッチする。テクスチャiのグリッドが、テクスチャサンプル座標のシーケンスに一致しない場合、テクスチャサンプルTWu,vは、ステップS15の再サンプリングルーチンで取得され、これは、テクスチャサンプル座標を包囲するテクスチャ値から補間テクスチャ値を取得するために(バイリニアプローブや高次フィルタのような)フィルタを使用する。テクスチャiの最近グリッド点でテクスチャ値Tu,vを簡単に取得することもできる。ステップS15は、以前に計算したテクスチャデータ及び/又は補間された色Ciや補間された規定値Nipのような他の瞬時的に利用できるシェーディングデータを用いたサンプル座標の発生又は変更を含むことができる。このようにして、バンプ環境マッピングのような依存性のテクスチャ化の効果を取得することができる。
ステップS14又はステップS15の後、プログラムフローはステップS16で継続し、この場合、補間された色Cipや、補間された規定値Nipや、テクスチャデータのような瞬時的に利用できるシェーディングデータを組み合わせる。
ステップS16にはステップS17が続き、この場合、プリミティブに関連した他のテクスチャが存在するか否か確認する。他のテクスチャが存在する場合、テクスチャカウンタが増分され、ステップS13〜S17が繰り返される。ステップS17で最後のテクスチャが処理されたと決定した場合、組み合わされた色は、テクスチャ値TWu,v、補間された色、及び補間された規定値Niを用いて計算される。
プリミティブの最後のテクスチャが処理された後、ステップS18において、次の処理段階、例えば、図4を参照して説明したような表示座標に対する計算された色値の再サンプリングを行うフォワードフィルタリング動作に対して、計算された色値Cu,vが入力値として用いられる。フォワードフィルタリング動作の前後で、アルファテスト手順や、デプステスト手順や、センシルテスト手順のような一つ以上の他の処理ステップを実行することができる。
プリミティブの出現を2未満のテクスチャによって決定したことがステップS11において決定された場合、ステップS19が実行される。ステップS19は、一つのテクスチャだけが存在するか否か確認する。一つのテクスチャだけが存在する場合、現在のサンプル座標のテクスチャ値がステップS20で検索される。このステップS20は、サンプル座標がテクスチャのグリッドに一致するとき、ステップS14のようにテクスチャサンプルを直接検索することができる。サンプル座標がテクスチャグリッドに一致しない場合、ステップS20は、ステップS15の手順と同様にテクスチャ値を計算することができる。その後、プログラムフローはステップS21で継続する。プリミティブに関連したテクスチャが存在しないことがステップS19で決定された場合、制御フローは、ステップS21で直接継続する。ステップS21において、例えば分散色Cip及び補間された規定値Nipを用いて他の色演算が行われ、ステップS18に進む。
Claims (10)
- グラフィックスプリミティブのセットを表す情報を提供し、前記情報が、少なくとも前記プリミティブの形状を規定する幾何学的な情報及び前記プリミティブの出現を規定する出現情報を具えるモデル情報提供ユニットと、
前記プリミティブに関連した基準グリッドに一致する座標の第1シーケンスを発生することができ、かつ、前記第1シーケンスに関連した補間値の一つ以上のシーケンスを発生することができ、前記一つ以上のシーケンスが、テクスチャのサンプルを指定する座標の第2シーケンスを具えるラスタライザと、
前記出現情報を用いて座標の前記第1シーケンスに対して色を割り当てる色発生器とを具え、前記色発生器が、
テクスチャデータをテクスチャ座標に割り当てるテクスチャデータユニットと、
前記テクスチャのグリッドに整列したテクスチャ座標を、座標の前記第2シーケンスから発生し、発生したテクスチャ座標でデータを前記テクスチャからフェッチし、かつ、フェッチしたテクスチャデータを前記基準グリッドに対して再サンプリングすることによって、出力テクスチャデータを発生するように配置されたテクスチャスペースリサンプラと、
前記出力テクスチャデータ及び前記ラスタライザによって提供された前記出現データを用いて前記色を提供することができるシェーディングユニットとを具え、
前記基準グリッドにおいて前記色発生器によって割り当てられた色を、ディスプレイに関連したグリッドの表示に対して再サンプリングするディスプレイスペースリサンプラを更に具えることを特徴とするコンピュータグラフィックスシステム。 - 前記基準グリッドを他のテクスチャのグリッドとしたことを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- 前記基準グリッドをダミーグリッドとしたことを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- 前記ラスタライザが、前記テクスチャ座標の第1シーケンスに関連したディスプレイスペースに座標のシーケンスを発生するようにも配置されたことを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- 前記出力テクスチャデータに応答して、他のテクスチャ座標を前記テクスチャスペースリサンプラに供給するフィードバックファシリティを設けたことを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- 前記ラスタライザが直接前記テクスチャデータユニットに前記テクスチャ座標を供給することができるようにするバイパスファシリティを設けたことを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- 前記ラスタライザが、前記テクスチャ座標の第1シーケンスによって横切られるグリッドを選択するラスタライゼーショングリッド選択ユニットを具えることを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- 二つ以上のテクスチャを前記プリミティブに関連させた場合、前記ラスタライゼーショングリッド選択ユニットが、最高の解像度で利用できる関連のテクスチャのグリッドを選択することを特徴とする請求項7記載のコンピュータグラフィックスシステム。
- 前記ラスタライザが、前記プリミティブに関連したスペースと前記ディスプレイに関連したスペースとの間の関係の関数としてステップ状の距離サンプリングに適合することができることを特徴とする請求項1記載のコンピュータグラフィックスシステム。
- プリミティブのセットを具えるグラフィックスモデルを表す情報を提供し、前記情報が、少なくとも前記プリミティブの形状を規定する幾何学的な情報及び前記プリミティブの出現を規定する出現情報を具えるステップと、
前記プリミティブに関連した基準グリッドに一致する座標の第1シーケンスを発生するステップと、
前記第1シーケンスに関連した補間値の一つ以上のシーケンスを発生し、前記一つ以上のシーケンスが、テクスチャのサンプルを指定する座標のシーケンスを具えるステップと、
前記テクスチャに整列したテクスチャ座標を、前記第2シーケンスから発生し、発生したテクスチャ座標で前記テクスチャのデータをフェッチし、かつ、フェッチしたデータの関数として出力テクスチャデータを提供することによって、前記基準グリッドに整列した出力テクスチャデータを提供するステップと、
前記出力テクスチャデータ及び前記出現情報を用いて色を提供するステップと、
そのようにして得られた色を、ディスプレイに関連したグリッドの表示に対して再サンプリングするステップとを具えることを特徴とするコンピュータグラフィックイメージのレンダリング方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03100313 | 2003-02-13 | ||
PCT/IB2004/050069 WO2004072907A1 (en) | 2003-02-13 | 2004-02-02 | Computer graphics system and method for rendering a computer graphic image |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006517705A true JP2006517705A (ja) | 2006-07-27 |
Family
ID=32865034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006502556A Abandoned JP2006517705A (ja) | 2003-02-13 | 2004-02-02 | コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060202990A1 (ja) |
EP (1) | EP1597705A1 (ja) |
JP (1) | JP2006517705A (ja) |
KR (1) | KR20050093863A (ja) |
CN (1) | CN1748230A (ja) |
WO (1) | WO2004072907A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005332195A (ja) * | 2004-05-19 | 2005-12-02 | Sony Computer Entertainment Inc | テクスチャユニット、画像描画装置、テクセル転送方法 |
US7511717B1 (en) * | 2005-07-15 | 2009-03-31 | Nvidia Corporation | Antialiasing using hybrid supersampling-multisampling |
US7843468B2 (en) | 2006-07-26 | 2010-11-30 | Nvidia Corporation | Accellerated start tile search |
US20080037066A1 (en) * | 2006-08-10 | 2008-02-14 | Sauer Charles M | Method and Apparatus for Providing Three-Dimensional Views of Printer Outputs |
GB2473682B (en) | 2009-09-14 | 2011-11-16 | Sony Comp Entertainment Europe | A method of determining the state of a tile based deferred re ndering processor and apparatus thereof |
US20130271465A1 (en) * | 2011-12-30 | 2013-10-17 | Franz P. Clarberg | Sort-Based Tiled Deferred Shading Architecture for Decoupled Sampling |
CN102594494B (zh) * | 2012-01-11 | 2014-09-03 | 浙江工业大学 | 一种面向智能终端的渐进网格自适应传输方法 |
US9743057B2 (en) * | 2012-05-31 | 2017-08-22 | Apple Inc. | Systems and methods for lens shading correction |
KR102059578B1 (ko) * | 2012-11-29 | 2019-12-27 | 삼성전자주식회사 | 3차원 그래픽스 렌더링 시스템에서 프리미티브 처리 장치 및 방법 |
KR102101834B1 (ko) | 2013-10-08 | 2020-04-17 | 삼성전자 주식회사 | 영상 처리 장치 및 방법 |
US9355489B2 (en) * | 2013-11-14 | 2016-05-31 | Intel Corporation | Land grid array socket for electro-optical modules |
US10262393B2 (en) * | 2016-12-29 | 2019-04-16 | Intel Corporation | Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU757621B2 (en) * | 1998-07-16 | 2003-02-27 | Research Foundation Of The State University Of New York, The | Apparatus and method for real-time volume processing and universal 3D rendering |
US6297833B1 (en) * | 1999-03-23 | 2001-10-02 | Nvidia Corporation | Bump mapping in a computer graphics pipeline |
US6954204B2 (en) * | 2002-07-18 | 2005-10-11 | Nvidia Corporation | Programmable graphics system and method using flexible, high-precision data formats |
-
2004
- 2004-02-02 WO PCT/IB2004/050069 patent/WO2004072907A1/en active Application Filing
- 2004-02-02 CN CNA200480004093XA patent/CN1748230A/zh active Pending
- 2004-02-02 JP JP2006502556A patent/JP2006517705A/ja not_active Abandoned
- 2004-02-02 KR KR1020057014774A patent/KR20050093863A/ko not_active Application Discontinuation
- 2004-02-02 US US10/545,064 patent/US20060202990A1/en not_active Abandoned
- 2004-02-02 EP EP04707272A patent/EP1597705A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20060202990A1 (en) | 2006-09-14 |
CN1748230A (zh) | 2006-03-15 |
EP1597705A1 (en) | 2005-11-23 |
KR20050093863A (ko) | 2005-09-23 |
WO2004072907A1 (en) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5949424A (en) | Method, system, and computer program product for bump mapping in tangent space | |
JP5232358B2 (ja) | アウトラインフォントのレンダリング | |
US7081895B2 (en) | Systems and methods of multi-pass data processing | |
US5880736A (en) | Method system and computer program product for shading | |
Chan et al. | Rendering Fake Soft Shadows with Smoothies. | |
JP4987988B2 (ja) | 画像の圧縮及び/又は復元 | |
EP0875860B1 (en) | Precise gradient calculation system and method for a texture mapping system of a computer graphics system | |
US7446780B1 (en) | Temporal antialiasing in a multisampling graphics pipeline | |
US6384824B1 (en) | Method, system and computer program product for multi-pass bump-mapping into an environment map | |
JP2004038926A (ja) | テクスチャマップ編集 | |
GB2543766A (en) | Graphics processing systems | |
US7158133B2 (en) | System and method for shadow rendering | |
US7064755B2 (en) | System and method for implementing shadows using pre-computed textures | |
US20050088450A1 (en) | Texture roaming via dimension elevation | |
JP2006517705A (ja) | コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法 | |
EP1616299B1 (en) | Computer graphics processor and method for generating a computer graphics image | |
EP1759355B1 (en) | A forward texture mapping 3d graphics system | |
KR20180037838A (ko) | 텍스쳐를 처리하는 방법 및 장치 | |
Shen et al. | Interactive visualization of three-dimensional vector fields with flexible appearance control | |
US6924805B2 (en) | System and method for image-based rendering with proxy surface animation | |
Stewart et al. | Pixelview: A view-independent graphics rendering architecture | |
WO2005124693A2 (en) | Inverse texture mapping 3d graphics system | |
KR0153664B1 (ko) | 3차원 도형 생성기 | |
Angel et al. | An interactive introduction to OpenGL and OpenGL ES programming | |
Angel et al. | An interactive introduction to OpenGL programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070201 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070201 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20070507 |