JPH08161509A - テクスチャ・マッピングを行うコンピュータ・システム - Google Patents
テクスチャ・マッピングを行うコンピュータ・システムInfo
- Publication number
- JPH08161509A JPH08161509A JP6298618A JP29861894A JPH08161509A JP H08161509 A JPH08161509 A JP H08161509A JP 6298618 A JP6298618 A JP 6298618A JP 29861894 A JP29861894 A JP 29861894A JP H08161509 A JPH08161509 A JP H08161509A
- Authority
- JP
- Japan
- Prior art keywords
- texture
- texel
- memory
- pixel
- value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Abstract
・データをインターリーブして重複がないように各々の
メモリに格納する複数のテクスチャ・メモリ・クラスタ
であって、1のピクセルに対するテクスチャ・イメージ
の座標から、その座標に対応するテクスチャ値を計算す
るのに必要なテクセルを求め、そのテクセル値を複数の
テクスチャ・メモリ・クラスタから収集する収集手段
と、収集したテクセル値から1のピクセルに対するテク
スチャ値を計算する手段とをそれぞれ有するものと、複
数のメモリ・クラスタを接続するバスと、複数のメモリ
・クラスタのうちの1つにそれぞれ接続され、1のピク
セルに対するテクスチャ・イメージの座標を計算する複
数のテクスチャ生成器とを有する。 【効果】メモリに重複するテクセルを保持することな
く、効率的にテクセル値を各メモリ・クラスタ間で交換
できる。
Description
ィクス装置にかかり、特に、コンピュータを用いて所定
の領域へ模様等を張り付けるテクスチャ・マッピングを
用いたコンピュータ・グラフィクス装置に関する。
な模様、すなわちイメージ(Texture,テクスチャ)を張
り付けるテクスチャ・マッピング(Texture Mapping) に
よって画像を形成することがある。テクスチャ・マッピ
ング(Texture Mapping) とは、滑らかな平面や曲面上
に、木目やスイカの表面の縞模様等の厚みのないパター
ンやイメージ(Texture) を張ること(Mapping、以下、マ
ッピングという。) である。例えば、フライト・シミュ
レータ(米国マイクロソフト社の商標)は、予め撮影し
ておいた景色の写真イメージを背景部分にテクスチャ・
マッピングすることで、仮想現実的な映像を高速で提供
している。
グは大量のデータ・アクセス及び演算量を必要とするの
で、実時間処理するためには、広いバンド幅を有するテ
クスチャ・メモリ及び専用のハードウェアを必要として
いた。このテクスチャ・メモリは、張り付けるべきパタ
ーンや背景等のイメージを表す2次元の配列データ(以
下、テクスチャ・イメージ・データという。)を記憶す
るためのメモリである。このテクスチャ・メモリは、高
速なアクセスを必要とすると共に大容量を必要とするた
めに、コスト高であった。
び高速化の加速に伴って、コンピュータ・グラフィクス
を利用するコンピュータ・システムでは、高速かつ高効
率にテクスチャ・マッピングが可能なハードウェアを低
価格で提供することが要求されると共に、課題となって
いる。以下、テクスチャ・マッピングについて詳述す
る。
コンピュータ・グラフィクスでは、次の3種類の座標系
を用いて物体を表現することが一般的である。
ordinate system)である。このモデル座標系は、個々
の物体に固有な座標系、すなわち、物体を記述するのに
適宜選択される座標系である。図5(A)には、一例と
して、X軸、Y軸、Z軸の各々が直交する直交座標系に
おける、物体としての立方体OBを示した。
nate system)である。この視点座標系は、物体を実質
的に目視した時の目の位置に合致された座標系、すなわ
ち、図5(C)に示すように、視線と1つの座標軸とが
合致する座標系である。
en coordinate system)である。このスクリーン座標系
は、図5(D)に示すように、物体を含む3次元のシー
ンが投影された2次元のスクリーンSC(図5(C)参
照)における座標系である。図5(C)おけるスクリー
ン座標系は、直交する横軸のX_S軸、及び縦軸のY_
S軸によって構成されている。
の3種類の座標系の他に、図5(B)に示すように、テ
クスチャ・イメージ・データを記述するための座標系
(以下、テクスチャ座標系:Texture coordinate syste
m、という。)が必要である。図5(B)におけるテク
スチャ座標系は、直交する横軸のU軸、及び縦軸のV軸
によって構成されている。テクスチャ・マッピングの実
質的な動作は、スクリーン座標系で本来の物体の色を描
画すべき点に、テクスチャ座標で指定されるテクスチャ
・イメージ・データの色を描画することである。
を組み合わせた複雑な物体を扱うときに、便宜上、各基
本的物体を簡単に記述するための座標系である。従っ
て、複雑な物体に対してテクスチャ・マッピングをして
スクリーン座標系で記述するためには、これら複数の基
本的物体を纏めた複雑な物体を視点座標系に直す。ここ
では、立方体OBに対して、上面にシェーディング(Sh
ading)をすると共に、側面にテクスチャ・マッピング
する場合を説明する(図5(C)の立方体OB1参
照)。この後に、記述された複数の基本的物体をスクリ
ーンSCに投影することを想定する。この時点では、複
雑な物体(立方体OB1 )はスクリーン座標系で記述さ
れる。なお、以下の説明を簡単にするため、取り扱う物
体は、既にスクリーン座標系に変換されているものとす
る。
(A)に示すように、テクスチャ・イメージ・データ
は、平面上に単位正方形(1辺の長さが1の正方形)が
縦横に配置され、所定の大きさの正方形(図6(A)で
は、8×8の単位正方形で形成される正方形領域)を形
成している。この格子点、すなわち、i番目の列(i:
0≦i≦7)でj番目の行(j:0≦j≦7)に対応す
る格子点(図中の×マーク)を中心とする各々の単位正
方形の中心には、張り付けるべきイメージの色情報が格
納されている。
単位正方形の中心をテクセル中心、テクセル中心に格納
されている色情報をテクセル値、及びテクセルが配置さ
れた所定の大きさの正方形領域をテクスチャという。ま
た、テクスチャの一辺に含まれるテクセルの個数(図6
(A)では、8個)をテクスチャのサイズという。以下
の説明を簡略にするため、j番目の行でかつi番目の列
のテクセル(i,j)のテクセル値をT[i,j]と略
記する。
合、通常の曲面はポリゴン分割されていており、視点座
標系ではテクスチャ・マッピングとはポリゴンとテクス
チャの間の線形変換になる。これによって、ポリゴン上
の各点とテクスチャ内の各点は厳密に1対1で対応し、
さらに、この対応はテクスチャをポリゴンに張り付ける
時点で完全に決定できる。最終的には、画面上(スクリ
ーン上)に投影されたポリゴン内の各ピクセルの色を決
定しなければならない。従って、スクリーン座標系は視
点座標系の各ピクセルとテクスチャ内の各テクセルの間
で対応しなければならないが、スクリーン座標系は視点
座標系をスクリーンSC上に投影したものであるので、
ピクセル(x_s,y_s)に対応するテクスチャ内の
点P(u,v)の座標は定まっている。この対応を用い
てピクセル(x_s,y_s)の色を決定する。一般に
用いられている色決定のアルゴリズムは、オリジナルの
テクスチャ・イメージ・データと以下に説明するミップ
マップ(Mipmap)と呼ばれるオリジナル・データをさら
に加工したデータを用いる方法、及びミップマップを用
いずにオリジナルのテクスチャ・イメージ・データ等を
用いる方法に大別される。
法があり、その1つは点Pを含むテクセルのテクセル値
をピクセルの色とする方法である。すなわち、点Pに最
も近いテクスチャ内のテクセル(i0 ,j0 )のテクセ
ル値T[i0,j0 ]をピクセルの色とする。引数i0,
j0は各々u+0.5,v+0.5の整数部として求め
ることができる。これは3次元グラフィクス・インタフ
ェイスのAPI(Application Program Interface )の
1種であるOpenGL(Mar Segal,Akeley, The OpenGL Grap
hics System:A Specification Version 1.0) では、テ
クセル・ニアレスト(Texel Nearest)と呼ばれる方法
である。
れるポリゴンが近くにあり、スクリーン座標系上では非
常に拡大される場合、1つのテクセル値が多数のピクセ
ルに対応することになるので、タイルをはったようにな
り、ギザギザを生ずる。
ル・リニア・インタポーレイテッド(Texel Linear Int
erpolated 、略して、Texel Linearともいう。以下、テ
クセルリニアという)である。この場合、図6(A)に
示すように、点Pを囲む4つのテクセルの値を線形補間
するというものである。すなわち、点P(u,v)を囲
むテクセル中心を(i0 ,j0 ),(i0 +1,j
0 ),(i0 ,j0 +1),(i0 +1,j0 +1)
(図中の太線の×マーク)としてa=uの少数部分、b
=vの少数部分とおいたときに、以下の式で得られる値
をピクセルの色とするものである。 (1-a)×(1-b) ×T[i0 ,j0]+(1-a) ×b ×T[i0 ,j0+1] + a ×(1-b) ×T[i0+1,j0]+ a ×b ×T[i0+1,j0+1] 引数i0 ,j0 はu,vの整数部分として求めることが
できる。他の方法は上式から理解されるように線形補間
を2回続けて行った場合と等価であるのでバイリニアと
もいう。
る。上記の方法では、投影されたポリゴン上の各点にお
けるテクセルの縮小拡大率がピクセルの位置によって大
きく変化するので、スクリーンとのなす角度が大きなポ
リゴンが投影された時に不都合を生ずる。すなわち、ス
クリーン上極端に縮小されるテクセルに対しては上記の
ように4テクセルの重みつき平均では足りず、多くのテ
クセルが必要である。この必要とするテクセルは、ピク
セル−テクセル間の縮小拡大率(Level Of Detail,ピク
セルとテクセルの対応関係から演算できる。線型補間計
算を行う時に必ず生ずる。以下、LODという。)から
求めることができる。このようにピクセル毎に平均のと
り方を変化させる方法(コンボリューションと呼ばれる
方法)は効果的だが、効率的でなく、実装が困難である
ので以下に説明するミップマップを用いて代用するのが
一般的である。
チャ中のテクセルを、図6(A)の太線で囲まれる縦横
2個ずつのテクセルをブロックに纏める。次に、ブロッ
ク内に含まれる4つのテクセルのテクセル値を平均する
ことによってブロックのテクセル値を求める。次に、図
6(B)に示すように、求めたテクセル値に対応させる
ための新しい1つのテクセルを生成すると共に、元のテ
クスチャにおけるブロックの順序に配列し、全てのブロ
ックについて行うことによって新しいテクスチャを生成
する。このブロックで纏めることにより生成された新し
いテクスチャと、生成前のオリジナル・テクスチャとを
区別するために、オリジナル・テクスチャ(図6
(A))をレベル0のミップマップ、そしてここではサ
イズが半分になった新しいテクスチャ(図6(B))を
レベル1のミップマップという。次に、レベル1のミッ
プマップを同様に処理してレベル2のミップマップを生
成する。この生成されたテクスチャが、サイズ1のテク
スチャになるまで上記と同様の処理を繰り返し、高レベ
ルのミップマップを生成する。なお、このときのテクセ
ル値がミップマップのレベルに依存することは勿論であ
る。これを表すため上記の記号を拡張してレベルkのミ
ップマップ中のテクセル(i,j)のテクセル値をT
[i,j:k]と表記する。
ッピングするのに先だって、上記のLODから用いるべ
きミップマップのレベルを決定しなければならない。Op
enGLでは細かい規定がなされているが、ここでは必要な
部分のみに簡単化して説明する。上記のテクセル・ニア
レスト、テクセル・リニアと同様にミップマップ・ニア
レスト、ミップマップ・リニアの概念があり、合計4種
類のテクセル・ミップマップ法がある。なお、各レベル
のミップマップ中のピクセルに対応する点の座標P
(u,v)はレベルkに依存したP(uk ,vk )とな
るので、注意しなければならない。
1から4の各々を説明する。 1.ニアレスト−ミップマップ−ニアレスト(Nearest-M
ipmap-Nearest) k=(LOD+0.5の整数部分)としてレベルkのミ
ップマップ中にピクセルに対応する点Pk (u,v)を
求め、点Pk を含むテクセル値T[i0 ,j0:k]を
ピクセルの色とする。 2.リニア−ミップマップ−ニアレスト(Liner-Mipmap-
Nearest) k=(LOD+0.5の整数部分)としてレベルkのミ
ップマップ中にピクセルに対応する点Pk (uk ,v
k )を求め、点Pk を囲む4つのテクセルのテクセル値
を線形補間する。これは「レベルk」ということ以外は
上記で説明したテクセルリニアと同様である。 3.ニアレスト−ミップマップ−リニア(Nearest-Mipma
p-Liner) k=(LODの整数部分)としてレベルkとレベルk+
1の各々のミップマップ中のピクセルに対応する点:P
k ,Pk+1 を各々含むテクセルのテクセル値をd=(L
ODの少数部分)を内分比として線形補間する。 4.リニア−ミップマップ−リニア(Liner-Mipmap-Line
r) k=(LODの整数部分)とする。レベルkのミップマ
ップ中のピクセルに対応する点Pk を含む4つのテクセ
ルのテクセル値を線形補間した(テクセルリニア)結果
と、レベルk+1のミップマップ中のピクセルに対応す
る点Pk+1 を含む4つのテクセルのテクセル値を線形補
間した(テクセルリニア)結果を、d=(LODの少数
部分)を内分比として線形補間(ミップマップリニア)
する。
て、高速にテクスチャ・マッピングを行うためのコンピ
ュータ・グラフィクス装置には、次の点が要求される。 ・テクスチャ・メモリの容量が大きいこと ・テクスチャ・メモリとして用いるメモリのアクセス速
度が高速なこと ・テクスチャ・メモリを効率的に利用すること
はテクスチャのテクスチャ・イメージ・データを格納す
る関係上、数Mバイトの容量が必要である。このため、
テクスチャ・メモリには一般的に低コストのDRAMが
用いられる。
のサイクルタイムは80ns程度なので、12.5Mテ
クセル/秒程度で動作させることができる。但し、上記
で述べたようにリニア−ミップマップ−リニア方式では
同時に8つのテクセル値を参照しなければならない。8
つのテクセル値を同時に参照するには、ミップマップの
レベル毎にインターリーブをかけ、さらに各々のレベル
をi,jごとにインターリーブして8つのメモリに格納
してリニア−ミップマップ−リニアに必要なテクセル値
を同時に参照できるような構成にしなければならない。
そうしないと、100Mテクセル/秒程度のアクセス速
度を出すことができない。
路、Interpolator)が8つのメモリチップに直結してい
る必要がある。各メモリチップに対するアドレスバスと
各メモリチップから補間回路へのデータバスのビット幅
は、アドレスが20ビット、テクスチャ・イメージ・デ
ータが16ビットとしても、(20+16)×8=28
8ビットとなり、配線が複雑化すると共に、チップのピ
ンネック(1チップから出すことのできる信号線の制
限)という問題も発生する。
コンピュータ・グラフィクス装置に対応するテクスチャ
・マッピング処理方法がある(特開昭62−14018
1号公報参照)。このテクスチャ・マッピング処理方法
では、プロセッサ素子内部にテクスチャ・イメージ・デ
ータを分割して有し、プロセッサ間通信路を介して他の
プロセッサ素子内部のテクスチャ・イメージ・データを
受けとっている。
ィクス装置では、次のような問題がある。 ・基本的にソフトウエアによって処理するための機構で
あり、動作が複雑でハードウエア化が困難であり、高速
動作が期待できない。 ・描画を処理する部分とテクスチャを処理する部分が1
対1に対応しているので、各々の比率を変化できない。
このため、描画プリミティブの種類や大きさ、それに貼
付けるテクスチャイメージの大きさに対する、パフォー
マンス要求に対して、テクスチャを処理する部分の量を
変化させることができない。 ・他のプロセッサ素子に対してプロセッサ間通信路を介
して、表示すべき画素の情報を送り、その送信した情報
に基づく演算結果を受けとるというプロトコルなので、
プロトコルのオーバーヘッドが大きい。また、ミップマ
ップを用いた方法を直接適用しようとすると、テクセル
を全く重複しないように保持することができないので、
各プロセッサ内のメモリの容量が大きくなければならな
い。
クス装置として、リアリティ・エンジン・グラフィクス
(Reality Engine Graphics、COMPUTER GRAPHICS Procee
dings,Annual Conference Series,1993pp-116 参照)が
ある。
ラフィクス装置90は、コマンド・プロセッサ12を備
えている。コマンド・プロセッサ12は、コマンド・バ
ス16を介してフラグメント生成器(Fragment Generato
r)72、74、76、78に接続されている。
テクスチャ・メモリとしてのテクスチャ・メモリ・クラ
スタ(TEXTURE MEMORY CLUSTER)22を介して描画プロセ
ッサ(Drawing Processor) 42に接続されており、出力
側の他方は描画プロセッサ42に直接接続されている。
描画プロセッサ42はフレーム・バッファ52に接続さ
れている。このフレーム・バッファ52の出力側は、デ
ィスプレイ60に接続されている。テクスチャ・メモリ
・クラスタ22は、アドレス生成器62、メモリ(メモ
リ・バンク)64A,64B,64C,64D,64
E,64F,64G,64H及びフィルタ66から構成
されており、アドレス生成器62は各メモリ64A〜6
4Hに接続され、各メモリ64A〜64Hはフィルタ6
6に接続されている。
一方はテクスチャ・メモリ・クラスタ24を介してフレ
ーム・バッファ54に接続された描画プロセッサ44に
接続されており、他方は描画プロセッサ44に直接接続
されている。同様に、フラグメント生成器76の一方は
テクスチャ・メモリ・クラスタ26を介してフレーム・
バッファ56に接続された描画プロセッサ46に接続さ
れており、他方は描画プロセッサ46に直接接続されて
いる。フラグメント生成器78の出力側の一方はテクス
チャ・メモリ・クラスタ28を介してフレーム・バッフ
ァ58に接続された描画プロセッサ48に接続されてお
り、他方は描画プロセッサ48に直接接続されている。
また、上記のフレーム・バッファ54、56、58の出
力側は、ディスプレイ60に接続されている。
4、26、28は、テクスチャ・メモリ・クラスタ22
と同様の構成のため、詳細な説明を省略する。
置90では、スクリーンについて縦方向を4列に分割し
て、分割された各々に属するピクセルをテクスチャ・メ
モリ・クラスタ22、24、26、28が担当し処理し
ている。
0の動作を説明する。先ず、コマンド・プロセッサ12
は、その下流にあるフラグメント生成器72〜78、テ
クスチャ・メモリ・クラスタ22〜28、及び描画プロ
セッサ42〜48の各プロセッサに対する命令を解釈す
ると共に、その命令等をコマンドバス16に出力する。
この命令には、各々のプロセッサ42〜48中の図示し
ないレジスタにデータを格納するコントロール・コマン
ドや描画コマンドがある。スクリーン上における描画
は、三角形単位(ポリゴン単位)で行われる。コマンド・
プロセッサ12は、この描画コマンドを受け取ると、そ
れに続く三角形の頂点単位のデータ(三角形の頂点座標
等)を受け取る。このデータのフォーマットを以下の図
8に示す。 但し、x_s,y_s:三角形の頂点のスクリーン座標
系での座標 R,G,B,A:スクリーンSC上の座標(x_s,y
_s)における色情報 u,v :座標(x_s,y_s)にテクスチャ
・マッピングすべきテクスチャ・イメージ・データのテ
クスチャ座標系における座標
2、74、76、78の各々に、コマンドバス16を介
して同時にブロードキャストされる。各フラグメント生
成器は、得られたデータを補間して三角形内部のピクセ
ル単位のデータを生成する。このとき生成されたピクセ
ルのデータが、フラグメント生成器自身が担当するピク
セルのデータであれば、ピクセル単位に補間されたデー
タ(以下の図9に示す)を、対応する描画プロセッサ4
2〜48に出力する。
の図10に示すデータ、すなわち、三角形の頂点のスク
リーン座標系での座標、及び座標(x_s,y_s)に
テクスチャ・マッピングすべきテクスチャ・イメージ・
データのテクスチャ座標系における座標(u,v)を、
対応するテクスチャ・メモリ・クラスタに出力する。
するピクセルでない場合は、描画プロセッサにおいてデ
ータは破棄されるが、ピクセルは必ず何れかのフラグメ
ント生成器が担当しているので、全く処理されないピク
セルが生じることはない。テクスチャ・メモリ・クラス
タのアドレス生成器は、この座標(u,v)に基づい
て、上述した例えばリニア−ミップマップ−リニアの計
算に必要なテクセルを求め、そのテクセルのメモリにお
ける物理アドレスを計算し、出力する。この物理アドレ
スをもとにメモリはテクセル値をフィルタに出力し、フ
ィルタは出力されたテクセル値をもとに例えばリニア−
ミップマップ−リニアに必要な計算を行って、ピクセル
に張り付けるべき、テクスチャ・メモリ・クラスタから
の色情報を、対応する描画プロセッサに出力する。描画
プロセッサでは、予め入力されたピクセルの色情報とテ
クスチャ・メモリ・クラスタからの色情報を考慮して、
対応するフレーム・バッファに格納されている該当ピク
セルの値に反映させる。
2〜28には、予め全て同一の内容のテクスチャ・イメ
ージ・データが重複して格納されている。従って、4つ
のテクスチャ・メモリ・クラスタ22〜28による並列
効果によって性能向上、特に処理速度の高速化を図るこ
とができが、重複してデータを保持すれば高価なメモリ
の容量は増大する。
考慮して、コンピュータ・グラフィクス・インタフェイ
スにあるテクスチャ・マッピングの機能を効率良く実行
させることができるコンピュータ・グラフィクス装置を
得ることが目的である。
少させても効率が許容範囲内の悪化で済むシステムを得
ることが目的である。
明は、複数のテクセルからなるテクスチャ・イメージ・
データをインターリーブして重複がないように各々のメ
モリに格納する複数のテクスチャ・メモリ・クラスタで
あって、ある1つのピクセルに対するテクスチャ・イメ
ージの座標から、その座標に対応するテクスチャ値を計
算するのに必要なテクセルを求め、そのテクセルの色情
報であるテクセル値を複数のテクスチャ・メモリ・クラ
スタから収集する収集手段と、収集したテクセル値から
1のピクセルに対するテクスチャ値を計算する手段とを
それぞれ有する複数のテクスチャ・メモリ・クラスタ
と、複数のテクスチャ・メモリ・クラスタを接続するバ
スと、複数のテクスチャ・メモリ・クラスタのうちの1
つにそれぞれ接続され、前述の1のピクセルに対するテ
クスチャ・イメージの座標を計算する複数のテクスチャ
生成器と、複数のテクスチャ・メモリ・クラスタのうち
の1つにそれぞれ接続され、前述の1のピクセルに対す
るテクスチャ値を用いて前述の1のピクセルに表示すべ
きデータを生成する複数の描画プロセッサとを有するテ
クスチャ・マッピングを行うコンピュータ・システムで
ある。このようにすると、各テクスチャ・メモリ・クラ
スタ内のメモリに重複するテクセルを保持することな
く、効率的にテクセル値を各テクスチャ・メモリ・クラ
スタ間で交換することができる。
セルに対するテクスチャ・イメージの座標から、その座
標に対応するテクスチャ値を計算するのに必要なテクセ
ルを求め、複数のテクスチャ・メモリ・クラスタに通知
する手段と、メモリを検索し、通知されたテクセルのテ
クセル値を得る検索手段と、テクセル値をテクセルの通
知元のテクスチャ・メモリ・クラスタに送信する手段
と、テクセル値を受信する手段とを含むようにすること
も考えられる。
れており、各バンクは、テクスチャ・メモリ・クラスタ
が格納するテクスチャ・イメージ・データをインターリ
ーブして重複を生じないように格納するようにすること
も考えられる。これにより、同一テクスチャ・メモリ・
クラスタ内のメモリに同一テクセル値を重複して保持す
る、ということを完全に排除することができる。
バッファと、出力FIFOバッファとを含むことも考え
られる。このようにすると、テクセルをそのアドレスで
インターリーブして格納した場合に、同一バンクに対す
るアクセスの集中によるパフォーマンス低下を抑えるこ
とができる。
セルのアドレスを計算する手段と、計算されたアドレス
から該当するメモリのバンクにアドレスを分配する分配
手段と、メモリのバンクからテクセル値を得る手段とを
含むことも考えられる。このように分配することによ
り、効率よくメモリにアクセスすることができる。
クスチャ・メモリ・クラスタのIDを記憶するFIFO
バッファをテクスチャ・メモリ・クラスタの各々がさら
に有するようすることも考えられる。このようにする
と、必要なテクセルのテクセル値を必要なテクスチャ・
メモリ・クラスタに送信することができる。
前記メモリのバンクのIDを記憶するFIFOバッファ
をテクスチャ・メモリ・クラスタの各々がさらに有する
ようにすることも考えられる。このようにすると、検索
結果を適切なメモリ・バンクから出力させることができ
る。
クセルに対するテクスチャ・イメージの座標を複数のテ
クスチャ・メモリ・クラスタに通知する手段と、座標か
ら、その座標に対応するテクスチャ値を計算するのに必
要なテクセルであって、自己のメモリが保持するテクセ
ルを計算する手段と、テクセルのテクセル値をメモリか
ら取り出す手段と、テクセル値をテクセルの通知元のテ
クスチャ・メモリ・クラスタに送信する手段と、テクセ
ル値を受信する手段とを含むようにすることも考えられ
る。
ルからなるテクスチャ・イメージと、そのテクスチャ・
イメージを1以上の段階で縮小したデータであり且つ1
又は複数のテクセルからなる縮小テクスチャ・イメージ
とを含むテクスチャ・イメージ・データをインターリー
ブして重複を生じないよう各々のメモリに格納する複数
のテクスチャ・メモリ・クラスタであって、ある1つの
ピクセルに対するテクスチャ・イメージの座標及びピク
セルとテクスチャ・イメージのテクセルの縮小率から前
述の1のピクセルに対するテクスチャ値を計算するのに
必要なテクセルを求め、そのテクセルの色情報であるテ
クセルの値を複数のテクスチャ・メモリ・クラスタが出
力するように要求する手段と、要求されたテクセルの値
を検索し、要求したテクスチャ・メモリ・クラスタに出
力する手段と、テクセルの値を収集する手段と、収集さ
れたテクセルの値からテクスチャ値を計算する手段とを
それぞれ有する先の複数のテクスチャ・メモリ・クラス
タと、複数のテスクチャ・メモリ・クラスタを接続する
バスと、複数のテクスチャ・メモリ・クラスタのうちの
1つにそれぞれ接続され、前述の1のピクセルに対する
テクスチャ・イメージの座標及び縮小率を計算する複数
のテクスチャ生成器と、複数のテクスチャ・メモリ・ク
ラスタのうちの1つにそれぞれ接続され、前述の1のピ
クセルに対するテクスチャ値を用いて前述の1のピクセ
ルに表示すべきデータを生成する複数の描画プロセッサ
とを有するテクスチャ・マッピングを行うコンピュータ
・システムがある。これによれば、ミップマップを用い
るようなテクスチャ・マッピングにおいてテクスチャ・
メモリ・クラスタのメモリを有効利用することができ
る。
生成器が1のピクセルに対するテクスチャ・イメージの
座標を生成して(ラスタライズ)、それぞれに接続され
たテクスチャ・メモリ・クラスタに送る。そして、各テ
クスチャ・メモリ・クラスタでは、収集手段がそのテク
スチャ・イメージの座標から必要なテクスチャ・イメー
ジ・データのテクセルを計算する。そして、そのテクセ
ルを有する、自己を含むテクスチャ・メモリ・クラスタ
からそのテクセルのテクセル値を収集する。必要なテク
セル値を収集できれば、先の1のピクセルに対するテク
スチャ値を計算する。計算されたテクスチャ値は、計算
を行ったテクスチャ・メモリ・クラスタに接続された描
画プロセッサで、その1のピクセルに表示すべきデータ
を計算する時に用いられる。そして、その表示すべきデ
ータはフレーム・バッファに入れられる。
信手段と受信手段に別れる場合には、通知手段が、必要
なテクセルを自己を含む複数のテクスチャ・メモリ・ク
ラスタに通知する。そして、検索手段がそのテクセルを
有しているかメモリを検索し、有していればそのテクセ
ルのテクセル値を出力する。出力があれば送信手段によ
り要求元に送信し、要求元のテクスチャ・メモリ・クラ
スタの受信手段がそのテクセル値を受信する。
ており、各バンクでもテクスチャ・イメージのインター
リーブが行われている場合には、その各バンクに目的と
するテクセルが格納されているかを記録しておき、その
バンクからデータを引き出す必要がある。
FOと出力FIFOを有していれば、必要なテクセル値
が同一のメモリ・バンクに格納されている場合でも、一
旦FIFOに格納しておくことにより、同一メモリ・バ
ンクへのアクセスがあっても全体のパフォーマンスの低
下を抑えることができる。
段と分配手段とテクセル値を得る手段とを含む場合に
は、通知されたテクセルのメモリ中のアドレスをそのア
ドレス計算手段が計算し、分配手段がそのアドレスに応
じて該当メモリ・バンクにそのアドレスを分配する。そ
して、そのメモリ・バンクから目的のテクセル値を得る
ことができる。
チャ・メモリ・クラスタのIDを記憶するFIFOバッ
ファを有していれば、そのテクセルの要求を受信した際
に要求したテクスチャ・メモリ・クラスタをこのFIF
Oに入力し、目的のテクセル値を格納したメモリ・バン
クからの出力をそのFIFOの記憶内容の順(要求の受
信順)に送信するようにできる。
ンクのIDを記憶するFIFOバッファを有している場
合には、アドレスの分配を行う際に分配したメモリ・バ
ンクのIDをこのFIFOに記憶しておき、先のテクス
チャ・メモリ・クラスタのFIFOと併せてどのバンク
出力をどのテクスチャ・メモリ・クラスタに出力するか
を対応付けする。
ャ・イメージの座標をそのまま、自己を含む複数のテク
スチャ・メモリ・クラスタに送信し、受信したテクスチ
ャ・メモリ・クラスタで、計算手段が必要なテクセルで
あって保持しているテクセルを計算する。このテクセル
のテクセル値を取り出し、要求元(通信元)のテクスチャ
・メモリ・クラスタに送信する。そのテクスチャ・メモ
リ・クラスタは、送られてきたテクセル値を受信し、フ
ィルタにてテクスチャ値を計算することになる。
スチャ生成器が、1のピクセルに対するテクスチャ・イ
メージの座標とそのピクセルとテクセルの縮小率を計算
し、それを接続されているテクスチャ・メモリ・クラス
タに送信する。そして、要求されたテクセルの値を検索
し、要求したテクスチャ・メモリ・クラスタに送信す
る。そして必要なテクセル値を収集してテクスチャ値を
計算する。計算されたテクスチャ値は、そのテクスチャ
・メモリ・クラスタに接続された描画プロセッサによっ
て、上述のピクセルの表示すべきデータの計算に用いら
れる。その表示すべきデータはフレーム・バッファに入
力され、表示装置に表示される。
を示す。ワークステーション1は、メインCPU、メイ
ン・メモリ、キーボード、プリンタ等の入出力装置、及
びFDDやHDDといった記憶装置を含む。このワーク
ステーション1のバスに接続されているのが、グラフィ
ック・サブシステム3であり、このサブシステム3の出
力が表示装置11にて表示される。グラフィック・サブ
システム3は、ジオメトリ計算部5とラスタ計算部7と
テクスチャ計算部9により構成される。
ション1のCPUは、表示装置11に何等かの表示を行
いたい場合には、グラフィック・サブシステム3に描画
を命令する。例えば、CPUがある位置(全体座標)に
おける、ある物体に、あるテクスチャ・イメージを張り
付けて描くことを命令した場合、ジオメトリ計算部5は
ポリゴン分割をし、ポリゴンの頂点におけるスクリーン
上の座標を求め、その座標におけるテクスチャ・イメー
ジの座標を計算する。もし、色の指定がさらにある場合
にはその色情報も計算する。この結果を用いてラスタ計
算部7が、そのポリゴン内部の各ピクセルごとにスクリ
ーン上の座標及びテクスチャ・イメージの座標(あれば
色情報も)を計算する。このテクスチャ・イメージの座
標とテクセルの拡大縮小率LOD(縮小率ともいう。)
からテクスチャ計算部9が、そのピクセルに対応するテ
クスチャの値を生成する。そして、そのテクスチャの値
を用いて表示すべきデータを生成し、フレーム・バッフ
ァに格納する。格納されたデータにより表示装置11の
スクリーン上に上述の物体を描き出すようになってい
る。
図2に示す。ジオメトリ計算部5は、バス13により複
数のテクスチャ生成器/フラグメント生成器15,1
7,19,21,23,25,27,29(ここでは8
つ)に接続されている。そして、各テクスチャ生成器/
フラグメント生成器は、1のテクスチャ・メモリ・クラ
スタに接続されている。このテクスチャ・メモリ・クラ
スタ33,35,37,39,41,45,47は、そ
れぞれアドレス分配バス31とデータ交換バス95で接
続されている。また、各テクスチャ・メモリ・クラスタ
は描画プロセッサ51,53,55,57,59,6
1,65にそれぞれ接続されている。この描画プロセッ
サは、フラグメント生成器も直接接続されている。そし
て各描画プロセッサは、フレーム・バッファ67,6
9,71,73,75,77,79,81にそれぞれ接
続されている。
クスチャ・メモリ・クラスタ33にのみ示してある。他
のテクスチャ・メモリ・クラスタに関しては、その内容
は同一であり説明を省略する。テクスチャ生成器15か
らの出力はアドレス生成器83に接続されており、アド
レス生成器83の出力はアドレス分配バスに接続されて
いる。また、他の出力はアドレス選択器85に接続され
ている。アドレス選択器85の出力は、アドレス分配器
87に接続され、このアドレス分配器87は複数のメモ
リ・バンク89(ここでは8つ)に接続される。メモリ
・バンク89の出力はデータ収集器91に接続されてい
る。このデータ収集器91の出力はデータ交換バス95
にも接続されており、他のテクスチャ・メモリ・クラス
タにデータを出力するようになっている。このデータ収
集器91の出力は、フィルタ93にも接続されている。
フィルタ93では、このデータ収集器91からの出力と
ともに、データ交換バス95に接続されており、他のテ
クスチャ・メモリ・クラスタからの出力を受信するよう
になっている。そして、フィルタ93は生成したテクス
チャ値を担当の描画プロセッサ51に出力するようにな
っている。
る。ジオメトリ計算部5は、上述したように各ポリゴン
の頂点に係るピクセルの座標とテクスチャ・イメージの
座標、その点での色情報を計算し出力する。この出力は
バス13でブロードキャストされ、各テクスチャ生成器
/フラグメント生成器で受信される。各テクスチャ生成
器はポリゴン内部のピクセルを補間計算し、各ピクセル
ごとの、スクリーン上の座標、テクスチャ・イメージの
座標を計算する。また、フラグメント生成器は、同様に
ポリゴン内部のピクセルを補間計算し、各ピクセルごと
の、スクリーン上の座標、色情報を計算する。この補間
計算の際には、ピクセルとテクセルの縮小率LODも同
時に計算される。但し、各テクスチャ生成器及びフラグ
メント生成器は担当するピクセルを予め割り当てられて
おり、担当するピクセル以外のデータは生成されない。
なお、ラスタ計算器7は図2では、テクスチャ生成器/
フラグメント生成器に対応する。
がどのようにテクスチャ・イメージを保持しているかを
簡単に説明する。なお、一般のアプリケーションでは従
来技術で述べたリニア−ミップマップ−リニアが用いら
れており、この方式でテクスチャ・マッピングを行う際
にパフォーマンスを最大にすることを目的とした例を述
べることを予め断っておく。このリニア−ミップマップ
−リニアでは、同時に8つのテクセル値にアクセスでき
なければならない。よって、必要なテクセル値が8つの
テクスチャ・メモリ・クラスタに分散されて記憶されて
いるようにする。すなわち図2の例では、例えばテクス
チャ・メモリ・クラスタ33(クラスタ0)は縮小率L
ODが偶数で、iが偶数、jが偶数のテクセル、テクス
チャ・メモリ・クラスタ35(クラスタ1)は縮小率L
ODが偶数で、iが奇数、jが偶数のテクセル、テクス
チャ・メモリ・クラスタ37(クラスタ2)は縮小率L
ODが偶数で、iが偶数、jが奇数のテクセル、テクス
チャ・メモリ・クラスタ39(クラスタ3)は縮小率L
ODが偶数で、iが奇数、jが奇数のテクセル、テクス
チャ・メモリ・クラスタ41(クラスタ4)は縮小率L
ODが奇数で、iが偶数、jが偶数のテクセル、テクス
チャ・メモリ・クラスタ43(クラスタ5)は縮小率L
ODが奇数で、iが奇数、jが偶数のテクセル、テクス
チャ・メモリ・クラスタ45(クラスタ6)は縮小率L
ODが奇数で、iが偶数、jが奇数のテクセル、テクス
チャ・メモリ・クラスタ47(クラスタ7)は縮小率L
ODが奇数で、iが奇数、jが奇数のテクセル、とす
る。
の例を、図3に示す。図3(A)は、LODが0のテク
スチャ・イメージを示している。この各枠内の数字は、
そのテクセル値が格納されるテクスチャ・メモリ・クラ
スタの番号(上記のカッコ内の数字)を表す。このよう
にLODが0、すなわち偶数の場合には、クラスタ0か
らクラスタ3までに格納される。またLODが1(図3
(B))の場合には、クラスタ4からクラスタ7までに
格納される。図3(C)の場合も同様である。
スチャ・メモリ・クラスタに格納されていることを前提
に以下動作の説明を続行する。テクスチャ生成器からテ
クスチャ・イメージの座標及び縮小率LODを受信した
テクスチャ・メモリ・クラスタは、アドレス生成器が必
要なテクセルを見い出す。すなわち、計算されたLOD
の整数部分の値とそれに+1した値(必ず偶数と奇数に
なる)と、そのレベル毎のテクセルの座標(i,j)を
計算する。そして、それをアドレス分配バス31に出力
するとともに、接続されたアドレス選択器にも出力す
る。アドレス分配バス31の出力も、それを出力したテ
クスチャ・メモリ・クラスタ以外のクラスタのアドレス
選択器に入力される。例えば、アドレス生成器が計算し
たテクセルの座標を左下として、1つのLODのミップ
マップにつき4つのテクセル値を参照するので、各アド
レス選択器は受信した座標のテクセルではなく、その4
つの内の自己が保持しているテクセルが要求されている
と認識し、そのテクセルの座標を計算する。他のLOD
の4つのテクセルについても同様である。但し、ここで
はアドレス選択器で計算していた処理は、要求元のアド
レス生成器が1つのLODごとに4つのテクセルの座標
を生成し、保持しているテクスチャ・メモリ・クラスタ
に送信しても同様である。
直接接続されたアドレス生成器からの要求も含めて、8
つのテクセルについての要求が入力される。そして、こ
のアドレス選択器は8つの要求を順にアドレス分配器に
出力する。アドレス分配器は、テクセルの座標に対応す
る、メモリの物理アドレスを計算し、その物理アドレス
に対応するメモリ・バンクにその物理アドレスを出力す
る。そして目的とするテクセル値がデータ収集器に出力
され、要求元のテクスチャ・メモリ・クラスタにデータ
交換バスにて送られる。もし、そのテクセル値が自己の
テクスチャ・メモリ・クラスタの要求であった場合に
は、フィルタに直接送られる。フィルタは、上述のよう
にデータ交換バスにて送られてきた7つのテクセル値
と、自己のデータ収集器から送られてきた1つのテクセ
ル値で所定の計算を行い、テクスチャ値を生成する。生
成されたテクスチャ値は、接続された描画プロセッサに
出力される。描画プロセッサは、そのテクスチャ値が対
応するスクリーン上のピクセルに対応する、フラグメン
ト生成器により生成された色情報と、フレーム・バッフ
ァの値を参照して、そのピクセウに関する表示データを
生成し、所定のフレーム・バッファに格納する。フレー
ム・バッファに入力されたデータは、コントローラによ
り読み出され、表示装置に表示される。
ンクについてさらに述べる。上で述べたように、アドレ
ス分配器は、物理アドレスに対応するメモリ・バンクに
その物理アドレスを出力する。すなわち、各テクスチャ
・メモリ・クラスタ内のメモリ・バンクでも、物理アド
レスでインターリーブして記憶している。ここではメモ
リ・バンクは8つであるから、物理アドレスの下位3桁
で、インターリーブするとよい。このようにすれば、1
つのテクセル値も重複することなく、テクスチャ・イメ
ージをテクスチャ・メモリ・クラスタに格納することが
でき、メモリ容量の削減に有効である。例えば、第1の
従来例では、通信して各プロセッサで輝度計算を行うた
め、各プロセッサ内のメモリに格納されるテクセルに重
複が必ず生じていた。また、第2の従来例でも、1Mb
yteのテクスチャ・イメージを格納する際には8Mb
yteのメモリが必要になる。これに対し、本発明は1
Mbyteのテクスチャ・イメージを格納するのに1M
byteしか必要なく、大容量化しつつあるテクスチャ
・イメージを大量に格納することができ、有効である。
タの詳細を図4に示す。テクスチャ生成器の出力は、偶
LODアドレス生成器83aと奇LODアドレス生成器
83bに接続されている。また、この2つのアドレス生
成器の出力は、アドレス分配バス31に接続される。さ
らに、そのテクスチャ・メモリ・クラスタの格納してい
るテクセルに依存して、2つのアドレス生成器のどちら
かの出力が、アドレス選択器85に接続される。このア
ドレス選択器85には、バッファ109を介して他のテ
クスチャ・メモリ・クラスタからの出力が入力されるよ
うになっている。そして、アドレス選択器85はアドレ
ス分配器87に接続されており、このアドレス分配器8
7は複数のメモリ・バンク105(ここでは、8つ)に
接続されている。各メモリ・バンクには、入力FIFO
バッファ105aとDRAM105cと出力FIFOバ
ッファ105bがある。またアドレス選択器87は、タ
グFIFOバッファ115とあて先FIFOバッファ1
03に接続されている。このメモリ・バンク及びタグF
IFO115及びあて先FIFO103の出力はデータ
収集器91に接続され、このデータ収集器91の出力
は、一方はバッファ113を介して他のテクスチャ・メ
モリ・クラスタに出力され、他方はフィルタ93に出力
されるようになっている。フィルタ93には他のテクス
チャ・メモリ・クラスタからの出力がバッファ111を
介して入力されるようになっている。フィルタ93の出
力は、上述のように描画プロセッサに接続されている。
レス生成器は、偶LODアドレス生成器83aと奇LO
Dアドレス生成器83bで構成されている。この偶LO
Dアドレス生成器は、偶数のLODに係るテクスチャ・
イメージを格納するテクスチャ・メモリ・クラスタに接
続されている。同様に、奇LODアドレス生成器は、奇
数のLODに係るテクスチャ・イメージを格納するテク
スチャ・メモリ・クラスタに接続されている。当然、自
己のテクスチャ・メモリ・クラスタもテクセルを格納し
ているから、自己の格納しているテクスチャ・イメージ
のLODによりマルチプレクサ101を操作して、アド
レス選択器85に出力する。そして、テクスチャ値を計
算するのに必要な定数を定数FIFO107に格納す
る。必要な定数は従来技術の説明でa,b,dと言って
いたものである。
様にして、例えば必要なテクセルの左下のテクセルの座
標を出力するので、その出力がバッファ109に入力さ
れる。アドレス選択器は、バッファ109及びマルチプ
レクサ101の出力から1つづつ選択してきて、先ほど
述べたように、左下のテクセルの座標に対応し且つ必要
とする4つのテクセルの内の自己の格納しているテクセ
ルを認識する。そしてそのテクセルの座標を計算する。
但し、左下のテクセルの座標を得た段階で、必要なテク
セルの格納された物理アドレスを出力するような構成に
すれば、より効率的である。図2の説明では、話の流れ
上前者のような動作であるとしたが、対応関係は明瞭で
あるから後者のようにすることは何等の困難もない。ア
ドレス選択器85で生成された物理アドレスは、アドレ
ス分配器がそのアドレスの下位3桁で、分配するメモリ
・バンクを認識し、そのメモリ・バンクのID(又はタ
グ)をタグFIFO115に入力する。また、その物理
アドレスに格納されたテクセル値を要求したテクスチャ
・メモリ・アドレスのIDをあて先FIFO103に入
力する。これにより、どのメモリ・バンクからの出力
が、どのテクスチャ・メモリ・クラスタに出力されるか
が順番を誤ることなく認識できる。物理アドレスは対応
するメモリ・バンクの入力FIFOバッファ105aに
入力される。このFIFOは、アドレスによりインター
リーブしているために、入力される物理アドレスがある
1つのメモリ・バンクに集中する場合がある。このよう
な場合であっても、順番を誤ることなく、且つあふれる
ことなく、出力を得るために設けたものである。出力F
IFOバッファ105bも同様の理由で設けられるもの
である。
れる場合も考えられるので、あふれたかどうかもアドレ
ス分配器は検査する。もしあふれた場合には、そのメモ
リ・バンクの処理が進み、入力FIFOバッファ105
aに空きが生ずるまで、入力FIFOバッファ105a
への入力を停止する。そして、テクセル値は出力FIF
Oバッファ105bに入力される。ここでデータ収集器
91は、タグFIFO115とあて先FIFO103を
1づつそれぞれ読み出す。そして、タグFIFO115
の示すメモリ・バンクの出力FIFO105bからテク
セル値を読み出し、対応するバッファ113に出力す
る。または、自己の要求に基づく場合にはフィルタ93
に出力する。そして、バッファ113から要求元のテク
スチャ・メモリ・クラスタに出力される。
たテクセル値は、まず、バッファ111に格納され、そ
してフィルタ93に入力される。これにより8つの必要
なテクセル値が集まったので、定数FIFO107から
必要な定数を読み出し、従来技術の説明で示した計算を
フィルタ93が行う。この計算によりテクスチャ値が生
成され、描画プロセッサに与えられる。
効利用を行うと共に、この例ではラスタ計算部以下を並
列に行うことにより、テクスチャ・メモリ・クラスタ間
の通信を行うにしても、パフォーマンスを許容範囲内の
悪化にとどめることができた。しかし、これは一例であ
って、例えば、テクスチャ・メモリ・クラスタの数はそ
の同時アクセスが必要なテクセルの数に合わせること、
又はパフォーマンスを落とすのであれば複数回テクスチ
ャ・メモリ・アクセスするようにして、テクスチャ・メ
モリ・クラスタの数を減らす等の変更を行うことができ
る。さらに、アドレス生成器をテクスチャ生成器に接続
している例を示したが、縮小率LODとテクスチャ・イ
メージの座標をそのまま複数のテクスチャ・メモリ・ク
ラスタにブロードキャストし、アドレス選択器で計算し
てもよい。また、メモリ・バンクの数も、アクセスが集
中しないような数に変更することは可能である。さら
に、入力FIFOバッファ及び出力FIFOバッファの
段数も、同様にメモリ・バンクの容量等に依存するの
で,変更可能である。
の段数もメモリ・アクセスの速度等に依存するので、変
更可能である。また、8つのテクセルを同時に必要とす
る例を示したが、この数が増加した場合、減少した場合
にも、そのインターリーブの仕方及びテクスチャ・メモ
リ・クラスタの数にて対応可能である。
ラフィクス・インタフェイスにあるテクスチャ・マッピ
ングの機能を効率良く実行させることができるコンピュ
ータ・グラフィクス装置を得ることができた。
少させても効率が許容範囲内の悪化で済むシステムを得
ることもできた。
理アドレスはランダムである、DRAMのアクセス時間
は60nsである、各FIFOは7.5nsで動作可
能、物理アドレスは7.5nsごとに入力され、アドレ
ス分配器は7,5nsごとに分配することができる。デ
ータ収集器は7.5nsで出力FIFOからデータを回
収できる、との条件でシミュレーションを行った結果、
DRAMの利用率は85パーセントとなり、アクセスレ
ートとしては約113MHzであった。
グラフィクス装置の要部構成を示すブロック図である。
セルの格納方法を示す概念図である。
ック図である。
標系を示す線図である。
(A)はレベル0のミップマップであるテクスチャイメ
ージを示す線図、(B)はサイズが半分のレベル1のミ
ップマップであるテクスチャ示す線図である。
成を示すブロック図である。
である。
である。
図である。
システム 5 ジオメトリ計算部 7 ラスタ計算部 9 テクスチャ計算部 11 表示装置 13 バス 15から29 テクスチャ生成器/フラグメント生成
器 31 アドレス分配バス 33から47 テクスチャ・メモリ・クラスタ 51から65 描画プロセッサ 67から81 フレーム・バッファ 83 アドレス生成器 85 アドレス選択器 87 アドレス分配器 89 メモリ・バンク 91 データ収集器 93 フィルタ 95 データ交換バス 101 マルチプレクサ 103 あて先FIFO 105 メモリ・バン
ク 107 定数FIFO 109 バッファ 111 バッファ 113 バッファ 115 タグFIFO
Claims (9)
- 【請求項1】複数のテクセルからなるテクスチャ・イメ
ージ・データをインターリーブして重複がないように各
々のメモリに格納する複数のテクスチャ・メモリ・クラ
スタであって、1のピクセルに対するテクスチャ・イメ
ージの座標から、その座標に対応するテクスチャ値を計
算するのに必要なテクセルを求め、そのテクセルの色情
報であるテクセル値を前記複数のテクスチャ・メモリ・
クラスタから収集する収集手段と、収集した前記テクセ
ル値から前記1のピクセルに対するテクスチャ値を計算
する手段とをそれぞれ有する前記複数のテクスチャ・メ
モリ・クラスタと、 前記複数のテクスチャ・メモリ・クラスタを接続するバ
スと、 前記複数のテクスチャ・メモリ・クラスタのうちの1つ
にそれぞれ接続され、前記1のピクセルに対するテクス
チャ・イメージの座標を計算する複数のテクスチャ生成
器と、 前記複数のテクスチャ・メモリ・クラスタのうちの1つ
にそれぞれ接続され、前記1のピクセルに対するテクス
チャ値を用いて前記1のピクセルに表示すべきデータを
生成する複数の描画プロセッサとを有するテクスチャ・
マッピングを行うコンピュータ・システム。 - 【請求項2】前記収集手段が、 1のピクセルに対するテクスチャ・イメージの座標か
ら、その座標に対応するテクスチャ値を計算するのに必
要なテクセルを求め、前記複数のテクスチャ・メモリ・
クラスタに通知する手段と、 前記メモリを検索し、通知された前記テクセルのテクセ
ル値を得る検索手段と、 前記テクセル値を前記テクセルの通知元のテクスチャ・
メモリ・クラスタに送信する手段と、 前記テクセル値を受信する手段とを含む請求項1記載の
テスクチャ・マッピングを行うコンピュータ・システ
ム。 - 【請求項3】前記メモリは複数のバンクに別れており、 各バンクは、前記テクスチャ・メモリ・クラスタが格納
するテクスチャ・イメージ・データをインターリーブし
て重複を生じないように格納することを特徴とする請求
項1又は2記載のテスクチャ・マッピングを行うコンピ
ュータ・システム。 - 【請求項4】前記複数のバンクは、入力FIFOバッフ
ァと、出力FIFOバッファとを含む請求項3記載のテ
スクチャ・マッピングを行うコンピュータ・システム。 - 【請求項5】前記検索手段は、 前記通知されたテクセルのアドレスを計算する手段と、 計算された前記アドレスから該当する前記メモリのバン
クに前記アドレスを分配する分配手段と、 前記メモリのバンクからテクセル値を得る手段とを含む
請求項3又は4記載のテスクチャ・マッピングを行うコ
ンピュータ・システム。 - 【請求項6】前記必要なテクセルの通知元のテクスチャ
・メモリ・クラスタのIDを記憶するFIFOバッファ
を前記テクスチャ・メモリ・クラスタの各々がさらに有
することを特徴とする請求項2乃至5のいずれか記載の
テスクチャ・マッピングを行うコンピュータ・システ
ム。 - 【請求項7】前記計算されたアドレスを分配した前記メ
モリのバンクのIDを記憶するFIFOバッファを前記
テクスチャ・メモリ・クラスタの各々がさらに有するこ
とを特徴とする請求項5記載のテスクチャ・マッピング
を行うコンピュータ・システム。 - 【請求項8】前記収集手段が、 前記1のピクセルに対するテクスチャ・イメージの座標
を前記複数のテクスチャ・メモリ・クラスタに通知する
手段と、 前記座標から、その座標に対応するテクスチャ値を計算
するのに必要なテクセルであって、自己の前記メモリが
保持するテクセルを計算する手段と、 前記テクセルのテクセル値を前記メモリから取り出す手
段と、 前記テクセル値を前記テクセルの通知元のテクスチャ・
メモリ・クラスタに送信する手段と、 前記テクセル値を受信する手段とを含む請求項1記載の
テスクチャ・マッピングを行うコンピュータ・システ
ム。 - 【請求項9】複数のテクセルからなるテクスチャ・イメ
ージと、そのテクスチャ・イメージを1以上の段階で縮
小したデータであり且つ1又は複数のテクセルからなる
縮小テクスチャ・イメージとを含むテクスチャ・イメー
ジ・データをインターリーブして重複を生じないよう各
々のメモリに格納する複数のテクスチャ・メモリ・クラ
スタであって、1のピクセルに対する前記テクスチャ・
イメージの座標及びピクセルと前記テクスチャ・イメー
ジのテクセルの縮小率から前記1のピクセルに対するテ
クスチャ値を計算するのに必要なテクセルを求め、その
テクセルの色情報であるテクセルの値を前記複数のテク
スチャ・メモリ・クラスタが出力するように要求する手
段と、要求された前記テクセルの値を検索し、要求した
前記テクスチャ・メモリ・クラスタに出力する手段と、
前記テクセルの値を収集する手段と、収集された前記テ
クセルの値から前記テクスチャ値を計算する手段とをそ
れぞれ有する前記複数のテクスチャ・メモリ・クラスタ
と、 前記複数のテスクチャ・メモリ・クラスタを接続するバ
スと、 前記複数のテクスチャ・メモリ・クラスタのうちの1つ
にそれぞれ接続され、前記1のピクセルに対するテクス
チャ・イメージの座標及び前記縮小率を計算する複数の
テクスチャ生成器と、 前記複数のテクスチャ・メモリ・クラスタのうちの1つ
にそれぞれ接続され、前記1のピクセルに対するテクス
チャ値を用いて前記1のピクセルに表示すべきデータを
生成する複数の描画プロセッサとを有するテクスチャ・
マッピングを行うコンピュータ・システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6298618A JP2637931B2 (ja) | 1994-12-01 | 1994-12-01 | テクスチャ・マッピングを行うコンピュータ・システム |
US08/566,244 US5767858A (en) | 1994-12-01 | 1995-12-01 | Computer graphics system with texture mapping |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6298618A JP2637931B2 (ja) | 1994-12-01 | 1994-12-01 | テクスチャ・マッピングを行うコンピュータ・システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08161509A true JPH08161509A (ja) | 1996-06-21 |
JP2637931B2 JP2637931B2 (ja) | 1997-08-06 |
Family
ID=17862066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6298618A Expired - Lifetime JP2637931B2 (ja) | 1994-12-01 | 1994-12-01 | テクスチャ・マッピングを行うコンピュータ・システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5767858A (ja) |
JP (1) | JP2637931B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998050887A1 (fr) * | 1997-05-07 | 1998-11-12 | Sega Enterprises, Ltd. | Processeur d'images et procede de traitement d'images |
US7161603B2 (en) | 2003-04-28 | 2007-01-09 | Kabushiki Kaisha Toshiba | Image rendering device and image rendering method |
JPWO2005088548A1 (ja) * | 2004-03-10 | 2007-08-30 | 株式会社東芝 | 描画装置、描画方法、及び描画プログラム |
US7528842B2 (en) | 2004-04-23 | 2009-05-05 | Sony Computer Entertainment Inc. | Image processing apparatus and image processing method |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078332A (en) * | 1997-01-28 | 2000-06-20 | Silicon Graphics, Inc. | Real-time lighting method using 3D texture mapping |
US6124858A (en) * | 1997-04-14 | 2000-09-26 | Adobe Systems Incorporated | Raster image mapping |
US6043821A (en) * | 1997-06-30 | 2000-03-28 | Ati Technologies, Inc. | Method and apparatus for rendering pixel information from blended texture maps |
US6417848B1 (en) * | 1997-08-25 | 2002-07-09 | Ati International Srl | Pixel clustering for improved graphics throughput |
US6002407A (en) * | 1997-12-16 | 1999-12-14 | Oak Technology, Inc. | Cache memory and method for use in generating computer graphics texture |
JP3985321B2 (ja) * | 1998-01-29 | 2007-10-03 | ソニー株式会社 | 演算装置および画像処理装置 |
US6144392A (en) * | 1998-04-30 | 2000-11-07 | Ati Technologies, Inc. | Method and apparatus for formatting a texture in a frame buffer |
US6246422B1 (en) * | 1998-09-01 | 2001-06-12 | Sun Microsystems, Inc. | Efficient method for storing texture maps in multi-bank memory |
US6353438B1 (en) * | 1999-02-03 | 2002-03-05 | Artx | Cache organization—direct mapped cache |
US6567092B1 (en) * | 1999-02-10 | 2003-05-20 | Microsoft Corporation | Method for interfacing to ultra-high resolution output devices |
US6362828B1 (en) * | 1999-06-24 | 2002-03-26 | Microsoft Corporation | Method and system for dynamic texture replication on a distributed memory graphics architecture |
US6762763B1 (en) * | 1999-07-01 | 2004-07-13 | Microsoft Corporation | Computer system having a distributed texture memory architecture |
US6396502B1 (en) | 1999-10-15 | 2002-05-28 | Hewlett-Packard Company | System and method for implementing accumulation buffer operations in texture mapping hardware |
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 |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6618053B1 (en) * | 2000-01-10 | 2003-09-09 | Vicarious Visions, Inc. | Asynchronous multilevel texture pipeline |
US6914605B2 (en) * | 2000-03-21 | 2005-07-05 | Matsushita Electric Industrial Co., Ltd. | Graphic processor and graphic processing system |
US7119813B1 (en) * | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
FR2820874B1 (fr) * | 2001-02-13 | 2003-05-30 | St Microelectronics Sa | Procede de gestion a acces aleatoire et rapide d'une memoire dram |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
JP3775580B2 (ja) * | 2001-11-21 | 2006-05-17 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
US6819324B2 (en) | 2002-03-11 | 2004-11-16 | Sun Microsystems, Inc. | Memory interleaving technique for texture mapping in a graphics system |
JP4193990B2 (ja) * | 2002-03-22 | 2008-12-10 | ディーリング,マイケル,エフ. | スケーラブルな高性能3dグラフィックス |
US6876362B1 (en) | 2002-07-10 | 2005-04-05 | Nvidia Corporation | Omnidirectional shadow texture mapping |
DE10345080A1 (de) * | 2003-09-26 | 2005-05-12 | Peguform Gmbh | Verfahren und Vorrichtung zur schichtabtragenden 3-dimensionalen Materialbearbeitung |
US8144156B1 (en) * | 2003-12-31 | 2012-03-27 | Zii Labs Inc. Ltd. | Sequencer with async SIMD array |
JP2005332195A (ja) | 2004-05-19 | 2005-12-02 | Sony Computer Entertainment Inc | テクスチャユニット、画像描画装置、テクセル転送方法 |
US7508390B1 (en) | 2004-08-17 | 2009-03-24 | Nvidia Corporation | Method and system for implementing real time soft shadows using penumbra maps and occluder maps |
US8462156B1 (en) | 2005-12-22 | 2013-06-11 | Nvidia Corporation | Method and system for generating shadows in a graphics processing unit |
US20070211070A1 (en) * | 2006-03-13 | 2007-09-13 | Sony Computer Entertainment Inc. | Texture unit for multi processor environment |
US7912279B2 (en) * | 2006-10-26 | 2011-03-22 | Qualcomm Incorporated | Automatic white balance statistics collection |
US7969444B1 (en) * | 2006-12-12 | 2011-06-28 | Nvidia Corporation | Distributed rendering of texture data |
US8234558B2 (en) * | 2007-06-22 | 2012-07-31 | Apple Inc. | Adaptive artwork for bandwidth- and/or memory-limited devices |
US20140098096A1 (en) * | 2012-10-08 | 2014-04-10 | Nvidia Corporation | Depth texture data structure for rendering ambient occlusion and method of employment thereof |
US9679342B2 (en) * | 2013-07-12 | 2017-06-13 | Arm Limited | Result data stream coding for repeating workloads |
US9483843B2 (en) | 2014-01-13 | 2016-11-01 | Transgaming Inc. | Method and system for expediting bilinear filtering |
US9870339B2 (en) * | 2015-06-26 | 2018-01-16 | Intel Corporation | Hardware processors and methods for tightly-coupled heterogeneous computing |
GB2602687B (en) * | 2021-06-25 | 2022-12-28 | Imagination Tech Ltd | Efficient convolution operations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2270243B (en) * | 1992-08-26 | 1996-02-28 | Namco Ltd | Image synthesizing system |
CA2103395C (en) * | 1992-11-24 | 2004-08-17 | Masakazu Suzuoki | Apparatus and method for providing texture of a moving image to a surface of an object to be displayed |
US5490240A (en) * | 1993-07-09 | 1996-02-06 | Silicon Graphics, Inc. | System and method of generating interactive computer graphic images incorporating three dimensional textures |
-
1994
- 1994-12-01 JP JP6298618A patent/JP2637931B2/ja not_active Expired - Lifetime
-
1995
- 1995-12-01 US US08/566,244 patent/US5767858A/en not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998050887A1 (fr) * | 1997-05-07 | 1998-11-12 | Sega Enterprises, Ltd. | Processeur d'images et procede de traitement d'images |
US7161603B2 (en) | 2003-04-28 | 2007-01-09 | Kabushiki Kaisha Toshiba | Image rendering device and image rendering method |
JPWO2005088548A1 (ja) * | 2004-03-10 | 2007-08-30 | 株式会社東芝 | 描画装置、描画方法、及び描画プログラム |
JP4521399B2 (ja) * | 2004-03-10 | 2010-08-11 | 株式会社東芝 | 描画装置、描画方法、及び描画プログラム |
US7528842B2 (en) | 2004-04-23 | 2009-05-05 | Sony Computer Entertainment Inc. | Image processing apparatus and image processing method |
Also Published As
Publication number | Publication date |
---|---|
JP2637931B2 (ja) | 1997-08-06 |
US5767858A (en) | 1998-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2637931B2 (ja) | テクスチャ・マッピングを行うコンピュータ・システム | |
US6288730B1 (en) | Method and apparatus for generating texture | |
JP2673101B2 (ja) | コンピュータ・グラフィクス装置 | |
US6259460B1 (en) | Method for efficient handling of texture cache misses by recirculation | |
JP4203128B2 (ja) | 3次元の三角形描画におけるブロック及びバンド志向走査 | |
US7151544B2 (en) | Method for improving texture cache access by removing redundant requests | |
US7330188B1 (en) | Texture caching arrangement for a computer graphics accelerator | |
US6828978B2 (en) | Bucket-sorting graphical rendering apparatus and method | |
US20080150951A1 (en) | 3-d rendering engine with embedded memory | |
KR20070064337A (ko) | 그래픽 처리 서브시스템 및 픽셀 단편에 대해 적어도하나의 값을 결정하기 위한 방법 | |
US20070211070A1 (en) | Texture unit for multi processor environment | |
EP1598784A2 (en) | Texture mapping apparatus and texel transfer method | |
US7069387B2 (en) | Optimized cache structure for multi-texturing | |
US6933945B2 (en) | Design for a non-blocking cache for texture mapping | |
US9633458B2 (en) | Method and system for reducing a polygon bounding box | |
US20040012610A1 (en) | Anti-aliasing interlaced video formats for large kernel convolution | |
KR100243179B1 (ko) | 그래픽 시스템의 신호처리방법 및 장치 | |
US20040008204A1 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
US5657436A (en) | Preprocessing apparatus and method for line scan conversion in a computer graphics system | |
US6816162B2 (en) | Data management to enable video rate anti-aliasing convolution | |
US11748933B2 (en) | Method for performing shader occupancy for small primitives | |
US11379944B2 (en) | Techniques for performing accelerated point sampling in a texture processing pipeline | |
US7023444B2 (en) | Multi-texturing by walking an appropriately-sized supertile over a primitive | |
US20030231180A1 (en) | Image processing apparatus and method of same | |
US6985153B2 (en) | Sample request mechanism for supplying a filtering engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080425 Year of fee payment: 11 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080425 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080425 Year of fee payment: 11 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100425 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 16 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 16 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 17 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |