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

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

Info

Publication number
JP2002074389A
JP2002074389A JP2001187524A JP2001187524A JP2002074389A JP 2002074389 A JP2002074389 A JP 2002074389A JP 2001187524 A JP2001187524 A JP 2001187524A JP 2001187524 A JP2001187524 A JP 2001187524A JP 2002074389 A JP2002074389 A JP 2002074389A
Authority
JP
Japan
Prior art keywords
texture
vector
vertex
tangent
graphics
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.)
Granted
Application number
JP2001187524A
Other languages
English (en)
Other versions
JP4691273B2 (ja
Inventor
Eric Demers
デマーズ エリック
Mark M Leather
エム レザー マーク
G Segal Mark
ジー シーガル マーク
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

Abstract

(57)【要約】 【構成】 グラフィクスシステムは3Dグラフィクスパ
イプラインおよびオーディオDSPを含むグラフィクス
/オーディオプロセサを備える。エンボス型効果が、2
つの別個の内積計算ユニットを含む完全にパイプライン
化したハードウェアを用いて創られ、そのユニットは、
スケーリングされたモデルビューマトリクスを法線入力
を必要としないで実行し、かつ外積および接線ベクトル
とライト方向ベクトルとの間の内積を並列的に計算す
る。結果的に得られたテクスチャ座標変位は、1つのパ
スでテクスチャ結合を与えるテクスチャマッピング演算
を行うテクスチャマッピングハードウェアへ与えられ
る。 【効果】 表面上での高低パターンのようなエンボス型
のイメージ効果を効率的に提供することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータグラフィ
クスに関し、より特定的には、家庭用ビデオゲームプラ
ットフォームのようなインタラクティブなグラフィクス
システムに関する。さらに特定的には、この発明は、レ
ンダリングしたオブジェクト上での拡散光テクスチャの
ためのエンボス型バンプマッピング(emboss-style bump
-mapping)効果を実現するテクスチャ座標変位の効率的
な発生に関する。
【0002】
【発明の背景および発明の概要】多くの人々はかなりリ
アルな恐竜,エイリアン,生き生きとしたおもちゃおよ
び他の空想的な動物を含む映画をかつて見たことがあ
る。そのようなアニメーションはコンピュータグラフィ
クスによって可能とされた。そのような技術を用いて、
コンピュータグラフィクスのアーティストは、各オブジ
ェクトがどのように見えるべきかや時間の経過とともに
外見上どのように変化すべきかを特定し、コンピュータ
は、そのオブジェクトをモデル化してテレビジョンやコ
ンピュータスクリーンのようなディスプレイに表示す
る。コンピュータは、表示される映像の各部分を、場面
中の各オブジェクトの位置や向き,各オブジェクトを照
らすように見える照明の方向,各オブジェクトの表面テ
クスチャ,および他の要素に正確に基づいて、色付けし
また形作るために必要な多くのタスクを実行する。
【0003】コンピュータグラフィクスの生成は複雑で
あるので、ここ数年前のコンピュータによって生成され
た3次元(3D)グラフィクスは、ほとんど高価な特殊
なフライトシミュレータ,ハイエンドグラフィクスワー
クステーションおよびスーパーコンピュータに限られて
いた。大衆は映画や高価なテレビコマーシャルにおいて
これらのコンピュータシステムによって生成された映像
のいくつかを見たが、大部分の人はグラフィクスを生成
しているコンピュータに対して実際に相互作用をさせる
ことはできない。たとえば、Nintendo64(登録商標)や
今や利用可能であるパソコン用の種々の3Dグラフィク
スカードのような比較的安価な3Dグラフィクスプラッ
トフォームの利用によって、このすべてが変わった。今
や、家庭や会社の比較的安価なコンピュータグラフィク
スシステム上でエキサイティングな3Dアニメーション
やシミュレーションに対して相互作用を及ぼすことがで
きる。
【0004】グラフィクスシステム設計者が過去に直面
した問題は、たとえば、ランダムな表面の傷(flaws),
でこぼこ(irregularities, roughness),隆起(バンプ:
bump),あるいは他の非平滑表面変形を有する実際のオ
ブジェクトの表面と同じような態様で、種々のライティ
ング(lighting) 条件に反応する本物らしく見える表面
特性をもって、3Dオブジェクトを如何にテクスチャリ
ングするかである。いくつかの例ではそのような微小な
表面特性が実際にモデリングされ得たかもしれないが、
そのような複雑な表面を3Dオブジェクトにトランスレ
ートしかつレンダリングするために要する時間は、大部
分のリアルタイムでのもしくはインタラクティブなゲー
ムアプリケーションをほとんど不可能にする。したがっ
て、この問題に対する種々のソリューションが提案され
ている。たとえば、一般的に「バンプマッピング」とし
て知られている技術が開発され、それによって、非平坦
表面の変化をライティングされたオブジェクト上に生成
するという効果を近似することができる。たとえば、J
Fブリンの「しわのある表面のシミュレーション」コン
ピュータグラフィクス、(SIGRAPH’78会
報)、vol.12,No. 3、pp.286−29
2(1978年8月);「コンピュータ合成画像のため
の光反射のモデル」、コンピュータグラフィクスおよび
教育的技術の第4回会議の会報(1977年);および
トム・マクリノルズおよびデビット・ブライスによる
「オープンGLでのプログラミング:先進レンダリン
グ」SIGRAPH97年コースの第8.3章の「テク
スチャによるバンプマッピング」を参照されたい。基本
的に、バンプマッピングによれば、グラフィクスアプリ
ケーションのプログラマは、微小表面変化を高低差(hei
ght difference) としてモデリングし、かつ次いで、そ
れらの差の値を表面ライティング効果を計算する際に用
いる表面の法線ベクトルへの乱れ(perturbation) とし
て1つの表面にわたって付与することによって、たくさ
んのジオメトリを使うことなしに、オブジェクトの表面
に本物らしさを付加することができる。実際に、バンプ
マッピングは、ピクセルベースで表面法線を乱すことに
よって、ポリゴン(またはプリミティブ)のシェーディ
ングを修正する。下にあるジオメトリがほぼ平坦であっ
ても、シェーディングによって表面をでこぼこに(bump
y) 見せることができる。
【0005】拡散光(diffuse-lit) でテクスチャリング
された表面を有するバンプマッピング効果の単純な形式
を実現することに向けられた大部分の従来のアプローチ
は、一般的に、各ピクセル毎に、特定のテクスチャ座標
におけるバンプマッピングテクスチャイメージの第1の
サンプルとテクスチャ座標変位における同じテクスチャ
イメージの第2のサンプルとの間の差を計算することを
伴う。さらに、テクスチャ座標変位マップを計算するこ
とは、表面接線および外積ベクトル(バイノーマル:bi
normals)の目空間(eye-space) 成分を使用する計算を
一般的に含む。特に、テクスチャイメージ上でエンボス
型の効果を有するバンプマッピングの単純な形式を実現
するためには、目空間(ビュー空間/カメラ空間:view-
space/camera-space)参照フレーム(これは表示のため
のレンダリングに先立つ後続のラスタライジング処理の
助けとなる)においてテクスチャ座標変位を計算しかつ
付与することが最も効率的である。したがって、エンボ
ス型バンプマッピングのためのテクスチャ座標変位は、
好ましくは、頂点における頂点位置および表面バイノー
マルがモデル空間(model-space) からピクセルレンダリ
ングのための目空間へ変換された後に計算されかつ発生
される。
【0006】典型的には、家庭用ビデオゲームシステム
のような低価格グラフィクス処理システムにおいては、
頂点変換およびライティング(T&L:transformation
andlighting)演算はグラフィクスシステムのホストC
PUを用いてアプリケーションプログラムによって共通
的に行われる。その理由は、一義的には、ソフトウェア
による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)を
スケーリングすること ・外積および接線ベクトルを用いるがしかし法線(Norma
l)入力ベクトルを用いないテクスチャ変位の計算 ・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(および/または他の入力デバイ
ス)からの入力をグラフィクス/オーディオプロセサ1
14を通して受ける。主プロセサ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は大容量記憶媒体アクセス装置1
06および/または他のコンポーネントと通信するため
に用いられる。シリアル周辺バス132は多様な周辺機
器または、たとえば、 ・PROMおよび/またはRTC(リアルタイムクロッ
ク)134, ・モデム136もしくは他のネットワークインタフェー
ス(それはシステム100を、プログラム命令および/
またはデータがダウンロードもしくはアップロードされ
得るインターネットあるいは他のディジタルネットワー
クのようなテレコミュニケーションネットワーク138
に接続する),および ・フラッシュメモリ140 を含む他のデバイスと通信する。別の外部シリアルバス
142は、付加的な拡張メモリ144(たとえばメモリ
カード)もしくは他のデバイスと通信するために使用さ
れ得る。コネクタが種々のデバイスをバス130,13
2および142に接続するために使用され得る。 グラフィクス/オーディオプロセサの例 図3は実施例のグラフィクス/オーディオプロセサ11
4を示すブロック図である。或る実施例においては、グ
ラフィクス/オーディオプロセサ114はシングルチッ
プASICであってよい。この実施例においては、グラ
フィクス/オーディオプロセサ114は、 ・プロセサインタフェース150, ・メモリインタフェース/コントローラ152, ・3Dグラフィクスプロセサ154, ・オーディオディジタル信号プロセサ(DSP)15
6, ・オーディオメモリインタフェース158, ・オーディオインタフェース/ミキサ160, ・周辺コントローラ162,および ・表示コントローラ164 を含む。
【0022】3Dグラフィクスプロセサ154はグラフ
ィクス処理タスクを実行する。オーディオディジタル信
号プロセサ156はオーディオ処理タスクを実行する。
表示コントローラ164は主メモリ112からの映像情
報にアクセスし、表示装置102上での表示のためにそ
の映像情報をビデオエンコーダ120に与える。オーデ
ィオインタフェース/ミキサ160はオーディオコーデ
ック122をインタフェースし、また異なるソースから
のオーディオ(たとえば、大容量記憶媒体アクセス装置
106からのオーディオストリーム,オーディオDSP
156の出力,およびオーディオコーデック122を通
して受ける外部オーディオ入力)をミックスすることが
できる。プロセサインタフェース150は主プロセサ1
10およびグラフィクス/オーディオプロセサ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に通信する。主プロセサ11
0はメモリレイテンシを最小化するために2レベルキャ
ッシュ112を有し、さらにまたグラフィクス/オーデ
ィオプロセサ114に向けられたキャッシュされていな
いデータストリームのための書込収集(write-gatherin
g)バッファ111を有する。この書込収集バッファ11
は部分キャッシュラインを全キャッシュラインに集め、
バスの最大使用時に、グラフィクス/オーディオプロセ
サ114からのデータを1つのキャッシュラインに送
る。
【0024】コマンドプロセサ200は主プロセサ11
0からの表示コマンドを受け、それらを解剖し、メモリ
コントローラ152を介して共用メモリ112からのそ
のコマンドを処理するに必要な付加的なデータを入手す
る。コマンドプロセサ200は、2Dおよび/または3
D処理およびレンダリングのために、頂点コマンドのス
トリームをグラフィクスパイプライン180に与える。
グラフィクスパイプライン180はこれらのコマンドに
基づいて映像を生成する。結果として得られた映像情報
は、表示コントローラ/ビデオインタフェースユニット
164によるアクセスのために主メモリ120に転送さ
れ得て、この映像情報は表示装置156上にパイプライ
ン180のフレームバッファ出力を表示する。
【0025】図5はグラフィクスプロセサ154を用い
て実行される処理を図解的に示すブロックロジックフロ
ー図である。主プロセサ10は、グラフィクスコマンド
ストリーム210,表示リスト212および頂点アレイ
214を主メモリ112にストアし、ポインタをバスイ
ンタフェース150を介してコマンドプロセサ200に
送る。主プロセサ110は主メモリ110内に割り付け
られた1つ以上のグラフィクスFIFOバッファ210
にグラフィクスコマンドをストアする。このコマンドプ
ロセサ200は、 ・同期/フロー制御および負荷バランスのためにグラフ
ィクスコマンドを受けかつバッファするオンチップFI
FOメモリバッファ216を介して主メモリ112から
のコマンドストリーム, ・オンチップコールFIFOメモリバッファ218を介
して主メモリ112からの表示リスト212,および ・コマンドストリームからおよび/または主メモリ11
2の頂点アレイ214からの頂点アトリビュートを頂点
キャッシュ220を介して取り込む。
【0026】コマンドプロセサ200はコマンド処理動
作200aを実行し、そのコマンド処理動作200aは
アトリビュート形式を浮動小数点フォーマットに変換
し、結果的に得られた完全頂点ポリゴンデータをレンダ
リング/ラスタライゼーションのためにグラフィクスパ
イプライン180に与える。プログラマブルメモリ調停
回路130(グラフィクスメモリ要求調停回路:図4)
は、グラフィクスパイプライン180,コマンドプロセ
サ200および表示コントローラ/ビデオインタフェー
スユニット164の間での共用主メモリ112へのアク
セスを調停する。
【0027】図4は、グラフィクスパイプライン180
が ・変換ユニット300, ・セットアップ/ラスタライザ400, ・テクスチャユニット500, ・テクスチャ環境ユニット600,および ・ピクセルエンジン700 を含むことを示す。
【0028】変換ユニット300は多様な2Dおよび3
D変換および他の動作300a(図5)を実行する。変
換ユニット300は変換処理300aに用いられるマト
リクスをストアするための1つ以上のマトリクスメモリ
300bを含む。変換ユニット300は、入来する頂点
毎のジオメトリをオブジェクト空間からスクリーン空間
へ変換し、そして入来するテクスチャ座標を変換しかつ
投影テクスチャ座標(300c)を計算する。変換ユニ
ット300はまたポリゴンクリッピング/カリング(cli
pping/culling)300dを実行する。変換ユニット30
0bによってまた達成されるライティング(lighting)
処理300eが、この実施例では8つまでの独立した照
明(light:ライト)について、頂点毎にライティング計
算を行う。変換ユニット300は、エンボス(embossed)
タイプのバンプマッピング効果およびポリゴンクリッピ
ング/カリング動作(300d)のために、テクスチャ
座標を発生する(300c)。
【0029】セットアップ/ラスタライザ400はセッ
トアップユニットを含み、このセットアップユニット
は、変換ユニット300からの頂点データを受け、三角
形セットアップ情報を、エッジラスタライゼーション,
テクスチャ座標ラスタライゼーションおよびカラーラス
タライゼーションを実行する1つ以上のラスタライザユ
ニット(400b)に送る。
【0030】テクスチャユニット500は、オンチップ
テクスチャメモリ(TMEM)502を含んでもよく、
たとえば、 ・主メモリ112からのテクスチャ504の検索、 ・たとえばマルチテクスチャ処理,ポストキャッシュテ
クスチャ伸長,テクスチャフィルタリング,エンボシン
グ,投影テクスチャの使用を通しての陰影付け,および
アルファトランスパーレンシおよびデプスを用いるBL
ITを含むテクスチャ処理(500a)、 ・バンプマッピング,偽(pseudo)テクスチャおよびテク
スチャタイル(tiling)効果(500b)のためのテクス
チャ座標変位を計算するバンプマップ処理、および ・間接テクスチャ処理(500c) を含むテクスチャリングに関連する種々のタスクを実行
する。
【0031】テクスチャユニット500は正規(非間
接)および間接テクスチャルックアップ演算の両方を用
いてテクスチャ処理を行う。具体的なグラフィクスパイ
プライン回路および正規(直接)および間接テクスチャ
ルックアップ演算を行う手順のより詳細な説明が同じ出
願人に譲渡された同時係属中の特願2001−4266
7「グラフィクスシステムにおける直接および間接テク
スチャ処理方法および装置」に開示されていて、ここで
は参照によってその内容を取り入れる。
【0032】テクスチャユニット500はテクスチャ環
境処理(600a)のためにフィルタされたテクスチャ
値をテクスチャ環境ユニット600に出力する。テクス
チャ環境ユニット600は、ポリゴンおよびテクスチャ
カラー/アルファ/デプスをブレンドし、また逆レンジ
ベース(reverse range based)のフォグ効果を達成する
ために、テクスチャフォグ処理(600b)を実行す
る。テクスチャ環境ユニット600はたとえばカラー/
アルファ変調,エンボシング,詳細テクスチャ,テクス
チャスワッピング,クランピングおよびデプスブレンデ
ィングに基づく多様な他の環境関連機能を実行する多数
のステージを提供する。テクスチャ環境ユニット600
はまた、1つのパスでハードウェア内のテクスチャを結
合(たとえば、減算)する。テクスチャ環境ユニットに
関するより詳細は、「グラフィクスシステム用再循環シ
ェードツリーブレンダ」(特願2001−81892)
に開示されていて、ここでは参照によってそれを取り入
れる。
【0033】ピクセルエンジン700はデプス(z)比
較(700a)およびピクセルブレンディング(700
b)を実行する。この実施例では、ピクセルエンジン7
00はデータを埋め込み(オンチップ)フレームバッフ
ァメモリ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において定義されて
いる頂点アトリビュート関数を使用する変換ユニット3
00へ、オブジェクト空間ベースで接線および外積ベク
トルデータを与える(ブロック802)。変換ユニット
300はその接線および外積ベクトルデータを目空間へ
変換する(ブロック804)。変換ユニット300はま
た、ライト方向(ライト−頂点間)ベクトルおよび正規
化したライト方向ベクトルを計算する(ブロック80
6)。変換ユニット300は、次いで、テクスチャ座標
変位および頂点毎の新しいテクスチャ座標値を計算する
(ブロック808,810)。テクスチャ環境(TE
V)ユニット600は、テクスチャメモリ502にスト
アされている元のテクスチャからその変位によって規定
されるオフセットテクスチャを差し引くことによってエ
ンボステクスチャを発生する(ブロック812)。換言
すれば、元のテクスチャが非変位座標(s,t)および
変位座標(s+Δs,t+Δt)を用いてルックアップ
され、テクスチャ値がピクセル毎に減算される。この結
果がグラフィクスパイプライン180における頂点毎の
局所的な拡散ライティングと結合され、結果的に得られ
たエンボスイメージが表示装置56上での表示のために
レンダリングされる(ブロック814)。エンボスイメ
ージの結果はまた他のテクスチャと結合されてもよい。
【0036】詳細に述べると、上で述べたバンプマッピ
ングは、少なくとも、(1) 入力テクスチャ座標に基づく
テクスチャ座標変位(Δs,Δt)(ブロック80
8),(2) 正規化したライト方向(ブロック806)お
よび(3) 頂点毎の座標ベース(basic)関数(ブロック8
02)を発生する。用いられる好ましいベース関数は直
交オブジェクト空間座標ベースである。この座標系の3
つの直交軸が表面法線ベクトル,表面「接線」ベクトル
および第2の相互に直角の表面接線の「外積」ベクトル
によって、接線(T)および外積(B)ベクトルがsに
おけるテクスチャ勾配およびtにおけるテクスチャ勾配
(すなわち、増分sまたはt)に対応する方向に向けら
れて規定される。2つの直交表面接線ベクトルTおよび
Bはまた、「バイノーマル」と呼ばれる。ブロック80
2はこれらの値を与える。この座標系上に投影されるオ
ブジェクト空間座標のライトベクトル(ブロック80
6)は、次いで、バンプマッピングのためのテクスチャ
座標変位を計算するために使用される。すなわち、2つ
のバイノーマルTおよびBの各々上へのライト方向ベク
トルの投影は、ライトが引き起こすテクスチャ空間変位
の量を与える。基本的に、テクスチャ上のライト(すな
わち、ライト方向ベクトル)はそれの表面バイノーマル
成分および各テクスチャ勾配に対応するそれの(s,
t)座標成分とに分解される。ライト方向ベクトルのこ
れら(s,t)座標成分は、バンプマッピングにおいて
使用される(Δs,Δt)のテクスチャ座標変位(ブロ
ック808)である。
【0037】効率的なレンダリングのために上で述べた
演算を適切に行うためには、各頂点における接線および
外積ベクトルが向けられたオブジェクト(これはオブジ
ェクト空間においてテクスチャsおよびt軸にマッピン
グする)が好ましくは最初に目空間へ変換される。した
がって、この発明の実施例においては、コマンドプロセ
サ200がこれら頂点毎の2つのバイノーマルを変換ユ
ニット300へ供給する(ブロック804)。変換ユニ
ットは、次いで、そのバイノーマルを目空間へ変換する
(ブロック804)。(この実施例においては、たとえ
ば、平滑な表面で供給されるバイノーマルは一定であっ
たとしても、コマンドプロセサ200は頂点毎にそのバ
イノーマルを変換ユニット300へ供給する。)数学的
にいえば、次の演算が変換ユニット300によって行わ
れる。
【0038】
【数1】
【0039】Tvベクトルは好ましくは正規化されてオ
ブジェクト空間中のsテクスチャ軸に整列されなければ
ならず、Bvベクトルは好ましくは正規化されてオブジ
ェクト空間中におけるtテクスチャ軸に整列されなけれ
ばならない。モデルビュー変換マトリクスは純粋に回転
的であり、それはバイノーマルのユニット長(unit leng
th) を維持する。しかしながら、もしバイノーマルのス
ケーリングが必要な場合には、モデルビュー変換マトリ
クスはスケーラによって乗算され得る。この与えられた
スケーリング値は、次いで、バイノーマルの新たなユニ
ット長となる。このことは、ソースデータやアルゴリズ
ムを変えることなしにバンプマッピング効果を視覚的に
増大させるために使用され得る。
【0040】バイノーマルの座標系が与えられると、変
換ユニット300によって使用されるライト回転マトリ
クス(ブロック806)が次のようになる。
【0041】
【数2】
【0042】ライト位置(目空間中における)と現在の
変換した目空間中における頂点との差を正規化すること
によってライトベクトルが計算される(ブロック80
6)。
【0043】
【数3】
【0044】テクスチャ座標変位(Δs,Δt)は次い
で、頂点毎に次のようにして計算される(ブロック80
8)。
【0045】
【数4】
【0046】この好ましい例のアルゴリズムは変位を計
算するために法線入力ベクトルを使用していないことに
注目されたい。外積および接線ベクトルだけが必要であ
る。他の実施例は目空間法線を余分な行として含む3×
3マトリクス乗算を特定する。
【0047】計算した頂点毎のデルタオフセット(Δ
s,Δt)は、次いで、頂点毎に発生される変換後の
(すなわち、目空間への変換後の)テクスチャ座標に加
算され(ブロック810)、新しいテクスチャ座標S1
およびT1を得る。
【0048】
【数5】
【0049】エンボスバンプマッピングテクスチャ座標
発生ハードウェアの具体例 エンボス型バンプマッピングのための上で述べた計算を
効率的に実現するために、変換ユニット300は予め結
線した(hardwired) 計算ロジック回路を含み、少なくと
も次のようなエンボスバンプマッピングに関連するベク
トルおよび座標計算を行う。
【0050】
【数6】
【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は頂点位置ベクトルデータVe
yeおよびライト位置ベクトルデータLposで行わ
れ、ライト方向ベクトルデータLを与える。第2の内積
計算ユニット303は次のものを並列的に計算するため
に利用される。
【0053】・ライト方向ベクトルLと各バイノーマル
ベクトルTならびにBとの間のベクトル内積 ・ライト方向ベクトルLからのL2ベクトル積 このL2ベクトル積は続いて、ライト方向ベクトルの逆
数値を計算するための逆平方根計算ユニット305に与
えられる。内積ユニット303からの外積および接線ベ
クトルライティング内積T・LおよびB・Lは、ユニッ
ト305からのライト方向ベクトルの計算された逆数値
と一緒に浮動小数点乗算器306に与えられる。浮動小
数点乗算器306は、次いで、テクスチャ座標変位Δs
およびΔtを計算し、それらは浮動小数点加算器308
に与えられる。変換されたテクスチャ座標S0およびT
0は頂点毎に遅延FIFO307に与えられるととも
に、必要なときに浮動小数点加算器308に与えられ、
計算された座標変位ΔsおよびΔtに結合される。発生
された新しいテクスチャ座標S1およびT1は、次い
で、変換ユニット300内の頂点バッファユニット(図
示せず)へ与えられ、さらに、グラフィクスパイプライ
ン180を介して、テクスチャルックアップのためにテ
クスチャユニット500へ与えられる。好ましい実施例
において、用いられているテクスチャ結合ユニットは多
数のパスではなく1つのパスでテクスチャ減算を行うこ
とができる。好ましいテクスチャ結合演算はアキュムレ
ーション(accumulation)バッファを使用しないが、テク
スチャ結合をテクスチャハードウェア内で行う。
【0054】図8は、図7のエンボスバンプマッピング
関数を実行するための変換ユニット300内の内積計算
ユニット301および303ならびにライト方向計算ハ
ードウェアのより詳細なブロック図を示す。好ましい実
施例は少なくとも24ビットの浮動小数点数値を処理す
ることができるディジタルロジックハードウェアを利用
する。図8に図示するように、ベクトル内積ユニット3
01は浮動小数点加算器313および314に結合され
た浮動小数点乗算器310,311および312を含
む。2つの表面バイノーマルBおよびTは頂点キャッシ
ュRAM220(図5)から浮動小数点乗算器310,
311および312に与えられる。入力FIFO315
は、接線および外積ベクトルを目空間へ変換するための
変換マトリクスデータをマトリクスメモリ300bから
受け、マトリクス要素値を浮動小数点乗算器310,3
11および312に与える。浮動小数点加算器304
は、変換された目空間頂点位置データおよび入力ライト
位置/方向ベクトルデータからライト方向ベクトルLを
決定するためのライト−頂点間ベクトル計算を行う。
【0055】ベクトル内積ユニット303はライト方向
ベクトルと接線および外積目空間ベクトル成分とのベク
トル内積を計算するための浮動小数点乗算器317,3
18および319ならびに浮動小数点加算器320およ
び321を含む。内積ユニット303はまた、浮動小数
点加算器304、および内積ユニット301からのライ
ト方向ベクトルおよび変換された目空間接線および外積
ベクトルデータを受信しかつステージング(staging) す
るためのマルチプレクサ302を含む。浮動小数点乗算
器317ないし319は浮動小数点加算器320および
321との組み合わせで用いられ、ライト方向ベクトル
平方積L2,接線ライティングベクトル内積(T・L)
および外積ライティング内積(B・L)を浮動小数点加
算器321の出力に与える。
【0056】内積ユニット301および内積ユニット3
03を用いて変換ユニット300内においてパイプライ
ンデータクロックサイクル/ステージ毎に発生するエン
ボス型バンプマッピングを達成するための計算的なイベ
ントの例示的なスケジュールを図解するテーブルを以下
に示す。
【0057】
【表1】
【0058】1番から8番まで番号が付けられた関連す
るサイクル/ステージ中において、接線および外積ベク
トルが内積ユニット301内へロードされ、目空間への
変換が計算される。サイクル9ないし11中において、
目空間の頂点複合成分および負に符号化されたライト位
置成分を用いて、浮動小数点加算器304によって、ラ
イト方向ベクトル成分Lx,LyおよびLzが計算され
る。サイクル11ないし13中において、計算された接
線ベクトル目空間成分がマルチプレクシング/ステージ
ングバッファ302へロードされる。サイクル14中に
おいて、計算されたライト方向ベクトルLと計算された
接線目空間ベクトルTeye=(Txe,Tye,Tz
e)が、T・L内積を計算するためにベクトル内積ユニ
ット303にロードされる。サイクル15において、計
算されたライト方向ベクトルLが、ライト方向ベクトル
平方積L2を計算するために、ベクトル内積ユニット3
03へ再度ロードされる。最後に、外積目空間ベクトル
Beye=(Bxe,Bye,Bze)がサイクル18
においてB・L内積を計算するためにロードされる。上
で述べたハードウェアは完全にパイプライン化されてい
て、最小数の別個の演算において所要の値を計算するこ
とができる。 API関数コマンドの例 好ましい実施例において、増強されたグラフィクスAP
I関数は変換ユニット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ユニット6
00は、バンプ高さを見つけるために、これらの値をハ
ードウェア中で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および記憶媒体6
2上のゲームソフトウェア実行可能バイナリ映像を用い
る全体のエミュレーション処理を図解する。ホスト12
01は、たとえばパソコン,ビデオゲームコンソールあ
るいは十分な計算力を有する任意の他のプラットフォー
ムのような汎用または特定目的ディジタル計算装置であ
る。エミュレータ1303はそのホストプラットフォー
ム1201上で走るソフトウェアおよび/またはハード
ウェアであり、記憶媒体62からのコマンド,データお
よび他の情報のそのホスト1201によって実行可能な
形態へのリアルタイム変換を行う。たとえば、エミュレ
ータ1303は記憶媒体62からシステム50によって
実行されるように意図された「ソース」であるバイナリ
映像プログラム命令を取り込み、これらのプログラム命
令をホスト1201によって実行されもしくは処理され
得るターゲットとなる形態に変換する。
【0070】一例として、ソフトウェアがIBMパワー
PCまたは他の特定のプロセサを用いるプラットフォー
ム上での実行のために書かれかつホスト1201が異な
る(たとえばインテル)プロセサを用いるパソコンであ
る場合、エミュレータ1203は記憶媒体1305から
の1つのもしくは一連のバイナリ映像プログラム命令を
取り込み、これらのプログラム命令を1つまたはそれ以
上の同等のインテルのバイナリ映像プログラム命令に変
換する。エミュレータ1203はまたグラフィクス/オ
ーディオプロセサ114によって処理されるように意図
されたグラフィクスコマンドおよびオーディオコマンド
を取り込みかつ/あるいは生成し、そしてホスト120
1上で利用可能なハードウェアおよび/またはソフトウ
ェアグラフィクス/オーディオ処理リソースによって処
理され得る形態にこれらのコマンドを変換する。一例と
して、エミュレータ1303はホスト1201の特別な
グラフィクスおよび/または音声ハードウェア(たとえ
ば標準的なダイレクトX,オープンGLおよび/または
音声APIs)によって処理され得るコマンドにこれら
のコマンドを変換する。
【0071】上で述べたビデオゲームシステムのいくつ
かのもしくはすべての特徴を与えるために用いられるエ
ミュレータ1303は、また、エミュレータを使ってゲ
ームを走らせている種々のオプションおよびスクリーン
モードの選択を簡単化しもしくは自動化するグラフィッ
クユーザインタフェース(GUI)を備える。一例にお
いて、そのようなエミュレータ1303はさらにそのソ
フトウェアが本来的に目的とされたホストプラットフォ
ームに比べてより増強された機能性を含むこともでき
る。エミュレータ内における特定のグラフィクスサポー
トハードウェアが図7および図8で示すエンボス型バン
プマッピング機能(関数)を含まない場合には、エミュ
レータの設計者は、 ・エンボス型バンプマッピングコマンドを、グラフィク
スサポートハードウェアが理解する他のグラフィクスA
PIコマンドにトランスレートするか、 ・プロセサの速度に依存する性能における潜在的な相応
の減少で、バンプマッピング関数(機能)をソフトウェ
ア的に実現するか、 ・エンボス効果を含まないレンダリングイメージを与え
るように、バンプマッピングコマンドを「無視」する のどれかの選択肢を有する。
【0072】図6のフローチャートは、全体として、ソ
フトウェアで、ハードウェアで、あるいはソフトウェア
とハードウェアの組み合わせによって、実現でき、他
方、好ましい実施例は、これらの計算の殆どをハードウ
ェアを用いて行い、大きくした速度性能や他の利点を得
るようにしている。しかしながら、他の実施例(たとえ
ば、非常に速いプロセサが利用できるような場合)で
は、図6の計算やステップをソフトウェアで実現し、類
似のまたは同一のイメージ結果を与えるようにしてもよ
い。
【0073】図10はエミュレータ1303で用いるに
適したエミュレーションホストシステム1201を図解
的に示す。このシステム1201は処理ユニット120
3およびシステムメモリ1205を含む。システムバス
1207がシステムメモリ1205を含む種々のシステ
ムコンポーネンツを処理ユニット1203に結合する。
システムバス1207は多様なバスアーキテクチャのい
ずれかを用いるメモリバスもしくはメモリコントロー
ラ,周辺バスおよびローカルバスを含むいくつかのタイ
プのバス構造の任意のものである。システムメモリ12
07はROM1252およびRAM1254を含む。起
動中においてのようにパソコンシステム1201中のエ
レメント(要素)間に情報を伝送する手助けをする基本
ルーチンを含む基本入力/出力システム(BIOS)1
256がROM1252中にストアされる。システム1
201はさらに種々のドライブおよび関連のコンピュー
タ読出可能な媒体を含む。ハードディスクドライブ12
09が(典型的には固定の)磁気ハードディスク121
1から読み出しそれへ書き込む。付加的な(たぶんオプ
ションとしての)磁気ディスクドライブ1213が着脱
可能な「フロッピィ」または他の磁気ディスク1251
から読み出しかつそれへ書き込む。光ディスクドライブ
1217はCD−ROMあるいは他の光学媒体のような
着脱自在な光ディスク1219から読み出しかつそれへ
書き込む。ハードディスクドライブ1209および光デ
ィスクドライブ1217は、ハードディスクドライブイ
ンタフェース1221および光ディスクドライブインタ
フェース1225によって、システムバス1207にそ
れぞれ接続される。これらのドライブおよびその関連す
るコンピュータ読出可能な媒体は、パソコンシステム1
201のためのコンピュータ読出可能な命令,データ構
造,プログラムモジュール,ゲームプログラムおよび他
のデータの不揮発性の記憶媒体を提供する。他の構成で
は、コンピュータによってアクセス可能なデータをスト
アすることができる他のタイプのコンピュータ読出可能
な媒体(たとえば磁気カセット,フラッシュメモリカー
ド,ディジタルビデオディスク,ベルヌーイカートリッ
ジ,RAM,ROMあるいはその他のもの)がまた使用
できる。
【0074】エミュレータ1303を含む多数のプログ
ラムモジュールがハードディスク1211,着脱可能な
磁気ディスク1215,光ディスク1219および/ま
たはシステムメモリ1205のROM1252および/
またはRAM1254にストアされ得る。このようなプ
ログラムモジュールはグラフィクス/音声APIs,1
つ以上のアプリケーションプログラム,他のプログラム
モジュール,プログラムデータおよびゲームデータを提
供するオペレーティングシステム(OS)を含む。ユー
ザは、キーボード1227,ポインティングデバイス1
229,マイクロフォン,ジョイスティック,ゲームコ
ントローラ,衛星アンテナ(satellite dish),スキャナ
あるいはその他のもののような入力デバイスを通して、
パソコンシステム1201にコマンドおよび情報を入力
することができる。これらのそして他の入力デバイス
は、システムバス1207に結合されたシリアルポート
インタフェース1231を通して処理ユニット1203
に接続され得るが、パラレルポート,ゲームポートファ
イヤワイヤバス(Fire Wire)もしくはユニバーサルシリ
アルバス(USB)のような他のインタフェースによっ
て接続されてもよい。モニタまたは他のタイプの表示デ
バイスがまたビデオアダプタ1235のようなインタフ
ェースを介してシステムバス1207に接続される。
【0075】システム1201はモデム1154または
インターネットのようなネットワーク1152を通して
の通信を確立するための他のネットワークインタフェー
ス手段を含む。内蔵もしくは外付けであってよいモデム
1154はシリアルポートインタフェース1231を介
してシステムバス123に接続される。システム120
1がローカルエリアネットワーク1158を介して遠隔
コンピュータ装置1150(たとえば他のシステム12
01)と通信するのを許容するために、ネットワークイ
ンタフェース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)ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク ジー シーガル アメリカ合衆国 カリフォルニア州 サン タクルズ 35番通り 510 Fターム(参考) 5B050 AA08 BA08 BA09 BA18 CA03 EA24 EA27 EA28 FA02 5B057 AA20 CA13 CA17 CB13 CB17 CC04 CH05 CH11 DA16 DB03 DC02 5B080 AA13 BA05 CA04 DA08 GA22

Claims (34)

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

Publications (2)

Publication Number Publication Date
JP2002074389A true JP2002074389A (ja) 2002-03-15
JP4691273B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002023484A1 (ja) * 2000-09-13 2004-04-08 株式会社先端科学技術インキュベーションセンター テクスチャマッピング方法及びレンダリング装置

Families Citing this family (41)

* 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
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
US8692826B2 (en) 2009-06-19 2014-04-08 Brian C. Beckman Solver-based visualization framework
US9330503B2 (en) * 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
US8866818B2 (en) * 2009-06-19 2014-10-21 Microsoft Corporation Composing shapes and data series in geometries
US20100325564A1 (en) * 2009-06-19 2010-12-23 Microsoft Corporation Charts in virtual environments
US8788574B2 (en) 2009-06-19 2014-07-22 Microsoft Corporation Data-driven visualization of pseudo-infinite scenes
US8479150B2 (en) * 2009-08-13 2013-07-02 Accenture Global Services Limited Compositional modeling of integrated systems using event-based legacy applications
US9734629B2 (en) * 2010-02-26 2017-08-15 3D Systems, 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
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
US8970584B1 (en) 2011-06-24 2015-03-03 Nvidia Corporation Bounding box-based techniques 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
EP3312803A4 (en) * 2015-06-17 2018-12-26 Toppan Printing Co., Ltd. Image processing system, method and program
CN108665407A (zh) * 2018-05-21 2018-10-16 武汉山骁科技有限公司 一种基于视线方向纹理采样的MatCap算法
CN109345410A (zh) * 2018-09-26 2019-02-15 上海煤气第二管线工程有限公司 一种城镇燃气管道施工数据采集及管理方法
US11574433B2 (en) 2019-03-19 2023-02-07 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 网易(杭州)网络有限公司 图片处理方法及装置、计算机可读存储介质、电子设备

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
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
US4768148A (en) 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
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
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
US5170468A (en) 1987-08-18 1992-12-08 Hewlett-Packard Company Graphics system with shadow ram update to the color map
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
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading 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
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 株式会社日立製作所 表示装置
DE68918886T2 (de) 1988-04-08 1995-06-01 Dainippon Screen Mfg Verfahren zur Gewinnung der Aussenlinie eines Objektes in einem Bild.
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データ変換方法及び装置
US5056044A (en) 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
GB2240015A (en) 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
CA2051655C (en) 1990-02-05 1997-04-22 Toyofumi Takahashi Animation display unit and external memory used therefor
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
AU7747591A (en) 1990-05-12 1991-12-10 Rediffusion Simulation Limited Image generator
DE69122557T2 (de) 1990-06-29 1997-04-24 Philips Electronics Nv Bilderzeugung
US5329616A (en) 1990-08-16 1994-07-12 Canon Kabushiki Kaisha Compressed image stores for high resolution 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
US5607157A (en) * 1993-04-09 1997-03-04 Sega Enterprises, Ltd. Multi-connection device for use in game apparatus
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
US5829007A (en) 1993-06-24 1998-10-27 Discovision Associates Technique for implementing a swing buffer in a memory array
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
JPH10502181A (ja) * 1994-06-20 1998-02-24 ネオマジック・コーポレイション メモリインタフェースのないグラフィックスコントローラ集積回路
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
US5777629A (en) 1995-03-24 1998-07-07 3Dlabs Inc. Ltd. Graphics subsystem with smart direct-memory-access operation
US5727192A (en) 1995-03-24 1998-03-10 3Dlabs Inc. Ltd. Serial rendering system with auto-synchronization on frame blanking
US6025853A (en) 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5701444A (en) 1995-03-24 1997-12-23 3Dlabs Inc. Ltd. Three-dimensional graphics subsystem with enhanced support for graphical user interface
US5798770A (en) 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
US5764243A (en) 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
US5594854A (en) 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
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
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
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
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 株式会社ルネサステクノロジ 半導体記憶装置
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
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
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5867166A (en) * 1995-08-04 1999-02-02 Microsoft Corporation Method and system for generating images using Gsprites
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5734386A (en) * 1995-09-08 1998-03-31 Evans & Sutherland Computer Corporation System and method for displaying textured polygons using planar texture interpolation
US5825929A (en) * 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
MX9704155A (es) * 1995-10-09 1997-09-30 Nintendo Co Ltd Sistema procesador de imagenes tridimensionales.
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 윤종용 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
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
US6022274A (en) * 1995-11-22 2000-02-08 Nintendo Co., Ltd. Video game system using memory module
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
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
US5821949A (en) 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
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
US5880736A (en) 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
US5949424A (en) 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
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 コナミ株式会社 画像の半透明表示装置,半透明表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体
US6204851B1 (en) * 1997-04-04 2001-03-20 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
US5969726A (en) 1997-05-30 1999-10-19 Hewlett-Packard Co. Caching and coherency control of multiple geometry accelerators in a computer graphics system
US5920326A (en) 1997-05-30 1999-07-06 Hewlett Packard Company 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
US6002409A (en) 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
US6035360A (en) * 1997-10-29 2000-03-07 International Business Machines Corporation Multi-port SRAM access control using time division multiplexed arbitration
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
US6288730B1 (en) * 1998-08-20 2001-09-11 Apple Computer, Inc. Method and apparatus for generating texture
JP2000066985A (ja) 1998-08-20 2000-03-03 Sony Computer Entertainment Inc エンタテインメントシステム及びデータ供給方法、データ処理装置及び方法、並びにデータ記憶制御装置及び方法
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
US6452600B1 (en) * 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
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
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002023484A1 (ja) * 2000-09-13 2004-04-08 株式会社先端科学技術インキュベーションセンター テクスチャマッピング方法及びレンダリング装置
JP4714919B2 (ja) * 2000-09-13 2011-07-06 株式会社東京大学Tlo レンダリング装置及び記録媒体並びにプログラム

Also Published As

Publication number Publication date
US7307640B2 (en) 2007-12-11
US6980218B1 (en) 2005-12-27
JP4691273B2 (ja) 2011-06-01
US20050195210A1 (en) 2005-09-08

Similar Documents

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