JP4691273B2 - グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 - Google Patents

グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 Download PDF

Info

Publication number
JP4691273B2
JP4691273B2 JP2001187524A JP2001187524A JP4691273B2 JP 4691273 B2 JP4691273 B2 JP 4691273B2 JP 2001187524 A JP2001187524 A JP 2001187524A JP 2001187524 A JP2001187524 A JP 2001187524A JP 4691273 B2 JP4691273 B2 JP 4691273B2
Authority
JP
Japan
Prior art keywords
texture
vector
binormal
tangent
processing system
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.)
Expired - Fee Related
Application number
JP2001187524A
Other languages
English (en)
Other versions
JP2002074389A (ja
Inventor
デマーズ エリック
エム レザー マーク
ジー シーガル マーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2002074389A publication Critical patent/JP2002074389A/ja
Application granted granted Critical
Publication of JP4691273B2 publication Critical patent/JP4691273B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

【0001】
【産業上の利用分野】
この発明はコンピュータグラフィクスに関し、より特定的には、家庭用ビデオゲームプラットフォームのようなインタラクティブなグラフィクスシステムに関する。さらに特定的には、この発明は、レンダリングしたオブジェクト上での拡散光テクスチャのためのエンボス型バンプマッピング(emboss-style bump-mapping)効果を実現するテクスチャ座標変位の効率的な発生に関する。
【0002】
【発明の背景および発明の概要】
多くの人々はかなりリアルな恐竜,エイリアン,生き生きとしたおもちゃおよび他の空想的な動物を含む映画をかつて見たことがある。そのようなアニメーションはコンピュータグラフィクスによって可能とされた。そのような技術を用いて、コンピュータグラフィクスのアーティストは、各オブジェクトがどのように見えるべきかや時間の経過とともに外見上どのように変化すべきかを特定し、コンピュータは、そのオブジェクトをモデル化してテレビジョンやコンピュータスクリーンのようなディスプレイに表示する。コンピュータは、表示される映像の各部分を、場面中の各オブジェクトの位置や向き,各オブジェクトを照らすように見える照明の方向,各オブジェクトの表面テクスチャ,および他の要素に正確に基づいて、色付けしまた形作るために必要な多くのタスクを実行する。
【0003】
コンピュータグラフィクスの生成は複雑であるので、ここ数年前のコンピュータによって生成された3次元(3D)グラフィクスは、ほとんど高価な特殊なフライトシミュレータ,ハイエンドグラフィクスワークステーションおよびスーパーコンピュータに限られていた。大衆は映画や高価なテレビコマーシャルにおいてこれらのコンピュータシステムによって生成された映像のいくつかを見たが、大部分の人はグラフィクスを生成しているコンピュータに対して実際に相互作用をさせることはできない。たとえば、Nintendo64(登録商標)や今や利用可能であるパソコン用の種々の3Dグラフィクスカードのような比較的安価な3Dグラフィクスプラットフォームの利用によって、このすべてが変わった。今や、家庭や会社の比較的安価なコンピュータグラフィクスシステム上でエキサイティングな3Dアニメーションやシミュレーションに対して相互作用を及ぼすことができる。
【0004】
グラフィクスシステム設計者が過去に直面した問題は、たとえば、ランダムな表面の傷(flaws),でこぼこ(irregularities, roughness),隆起(バンプ:bump),あるいは他の非平滑表面変形を有する実際のオブジェクトの表面と同じような態様で、種々のライティング(lighting) 条件に反応する本物らしく見える表面特性をもって、3Dオブジェクトを如何にテクスチャリングするかである。いくつかの例ではそのような微小な表面特性が実際にモデリングされ得たかもしれないが、そのような複雑な表面を3Dオブジェクトにトランスレートしかつレンダリングするために要する時間は、大部分のリアルタイムでのもしくはインタラクティブなゲームアプリケーションをほとんど不可能にする。したがって、この問題に対する種々のソリューションが提案されている。たとえば、一般的に「バンプマッピング」として知られている技術が開発され、それによって、非平坦表面の変化をライティングされたオブジェクト上に生成するという効果を近似することができる。たとえば、JFブリンの「しわのある表面のシミュレーション」コンピュータグラフィクス、(SIGRAPH’78会報)、vol.12,No. 3、pp.286−292(1978年8月);「コンピュータ合成画像のための光反射のモデル」、コンピュータグラフィクスおよび教育的技術の第4回会議の会報(1977年);およびトム・マクリノルズおよびデビット・ブライスによる「オープンGLでのプログラミング:先進レンダリング」SIGRAPH97年コースの第8.3章の「テクスチャによるバンプマッピング」を参照されたい。基本的に、バンプマッピングによれば、グラフィクスアプリケーションのプログラマは、微小表面変化を高低差(height difference) としてモデリングし、かつ次いで、それらの差の値を表面ライティング効果を計算する際に用いる表面の法線ベクトルへの乱れ(perturbation) として1つの表面にわたって付与することによって、たくさんのジオメトリを使うことなしに、オブジェクトの表面に本物らしさを付加することができる。実際に、バンプマッピングは、ピクセルベースで表面法線を乱すことによって、ポリゴン(またはプリミティブ)のシェーディングを修正する。下にあるジオメトリがほぼ平坦であっても、シェーディングによって表面をでこぼこに(bumpy) 見せることができる。
【0005】
拡散光(diffuse-lit) でテクスチャリングされた表面を有するバンプマッピング効果の単純な形式を実現することに向けられた大部分の従来のアプローチは、一般的に、各ピクセル毎に、特定のテクスチャ座標におけるバンプマッピングテクスチャイメージの第1のサンプルとテクスチャ座標変位における同じテクスチャイメージの第2のサンプルとの間の差を計算することを伴う。さらに、テクスチャ座標変位マップを計算することは、表面接線および従法線ベクトル(binormals)の目空間(eye-space) 成分を使用する計算を一般的に含む。特に、テクスチャイメージ上でエンボス型の効果を有するバンプマッピングの単純な形式を実現するためには、目空間(ビュー空間/カメラ空間:view-space/camera-space)参照フレーム(これは表示のためのレンダリングに先立つ後続のラスタライジング処理の助けとなる)においてテクスチャ座標変位を計算しかつ付与することが最も効率的である。したがって、エンボス型バンプマッピングのためのテクスチャ座標変位は、好ましくは、頂点における頂点位置および表面従法線がモデル空間(model-space) からピクセルレンダリングのための目空間へ変換された後に計算されかつ発生される。
【0006】
典型的には、家庭用ビデオゲームシステムのような低価格グラフィクス処理システムにおいては、頂点変換およびライティング(T&L:transformation and lighting)演算はグラフィクスシステムのホストCPUを用いてアプリケーションプログラムによって共通的に行われる。その理由は、一義的には、ソフトウェアによるT&Lの実現ではホストCPUにおける計算的な仕事が大きくなるけれども、特別のハードウェアを使用するより通常安価であるからである。しかしながら、ハードウェアによるT&Lの実現は、ゲームシステムにおいては好ましいことである。なぜなら、そのハードウェアによって非常に速くレンダリングできるばかりでなく、ゲーム戦略(strategy)および改良されたゲーム性能のためのAI計算のような他の所要のタスクを行うためのホストCPUの処理時間を大きくすることができるからである。さらに、ホストCPU上のアプリケーションソフトウェアによってT&L演算を行うグラフィクスレンダリング構成においては、バンプマッピングのためのテクスチャ座標計算を行うような付加的な処理タスクが処理のオーバヘッドを非常に大きくしてしまう。
【0007】
専用のグラフィクスハードウェアによってそのT&L演算を行うグラフィクスレンダリングシステムにおいては、ホストCPUは、典型的には、モデル空間の頂点アトリビュートをその専用T&Lハードウェアに与え、そのハードウェアにすべての座標空間変換やライティング計算を行わせる。したがって、頂点位置および表面法線/従法線ベクトルの空間変換を行うT&Lハードウェアに後続するバンプマッピング目的のためのテクスチャ座標変位をホストCPUが特別に効率的に計算する必要はない。本質的に、バンプマッピング演算が行われるときにはいつも、このことは、専用T&Lハードウェアを利用することから得られるレンダリング速度の改善を効果的に制限することがない。
【0008】
この発明は、必要なテクスチャ座標変位を計算するためにホストCPUのアプリケーションソフトウェアを必要とせず、少なくともエンボス型バンプマッピングテクスチャ効果を実現するためのテクスチャ座標変位の効率的な発生のための技術や構成ないし配置をグラフィクスレンダリングシステムに与えてこの問題を解決する。3つの頂点毎の表面従法線(すなわち、法線,接線および従法線)を特定することができる増強されたAPI(applications program interface)頂点アトリビュート関数が利用され、ホストCPUのアプリケーションソフトウェアは、表面法線や他の従来の頂点毎のアトリビュートを与えるのに加えて、オブジェクト空間における頂点毎の必要な付加的な接線および従法線表面ベクトルを計算するだけでよい。
【0009】
この発明の局面によって与えられるいくつかの特徴は
・1つのパスにおいてテクスチャ減算を行うことができるテクスチャ結合ユニットの使用
・テクスチャハードウェアにおいてテクスチャ結合を行うバンプマッピングのためのテクスチャ結合の使用
・モデルビューマトリクスをスケーリングしかつそのモデルビューマトリクスを従法線へ付与することによって従法線(接線:Tangentおよび従法線:Binormal)をスケーリングすること
従法線および接線ベクトルを用いるがしかし法線(Normal)入力ベクトルを用いないテクスチャ変位の計算
・2つの別個の内積計算ユニット(1つの内積計算ユニットはモデルビューマトリクス乗算を行い、第2の内積計算ユニットはライト方向ベクトルとともに接線および従法線の内積ならびにライト方向(light direction)ベクトルの平方を並列に計算する)の使用を通しての増大された性能
・少数の別個の演算を使用して必要な計算を行うことができる完全にパイプライン化したハードウェア
この発明の1つの局面によれば、グラフィクスレンダリングシステムは増強された頂点変換およびライティング(T&L)ハードウェアを備え、それは従来のT&L演算に加えて、少なくとも簡単なエンボス型バンプマッピングを行うことができる。この型のバンプマッピングは、オブジェクトの表面ジオメトリがアニメーション化されているときに有用である。T&Lハードウェアのベクトルジオメトリ処理部分は、オブジェクト空間の頂点表面従法線(すなわち、接線および従法線ベクトル)の目空間への変換処理および変換した従法線によるライト方向(ライト−頂点間)ベクトル内積に基づくテクスチャ座標変位の計算の処理を組み込むように増強される。
【0010】
この発明の他の局面によれば、増強された頂点アトリビュート記述API関数が、頂点位置および光源位置と一緒に3つの頂点表面従法線(法線,従法線および接線)をT&Lベクトルジオメトリ処理ハードウェアへ与える。このジオメトリ処理ハードウェアは、次いで、表面従法線を目空間へ変換し、目空間におけるライトベクトルを計算し、そのベクトル成分を、エンボス型バンプマッピングテクスチャ効果を生成する際に使用するための適宜のテクスチャ座標変位を計算するために使用する。
【0011】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0012】
【実施例】
図1は対話型(インタラクティブ)3Dコンピュータグラフィクスシステム50の一例を示す。システム50は対話型3Dビデオゲームをステレオ音声とともにプレイするのに用いられ得る。これはまた多様な他のアプリケーションにも用いられ得る。
【0013】
この実施例において、システム50は3次元世界のディジタル表現ないしモデルをインタラクティブにかつリアルタイムに処理することができる。システム50は、任意の視点から、その世界の一部または全部を表示することができる。たとえば、システム50は、手持ちコントローラ52aおよび52bまたは他の入力デバイスからのリアルタイム入力に応答して、視点をインタラクティブに変化できる。このことによって、ゲームプレーヤは、その世界内もしくは外の誰かの目を通してその世界を見ることができる。システム50は、リアルタイム3Dインタラクティブ表示を必要としないアプリケーション(たとえば2D表示の発生やおよび/またはノンインタラクティブ表示)に使用できるが、高品質の3D映像を非常に速く表示する能力は、非常にリアルでエキサイティングなゲームプレイや他のグラフィクスインタラクションを創造するのに使用され得る。
【0014】
システム50を用いてビデオゲームまたは他のアプリケーションをプレイするために、ユーザはまず、主ユニット54を、カラーテレビ56または他の表示装置に、両者の間にケーブル58を接続することによって、接続する。主ユニット54はカラーテレビ56を制御するためのビデオ信号およびオーディオ信号を発生する。ビデオ信号はテレビジョン画面59上に表示されている映像を制御するものであり、オーディオ信号はテレビのステレオスピーカ61Lおよび61Rを通して音声として再生される。
【0015】
ユーザはまた主ユニット54を電源につなぐ必要がある。この電源は従来のACアダプタ(図示せず)であってよく、そのACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、主ユニット54を駆動するのに適した低いDC電圧信号に変換する。他の実施例ではバッテリが用いられてもよい。
【0016】
ユーザは主ユニット54を制御するために手持ちコントローラ52aおよび52bを用いる。コントロール60は、たとえば、3D世界内においてテレビ56に表示されているキャラクタが移動すべき方向(上または下、左または右、近づいてまたは遠ざかって)を指示するために使用され得る。コントロール60は、また他のアプリケーションのための入力(たとえばメニュー選択,ポインタ/カーソル制御,その他)を与える。コントローラ52は多様な形態をとり得る。この実施例においては、図示されるコントローラ52は、各々ジョイスティック,押しボタンおよび/または方向スイッチのようなコントロール60を含む。コントローラ52は、ケーブルによって、もしくは電磁波(たとえば電波または赤外線)を介してワイヤレスで、主ユニット54に接続され得る。
【0017】
ゲームのようなアプリケーションをプレイするために、ユーザはビデオゲームもしくはプレイしたいと思う他のアプリケーションをストアしている適宜の記憶媒体62を選択し、その記憶媒体を主ユニット54のスロット64に差し込む。記憶媒体62は、たとえば、特別にエンコードされおよび/または記号化された光学的ならびに/もしくは磁気的ディスクであってよい。ユーザは主ユニット54をオンするために電源スイッチ66を操作し、主ユニットがその記憶媒体62にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザは主ユニットに入力を与えるためにコントローラ52を操作する。たとえば、コントロール60を操作することによってゲームもしくは他のアプリケーションをスタートさせる。他のコントロール60を動かすことによって、動画キャラクタを異なる方向に移動させ、または3D世界におけるユーザの視点を変化させる。記憶媒体62にストアされている具体的なソフトウェアによって、コントローラ52上の種々のコントロール60は異なる時間で異なる機能を達成することができる。
全体システムの例
図2はシステム50の例示的なコンポーネントのブロック図であり、重要なコンポーネントは、
・主プロセサ(CPU)110,
・主メモリ112,および
・グラフィクス/オーディオプロセサ114
を含む。
【0018】
この実施例において、主プロセサ110(たとえばIBMパワーPC750の改良版)は、手持ちコントローラ52(および/または他の入力デバイス)からの入力をグラフィクス/オーディオプロセサ114を通して受ける。主プロセサ110はユーザ入力にインタラクティブに応答し、光ディスクドライブのような大容量記憶媒体アクセス装置106を介して、たとえば外部記憶媒体62から供給されるビデオゲームもしくは他のプログラムを実行する。一例として、ビデオゲームプレイの状況では、主プロセサ110は、多様なインタラクティブ制御機能に加えて、衝突検出および動画処理を実行する。
【0019】
この実施例では、主プロセサ110は3Dグラフィクス/オーディオコマンドを発生し、それらをグラフィクス/オーディオプロセサ114に送る。グラフィクス/オーディオプロセサ114はこれらのコマンドを処理し、ディスプレイ59上での可視映像を生成し、ステレオスピーカ61Rおよび61Lもしくは他の適宜の音声発生デバイス上でのステレオ音声を生成する。
【0020】
実施例のシステム50はビデオエンコーダ120を含み、このビデオエンコーダは、グラフィクス/オーディオプロセサ114からの映像信号を受けて、その映像信号をコンピュータモニタや家庭用テレビ56のような標準的な表示装置上での表示に適したアナログおよび/またはディジタルビデオ信号に変換する。システム100はまたオーディオコーデック(圧縮器/伸長器)122を含み、このオーディオコーデックはディジタル化されたオーディオ信号を圧縮しかつ伸長するとともに、必要に応じてディジタルオーディオ信号のフォーマットとアナログオーディオ信号のフォーマットとの間で変換を行う。オーディオコーデック122はバッファ124を介してオーディオ入力を受けることができ、処理(たとえば、プロセサが生成したおよび/または大容量記憶媒体アクセス装置106のストリームオーディオ出力を介して受信した他のオーディオ信号とのミキシング)するために、そのオーディオ入力をグラフィクス/オーディオプロセサ114に与える。この実施例におけるグラフィクス/オーディオプロセサ114は、オーディオタスクに利用可能なオーディオメモリ126にオーディオ関連情報をストアすることができる。グラフィクス/オーディオプロセサ114は、結果的に得られるオーディオ出力信号を、圧縮およびアナログ信号への変換のために、オーディオコーデック122に与え、したがってそのオーディオ出力信号が(たとえばバッファアンプ128Lおよび128Rを介して)スピーカ61Lおよび61Rによって再生され得る。
【0021】
グラフィクス/オーディオプロセサ114はシステム100内に存在するであろう種々の付加的なデバイスと通信する能力を有する。たとえば、パラレルディジタルバス130は大容量記憶媒体アクセス装置106および/または他のコンポーネントと通信するために用いられる。シリアル周辺バス132は多様な周辺機器または、たとえば、
・PROMおよび/またはRTC(リアルタイムクロック)134,
・モデム136もしくは他のネットワークインタフェース(それはシステム100を、プログラム命令および/またはデータがダウンロードもしくはアップロードされ得るインターネットあるいは他のディジタルネットワークのようなテレコミュニケーションネットワーク138に接続する),および
・フラッシュメモリ140
を含む他のデバイスと通信する。
別の外部シリアルバス142は、付加的な拡張メモリ144(たとえばメモリカード)もしくは他のデバイスと通信するために使用され得る。コネクタが種々のデバイスをバス130,132および142に接続するために使用され得る。
グラフィクス/オーディオプロセサの例
図3は実施例のグラフィクス/オーディオプロセサ114を示すブロック図である。或る実施例においては、グラフィクス/オーディオプロセサ114はシングルチップASICであってよい。この実施例においては、グラフィクス/オーディオプロセサ114は、
・プロセサインタフェース150,
・メモリインタフェース/コントローラ152,
・3Dグラフィクスプロセサ154,
・オーディオディジタル信号プロセサ(DSP)156,
・オーディオメモリインタフェース158,
・オーディオインタフェース/ミキサ160,
・周辺コントローラ162,および
・表示コントローラ164
を含む。
【0022】
3Dグラフィクスプロセサ154はグラフィクス処理タスクを実行する。オーディオディジタル信号プロセサ156はオーディオ処理タスクを実行する。表示コントローラ164は主メモリ112からの映像情報にアクセスし、表示装置102上での表示のためにその映像情報をビデオエンコーダ120に与える。オーディオインタフェース/ミキサ160はオーディオコーデック122をインタフェースし、また異なるソースからのオーディオ(たとえば、大容量記憶媒体アクセス装置106からのオーディオストリーム,オーディオDSP156の出力,およびオーディオコーデック122を通して受ける外部オーディオ入力)をミックスすることができる。プロセサインタフェース150は主プロセサ110およびグラフィクス/オーディオプロセサ114の間のデータおよび制御インタフェースを提供する。
【0023】
メモリインタフェース152はグラフィクス/オーディオプロセサ114とメモリ112との間のデータおよび制御インタフェースを提供する。この実施例においては、主プロセサ110は、プロセサインタフェース150およびグラフィクス/オーディオプロセサ114の一部であるメモリインタフェース152を介して、主メモリ112にアクセスする。周辺コントローラ162はグラフィクス/オーディオプロセサ114と上で述べた種々の周辺機器との間のデータおよび制御インタフェースを提供する。オーディオメモリインタフェース158はオーディオメモリ126とのインタフェースを提供する。
グラフィクスパイプラインの例
図4は図3の3Dグラフィクスプロセサ154をより詳細に示すグラフィクス処理システムを示す。この3Dグラフィクスプロセサ154は、とりわけ、コマンドプロセサ200および3Dグラフィクスパイプライン180を含む。主プロセサ110はデータストリーム(たとえばグラフィクスコマンドストリームおよび表示リスト)をコマンドプロセサ200に通信する。主プロセサ110はメモリレイテンシを最小化するために2レベルキャッシュ112を有し、さらにまたグラフィクス/オーディオプロセサ114に向けられたキャッシュされていないデータストリームのための書込収集(write-gathering)バッファ111を有する。この書込収集バッファ11は部分キャッシュラインを全キャッシュラインに集め、バスの最大使用時に、グラフィクス/オーディオプロセサ114からのデータを1つのキャッシュラインに送る。
【0024】
コマンドプロセサ200は主プロセサ110からの表示コマンドを受け、それらを解剖し、メモリコントローラ152を介して共用メモリ112からのそのコマンドを処理するに必要な付加的なデータを入手する。コマンドプロセサ200は、2Dおよび/または3D処理およびレンダリングのために、頂点コマンドのストリームをグラフィクスパイプライン180に与える。グラフィクスパイプライン180はこれらのコマンドに基づいて映像を生成する。結果として得られた映像情報は、表示コントローラ/ビデオインタフェースユニット164によるアクセスのために主メモリ120に転送され得て、この映像情報は表示装置156上にパイプライン180のフレームバッファ出力を表示する。
【0025】
図5はグラフィクスプロセサ154を用いて実行される処理を図解的に示すブロックロジックフロー図である。主プロセサ10は、グラフィクスコマンドストリーム210,表示リスト212および頂点アレイ214を主メモリ112にストアし、ポインタをバスインタフェース150を介してコマンドプロセサ200に送る。主プロセサ110は主メモリ110内に割り付けられた1つ以上のグラフィクスFIFOバッファ210にグラフィクスコマンドをストアする。このコマンドプロセサ200は、
・同期/フロー制御および負荷バランスのためにグラフィクスコマンドを受けかつバッファするオンチップFIFOメモリバッファ216を介して主メモリ112からのコマンドストリーム,
・オンチップコールFIFOメモリバッファ218を介して主メモリ112からの表示リスト212,および
・コマンドストリームからおよび/または主メモリ112の頂点アレイ214からの頂点アトリビュートを頂点キャッシュ220を介して
取り込む。
【0026】
コマンドプロセサ200はコマンド処理動作200aを実行し、そのコマンド処理動作200aはアトリビュート形式を浮動小数点フォーマットに変換し、結果的に得られた完全頂点ポリゴンデータをレンダリング/ラスタライゼーションのためにグラフィクスパイプライン180に与える。プログラマブルメモリ調停回路130(グラフィクスメモリ要求調停回路:図4)は、グラフィクスパイプライン180,コマンドプロセサ200および表示コントローラ/ビデオインタフェースユニット164の間での共用主メモリ112へのアクセスを調停する。
【0027】
図4は、グラフィクスパイプライン180が
・変換ユニット300,
・セットアップ/ラスタライザ400,
・テクスチャユニット500,
・テクスチャ環境ユニット600,および
・ピクセルエンジン700
を含むことを示す。
【0028】
変換ユニット300は多様な2Dおよび3D変換および他の動作300a(図5)を実行する。変換ユニット300は変換処理300aに用いられるマトリクスをストアするための1つ以上のマトリクスメモリ300bを含む。変換ユニット300は、入来する頂点毎のジオメトリをオブジェクト空間からスクリーン空間へ変換し、そして入来するテクスチャ座標を変換しかつ投影テクスチャ座標(300c)を計算する。変換ユニット300はまたポリゴンクリッピング/カリング(clipping/culling)300dを実行する。変換ユニット300bによってまた達成されるライティング(lighting) 処理300eが、この実施例では8つまでの独立した照明(light:ライト)について、頂点毎にライティング計算を行う。変換ユニット300は、エンボス(embossed)タイプのバンプマッピング効果およびポリゴンクリッピング/カリング動作(300d)のために、テクスチャ座標を発生する(300c)。
【0029】
セットアップ/ラスタライザ400はセットアップユニットを含み、このセットアップユニットは、変換ユニット300からの頂点データを受け、三角形セットアップ情報を、エッジラスタライゼーション,テクスチャ座標ラスタライゼーションおよびカラーラスタライゼーションを実行する1つ以上のラスタライザユニット(400b)に送る。
【0030】
テクスチャユニット500は、オンチップテクスチャメモリ(TMEM)502を含んでもよく、たとえば、
・主メモリ112からのテクスチャ504の検索、
・たとえばマルチテクスチャ処理,ポストキャッシュテクスチャ伸長,テクスチャフィルタリング,エンボシング,投影テクスチャの使用を通しての陰影付け,およびアルファトランスパーレンシおよびデプスを用いるBLITを含むテクスチャ処理(500a)、
・バンプマッピング,偽(pseudo)テクスチャおよびテクスチャタイル(tiling)効果(500b)のためのテクスチャ座標変位を計算するバンプマップ処理、および
・間接テクスチャ処理(500c)
を含むテクスチャリングに関連する種々のタスクを実行する。
【0031】
テクスチャユニット500は正規(非間接)および間接テクスチャルックアップ演算の両方を用いてテクスチャ処理を行う。具体的なグラフィクスパイプライン回路および正規(直接)および間接テクスチャルックアップ演算を行う手順のより詳細な説明が同じ出願人に譲渡された同時係属中の特願2001−42667「グラフィクスシステムにおける直接および間接テクスチャ処理方法および装置」に開示されていて、ここでは参照によってその内容を取り入れる。
【0032】
テクスチャユニット500はテクスチャ環境処理(600a)のためにフィルタされたテクスチャ値をテクスチャ環境ユニット600に出力する。テクスチャ環境ユニット600は、ポリゴンおよびテクスチャカラー/アルファ/デプスをブレンドし、また逆レンジベース(reverse range based)のフォグ効果を達成するために、テクスチャフォグ処理(600b)を実行する。テクスチャ環境ユニット600はたとえばカラー/アルファ変調,エンボシング,詳細テクスチャ,テクスチャスワッピング,クランピングおよびデプスブレンディングに基づく多様な他の環境関連機能を実行する多数のステージを提供する。テクスチャ環境ユニット600はまた、1つのパスでハードウェア内のテクスチャを結合(たとえば、減算)する。テクスチャ環境ユニットに関するより詳細は、「グラフィクスシステム用再循環シェードツリーブレンダ」(特願2001−81892)に開示されていて、ここでは参照によってそれを取り入れる。
【0033】
ピクセルエンジン700はデプス(z)比較(700a)およびピクセルブレンディング(700b)を実行する。この実施例では、ピクセルエンジン700はデータを埋め込み(オンチップ)フレームバッファメモリ702にストアする。グラフィクスパイプライン180は、フレームバッファおよび/またはテクスチャ情報をローカルにストアするために1つ以上の埋め込みDRAMメモリ702を含む。z比較700aは、現在有効なレンダリングモードに依存して、グラフィクスパイプライン180におけるより早い段階で実行される(たとえば、z比較は、もしアルファブレンディングが要求されていないならば早くに実行され得る)。このピクセルエンジン700は表示コントローラ/ビデオインタフェースユニット164による主メモリ112へのアクセスのために、オンチップフレームバッファ702を周期的に書き込むコピー動作700cを含む。このコピー動作700cはまた動的テクスチャ合成効果のために、埋め込みフレームバッファ702の内容を主メモリ112中のテクスチャにコピーするために使用され得る。アンチエイリアシング(anti-aliasing:エイリアス補正)および他のフィルタリングがコピー動作中に実行され得る。最終的に主メモリ112にストアされるグラフィクスパイプライン180のフレームバッファ出力は、表示コントローラ/ビデオインタフェースユニット164によってフレーム毎に読み出される。表示コントローラ/ビデオインタフェース164は表示装置56上での表示のためにディジタルRGBピクセル値を与える。
エンボス型バンプマッピングテクスチャ座標発生の例
図6は上で述べたシステムにおいてエンボス型バンプマッピングを行うために使用される基本的な処理ステップの例示的なセットを示すフローチャートである。この実施例において、図6の大部分のステップはコマンドプロセサ200によって供給される頂点毎の接線および従法線ベクトルデータに基づいて変換ユニット300によって行われる。コマンドプロセサ200はそのような頂点毎の値を主プロセサ110および/または主メモリ112から得ることができる。
【0034】
簡単にいうと、グラフィクスパイプラインは、関連のメモリ内にテクスチャイメージとしてストアされているポリゴンの頂点アトリビュートデータおよびテクセルのカラーデータに少なくとも部分的に応答して表示のためにイメージをレンダリングしかつ準備する。グラフィクスレンダリングパイプラインは頂点変換およびライティング(T&L)ハードウェアを備え、そのハードウェアは従来のT&L演算に加えて簡単なバンプマッピング演算を行うことができる。パイプラインハードウェアは、たとえば、グラフィクスシステムの主CPU上で実行中のグラフィクスアプリケーションによって頂点毎に供給されるオブジェクト空間(モデル空間)の表面従法線を利用してエンボス型バンプマッピング効果を実現するためのテクスチャ座標変位を効率的に発生する。増強された頂点アトリビュート記述コマンド関数は、頂点位置,光源(ライト)位置およびテクスチャ座標のような他の頂点アトリビュートに加えて、頂点毎の複数の表面従法線の通信および処理を容易にする。増強された頂点アトリビュート関数はオブジェクト空間座標においてホストCPUによって与えられる法線,接線および従法線表面ベクトル(N,TおよびB)を特定し、バンプマッピングに必要な量のデータを効率的に圧縮するように3つの表面ベクトルの各々について頂点毎の別のメモリインデックスを使用する。T&Lハードウェアのベクトルジオメトリ処理部分はまた2つの別個の内積計算ユニットを設けることによって増強され、スケーリングされたモデルビューマトリクスを用いて接線および従法線表面ベクトルを目空間へ変換し、目空間においてライト方向ベクトルを計算し、そしてその計算したライト方向ベクトルと変換した接線および従法線ベクトルとの間の並列的な内積計算を行って、エンボステクスチャ効果を創る際に使用するための適宜のテクスチャ座標変位を効率的に発生する。
【0035】
実施例において、システム50は、まず、バンプマッピング演算で使用するためにテクスチャメモリ502(図4参照)中にテクスチャイメージをストアする(ブロック800)。コマンドプロセサ200は、次いで、適宜のグラフィクスAPIにおいて定義されている頂点アトリビュート関数を使用する変換ユニット300へ、オブジェクト空間ベースで接線および従法線ベクトルデータを与える(ブロック802)。変換ユニット300はその接線および従法線ベクトルデータを目空間へ変換する(ブロック804)。変換ユニット300はまた、ライト方向(ライト−頂点間)ベクトルおよび正規化したライト方向ベクトルを計算する(ブロック806)。変換ユニット300は、次いで、テクスチャ座標変位および頂点毎の新しいテクスチャ座標値を計算する(ブロック808,810)。テクスチャ環境(TEV)ユニット600は、テクスチャメモリ502にストアされている元のテクスチャからその変位によって規定されるオフセットテクスチャを差し引くことによってエンボステクスチャを発生する(ブロック812)。換言すれば、元のテクスチャが非変位座標(s,t)および変位座標(s+Δs,t+Δt)を用いてルックアップされ、テクスチャ値がピクセル毎に減算される。この結果がグラフィクスパイプライン180における頂点毎の局所的な拡散ライティングと結合され、結果的に得られたエンボスイメージが表示装置56上での表示のためにレンダリングされる(ブロック814)。エンボスイメージの結果はまた他のテクスチャと結合されてもよい。
【0036】
詳細に述べると、上で述べたバンプマッピングは、少なくとも、(1) 入力テクスチャ座標に基づくテクスチャ座標変位(Δs,Δt)(ブロック808),(2) 正規化したライト方向(ブロック806)および(3) 頂点毎の座標ベース(basic)関数(ブロック802)を発生する。用いられる好ましいベース関数は直交オブジェクト空間座標ベースである。この座標系の3つの直交軸が表面法線ベクトル,表面「接線」ベクトルおよび第2の相互に直角の表面接線の「従法線」ベクトルによって、接線(T)および従法線(B)ベクトルがsにおけるテクスチャ勾配およびtにおけるテクスチャ勾配(すなわち、増分sまたはt)に対応する方向に向けられて規定される。2つの直交表面接線ベクトルTおよびBはまた、「従法線」と呼ばれる。ブロック802はこれらの値を与える。この座標系上に投影されるオブジェクト空間座標のライトベクトル(ブロック806)は、次いで、バンプマッピングのためのテクスチャ座標変位を計算するために使用される。すなわち、2つの従法線TおよびBの各々上へのライト方向ベクトルの投影は、ライトが引き起こすテクスチャ空間変位の量を与える。基本的に、テクスチャ上のライト(すなわち、ライト方向ベクトル)はそれの表面従法線成分および各テクスチャ勾配に対応するそれの(s,t)座標成分とに分解される。ライト方向ベクトルのこれら(s,t)座標成分は、バンプマッピングにおいて使用される(Δs,Δt)のテクスチャ座標変位(ブロック808)である。
【0037】
効率的なレンダリングのために上で述べた演算を適切に行うためには、各頂点における接線および従法線ベクトルが向けられたオブジェクト(これはオブジェクト空間においてテクスチャsおよびt軸にマッピングする)が好ましくは最初に目空間へ変換される。したがって、この発明の実施例においては、コマンドプロセサ200がこれら頂点毎の2つの従法線を変換ユニット300へ供給する(ブロック804)。変換ユニットは、次いで、そのバ従法線を目空間へ変換する(ブロック804)。(この実施例においては、たとえば、平滑な表面で供給される従法線は一定であったとしても、コマンドプロセサ200は頂点毎にその従法線を変換ユニット300へ供給する。)数学的にいえば、次の演算が変換ユニット300によって行われる。
【0038】
【数1】
ただし、Tv = (Txv, Tyv, Tzv) および Bv = (Bxv, Byv, Bzv) はコマンドプロセサ200から供給される頂点毎の従法線 である。
【0039】
Tvベクトルは好ましくは正規化されてオブジェクト空間中のsテクスチャ軸に整列されなければならず、Bvベクトルは好ましくは正規化されてオブジェクト空間中におけるtテクスチャ軸に整列されなければならない。モデルビュー変換マトリクスは純粋に回転的であり、それは従法線のユニット長(unit length) を維持する。しかしながら、もし従法線のスケーリングが必要な場合には、モデルビュー変換マトリクスはスケーラによって乗算され得る。この与えられたスケーリング値は、次いで、従法線の新たなユニット長となる。このことは、ソースデータやアルゴリズムを変えることなしにバンプマッピング効果を視覚的に増大させるために使用され得る。
【0040】
従法線の座標系が与えられると、変換ユニット300によって使用されるライト回転マトリクス(ブロック806)が次のようになる。
【0041】
【数2】
ただし、 (Tx, Ty, Tz) は増加方向sにおいてs軸に沿って配向された変換した従法線であり、 (Bx, By, Bz) は増加方向tにおいてt軸に沿って配向された変換した従法線である。
【0042】
ライト位置(目空間中における)と現在の変換した目空間中における頂点との差を正規化することによってライトベクトルが計算される(ブロック806)。
【0043】
【数3】
【0044】
テクスチャ座標変位(Δs,Δt)は次いで、頂点毎に次のようにして計算される(ブロック808)。
【0045】
【数4】
【0046】
この好ましい例のアルゴリズムは変位を計算するために法線入力ベクトルを使用していないことに注目されたい。従法線および接線ベクトルだけが必要である。他の実施例は目空間法線を余分な行として含む3×3マトリクス乗算を特定する。
【0047】
計算した頂点毎のデルタオフセット(Δs,Δt)は、次いで、頂点毎に発生される変換後の(すなわち、目空間への変換後の)テクスチャ座標に加算され(ブロック810)、新しいテクスチャ座標S1およびT1を得る。
【0048】
【数5】
【0049】
エンボスバンプマッピングテクスチャ座標発生ハードウェアの具体例
エンボス型バンプマッピングのための上で述べた計算を効率的に実現するために、変換ユニット300は予め結線した(hardwired) 計算ロジック回路を含み、少なくとも次のようなエンボスバンプマッピングに関連するベクトルおよび座標計算を行う。
【0050】
[数6]
Teye = MV・T
Beye = MV・B
L = Veye − Lpos
L2
Teye・L
Beye・L
1/||L||= 1/√ (L2)
Δs = T・L/||L||
Δt = B・L/||L||
(S1, T1) = (S0 + Δs, T0 + Δt)
ただし、 T および B は各オブジェクト空間の接線(Tangent) および従法線 (Binormal)ベクトル、MV はベクトルを目空間へ変換するための要素値を有する変換マトリクス、Lposは光(ライト)位置ベクトル、 Veye は頂点位置ベクトル、L はライト−頂点間 (light-to-vertex) ベクトル、||L|| は正規化したライト方向ベクトル、 (S0, T0) は正規(regular) 変換テクスチャ座標、(Δs, Δt) は発生されたテクスチャ座標変位値、(S1,T1) エンボスバンプマッピングにおいて使用される「オフセット」テクスチャがそれから得られる新しいテクスチャ座標である。
【0051】
図7は、エンボス型バンプマッピングを実現するために必要なテクスチャ座標変位(Δs,Δt)を効率的に発生するために変換ユニット300中に設けられるハードウェアによって達成される機能的動作のロジックフローを図解するブロック図である。主プロセサ110上で動作しているグラフィクスアプリケーションは、オブジェクト空間の従法線TおよびBを計算しかつコマンドプロセサ200を介してそれらを変換ユニット300へ供給する。APIの増強された頂点アトリビュート記述関数が用いられ、それによって、頂点毎の別のメモリインデックスを介して法線,接線および従法線ベクトルデータを特定することができる。コマンドプロセサはこのベクトルデータを変換ユニット300へ与える。少なくとも3つの表面従法線を許容することに加えて、増強された頂点アトリビュート関数によって、プログラマは、バンプマッピングのために明示的に特定される必要のあるデータの量を効果的に圧縮するように、3つの表面従法線の各々について別の頂点毎のメモリインデックスを使用することができる。上で述べたように、供給された接線および従法線ベクトルは、オブジェクト空間中において、テクスチャのsおよびt軸に対して頂点毎にマッピングしなければならない。変換ユニット300内のベクトル内積乗算回路は、次いで、これらのベクトルを、図7および図8に図示するように、目空間へ変換する。
【0052】
再び図7を参照して、ブロック300fは具体的なベクトル内積処理ハードウェアを概略的に示し、このハードウェアはエンボス型バンプマッピングに関する以外の計算を行う際にも変換ユニット300によって利用される。ブロック300gがエンボスバンプマッピング計算により一層有用な変換ユニットハードウェアを概略的に示すが、このブロック300gのハードウェアもまた他の機能を実行する際に有用である。エンボス型バンプマッピングのために、第1内積計算ユニット301は接線および従法線ベクトルの目空間変換を計算する。変換された結果はマルチプレクシング/ステージングバッファ302に一時的にストアされる。ライト−頂点間ベクトル計算304は頂点位置ベクトルデータVeyeおよびライト位置ベクトルデータLposで行われ、ライト方向ベクトルデータLを与える。第2の内積計算ユニット303は次のものを並列的に計算するために利用される。
【0053】
・ライト方向ベクトルLと各従法線ベクトルTならびにBとの間のベクトル内積
・ライト方向ベクトルLからのL2ベクトル積
このL2ベクトル積は続いて、ライト方向ベクトルの逆数値を計算するための逆平方根計算ユニット305に与えられる。内積ユニット303からの従法線および接線ベクトルライティング内積T・LおよびB・Lは、ユニット305からのライト方向ベクトルの計算された逆数値と一緒に浮動小数点乗算器306に与えられる。浮動小数点乗算器306は、次いで、テクスチャ座標変位ΔsおよびΔtを計算し、それらは浮動小数点加算器308に与えられる。変換されたテクスチャ座標S0およびT0は頂点毎に遅延FIFO307に与えられるとともに、必要なときに浮動小数点加算器308に与えられ、計算された座標変位ΔsおよびΔtに結合される。発生された新しいテクスチャ座標S1およびT1は、次いで、変換ユニット300内の頂点バッファユニット(図示せず)へ与えられ、さらに、グラフィクスパイプライン180を介して、テクスチャルックアップのためにテクスチャユニット500へ与えられる。好ましい実施例において、用いられているテクスチャ結合ユニットは多数のパスではなく1つのパスでテクスチャ減算を行うことができる。好ましいテクスチャ結合演算はアキュムレーション(accumulation)バッファを使用しないが、テクスチャ結合をテクスチャハードウェア内で行う。
【0054】
図8は、図7のエンボスバンプマッピング関数を実行するための変換ユニット300内の内積計算ユニット301および303ならびにライト方向計算ハードウェアのより詳細なブロック図を示す。好ましい実施例は少なくとも24ビットの浮動小数点数値を処理することができるディジタルロジックハードウェアを利用する。図8に図示するように、ベクトル内積ユニット301は浮動小数点加算器313および314に結合された浮動小数点乗算器310,311および312を含む。2つの表面従法線BおよびTは頂点キャッシュRAM220(図5)から浮動小数点乗算器310,311および312に与えられる。入力FIFO315は、接線および従法線ベクトルを目空間へ変換するための変換マトリクスデータをマトリクスメモリ300bから受け、マトリクス要素値を浮動小数点乗算器310,311および312に与える。浮動小数点加算器304は、変換された目空間頂点位置データおよび入力ライト位置/方向ベクトルデータからライト方向ベクトルLを決定するためのライト−頂点間ベクトル計算を行う。
【0055】
ベクトル内積ユニット303はライト方向ベクトルと接線および従法線目空間ベクトル成分とのベクトル内積を計算するための浮動小数点乗算器317,318および319ならびに浮動小数点加算器320および321を含む。内積ユニット303はまた、浮動小数点加算器304、および内積ユニット301からのライト方向ベクトルおよび変換された目空間接線および従法線ベクトルデータを受信しかつステージング(staging) するためのマルチプレクサ302を含む。浮動小数点乗算器317ないし319は浮動小数点加算器320および321との組み合わせで用いられ、ライト方向ベクトル平方積L2,接線ライティングベクトル内積(T・L)および従法線ライティング内積(B・L)を浮動小数点加算器321の出力に与える。
【0056】
内積ユニット301および内積ユニット303を用いて変換ユニット300内においてパイプラインデータクロックサイクル/ステージ毎に発生するエンボス型バンプマッピングを達成するための計算的なイベントの例示的なスケジュールを図解するテーブルを以下に示す。
【0057】
【表1】
【0058】
1番から8番まで番号が付けられた関連するサイクル/ステージ中において、接線および従法線ベクトルが内積ユニット301内へロードされ、目空間への変換が計算される。サイクル9ないし11中において、目空間の頂点複合成分および負に符号化されたライト位置成分を用いて、浮動小数点加算器304によって、ライト方向ベクトル成分Lx,LyおよびLzが計算される。サイクル11ないし13中において、計算された接線ベクトル目空間成分がマルチプレクシング/ステージングバッファ302へロードされる。サイクル14中において、計算されたライト方向ベクトルLと計算された接線目空間ベクトルTeye=(Txe,Tye,Tze)が、T・L内積を計算するためにベクトル内積ユニット303にロードされる。サイクル15において、計算されたライト方向ベクトルLが、ライト方向ベクトル平方積L2を計算するために、ベクトル内積ユニット303へ再度ロードされる。最後に、従法線目空間ベクトルBeye=(Bxe,Bye,Bze)がサイクル18においてB・L内積を計算するためにロードされる。上で述べたハードウェアは完全にパイプライン化されていて、最小数の別個の演算において所要の値を計算することができる。
API関数コマンドの例
好ましい実施例において、増強されたグラフィクスAPI関数は変換ユニット300内においてテクスチャ座標発生を初期化するために使用される。現在の頂点アトリビュート情報がテクスチャ座標を発生するために使用される従来のテクスチャ座標発生に加えて、好ましいグラフィクスAPIは、他のテクスチャ座標発生関数をコールしかつ使用できる増強されたテクスチャ発生関数をサポートする。例示的な増強されたAPIテクスチャ座標発生関数を以下に示す。
【0059】
【表2】
【0060】
上で例示したAPI関数は他のテクスチャ座標発生関数に加えて、一般的なテクスチャ座標発生を定義する。MatIdxは、デフォルトのテクスチャマトリクスインデックスとして設定され、それによって、発生されたテクスチャ座標が変換される。この実施例において、エンボス型バンプマッピングを実現するために、上述のAPI関数は、Funcとともに使用されてGX_TG_BUMP* を設定する。ただし、「*」は、エンボスのために選択され得る8つまでの可能な異なるライト(光源位置)のいずれかを示す0−7の数字である。
【0061】
以下のものは、上で述べた一般的なテクスチャ座標発生関数の例示的なC/C++言語による例を示す。
【0062】
【表3】
【0063】
「func」でGX_TG_BUMP0-7 を設定すると、システム50は、頂点毎の特定された従法線およびライト方向情報に基づいて入力テクスチャ座標を乱すことによって、エンボス型バンプマッピングを実行する。元のテクスチャ座標およびオフセットテクスチャ座標は、メモリ112にストアされている高さフィールド(height-field)バンプマップテクスチャからテクセルをルックアップするために使用される。TEVユニット600は、バンプ高さを見つけるために、これらの値をハードウェア中で1つのパスで減算するために使用され、その値は、エンボス型バンプマッピングを提供するために、ピクセルの最終カラーに加算される。GX_BUMP0 はバンプマップ計算においてライト0が用いられることを示し、GX_BUMP1 はライト1が用いられることを示し、以下同様である。
【0064】
バンプマップのためのdst_coord は順番に番号が付与され、すなわち、ベーステクスチャ座標=nであり、バンプオフセットテクスチャ座標=n+1である。バンプマップテクスチャ座標は座標が変換(GX_TG_MTX2×4 およびGX_TG_MTX3×4)から発生された後でかつ座標がライティングチャネル(GX_TG_SRTG)から発生される前に発生されなければならない。例を以下に示す。
【0065】
【表4】
【0066】
互換性のある他の実施例
上述のシステム50のあるものは上で述べた家庭用ビデオゲームコンソールの構成以外としても実現できる。たとえば、或るものは、システム50をエミュレートする異なる構成を有するプラットフォームもしくはそれと同等のものにおいて、システム50のために書かれたグラフィクスアプリケーションや他のソフトウェアを実行させることができる。もし、他のプラットフォームがシステム50のいくつかのもしくはすべてのハードウェアおよびソフトウェアリソースをエミュレートしシミュレートしおよび/または提供することができれば、その他のプラットフォームはそのソフトウェアを成功裏に実行することができる。
【0067】
一例として、エミュレータがシステム50のハードウェアおよび/またはソフトウェア構成(プラットフォーム)とは異なるハードウェアおよび/またはソフトウェア構成(プラットフォーム)を提供できる。そのエミュレータシステムは、それのためにアプリケーションソフトウェアが書かれているシステムのいくつかのもしくはすべてのハードウェアおよび/またはソフトウェアコンポーネンツをエミュレートしもしくはシミュレートするソフトウェアおよび/またはハードウェアコンポーネンツを含む。たとえば、エミュレータシステムはパソコンのような汎用ディジタルコンピュータを含み、それはシステム50のハードウェアおよび/またはファームウェアをシミュレートするソフトウェアエミュレータプログラムを実行する。上述のオーディオシステムのDSP処理がパソコンによってエミュレートされ得る。
【0068】
或る汎用ディジタルコンピュータ(たとえばIBMやマッキントッシュのパソコンおよびそれらの同等物)は、ダイレクトX(DirectX)または他の標準的な3DグラフィクスコマンドAPIsに従った3Dグラフィクスパイプラインを提供する3Dグラフィクスカードを備える。それらはまた、音声コマンドの標準的なセットに基づいて高品質のステレオ音声を提供するステレオ音声カードを備える。エミュレータソフトウェアを実行するそのようなマルチメディアのハードウェアを備えるパソコンは、システム50のグラフィクスおよび音声性能とほぼ等しい十分な性能を有する。エミュレータソフトウェアはパソコンプラットフォーム上のハードウェアリソースを制御して、それのためにゲームプログラマがゲームソフトウェアを書いた家庭用ビデオゲームコンソールプラットフォームの処理,3Dグラフィクス,音声,周辺および他の能力をシミュレートする。
【0069】
図9はホストプラットフォーム1201,エミュレータコンポーネント1303および記憶媒体62上のゲームソフトウェア実行可能バイナリ映像を用いる全体のエミュレーション処理を図解する。ホスト1201は、たとえばパソコン,ビデオゲームコンソールあるいは十分な計算力を有する任意の他のプラットフォームのような汎用または特定目的ディジタル計算装置である。エミュレータ1303はそのホストプラットフォーム1201上で走るソフトウェアおよび/またはハードウェアであり、記憶媒体62からのコマンド,データおよび他の情報のそのホスト1201によって実行可能な形態へのリアルタイム変換を行う。たとえば、エミュレータ1303は記憶媒体62からシステム50によって実行されるように意図された「ソース」であるバイナリ映像プログラム命令を取り込み、これらのプログラム命令をホスト1201によって実行されもしくは処理され得るターゲットとなる形態に変換する。
【0070】
一例として、ソフトウェアがIBMパワーPCまたは他の特定のプロセサを用いるプラットフォーム上での実行のために書かれかつホスト1201が異なる(たとえばインテル)プロセサを用いるパソコンである場合、エミュレータ1203は記憶媒体1305からの1つのもしくは一連のバイナリ映像プログラム命令を取り込み、これらのプログラム命令を1つまたはそれ以上の同等のインテルのバイナリ映像プログラム命令に変換する。エミュレータ1203はまたグラフィクス/オーディオプロセサ114によって処理されるように意図されたグラフィクスコマンドおよびオーディオコマンドを取り込みかつ/あるいは生成し、そしてホスト1201上で利用可能なハードウェアおよび/またはソフトウェアグラフィクス/オーディオ処理リソースによって処理され得る形態にこれらのコマンドを変換する。一例として、エミュレータ1303はホスト1201の特別なグラフィクスおよび/または音声ハードウェア(たとえば標準的なダイレクトX,オープンGLおよび/または音声APIs)によって処理され得るコマンドにこれらのコマンドを変換する。
【0071】
上で述べたビデオゲームシステムのいくつかのもしくはすべての特徴を与えるために用いられるエミュレータ1303は、また、エミュレータを使ってゲームを走らせている種々のオプションおよびスクリーンモードの選択を簡単化しもしくは自動化するグラフィックユーザインタフェース(GUI)を備える。一例において、そのようなエミュレータ1303はさらにそのソフトウェアが本来的に目的とされたホストプラットフォームに比べてより増強された機能性を含むこともできる。エミュレータ内における特定のグラフィクスサポートハードウェアが図7および図8で示すエンボス型バンプマッピング機能(関数)を含まない場合には、エミュレータの設計者は、
・エンボス型バンプマッピングコマンドを、グラフィクスサポートハードウェアが理解する他のグラフィクスAPIコマンドにトランスレートするか、
・プロセサの速度に依存する性能における潜在的な相応の減少で、バンプマッピング関数(機能)をソフトウェア的に実現するか、
・エンボス効果を含まないレンダリングイメージを与えるように、バンプマッピングコマンドを「無視」する
のどれかの選択肢を有する。
【0072】
図6のフローチャートは、全体として、ソフトウェアで、ハードウェアで、あるいはソフトウェアとハードウェアの組み合わせによって、実現でき、他方、好ましい実施例は、これらの計算の殆どをハードウェアを用いて行い、大きくした速度性能や他の利点を得るようにしている。しかしながら、他の実施例(たとえば、非常に速いプロセサが利用できるような場合)では、図6の計算やステップをソフトウェアで実現し、類似のまたは同一のイメージ結果を与えるようにしてもよい。
【0073】
図10はエミュレータ1303で用いるに適したエミュレーションホストシステム1201を図解的に示す。このシステム1201は処理ユニット1203およびシステムメモリ1205を含む。システムバス1207がシステムメモリ1205を含む種々のシステムコンポーネンツを処理ユニット1203に結合する。システムバス1207は多様なバスアーキテクチャのいずれかを用いるメモリバスもしくはメモリコントローラ,周辺バスおよびローカルバスを含むいくつかのタイプのバス構造の任意のものである。システムメモリ1207はROM1252およびRAM1254を含む。起動中においてのようにパソコンシステム1201中のエレメント(要素)間に情報を伝送する手助けをする基本ルーチンを含む基本入力/出力システム(BIOS)1256がROM1252中にストアされる。システム1201はさらに種々のドライブおよび関連のコンピュータ読出可能な媒体を含む。ハードディスクドライブ1209が(典型的には固定の)磁気ハードディスク1211から読み出しそれへ書き込む。付加的な(たぶんオプションとしての)磁気ディスクドライブ1213が着脱可能な「フロッピィ」または他の磁気ディスク1251から読み出しかつそれへ書き込む。光ディスクドライブ1217はCD−ROMあるいは他の光学媒体のような着脱自在な光ディスク1219から読み出しかつそれへ書き込む。ハードディスクドライブ1209および光ディスクドライブ1217は、ハードディスクドライブインタフェース1221および光ディスクドライブインタフェース1225によって、システムバス1207にそれぞれ接続される。これらのドライブおよびその関連するコンピュータ読出可能な媒体は、パソコンシステム1201のためのコンピュータ読出可能な命令,データ構造,プログラムモジュール,ゲームプログラムおよび他のデータの不揮発性の記憶媒体を提供する。他の構成では、コンピュータによってアクセス可能なデータをストアすることができる他のタイプのコンピュータ読出可能な媒体(たとえば磁気カセット,フラッシュメモリカード,ディジタルビデオディスク,ベルヌーイカートリッジ,RAM,ROMあるいはその他のもの)がまた使用できる。
【0074】
エミュレータ1303を含む多数のプログラムモジュールがハードディスク1211,着脱可能な磁気ディスク1215,光ディスク1219および/またはシステムメモリ1205のROM1252および/またはRAM1254にストアされ得る。このようなプログラムモジュールはグラフィクス/音声APIs,1つ以上のアプリケーションプログラム,他のプログラムモジュール,プログラムデータおよびゲームデータを提供するオペレーティングシステム(OS)を含む。ユーザは、キーボード1227,ポインティングデバイス1229,マイクロフォン,ジョイスティック,ゲームコントローラ,衛星アンテナ(satellite dish),スキャナあるいはその他のもののような入力デバイスを通して、パソコンシステム1201にコマンドおよび情報を入力することができる。これらのそして他の入力デバイスは、システムバス1207に結合されたシリアルポートインタフェース1231を通して処理ユニット1203に接続され得るが、パラレルポート,ゲームポートファイヤワイヤバス(Fire Wire)もしくはユニバーサルシリアルバス(USB)のような他のインタフェースによって接続されてもよい。モニタまたは他のタイプの表示デバイスがまたビデオアダプタ1235のようなインタフェースを介してシステムバス1207に接続される。
【0075】
システム1201はモデム1154またはインターネットのようなネットワーク1152を通しての通信を確立するための他のネットワークインタフェース手段を含む。内蔵もしくは外付けであってよいモデム1154はシリアルポートインタフェース1231を介してシステムバス123に接続される。システム1201がローカルエリアネットワーク1158を介して遠隔コンピュータ装置1150(たとえば他のシステム1201)と通信するのを許容するために、ネットワークインタフェース1156がまた設けられてもよい(もしくはそのような通信はダイヤルアップもしくは他の通信手段のようなワイドエリアネットワーク1152もしくは他の通信経路を介してもよい)。システム1201はプリンタのような周辺出力装置および他の標準的な周辺装置を含む。
【0076】
一例では、ビデオアダプタ1235は、マイクロソフト(Microsoft)のダイレクトX7.0、または他のバージョンのような標準的な3Dグラフィクスアプリケーションプログラマインタフェースに基づいて発行された3Dグラフィクスコマンドに応答して、高速の3Dグラフィクスレンダリングを提供する3Dグラフィクスパイプラインチップセットを含んでもよい。1組のスピーカ1237はまた、バス1207によって与えられる音声コマンドに基づいて高品質ステレオ音声を生成するハードウェアおよび埋め込みソフトウェアを提供する従来の「音声カード」のような音声生成インタフェースを介して、システムバス1207に接続される。これらのハードウェア能力によって記憶媒体1305中にストアされているソフトウェアを再生するためにシステム1201に十分なグラフィクスおよび音声の速度性能を与えることができる。
【0077】
上で参照したすべての書類をここで、参照によって取り入れる。
【0078】
最も現実的かつ好ましい実施例であると現在考えられているものに関連してこの発明が説明されたが、この発明は開示された実施例に限定されるものではなく、逆に、特許請求の範囲内に含まれる種々の変形例や等価的な構成をカバーするように意図されていることを理解されたい。
【図面の簡単な説明】
【図1】図1はインタラクティブコンピュータグラフィクスシステムの実施例を示す全体図である。
【図2】図2は図1実施例のコンピュータグラフィクスシステムのブロック図である。
【図3】図3は図2に示す実施例のグラフィクス/オーディオプロセサのブロック図である。
【図4】図4は図3に示す実施例の3Dグラフィクスプロセサのブロック図である。
【図5】図4のグラフィクス/オーディオプロセサの例示的なロジックフロー図である。
【図6】図6はエンボス型バンプマッピングを実現するための例示的なステップを図解するフローチャートである。
【図7】図7はエンボス型バンプマッピングを実現するために変換ユニットに設けられるベクトル処理およびバンプマッピングハードウェアの例示的なロジックフロー図である。
【図8】図8はエンボス型バンプマッピングを実現するために変換ユニットに設けられた内積計算ユニットおよびライト方向計算ハードウェアの詳細な例を示すブロック図である。
【図9】図9は互換性のある実施例を示す。
【図10】図10は別の互換性のある実施例を示す。
【符号の説明】
50 …インタラクティブ3Dコンピュータグラフィクスシステム
54 …主ユニット
110 …主プロセサ
112 …主メモリ
180 …グラフィクスパイプライン
200 …キャッシュ/コマンドプロセサ
300 …変換ユニット
301 …第1内積計算ユニット
303 …第2内積計算ユニット
500 …テクスチャユニット
502 …テクスチャメモリ
600 …テクスチャ環境(TEV)ユニット

Claims (30)

  1. エンボス型バンプマッピングを行うグラフィックス処理システムであって、
    ポリゴンの複数の頂点の各々の接線および従法線ベクトルデータを記述する頂点アトリビュート記述子を与える手段
    ライト方向ベクトルを計算する手段
    前記ライト方向ベクトルと前記接線および従法線ベクトルデータとに応答して前記頂点の各々のテクスチャ座標変位を計算する手段
    前記計算したテクスチャ座標変位に応答してテクスチャ座標値を発生する手段、および
    エンボス効果を与えるために前記テクスチャ座標値に基づいて前記ポリゴンをテクスチャマッピングする手段を含み、
    テクスチャ座標変位計算手段が前記テクスチャ座標変位を計算するために法線ベクトルデータを使用しない、グラフィックス処理システム
  2. 前記頂点毎のデータは少なくとも、法線,接線,および従法線ベクトルを含む、請求項1記載のグラフィックス処理システム
  3. さらに、接線および従法線ベクトルを目空間へ変換する手段を備える、請求項1記載のグラフィックス処理システム
  4. テクスチャ座標変位計算手段は、計算したライト方向ベクトルと接線および従法線ベクトルとの間でベクトル内積計算を行う手段を含む、請求項1記載のグラフィックス処理システム
  5. ライト方向ベクトル計算手段は少なくとも正規化したライト−頂点間ベクトルを計算する手段を含む、請求項1記載のグラフィックス処理システム
  6. エンボス型バンプマッピングを行うグラフィックス処理システムであって、
    エンボス型バンプマッピングテクスチャ変位を発生することを特定する一般化したテクスチャ座標発生関数をデコードする手段
    デコード手段に応答して従法線およびライト方向情報に基づいて入力テクスチャ座標を乱す手段
    高さフィールドバンプマップにおいてテクセルをルックアップするために入力テクスチャ座標と乱されたテクスチャ座標とを使用する手段
    テクセル値に基づいてバンプ高さ情報を計算する手段、および
    エンボス型バンプマッピングを与えるためにバンプ高さ情報をピクセルカラー情報に結合する手段を含む、グラフィックス処理システム
  7. 乱す手段はハードウェア中において行われる、請求項6記載のグラフィックス処理システム
  8. 乱す手段は、接線ベクトルおよび従法線ベクトルならびにライト方向ベクトルと各ベクトルとの内積に基づいてテクスチャ座標変位値を計算する手段を含む、請求項6記載のグラフィックス処理システム
  9. 計算手段は、入力テクスチャ座標を用いて獲得したテクセルデータから乱されたテクスチャ座標を用いて獲得したテクセルデータを減算する手段を含む、請求項6記載のグラフィックス処理システム
  10. デコード手段は、接線ベクトルおよび従法線ベクトルを特定する一般化した頂点アトリビュート記述関数をデコードする手段を含む、請求項6記載のグラフィックス処理システム
  11. 接線および従法線ベクトルは別のメモリインデックスを参照することによって特定される、請求項10記載のグラフィックス処理システム
  12. プロセサ、および変換およびライティング回路を有する別のグラフィクス処理パイプラインを含むグラフィクスシステムにおいて、
    パイプラインがポリゴンの複数の頂点の各々の接線および従法線から計算したテクスチャ座標変位に応答してテクセルに基づいてエンボス型バンプマッピングを行い、
    グラフィクスパイプラインの頂点変換およびライティング回路中にテクスチャ座標変位計算回路を設けたことを特徴とする、システム。
  13. プロセサ、および別のグラフィクス処理パイプラインを含むグラフィクスシステムにおいて、
    パイプラインがポリゴンの複数の頂点の各々の接線および従法線から計算したテクスチャ座標変位に応答してテクセルに基づいてエンボス型バンプマッピングを行い、
    テクスチャ座標変位計算をパイプライン内で行うようにしたことを特徴とする、システム。
  14. 頂点変換およびライティング処理ハードウェアと、少なくとも接線および従法線のオブジェクト空間表面ベクトルを特定するための増強されたAPI頂点アトリビュート記述コマンド関数とを有し、ジオメトリ処理およびライティングハードウェアがオブジェクト空間の接線および従法線ベクトルを目空間へ変換し、ライト位置および頂点位置に基づいて目空間のライト方向ベクトルを計算し、そしてエンボステクスチャ効果を創る際に使用するためのテクスチャ座標変位を発生するために計算したライト方向ベクトルと変換した接線および従法線表面ベクトルとの間のベクトル内積計算を行うグラフィクス処理システムにおいて、
    接線および従法線ベクトルは、モデルビューマトリクスをスケーリングしかつ接線および従法線ベクトルへそのスケーリングしたモデルビューマトリクスを適用することによってスケーリングされることを特徴とする、グラフィクス処理システム。
  15. 関連のメモリ中にストアされているポリゴン頂点アトリビュートデータおよびテクスチャカラーデータに少なくとも部分的に応答してイメージをレンダリングしかつ表示するグラフィクス処理システムにおいて、
    ハードウェアにおいて実現された頂点変換およびライティング処理部分が、
    ベクトル内積を計算するために少なくとも2つの別個の内積計算回路を含むベクトル処理ユニット、および
    エンボステクスチャ効果を創る際に使用するために少なくとも正規化したライト−頂点間ベクトルおよびテクスチャ変位値のセットを計算するためのバンプマッピングユニットを備えることを特徴とする、グラフィクス処理システム。
  16. 関連のメモリにストアされているポリゴン頂点アトリビュートデータおよびテクスチャカラーデータに少なくとも部分的に応答してイメージをレンダリングしかつ表示するグラフィクス処理システムであって、少なくともエンボス型バンプマッピングテクスチャ効果を実現するためのテクスチャ座標変位値を発生するための頂点変換およびライティング処理ハードウェアを含み、
    頂点変換およびライティング処理ハードウェアは
    ベクトルデータを目空間へ変換するための第1のベクトル内積計算ユニット、
    ライティング方向のベクトル内積を計算するための第2のベクトル内積計算ユニット、
    入力値の交互の平方根を計算するための逆平方根計算ユニット、
    少なくとも1つの浮動小数点乗算器ユニット、および
    少なくとも1つの浮動小数点加算器ユニットを備え、
    APIバンプマッピング関数命令に応答して頂点変換およびライティング処理ハードウェアが頂点毎のベクトルデータを目空間へ変換し、ライティング方向のベクトル内積に基づいてテクスチャ座標変位値を計算し、そしてエンボス型バンプマッピングテクスチャ効果を生成する際に使用するために変位値をテクスチャ座標に加算する、グラフィクス処理システム。
  17. 頂点毎に少なくとも法線,接線および従法線ベクトルを特定しもしくはメモリ中にストアされているこれらのベクトルの少なくとも各々へのインデックスを特定するグラフィクスAPI頂点アトリビュート関数をさらに含む、請求項16記載のグラフィクス処理システム。
  18. APIバンプマッピング関数はエンボス効果を生成するための少なくとも8つの異なるテクスチャのいずれかを特定するように定義されている、請求項16記載のグラフィクス処理システム。
  19. 法線,接線および従法線ベクトルはそれぞれ32ビットのベクトル要素を含む、請求項16記載のグラフィクス処理システム。
  20. 関連のメモリにストアされているポリゴンの頂点アトリビュートデータおよびテクスチャカラーデータに少なくとも部分的に応答してイメージをレンダリングしかつ表示し、少なくとも座標空間変換およびベクトル内積を計算するためのハードウェアを含むジオメトリ変換ユニットを備え、エンボス型バンプマッピングテクスチャ効果を実現するグラフィクス処理システムであって、
    メモリ中に、イメージをマッピングするための2つの直交軸を表す少なくとも2つの座標値によってパラメータ化されたカラー値を含むテクスチャデータイメージをストアする手段、および
    ライト位置情報,テクスチャ座標情報,頂点位置情報およびポリゴンの頂点毎のオブジェクト空間の法線,従法線および接線ベクトルデータをジオメトリ変換ユニットに供給する手段を含み、
    その頂点毎の前記従法線および接線ベクトルデータはそれぞれオブジェクト空間座標系においてバンプマップイメージの各直交軸へマッピングし、さらに
    オブジェクト空間の法線,従法線および接線ベクトルデータを目空間座標系へ変換する手段
    ライト位置および頂点位置情報からライト方向ベクトルを計算する手段
    ライト方向ベクトルと従法線および接線の目空間ベクトル成分の各々との間のベクトル内積に基づいてテクスチャ座標変位を計算する手段
    変位されたテクスチャ座標のセットを得るためにテクスチャ座標変位を目空間テクスチャ座標へ加算する手段
    変位されたテクスチャ座標のセットを使用してストアされたテクスチャデータイメージからテクスチャカラーデータを抽出する手段、および
    1つのパスでテクスチャ減算を行う手段を含む、グラフィックス処理システム
  21. エンボス型バンプマッピングを行うグラフィックス処理システムであって、
    ポリゴンの複数の頂点の各々の接線および従法線ベクトルの記述を与える手段
    ライト方向ベクトルを与える手段
    前記ライト方向ベクトルと前記接線および従法線ベクトルとに応答して前記頂点の各々のテクスチャ座標変位を計算する手段
    前記計算したテクスチャ座標変位に応答してテクスチャ座標を発生する手段、および
    1つのパスでテクスチャ減算を行うテクスチャ結合演算を与える手段を含んで、前記テクスチャ座標に基づいて前記ポリゴンをテクスチャマッピングする手段を含む、グラフィックス処理システム
  22. 前記テクスチャ結合手段はテクスチャハードウェアにおいて行われる、請求項21記載のグラフィックス処理システム
  23. さらに、モデルビューマトリクスをスケーリングしかつそのスケーリングしたモデルビューマトリクスをベクトルデータに付与することによって接線および従法線ベクトルデータをスケーリングする手段を含む、請求項21記載のグラフィックス処理システム
  24. テクスチャ座標変位計算手段は法線ベクトルを使用しない、請求項21記載のグラフィックス処理システム
  25. テクスチャ座標変位計算手段は、
    ライト方向ベクトルと接線ベクトルとの間の第1のベクトル内積、ライト方向ベクトルと従法線ベクトルとの間の第2のベクトル内積、およびライト方向ベクトルの平方を並列的に計算する、請求項21記載のグラフィックス処理システム
  26. テクスチャ座標変位計算手段は2つの別個の内積計算ユニットを用いて行われ、第1の内積計算ユニットは接線および従法線ベクトルの目空間変換を計算し、第2の内積計算ユニットはライト方向ベクトルと接線および従法線ベクトルの各々との間の少なくともベクトル内積を計算する、請求項21記載のグラフィックス処理システム
  27. ロジックアレイ,およびそのロジックアレイ中に設けられ、ポリゴンの複数の頂点の各々の接線および従法線ベクトルとライト方向ベクトルとに基づいてエンボス型バンプマッピングを行うパイプライン構成を含むグラフィクスチップにおいて、
    前記パイプライン構成が、内積計算ユニットおよびスケーリングファクタを受けるようにされた関連するロジック回路を含み、その内積計算ユニットおよび関連するロジック回路はスケーリングファクタに応答してモデルビューマトリクスをスケーリングしかつそのスケーリングしたモデルビューマトリクスを接線および従法線ベクトルに付与して前記頂点の各々のテクスチャ座標変位を与え、さらに前記テクスチャ座標変位に応答してエンボス効果を発生するテクスチャマッピングおよび結合回路を含む、グラフィクスチップ。
  28. 前記テクスチャマッピングおよび結合回路は1つのパスでテクスチャ減算を行う、請求項27記載のグラフィクスチップ。
  29. 内積計算ユニットは変位を計算するために法線入力ベクトルを使用しない、請求項27記載のグラフィクスチップ。
  30. さらに、従法線および接線ベクトルとライト方向ベクトルとの間の内積を並列的に計算する別の内積計算ユニットを含む、請求項27記載のグラフィクスチップ。
JP2001187524A 2000-08-23 2001-06-21 グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 Expired - Fee Related JP4691273B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22689200P 2000-08-23 2000-08-23
US60/226892 2000-08-23
US09/726,218 US6980218B1 (en) 2000-08-23 2000-11-28 Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US09/726218 2000-11-28

Publications (2)

Publication Number Publication Date
JP2002074389A JP2002074389A (ja) 2002-03-15
JP4691273B2 true JP4691273B2 (ja) 2011-06-01

Family

ID=43706149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001187524A Expired - Fee Related JP4691273B2 (ja) 2000-08-23 2001-06-21 グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法

Country Status (2)

Country Link
US (2) US6980218B1 (ja)
JP (1) JP4691273B2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
JP4714919B2 (ja) * 2000-09-13 2011-07-06 株式会社東京大学Tlo レンダリング装置及び記録媒体並びにプログラム
US6828980B1 (en) * 2000-10-02 2004-12-07 Nvidia Corporation System, method and computer program product for z-texture mapping
JP4168748B2 (ja) * 2002-12-20 2008-10-22 富士ゼロックス株式会社 画像処理装置、画像処理プログラム、及び画像処理方法
JP2006219374A (ja) * 2003-06-13 2006-08-24 Daiichi Asubio Pharma Co Ltd Pde7阻害作用を有するイミダゾトリアジノン誘導体
US7400325B1 (en) 2004-08-06 2008-07-15 Nvidia Corporation Culling before setup in viewport and culling unit
US7843463B1 (en) * 2007-06-01 2010-11-30 Nvidia Corporation System and method for bump mapping setup
US9471996B2 (en) * 2008-02-29 2016-10-18 Autodesk, Inc. Method for creating graphical materials for universal rendering framework
US8134551B2 (en) * 2008-02-29 2012-03-13 Autodesk, Inc. Frontend for universal rendering framework
US8212806B2 (en) * 2008-04-08 2012-07-03 Autodesk, Inc. File format extensibility for universal rendering framework
US8620635B2 (en) 2008-06-27 2013-12-31 Microsoft Corporation Composition of analytics models
US8667404B2 (en) * 2008-08-06 2014-03-04 Autodesk, Inc. Predictive material editor
US8601398B2 (en) * 2008-10-13 2013-12-03 Autodesk, Inc. Data-driven interface for managing materials
US8560957B2 (en) * 2008-10-13 2013-10-15 Autodesk, Inc. Data-driven interface for managing materials
US9342901B2 (en) * 2008-10-27 2016-05-17 Autodesk, Inc. Material data processing pipeline
US8584084B2 (en) * 2008-11-12 2013-11-12 Autodesk, Inc. System for library content creation
US8788574B2 (en) 2009-06-19 2014-07-22 Microsoft Corporation Data-driven visualization of pseudo-infinite scenes
US8866818B2 (en) 2009-06-19 2014-10-21 Microsoft Corporation Composing shapes and data series in geometries
US9330503B2 (en) * 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
US20100325564A1 (en) * 2009-06-19 2010-12-23 Microsoft Corporation Charts in virtual environments
US8692826B2 (en) 2009-06-19 2014-04-08 Brian C. Beckman Solver-based visualization framework
US8479150B2 (en) * 2009-08-13 2013-07-02 Accenture Global Services Limited Compositional modeling of integrated systems using event-based legacy applications
WO2011106672A1 (en) * 2010-02-26 2011-09-01 Sensable Technologies, Inc. Systems and methods for creating near real-time embossed meshes
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US9460546B1 (en) 2011-03-30 2016-10-04 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US8970584B1 (en) 2011-06-24 2015-03-03 Nvidia Corporation Bounding box-based techniques for improved sample test efficiency in image rendering
US9147270B1 (en) 2011-06-24 2015-09-29 Nvidia Corporation Bounding plane-based techniques for improved sample test efficiency in image rendering
US9142043B1 (en) 2011-06-24 2015-09-22 Nvidia Corporation System and method for improved sample test efficiency in image rendering
US9269183B1 (en) 2011-07-31 2016-02-23 Nvidia Corporation Combined clipless time and lens bounds for improved sample test efficiency in image rendering
US20130106887A1 (en) * 2011-10-31 2013-05-02 Christopher Tremblay Texture generation using a transformation matrix
US9305394B2 (en) 2012-01-27 2016-04-05 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
US9159158B2 (en) 2012-07-19 2015-10-13 Nvidia Corporation Surface classification for point-based rendering within graphics display system
US9171394B2 (en) 2012-07-19 2015-10-27 Nvidia Corporation Light transport consistent scene simplification within graphics display system
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
WO2016203770A1 (ja) * 2015-06-17 2016-12-22 凸版印刷株式会社 画像処理システム、方法、及びプログラム
CN108665407A (zh) * 2018-05-21 2018-10-16 武汉山骁科技有限公司 一种基于视线方向纹理采样的MatCap算法
CN109345410A (zh) * 2018-09-26 2019-02-15 上海煤气第二管线工程有限公司 一种城镇燃气管道施工数据采集及管理方法
WO2020190284A1 (en) 2019-03-19 2020-09-24 Hewlett-Packard Development Company, L.P. Emulating 3d textual patterns
CN111445453B (zh) * 2020-03-25 2023-04-25 森兰信息科技(上海)有限公司 摄像机获取的琴键图像的偏移判断方法、系统、介质及装置
CN113487717B (zh) * 2021-07-13 2024-02-23 网易(杭州)网络有限公司 图片处理方法及装置、计算机可读存储介质、电子设备
CN114866706B (zh) * 2022-06-01 2024-08-02 北京字跳网络技术有限公司 图像处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002165A1 (fr) * 1998-07-03 2000-01-13 Sega Enterprises, Ltd. Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
JP2000504453A (ja) * 1996-11-21 2000-04-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンピュータグラフィックス画像を発生する方法および装置
WO2000048080A1 (en) * 1999-02-12 2000-08-17 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
JP2002526842A (ja) * 1998-08-20 2002-08-20 アップル コンピュータ インコーポレイテッド ディファード・シェーディング(deferredshading)を伴うグラフィックス・プロセッサ(graphicsprocessor)

Family Cites Families (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275413A (en) 1978-03-30 1981-06-23 Takashi Sakamoto Linear interpolator for color correction
US4357624A (en) 1979-05-15 1982-11-02 Combined Logic Company Interactive video production system
US4491836A (en) * 1980-02-29 1985-01-01 Calma Company Graphics display system and method including two-dimensional cache
US4425559A (en) 1980-06-02 1984-01-10 Atari, Inc. Method and apparatus for generating line segments and polygonal areas on a raster-type display
US4388620A (en) 1981-01-05 1983-06-14 Atari, Inc. Method and apparatus for generating elliptical images on a raster-type video display
US4463380A (en) 1981-09-25 1984-07-31 Vought Corporation Image processing system
US4570233A (en) 1982-07-01 1986-02-11 The Singer Company Modular digital image generator
US4600919A (en) 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4615013A (en) 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
GB8322438D0 (en) * 1983-08-19 1983-10-12 Marconi Avionics Display systems
US4586038A (en) 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4808988A (en) 1984-04-13 1989-02-28 Megatek Corporation Digital vector generator for a graphic display system
US4725831A (en) 1984-04-27 1988-02-16 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4829452A (en) 1984-07-05 1989-05-09 Xerox Corporation Small angle image rotation using block transfers
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4695943A (en) 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
DE3584718D1 (de) 1984-12-07 1992-01-02 Dainippon Screen Mfg Bilddatenverarbeitungsverfahren und system dafuer.
US4625289A (en) 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4710876A (en) 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US5239624A (en) 1985-06-19 1993-08-24 Pixar Pseudo-random point sampling techniques in computer graphics
US4897806A (en) * 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
FR2586838B1 (fr) * 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
US4974177A (en) 1985-10-04 1990-11-27 Daikin Industries Ltd. Mapping circuit of a CRT display device
US4692880A (en) 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
JPS62192878A (ja) 1986-02-20 1987-08-24 Nippon Gakki Seizo Kk 多角形の塗りつぶし方法
US4862392A (en) 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
JPS62231380A (ja) 1986-03-31 1987-10-09 Namuko:Kk 画像合成装置
US5504917A (en) 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US4768148A (en) 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US4785395A (en) 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
US4817175A (en) * 1986-08-26 1989-03-28 Schlumberger Systems And Services, Inc. Video stream processing system
US4855934A (en) 1986-10-03 1989-08-08 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4918625A (en) 1986-12-19 1990-04-17 Cae-Link Corporation Method and apparatus for processing translucent objects
US4965750A (en) 1987-03-31 1990-10-23 Hitachi, Ltd. Graphic processor suitable for graphic data transfer and conversion processes
US4833601A (en) 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US4935879A (en) 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US5170468A (en) 1987-08-18 1992-12-08 Hewlett-Packard Company Graphics system with shadow ram update to the color map
US4965751A (en) 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US5144291A (en) 1987-11-02 1992-09-01 Matsushita Electric Industrial Co., Ltd. Means for eliminating hidden surface
US4945500A (en) 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US4888712A (en) 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US5361386A (en) 1987-12-04 1994-11-01 Evans & Sutherland Computer Corp. System for polygon interpolation using instantaneous values in a variable
CA1309198C (en) 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
US4974176A (en) 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
GB2214037A (en) * 1987-12-18 1989-08-23 Ibm Solid modelling system
US5136664A (en) 1988-02-23 1992-08-04 Bersack Bret B Pixel rendering
JPH0693181B2 (ja) 1988-03-18 1994-11-16 株式会社日立製作所 表示装置
EP0336430B1 (en) * 1988-04-08 1994-10-19 Dainippon Screen Mfg. Co., Ltd. Method of extracting contour of subject image from original
US4907174A (en) * 1988-06-02 1990-03-06 Sun Microsystems, Inc. Z-buffer allocated for window identification
US5097427A (en) * 1988-07-06 1992-03-17 Hewlett-Packard Company Texture mapping for computer graphics display controller system
US5315692A (en) 1988-07-22 1994-05-24 Hughes Training, Inc. Multiple object pipeline display system
US5003496A (en) * 1988-08-26 1991-03-26 Eastman Kodak Company Page memory control in a raster image processor
US4989138A (en) * 1988-09-02 1991-01-29 Tektronix, Inc. Single bus graphics data processing pipeline with decentralized bus arbitration
JPH0727581B2 (ja) 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 図形処理装置
US5016183A (en) 1988-09-13 1991-05-14 Computer Design, Inc. Textile design system and method
US5018076A (en) 1988-09-16 1991-05-21 Chips And Technologies, Inc. Method and circuitry for dual panel displays
JP2685548B2 (ja) 1988-11-28 1997-12-03 株式会社日立製作所 ディジタル画像データの回転方法およびその装置
GB8828342D0 (en) 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5062057A (en) 1988-12-09 1991-10-29 E-Machines Incorporated Computer display controller with reconfigurable frame buffer memory
US5255353A (en) 1989-02-28 1993-10-19 Ricoh Company, Ltd. Three-dimensional shadow processor for an image forming apparatus
US5204944A (en) 1989-07-28 1993-04-20 The Trustees Of Columbia University In The City Of New York Separable image warping methods and systems using spatial lookup tables
DE69031202T2 (de) 1989-10-13 1998-02-19 Matsushita Electric Ind Co Ltd Verfahren und Gerät zur Farbkompensierung in Farbbildern
JPH0776991B2 (ja) * 1989-10-24 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Nurbsデータ変換方法及び装置
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
US5056044A (en) 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
GB2240015A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
ES2100226T3 (es) 1990-02-05 1997-06-16 Ricoh Kk Aparato para visualizar imagenes en movimiento y memoria exterior para su utilizacion en el mismo.
US5224208A (en) 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
US5179638A (en) * 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5163126A (en) 1990-05-10 1992-11-10 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system
GB2244412B (en) 1990-05-12 1994-03-02 Rediffusion Simulation Ltd Image generator
EP0464907B1 (en) * 1990-06-29 1996-10-09 Philips Electronics Uk Limited Generating an image
US5801716A (en) 1990-08-16 1998-09-01 Canon Kabushiki Kaisha Pipeline structures for full-color computer graphics
US5241658A (en) 1990-08-21 1993-08-31 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
JP2725915B2 (ja) 1990-11-15 1998-03-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 三角形描画装置及び方法
US5268995A (en) 1990-11-21 1993-12-07 Motorola, Inc. Method for executing graphics Z-compare and pixel merge instructions in a data processor
US5268996A (en) 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5774133A (en) 1991-01-09 1998-06-30 3Dlabs Ltd. Computer system with improved pixel processing capabilities
US5307450A (en) 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
JPH07122908B2 (ja) * 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
US5421028A (en) 1991-03-15 1995-05-30 Hewlett-Packard Company Processing commands and data in a common pipeline path in a high-speed computer graphics system
US5415549A (en) 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
KR100319768B1 (ko) 1991-08-13 2002-04-22 마거리트 와그너-달 영상화및그래픽처리시스템내에서의다차원주소발생방법
TW225595B (ja) 1991-09-03 1994-06-21 Gen Electric
US5404445A (en) 1991-10-31 1995-04-04 Toshiba America Information Systems, Inc. External interface for a high performance graphics adapter allowing for graphics compatibility
US5353424A (en) 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
US5345541A (en) 1991-12-20 1994-09-06 Apple Computer, Inc. Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device
US5377313A (en) 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
JP2760731B2 (ja) 1992-04-30 1998-06-04 株式会社東芝 グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路
US5469535A (en) 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
US5473736A (en) 1992-06-08 1995-12-05 Chroma Graphics Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects
CA2070934C (en) 1992-06-10 1998-05-05 Benny Chi Wah Lau Graphics display system
US5432900A (en) 1992-06-19 1995-07-11 Intel Corporation Integrated graphics and video computer display system
JPH0628485A (ja) 1992-07-09 1994-02-04 Toshiba Corp テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法
US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
GB2270243B (en) 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
JP2682559B2 (ja) 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
US5432895A (en) 1992-10-01 1995-07-11 University Corporation For Atmospheric Research Virtual reality imaging system
WO1994010641A1 (en) 1992-11-02 1994-05-11 The 3Do Company Audio/video computer architecture
US5890190A (en) * 1992-12-31 1999-03-30 Intel Corporation Frame buffer for storing graphics and video data
US5859645A (en) * 1993-03-26 1999-01-12 Loral Corporation Method for point sampling in computer graphics systems
KR0169152B1 (ko) * 1993-04-09 1999-01-15 이리마지리 쇼우이찌로 게임기용 멀티 접속 장치
US5606650A (en) * 1993-04-22 1997-02-25 Apple Computer, Inc. Method and apparatus for storage and retrieval of a texture map in a graphics display system
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5392393A (en) 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US5878273A (en) 1993-06-24 1999-03-02 Discovision Associates System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data
US5408650A (en) 1993-06-29 1995-04-18 Digital Equipment Corporation Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program
US5490240A (en) * 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
US5487146A (en) * 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5461712A (en) 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
JP3240821B2 (ja) 1994-04-22 2001-12-25 株式会社日立製作所 高機能画像メモリlsi及びそれを用いた表示装置
US5608864A (en) * 1994-04-29 1997-03-04 Cirrus Logic, Inc. Variable pixel depth and format for video windows
WO1995035572A1 (en) * 1994-06-20 1995-12-28 Neomagic Corporation Graphics controller integrated circuit without memory interface
US5768626A (en) 1994-06-24 1998-06-16 Intel Corporation Method and apparatus for servicing a plurality of FIFO's in a capture gate array
US5600763A (en) * 1994-07-21 1997-02-04 Apple Computer, Inc. Error-bounded antialiased rendering of complex scenes
JPH08123969A (ja) * 1994-10-28 1996-05-17 Mitsubishi Electric Corp マッピング装置
US5593350A (en) * 1994-11-04 1997-01-14 Thrustmaster, Inc. Video game card having interrupt resistant behavior
US5900881A (en) 1995-03-22 1999-05-04 Ikedo; Tsuneo Computer graphics circuit
US5805868A (en) 1995-03-24 1998-09-08 3Dlabs Inc. Ltd. Graphics subsystem with fast clear capability
US5815166A (en) 1995-03-24 1998-09-29 3Dlabs Inc., Ltd. Graphics subsystem with slaveable rasterizer
US5594854A (en) 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
US5764243A (en) 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
US5727192A (en) 1995-03-24 1998-03-10 3Dlabs Inc. Ltd. Serial rendering system with auto-synchronization on frame blanking
US5701444A (en) 1995-03-24 1997-12-23 3Dlabs Inc. Ltd. Three-dimensional graphics subsystem with enhanced support for graphical user interface
US6025853A (en) 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5777629A (en) 1995-03-24 1998-07-07 3Dlabs Inc. Ltd. Graphics subsystem with smart direct-memory-access operation
US5798770A (en) 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
US5687357A (en) 1995-04-14 1997-11-11 Nvidia Corporation Register array for utilizing burst mode transfer on local bus
US5714981A (en) * 1995-04-21 1998-02-03 Advanced Gravis Computer Technology, Ltd. Gameport communication apparatus and method
US5798762A (en) * 1995-05-10 1998-08-25 Cagent Technologies, Inc. Controlling a real-time rendering engine using a list-based control mechanism
US5721947A (en) 1995-05-15 1998-02-24 Nvidia Corporation Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program
US5758182A (en) 1995-05-15 1998-05-26 Nvidia Corporation DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus
JP3081774B2 (ja) * 1995-05-24 2000-08-28 シャープ株式会社 テクスチャーパターンメモリ回路
JPH08328941A (ja) * 1995-05-31 1996-12-13 Nec Corp メモリアクセス制御回路
US5877741A (en) * 1995-06-07 1999-03-02 Seiko Epson Corporation System and method for implementing an overlay pathway
JPH0916806A (ja) * 1995-07-04 1997-01-17 Ricoh Co Ltd 立体画像処理装置
JP3780011B2 (ja) * 1995-07-14 2006-05-31 株式会社ルネサステクノロジ 半導体記憶装置
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US6016150A (en) * 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5880737A (en) * 1995-08-04 1999-03-09 Microsoft Corporation Method and system for accessing texture data in environments with high latency in a graphics rendering system
US5867166A (en) * 1995-08-04 1999-02-02 Microsoft Corporation Method and system for generating images using Gsprites
US5734386A (en) * 1995-09-08 1998-03-31 Evans & Sutherland Computer Corporation System and method for displaying textured polygons using planar texture interpolation
US6026182A (en) * 1995-10-05 2000-02-15 Microsoft Corporation Feature segmentation
KR100371456B1 (ko) * 1995-10-09 2004-03-30 닌텐도가부시키가이샤 삼차원화상처리시스템
US5835102A (en) * 1995-10-19 1998-11-10 Sparta, Inc. System for transmission and recovery of digital data using video graphics display processor and method of operation thereof
US5740343A (en) * 1995-11-03 1998-04-14 3Dfx Interactive, Incorporated Texture compositing apparatus and method
US5724561A (en) * 1995-11-03 1998-03-03 3Dfx Interactive, Incorporated System and method for efficiently determining a fog blend value in processing graphical images
KR100261076B1 (ko) 1995-11-09 2000-07-01 윤종용 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
US6022274A (en) * 1995-11-22 2000-02-08 Nintendo Co., Ltd. Video game system using memory module
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5883638A (en) * 1995-12-01 1999-03-16 Lucas Digital, Ltd. Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping
DE19606357A1 (de) 1996-02-12 1997-08-14 Gmd Gmbh Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
US5870587A (en) * 1996-03-20 1999-02-09 International Business Machines Corporation Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface
US6020931A (en) * 1996-04-25 2000-02-01 George S. Sheng Video composition and position system and media signal communication system
US5949440A (en) 1996-04-30 1999-09-07 Hewlett Packard Compnay Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware
US5886705A (en) * 1996-05-17 1999-03-23 Seiko Epson Corporation Texture memory organization based on data locality
US5821949A (en) 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
US5874969A (en) 1996-07-01 1999-02-23 Sun Microsystems, Inc. Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US5877771A (en) * 1996-07-12 1999-03-02 Silicon Graphics, Inc. Method and apparatus for supersampling based on the local rate of change in texture
US6038348A (en) * 1996-07-24 2000-03-14 Oak Technology, Inc. Pixel image enhancement system and method
US5887155A (en) * 1996-07-25 1999-03-23 Microunity Systems Engineering, Inc. Vertex based geometry engine system for use in integrated circuit design
MY119610A (en) * 1996-07-31 2005-06-30 Sony Corp Apparatus and method for storing and accessing picture generation data
US6028611A (en) 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
JP3387750B2 (ja) 1996-09-02 2003-03-17 株式会社リコー シェーディング処理装置
US6018350A (en) * 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
US5861888A (en) * 1996-11-27 1999-01-19 Vlsi Technology Inc Method and a system for the nonlinear storage of a texture map within a linear memory device
US5940086A (en) 1997-01-10 1999-08-17 Hewlett Packard Company System and method for dynamically allocating data among geometry accelerators in a computer graphics system
US6078332A (en) * 1997-01-28 2000-06-20 Silicon Graphics, Inc. Real-time lighting method using 3D texture mapping
US5870098A (en) * 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
US5949424A (en) 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
US6037948A (en) * 1997-03-07 2000-03-14 Silicon Graphics, Inc. Method, system, and computer program product for updating texture with overscan
US6043804A (en) * 1997-03-21 2000-03-28 Alliance Semiconductor Corp. Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation
JP2845857B2 (ja) * 1997-04-01 1999-01-13 コナミ株式会社 画像の半透明表示装置,半透明表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体
WO1998045815A1 (en) * 1997-04-04 1998-10-15 Intergraph Corporation Apparatus and method for applying effects to graphical images
JP3294149B2 (ja) 1997-04-23 2002-06-24 シャープ株式会社 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置
US6057852A (en) 1997-04-30 2000-05-02 Hewlett-Packard Company Graphics accelerator with constant color identifier
US6028608A (en) * 1997-05-09 2000-02-22 Jenkins; Barry System and method of perception-based image generation and encoding
US5861893A (en) * 1997-05-27 1999-01-19 Intel Corporation System and method for graphics data concurrency and coherency
US5920326A (en) 1997-05-30 1999-07-06 Hewlett Packard Company Caching and coherency control of multiple geometry accelerators in a computer graphics system
US5969726A (en) 1997-05-30 1999-10-19 Hewlett-Packard Co. Caching and coherency control of multiple geometry accelerators in a computer graphics system
US5870109A (en) * 1997-06-06 1999-02-09 Digital Equipment Corporation Graphic system with read/write overlap detector
US6043821A (en) * 1997-06-30 2000-03-28 Ati Technologies, Inc. Method and apparatus for rendering pixel information from blended texture maps
US6038031A (en) * 1997-07-28 2000-03-14 3Dlabs, Ltd 3D graphics object copying with reduced edge artifacts
JPH1153580A (ja) 1997-07-31 1999-02-26 Sony Corp 3次元画像処理装置及びビデオ合成方法
US6037949A (en) 1997-08-04 2000-03-14 Pixar Animation Studios Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation
JPH1176614A (ja) 1997-09-11 1999-03-23 Sega Enterp Ltd コンピュータゲーム装置
US6016151A (en) * 1997-09-12 2000-01-18 Neomagic Corp. 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation
US6037947A (en) * 1997-10-16 2000-03-14 Sun Microsystems, Inc. Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
US6035360A (en) * 1997-10-29 2000-03-07 International Business Machines Corporation Multi-port SRAM access control using time division multiplexed arbitration
US6002409A (en) 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
US6021417A (en) * 1997-10-31 2000-02-01 Foto Fantasy, Inc. Method of stimulating the creation of an artist's drawing or painting, and device for accomplishing same
JPH11161819A (ja) 1997-11-27 1999-06-18 Sega Enterp Ltd 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体
JPH11203500A (ja) 1998-01-09 1999-07-30 Sega Enterp Ltd 画像処理装置及びそれに利用されるバンプマップデータを格納した記録媒体
US6014144A (en) 1998-02-03 2000-01-11 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
JPH11226257A (ja) 1998-02-16 1999-08-24 Sony Computer Entertainment Inc 携帯用電子機器及びエンタテインメントシステム並びに記録媒体
JP4061697B2 (ja) 1998-03-12 2008-03-19 株式会社セガ 画像表示方法及びそれを実行する画像表示装置
JPH11259678A (ja) 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示装置及びそれによる画像表示方法
US6023738A (en) 1998-03-30 2000-02-08 Nvidia Corporation Method and apparatus for accelerating the transfer of graphical images
US6226012B1 (en) 1998-04-02 2001-05-01 Nvidia Corporation Method and apparatus for accelerating the rendering of graphical images
US6191794B1 (en) * 1998-04-08 2001-02-20 Nvidia Corporation Method and apparatus for scaling texture maps for graphical images
US6092124A (en) 1998-04-17 2000-07-18 Nvidia Corporation Method and apparatus for accelerating the rendering of images
US6492991B1 (en) 1998-08-28 2002-12-10 Ati International Srl Method and apparatus for controlling compressed Z information in a video graphics system
US6552726B2 (en) * 1998-07-17 2003-04-22 Intel Corporation System and method for fast phong shading
GB2341068B (en) 1998-07-31 2002-11-06 Sony Uk Ltd Caching in digital video processing apparatus
JP2000066985A (ja) 1998-08-20 2000-03-03 Sony Computer Entertainment Inc エンタテインメントシステム及びデータ供給方法、データ処理装置及び方法、並びにデータ記憶制御装置及び方法
US6552723B1 (en) * 1998-08-20 2003-04-22 Apple Computer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
JP4399910B2 (ja) 1998-09-10 2010-01-20 株式会社セガ ブレンディング処理を含む画像処理装置及びその方法
US6177944B1 (en) * 1998-09-18 2001-01-23 International Business Machines Corporation Two phase rendering for computer graphics
JP2000132704A (ja) 1998-10-26 2000-05-12 Sony Corp 画像情報処理装置及び方法
JP3668019B2 (ja) 1998-10-27 2005-07-06 株式会社ソニー・コンピュータエンタテインメント 記録媒体、画像処理装置および画像処理方法
JP2000156875A (ja) 1998-11-19 2000-06-06 Sony Corp 映像制作装置および映像表示システムおよびグラフィックス制作方法
JP4240343B2 (ja) 1998-12-19 2009-03-18 株式会社セガ 画像生成装置および画像生成方法
JP4395902B2 (ja) 1999-01-19 2010-01-13 株式会社セガ 画像処理方法及び、これを利用した画像処理装置
JP2000215325A (ja) 1999-01-21 2000-08-04 Sega Enterp Ltd 画像処理方法および画像処理装置並びにプログラムを記録した記録媒体
US6353438B1 (en) * 1999-02-03 2002-03-05 Artx Cache organization—direct mapped cache
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6392655B1 (en) * 1999-05-07 2002-05-21 Microsoft Corporation Fine grain multi-pass for multiple texture rendering
US6173367B1 (en) 1999-05-19 2001-01-09 Ati Technologies, Inc. Method and apparatus for accessing graphics cache memory
US6807311B1 (en) 1999-07-08 2004-10-19 Ati International Srl Method and apparatus for compressing and storing image data
US6339428B1 (en) * 1999-07-16 2002-01-15 Ati International Srl Method and apparatus for compressed texture caching in a video graphics system
US6476811B1 (en) 1999-09-01 2002-11-05 Ati International, Srl Method and apparatus for compressing parameter values for pixels in a display frame
US6618048B1 (en) * 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6452600B1 (en) * 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6452595B1 (en) * 1999-12-06 2002-09-17 Nvidia Corporation Integrated graphics processing unit with antialiasing
US6198488B1 (en) 1999-12-06 2001-03-06 Nvidia Transform, lighting and rasterization system embodied on a single semiconductor platform
US6518968B1 (en) * 2000-05-17 2003-02-11 Hewlett-Packard Company Method and apparatus for performing H-space bump mapping suitable for implementation with H-space lighting in a graphics pipeline of a computer graphics display system
US6639595B1 (en) * 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000504453A (ja) * 1996-11-21 2000-04-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンピュータグラフィックス画像を発生する方法および装置
WO2000002165A1 (fr) * 1998-07-03 2000-01-13 Sega Enterprises, Ltd. Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
JP2002526842A (ja) * 1998-08-20 2002-08-20 アップル コンピュータ インコーポレイテッド ディファード・シェーディング(deferredshading)を伴うグラフィックス・プロセッサ(graphicsprocessor)
WO2000048080A1 (en) * 1999-02-12 2000-08-17 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture

Also Published As

Publication number Publication date
US20050195210A1 (en) 2005-09-08
JP2002074389A (ja) 2002-03-15
US6980218B1 (en) 2005-12-27
US7307640B2 (en) 2007-12-11

Similar Documents

Publication Publication Date Title
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
JP4658378B2 (ja) グラフィクスシステムにおいて環境を写し込んだバンプマッピングのための方法および装置
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
JP4890638B2 (ja) グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
JP4846120B2 (ja) スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置
US6664962B1 (en) Shadow mapping in a low cost graphics system
US6707458B1 (en) Method and apparatus for texture tiling in a graphics system
EP1189173B1 (en) Achromatic lighting in a graphics system and method
JP4808858B2 (ja) グラフィクスパイプラインおよびそれの同期化方法
JP4731028B2 (ja) グラフィクスシステム用再循環シェードツリーブレンダ
US6664958B1 (en) Z-texturing
US7061502B1 (en) Method and apparatus for providing logical combination of N alpha operations within a graphics system
JP4975159B2 (ja) グラフィックシステム、グラフィックス画像を生成する方法およびプログラムにおける無色光のライティング
JP4740490B2 (ja) グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
JP4740476B2 (ja) グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置
JP4698894B2 (ja) グラフィックスシステムにおけるテクスチャタイリングのための方法、装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110221

R150 Certificate of patent or registration of utility model

Ref document number: 4691273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees