JP2009048509A - マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法 - Google Patents

マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法 Download PDF

Info

Publication number
JP2009048509A
JP2009048509A JP2007215399A JP2007215399A JP2009048509A JP 2009048509 A JP2009048509 A JP 2009048509A JP 2007215399 A JP2007215399 A JP 2007215399A JP 2007215399 A JP2007215399 A JP 2007215399A JP 2009048509 A JP2009048509 A JP 2009048509A
Authority
JP
Japan
Prior art keywords
texture
pixel data
data
pixel
data storage
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.)
Withdrawn
Application number
JP2007215399A
Other languages
English (en)
Inventor
Hideaki Yamauchi
英彰 山内
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007215399A priority Critical patent/JP2009048509A/ja
Publication of JP2009048509A publication Critical patent/JP2009048509A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】マルチテクスチャの各要素テクスチャにおける同一位置の画素データをグラフィックスメモリから読み出す場合に、データアクセスを高速化し、システムの処理性能を向上させる。
【解決手段】テクスチャに対して同一位置にある、各要素テクスチャにおける複数の画素データが、同一位置毎に1つの画像データ格納メモリ上に連続して並ぶように、画素データの格納位置を決定する画素データ格納位置決定部と、決定された格納位置にしたがって、複数の画素データを1つの画像データ格納メモリに格納する画素データ格納部とを備える。
【選択図】図1

Description

本発明はコンピュータグラフィックスシステムに係り、さらに詳しくは3次元コンピュータグラフィックスにおけるマルチテクスチャマッピング装置と、マルチテクスチャの要素テクスチャデータのメモリ格納方法に関する。
テクスチャマッピングは、3次元コンピュータグラフィックスにおいて、質感を表現するための代表的な方法である。このテクスチャマッピングは、3次元形状の表面に、例えば木目や大理石などの模様のテクスチャパターンを貼り付けて、完成形状としての物体に実際的な質感を与えるものである。
このマッピングの手法としてのUVマッピングでは、マッピング対象となる形状表面が2次元のUV座標系を用いて表わされる。これは実際の3次元形状の表面がディスプレイ上、すなわち画像上では2次元的に表わされるためである。
複数のテクスチャの画素のデータ、例えば色情報画像、ハイライト情報画像、法線情報画像などの各テクスチャの画素のデータに対して複雑な演算を施し、その結果を3次元形状の表面に貼り付けるマルチテクスチャマッピング手法において、従来それぞれの要素テクスチャ画像のデータは、例えばグラフィックスメモリ上でそれぞれ独立した領域、すなわち異なるアドレス範囲に保持されていた。
図8は、要素テクスチャデータのグラフィクスメモリ、すなわち物理メモリへの格納方式の従来例の説明図である。ここでは、マルチテクスチャセットを構成する要素テクスチャがテクスチャa、テクスチャb、およびテクスチャcの3つであるものとする。例えばテクスチャaは色のデータを示すカラーマップ、テクスチャbは法線方向のベクトルのデータを示す法線マップ、テクスチャcは色の強度を示すスペキュラーマップであり、これらのマップのデータを同一の3次元形状、すなわち描画対象物表面にマッピングするために、そのマッピング処理では各要素テクスチャの内部で同一座標位置の画素テータを必要とするものと仮定する。各画素のデータは、例えばa00、a01、a02..のように表現されるものとし、例えばa01の“0”はV座標、“1”はU座標の値を表わすものとする。
図8においては、3つのテクスチャa、b、およびcの画素データが物理メモリ上でそれぞれ連続する一連の領域に格納されている。テクスチャaの先頭アドレス(バイトアドレス)が0x01000000、テクスチャbの先頭アドレスが0x01080000、テクスチャcの先頭アドレスが0x010e0000であり、テクスチャaの1画素が32bit、テクスチャbの1画素が24bit、テクスチャcの1画素が8bitのデータ長を持つものと仮定する。すると、テクスチャaの画素データの格納領域、テクスチャbの画素データの格納領域、およびテクスチャcの画素データの格納領域はそれぞれ連続する領域であるが、各領域は物理メモリ上でそれぞれ離れた位置にあるものとなる。
マルチテクスチャマッピングの一般的な実現のために、テクスチャa、b、およびcの参照画素を、それぞれ異なるテクスチャ座標(Ua,Va)、(Ub,Vb)、(Uc,Vc)から読み出す場合もあり、図8のように物理メモリ上にテクスチャ画像データを格納することも適切な場合がある。例えば対象物の模様を表現するテクスチャと、その対象物を照らすスポットライトの照射状態を表現するテクスチャの合成においては、図8のよ
うなマルチテクスチャ画像データの格納方式を用いることができる。
しかしながら、例えば対象物の写実性を増すためのマルチテクスチャマッピングにおいて、要素テクスチャとしてその対象物の色データを示すカラーマップ、画素に対する法線ベクトルのデータを示す法線マップ、画素の色の強度を示すスペキュラーマップなどを組み合わせる場合には、これらのテクスチャは共に対象物に属する画像であり、Ua=Ub=Uc,Va=Vb=Vcという特別なテクスチャ座標に対するアクセスパターンを持つものであり、このようなアクセスパターンは実際に頻繁に利用されるものである。
図8において、例えば(U,V)=(4,0)の位置のテクスチャ画素に対するアクセスが発生したとすると、テクスチャaのデータa04のアドレスは0x01000010となり、テクスチャbのデータb04のアドレスは0x0108000cとなり、テクスチャcのデータc04のアドレスは0x010e0004となる。このような画素データa04、b04、およびc04のグラフィックスメモリからの読み出しはアドレスが離れたランダムアクセスとなり、アクセス性能の低下を引き起こすことになる。
このように、例えば3つのテクスチャa、b、およびcのような複数の要素テクスチャを組み合わせて対象図形に貼り付けるマルチテクスチャマッピングにおいて、例えば画像のサイズが同一であり、かつ同時にアクセスされる画素の座標が同じとなるような特別なテクスチャ座標アクセスパターンに対するグラフィックスメモリからのデータ読み出し処理は、アドレスが離れているためにランダム・アクセスとなり、処理性能低下を引き起こすという問題点があった。
このようなテクスチャマッピングに関する従来技術としての特許文献1においては、複数のテクセル(画素)データを1回のアクセスで得ることができ、その複数のテクセルデータから必要なテクセル(画素)データを選択することによって、メモリ効率が良く、高速にアクセスできるテクスチャパターンメモリ回路が開示されている。
また同様の従来技術としての特許文献2では、例えば対応する座標の近傍の4点のデータを重み付けして平均するバイリニアフィルタリングを用いる場合に、その近傍の4点のデータを同時に読み出せるようにアクセスすることによって、3次元グラフィックスの処理性能の向上を図ることができるテクスチャマッピング用メモリ装置が開示されている。
しかしながらこのような従来技術を用いても、複数の要素テクスチャを組み合わせるマルチテクスチャマッピングにおいて、同時にアクセスする画素の座標がそれぞれ同じであるような特別なアクセスパターンの場合に、グラフィックスメモリからのデータ読み出しがランダム・アクセスとなってしまい、処理性能の低下を引き起こすという問題点を解決することはできなかった。
特開平8−320946号公報 「テクスチャパターンメモリ回路」 特開平11−154237号公報 「テクスチャマッピング用メモリ装置」
本発明の課題は、上述の問題点に鑑み、例えばグラフィックスメモリからマルチテクスチャの各要素テクスチャにおける同一の座標位置の画素データを読み出す場合に、データアクセスを高速化し、グラフィックスシステムの処理性能を向上させることである。
本発明のマルチテクスチャマッピング装置は、対象物に対応する複数の要素テクスチャ
の画素のデータを、例えば演算し、その結果を対象物の図形に貼り付けるマルチテクスチャマッピングを行うものであり、少なくとも画素データ格納位置決定手段と画素データ格納手段とを備える。
画素データ格納位置決定手段は、テクスチャに対して同一位置にある、マルチテクスチャの各要素テクスチャの複数の画素データを、1つの画像データ格納メモリ、例えばグラフィックスメモリ上に前記位置毎に連続して並ぶように画素データの格納位置を決定するものであり、画素データ格納手段は、決定された格納位置にしたがって複数の画素データを、例えばグラフィックスメモリに格納するものである。
本発明のマルチテクスチャデータのメモリ格納方法は、前述のマルチテクスチャマッピング装置によって実行される画素データ格納位置の決定と、決定された格納位置に従う画素データの、例えばグラフィックスメモリへの格納を行う方法である。
本発明においては、以上のように例えばグラフィックスメモリ上に、テクスチャに対して同一位置にある、複数の要素テクスチャのデータにおける複数の画素データが連続して格納され、実際のマルチテクスチャマッピングにおいては、必要な位置の各要素テクスチャの複数の画素データをバースト的に読み出し、読み出されたデータを用いてマルチテクスチャマッピングが行われる。
本発明によれば、マルチテクスチャの各要素テクスチャの画素データであって、同一の位置の画素データをバースト的に読み出すことが可能となり、データアクセスが高速化され、グラフィックスシステムの処理性能向上に寄与するところが大きい。
図1は、本実施形態におけるマルチテクスチャマッピング装置の基本的な構成ブロック図である。同図においてマルチテクスチャマッピング装置1は、画素データ格納メモリ2、例えばグラフィックスメモリに格納されたマルチテクスチャ画像データを用いてマルチテクスチャマッピングを行うものであり、画素データ格納位置決定部3、画素データ格納部4、画素テータ読み出し位置決定部5、画素データ読み出し部6、およびマルチテクスチャマッピングモジュール7を備える。
画素データ格納位置決定部3は、例えば図示しないメインメモリに格納されているマルチテクスチャの各要素テクスチャの画像データを、画像データ格納メモリ2、例えばグラフィックスメモリに格納する場合に各画素データの格納位置を決定するものであり、テクスチャに対して同一位置にある、各要素テクスチャのデータにおける複数の画素データが画素データ格納メモリ2上で座標毎に連続して並ぶように画素データの格納位置を決定する。画素データ格納部4は決定された格納位置にしたがって、各要素テクスチャの画素データを画像データ格納メモリ2に格納する。
画素データ読み出し位置決定部5は、画像データ格納メモリ2に格納されている画素データ、すなわち同一位置のデータが連続的に並んでいる画素データを、同一位置毎に読み出すための読み出し位置を決定するものであり、画素データ読み出し部6は決定された読み出し位置に対応して、同一位置毎に連続して読み出されたデータを各要素テクスチャ毎の画素データに分解して、マルチテクスチャマッピング処理を行うマルチテクスチャマッピングモジュール7に与えるものである。
図2は、本実施形態におけるマルチテクスチャの各要素テクスチャの画素データの物理メモリ、例えばグラフィックスメモリへの格納方式の説明図である。この方式では、単一
の先頭アドレス0x01000000から始まって、テクスチャa、テクスチャb、テクスチャcの画素データが交互に並べられる配置が用いられる。テクスチャa、テクスチャb、テクスチャcの各1画素が循環する周期は、32bit+24bit+8bit=64bitなので、a04のアドレスは0x01000020となり、b04のアドレスは0x01000024となり、c04のアドレスは0x01000027となって、全ての画素データが連続的に繋がっているので、バースト転送により画素データを高速にリードすることができる。
続いて、図3を参照して本発明の第一の実施例におけるマルチテクスチャマッピング装置の構成を説明する。同図においてマルチテクスチャマッピング装置10には、あるマルチテクスチャセットを指す先頭アドレスを保持するための、マルチテクスチャセットアドレスレジスタ15が存在する。さらに、そのマルチテクスチャセットに含まれる要素テクスチャの枚数を保持するための、マルチテクスチャ枚数レジスタ16が存在する。さらに、各要素テクスチャで共通の画像解像度(幅と高さ)を保持するための、マルチテクスチャセット解像度レジスタ17が存在する。さらに、各要素テクスチャ毎に個別の画素あたりデータサイズ(ビット長)を保持するための、マルチテクスチャサイズ情報レジスタ配列18が存在する。さらに、各要素テクスチャ毎に固有の識別子を保持するための、マルチテクスチャID番号レジスタ配列19が存在する。さらに、各要素テクスチャデータがグラフィックスメモリ13にロードされるときの画素並び順を保持するための、マルチテクスチャ並び順指示レジスタ配列20が存在する。
マルチテクスチャセットアドレスレジスタ15には、例えば図2の説明で述べたアドレス0x01000000が保持される。マルチテクスチャ枚数レジスタ16には、例えばテクスチャa、テクスチャb、テクスチャcを登録するのであればその枚数である“3”が保持される。マルチテクスチャセット解像度レジスタ17には、テクスチャ画像の幅と高さが画素数単位で保持される。例えば、幅512テクセル(画素)、高さ256テクセルといった形式である。マルチテクスチャID番号レジスタ配列19には、各要素テクスチャに固有のID番号が保持される。マルチテクスチャサイズ情報レジスタ配列18には、各要素テクスチャ毎の画素あたりのデータ長(ビット数)が、ID番号をキーとして保持される。マルチテクスチャ並び順指示レジスタ配列20には、各要素テクスチャの画素がどの順番でグラフィックスメモリ13に格納されるかが、ID番号の並びとして保持される。この例では、ID2、ID3、ID1の順に並んでいるので、テクスチャa、テクスチャb、テクスチャcの並び順になる。あるいは、ID番号をキーとして、順位を表す数値を保持してもよい。
これらの各レジスタに保持された情報は、画素データ転送制御モジュール25に送られる。このモジュールは、各要素テクスチャの画素が入り組んで間欠的になった、メインメモリ12から読み出すべき画素データのアドレスの生成と、これらの画素データのライト時のグラフィックスメモリ13上の物理アドレスの決定と、マルチテクスチャマッピングモジュール28に画素データを送るためのデータリード時のグラフィックスメモリ13上の物理アドレスの決定とを行うものである。具体的なアドレス計算手法は後述する。
画素データ転送制御モジュール25から送信されたアドレスにもとづいて、メインメモリ12、メモリコントローラ27、グラフィックスメモリ13の間で、画素データの転送が行われる。
続いて、図4を参照して、本発明の第一の実施例における、要素テクスチャデータのグラフィックスメモリ13へのデータロード(格納)手順を説明する。同図のActivity1のステージにおいて、Action1−1マルチテクスチャセットアドレスレジスタ15へのアドレス指定、Action1−2マルチテクスチャ枚数レジスタ16への枚
数指定、Action1−3マルチテクスチャセット解像度レジスタ17への解像度指定がCPU11によって行われる。なお、Action1−1からAction1−3までの設定順序は任意であり、入れ替えても良い。
Activity2のステージにおいて、Action2−1マルチテクスチャID番号レジスタ配列19へのID付与、Action2−2マルチテクスチャサイズ情報レジスタ配列18への画素データ長の指定、Action2−3マルチテクスチャ並び順指示レジスタ配列20への要素テクスチャ並び順指定が行われる。なお、Action2−1からAction2−3までの設定順序は、設定内容に変更が起こらないならば任意であり、入れ替えても良い。Activity2のステージは、対象となるマルチテクスチャセットの全要素テクスチャにわたって実行される必要があるので、Decision0−1で終了判定しながらループ実行される。
Activity3のステージにおいて、Action3−1先頭アドレス計算により、選択中の要素テクスチャデータのロード先の先頭アドレスを算出する。前述の例の場合は、テクスチャaを選択中なら0x01000000、テクスチャbを選択中なら0x01000004、テクスチャcを選択中なら0x01000007になる。Action3−2画素アドレス周期計算では、各要素テクスチャの画素座標が1画素分移動する周期を算出する。この例の場合は、テクスチャa、テクスチャb、テクスチャcの1画素が循環する周期は、32bit+24bit+8bit=64bit=0x08byteである。
Action3−3画素アドレス計算では、選択中の画素のロード先アドレスを以下のように計算する。(U,V)=(100,49)の場合を例にとると、テクスチャの幅と高さがそれぞれ512と256であることを利用して、選択中の画素(100,49)をU座標方向にシリアライズした画素順は、512x49+100=25188番目である。これと、1画素の循環周期64bitと、要素テクスチャの画素データ長を考慮すると、求めるアドレスは、テクスチャa選択時は0x01000000+25188x64bit+0bit=0x01031320となり、テクスチャb選択時は0x01031320+32bit=0x01031324となり、テクスチャc選択時は0x01031320+32bit+24bit=0x01031327となる。これらの計算には、マルチテクスチャセットアドレスレジスタ15の情報の他に、マルチテクスチャセット解像度レジスタ17の情報とマルチテクスチャ並び順指示レジスタ配列20の情報と、マルチテクスチャサイズ情報レジスタ配列18の情報を利用する。
Action3−4では、Action3−3で求めたアドレスに画素データをロードする。Action3−3とAction3−4は全ての画素にわたって実行する必要があるので、Decision3−1で終了判定しながらループ実行される。さらに、Activity3のステージ自体は、対象となるマルチテクスチャセットの全要素テクスチャにわたって実行する必要があるので、Decision0−2で終了判定しながらループ実行される。
なお、本発明の特許請求の範囲の請求項1における画素データ格納位置決定手段は、図3では画素データ転送制御モジュール25に、図4ではAction3−1から3−3に相当する。また画素データ格納手段は、図3では画素データ転送モジュール26とメモリコントローラ27に、図4ではAction3−4に相当する。
続いて、図5を参照して、本発明の第一の実施例における、マルチテクスチャマッピング時の各要素テクスチャ画素データのグラフィックスメモリ13からのリード手順とマッピングの手順とを説明する。Action0−1各要素テクスチャ毎のマッピング効果(混色方法)設定を行った後、Action0−2でリードすべきテクスチャ座標を計算する。
なおこのActon0−1、Action0−2の処理と、後述するActivity3における要素テクスチャ毎のマッピングと合成の処理については公知技術としての次の文献がある。
OpenGL策定委員会:OpenGLプログラミングガイド 原著第5版 第9章テクスチャマッピング p.419マルチテクスチャ処理、ビアソン・エデュケーション社
Activity1のステージにおいて、Action1−1にて前記テクスチャ座標(U,V)から、シリアライズされた画素位置を計算する。前述の(U,V)=(100,49)の例では、画素位置は25188番目である。Action1−2画素開始/終了アドレス計算により、リードすべきアドレス範囲を算出する。(U,V)=(100,49)の例では、リード開始アドレスは0x01031320となり、終了アドレスは0x01031320+64bit=0x01031327となる。Action1−3にて、求めたアドレス範囲に存在する対象画素データを一括リードする。
Activity2のステージにおいて、Action2−1各要素テクスチャ画素のデータオフセット量を取得する。これは、マルチテクスチャサイズ情報レジスタ配列18に保持されている画素データ長、32bit、24bit、8bitを、マルチテクスチャ並び指示順レジスタ配列20に保持されている順序に沿って並べ替えたものである。Action2−2選択中要素テクスチャの画素抽出にて、テクスチャa、テクスチャb、テクスチャcのうち、現在選択中のものに対応した画素データを取り出す。Action2−3にて、一括リードした画素データ中で、抽出先頭ビットを画素データオフセット量分インクリメントし、次の要素テクスチャに備える。Decision2−1では全ての要素テクスチャにわたって画素データを抽出したか判定しながらループ実行する。具体的には、Activity2開始時にAction2−2が抽出する画素データはテクスチャaのものであり、Action1−3で一括リードしたデータの先頭から32bit分を抽出する。抽出後、Action1−3で一括リードしたデータの先頭から32bit後方を指すように、Action2−3でアドレスポインタをインクリメントする。Decision2−1では、まだテクスチャaしか処理していないのでループを続行する。次のAction2−2ではテクスチャbの画素データを抽出する。抽出後、Action1−3で一括リードしたデータの先頭から32bit + 24bit後方を指すように、Action2−3でアドレスポインタをインクリメントする。Decision2−1では、まだテクスチャbまでしか処理していないのでループを続行する。次のAction2−2ではテクスチャcの画素データを抽出する。抽出後、Action1−3で一括リードしたデータの先頭から32bit + 24bit + 8bit後方を指すように、Action2−3でアドレスポインタをインクリメントする。Decision2−1では、テクスチャcまで処理完了したのでループを打ち切り、Activity2を終了する。
Activity3のステージにおいて、Action3−1選択中画素の基本色決定により、テクスチャマッピング前の基本画素色を決定する。典型的には、画素が属するポリゴンあるいは画素自体への照光処理を施した結果が反映される。Action3−2選択中画素テクスチャによるマッピング画素色決定により、テクスチャa、テクスチャb、テクスチャcのうち、現在選択中のものによって導出される効果色を決定する。ここでは、Action0−1で決定された色計算手法を、Action2−2で抽出した要素テクスチャ毎の画素に適用することにより実現する。Action3−3では、Action3−1で決定した選択中画素の基本色から始めて、Action3−2で決定したマッピング画素色を累計的に混色していく。混色方法はAction0−1で決定された色計算手法に従う。Decision3−1では、全ての要素テクスチャをマッピングしたか終了判定を行ってループ制御する。
Action0−2からActivity3までは画素単位の処理なので、Decision0−2で描画対象となる全てのテクスチャ画素座標(U,V)にわたって処理したか否かで終了判定を行ってループ制御する。
なお、請求項2における画素データ読み出し位置決定手段は、図3では画素データ転送制御モジュール25に、図5ではAction1−1と1−2に相当する。また画素データ読み出し手段は、図3では画素データ転送モジュール26とメモリコントローラ27に、図5ではAction1−3、および2−1から2−3に相当する。
続いて、図6を参照して、本発明の第一の実施例における、要素テクスチャ復元時のグラフィックスメモリ13からのデータリード手順を説明する。この手順は、例えばデバッグ時に元の要素テクスチャ画像が破壊されていないか視覚的に確認したい場合などに利用できる。Activity1のステージにおいて、Action1−1にて復元対象要素テクスチャをIDで指定する。Action1−2にて復元先のメモリアドレスを指定する。復元先はグラフィックスメモリ13上の空き領域でもよいし、メインメモリ12まで書き戻してもよい。
Activity2のステージにおいて、Action2−1にて読み出しを開始する先頭アドレスを計算する。このアドレスは、マルチテクスチャセットアドレスレジスタ15、マルチテクスチャサイズ情報レジスタ配列18、マルチテクスチャ並び順指示レジスタ配列20に保持されている情報から算出できる。Action2−2にて、画素アドレス周期を計算する。この例では32bit+24bit+8bit=64bit=0x08byteである。Action2−3にて、選択中の画素に対するリードアドレスを計算する。これはちょうど、図4のAction3−3におけるロード先アドレス計算と同様の処理になる。Action2−4にて、該当アドレスの画素データをリードする。Action2−4にて、復元先の画素ライトアドレスを計算する。これは、対象となる要素テクスチャIDをキーとしてマルチテクスチャサイズ情報レジスタ配列18から画素あたりのビット長を取得し、ループ毎にそのビット長ずつインクリメントすることで実現できる。Action2−4にて、復元先アドレスに画素データをライトする。Decision2−1では、全ての画素を処理したか否かで終了判定し、ループ制御する。処理すべき画素数は、マルチテクスチャセット解像度レジスタ17の幅と高さの積である。
次に第2の実施例について説明する。図7は、第2の実施例におけるマルチテクスチャマッピング装置の構成ブロック図である。同図を第1の実施例における図3と比較すると、図4のAction3−1において計算された各要素テクスチャ毎の先頭画素データのアドレスを保持するマルチテクスチャ先頭アドレスレジスタ配列31と、図4のAction3−2において計算された画素アドレス周期を保持するマルチテクスチャセット画素アドレス周期レジスタ32が追加されている点が異なっている。
第2の実施例においては、まず図4の処理が実行され、複数の要素テクスチャの同一座標位置の画素データが連続して並べられる形式で画素データがグラフィックスメモリ13に格納された後に、図5、または図6の処理が行われることになる。図5のAction1−1と1−2では、マルチテクスチャセット画素アドレス周期レジスタ32に格納されている画素アドレスの周期をそのまま用いることができ、また図6のAction2−1からAction2−3までの処理において、マルチテクスチャ先頭アドレスレジスタ配列31、およびマルチテクスチャセット画素アドレス周期レジスタ32の格納内容を利用することによって、これらのレジスタの格納内容の再計算を行う手間を省くことができる。なお、これら2つのレジスタ以外の各レジスタ15〜20の内容は、ユーザ入力に対応してCPU11によって設定される。
なお、請求項3と4におけるデータ格納周期記憶手段は図7のマルチテクスチャセット画素アドレス周期レジスタ32に相当し、請求項5における先頭画素データ格納位置記憶手段はマルチテクスチャ先頭アドレスレジスタ配列31に相当する。
以上の説明ではマルチテクスチャ(セット)を構成する要素テクスチャが3枚の例をあげて発明の実施形態を説明したが、要素テクスチャの数は2枚でも良く、また4枚以上でも良い。また1つのマルチテクスチャセットに対する実施形態のみを説明したが、マルチテクスチャセットが複数ある場合にも、本実施形態におけるグラフィックスメモリへのデータ格納形式や、グラフィックスメモリからのデータ読み出し方式、およびデータ復元方式を実現することが可能である。この場合には、以上において説明した各種のレジスタのセットを複数組実装して並列的に値を保持させても良く、レジスタのセットを1組だけとして複数のマルチテクスチャセットの間で時系列的に使いまわすことも可能である。
以上のように本実施形態においては、マルチテクスチャセットの中の各要素テクスチャのうちで、常に各要素テクスチャの同一の座標位置の画素データにアクセスする処理主体、例えばスレッドが、リード対象となる全テクスチャの画素データを1度にバーストリードすることが可能となり、例えばリアルタイム・グラフィックスシステムの性能向上に寄与するところが大きい。またユーザは、例えばCPUを介して本実施形態において導入された各種レジスタに対して簡単なデータ設定を行うだけでよく、実際の各要素テクスチャの画素データのグラフィックスメモリへの格納のためのアドレス計算などの複雑な処理はシステムによって自動的に行われ、ユーザにとって利便性が良いシステムを実現することができる。
(付記1)
テクスチャに対して同一位置にある、マルチテクスチャを構成する複数の要素テクスチャの複数の画素データが、前記位置毎に1つの画像データ格納メモリ上に連続して並ぶように、画素データの格納位置を決定する画素データ格納位置決定手段と、
該決定された格納位置にしたがって、前記複数の画素データを、前記1つの画像データ格納メモリに格納する画素データ格納手段とを備えることを特徴とするマルチテクスチャマッピング装置。
(付記2)
前記マルチテクスチャマッピング装置において、
前記1つの画像データ格納メモリに格納された同一位置の前記複数の画素データを、該同一座標位置毎に読み出すための画素データ読み出し位置を決定する画素データ読み出し位置決定手段と、
該決定された読み出し位置にしたがって、前記複数の画素データを前記1つの画像データ格納メモリから読み出し、前記各要素テクスチャ毎の画素データに分解して、マルチテクスチャマッピング処理を行うマルチテクスチャマッピングモジュールに与える画素データ読み出し手段とをさらに備えることを特徴とする付記1に記載のマルチテクスチャマッピング装置。
(付記3)
前記マルチテクスチャマッピング装置において、前記1つの画像データ格納メモリ上で前記各要素テクスチャデータの連続する位置の前記複数の各データが格納されている位置の間隔としての周期を記憶するデータ格納周期記憶手段をさらに備え、
前記画素データ読み出し位置決定手段が、該データ格納周期記憶手段の記憶内容を用いて、前記画素データ読み出し位置を決定することを特徴とする付記2に記載のマルチテクスチャマッピング装置。
(付記4)
前記マルチテクスチャマッピング装置において、
前記1つの画像データ格納メモリに格納された複数の各要素テクスチャの画素データのうちで、1つの要素テクスチャの画素データを読み出すための読み出し位置を決定する画
素データ読み出し位置決定手段と、
該決定された読み出し位置にしたがって、前記1つの要素テクスチャの画素データを読み出し、前記1つの画像データ格納メモリの他の領域、または該メモリと異なるメモリに格納して前記1つの要素テクスチャの画像の復元を行う要素テクスチャ画像復元手段とをさらに備えることを特徴とする付記1に記載のマルチテクスチャマッピング装置。
(付記5)
前記マルチテクスチャマッピング装置において、
前記複数の各要素テクスチャの画素データのうちで、前記1つの画像データ格納メモリに最初に格納されるべき位置の各要素テクスチャの画素データの、前記1つの画像データ格納メモリ上の格納位置を記憶する先頭画素データ格納位置記憶手段と、
前記1つの画像データ格納メモリ上で、前記各要素テクスチャデータの連続する位置の前記複数の各データが格納されている位置の間隔としての周期を記憶するデータ格納周期記憶手段とをさらに備え、
前記画素データ読み出し位置決定手段が、該先頭画素データ格納位置記憶手段とデータ格納周期記憶手段との記憶内容を用いて、前記読み出し位置を決定することを特徴とする付記4に記載のマルチテクスチャマッピング装置。
(付記6)
テクスチャに対して同一位置にある、マルチテクスチャを構成する複数の要素テクスチャの複数の画素データが、位置毎に1つの画像データ格納メモリ上に連続して並ぶように、画素データの格納位置を決定し、
該決定された格納位置にしたがって、前記複数のデータを、前記1つの画像データ格納メモリに格納することを特徴とするマルチテクスチャデータのメモリ格納方法。
本実施形態におけるマルチテクスチャマッピング装置の基本的な構成ブロック図である。 本実施形態におけるグラフィックスメモリへの各要素テクスチャの画素データ格納方式の説明図である。 第1の実施例におけるマルチテクスチャマッピング装置の構成ブロック図である。 各要素テクスチャ画素データのグラフィックスメモリへの格納処理のフローチャートである。 グラフィックスメモリからの画素データ読み出しとマルチテクスチャマッピング処理のフローチャートである。 グラフィックスメモリからの要素テクスチャ画像復元処理のフローチャートである。 第2の実施例におけるマルチテクスチャマッピング装置の構成ブロック図である。 従来の要素テクスチャ画素データの物理メモリへの格納方式の説明図である。
符号の説明
1、10 マルチテクスチャマッピング装置
2 画像データ格納メモリ
3 画素データ格納位置決定部
4 画素データ格納部
5 画素データ読み出し位置決定部
6 画素データ読み出し部
7、28 マルチテクスチャマッピングモジュール
11 中央処理装置(CPU)
12 メインメモリ
13 グラフィックスメモリ
15 マルチテクスチャセットアドレスレジスタ
16 マルチテクスチャ枚数レジスタ
17 マルチテクスチャセット解像度レジスタ
18 マルチテクスチャサイズ情報レジスタ配列
19 マルチテクスチャID番号レジスタ配列
20 マルチテクスチャ並び順指示レジスタ配列
25 画素データ転送制御モジュール
26 画素データ転送モジュール
27 メモリコントローラ
31 マルチテクスチャ先頭アドレスレジスタ配列
32 マルチテクスチャセット画素アドレス周期レジスタ

Claims (5)

  1. テクスチャに対して同一位置にある、マルチテクスチャを構成する複数の要素テクスチャの複数の画素データが、前記位置毎に1つの画像データ格納メモリ上に連続して並ぶように、画素データの格納位置を決定する画素データ格納位置決定手段と、
    該決定された格納位置にしたがって、前記複数の画素データを、前記1つの画像データ格納メモリに格納する画素データ格納手段とを備えることを特徴とするマルチテクスチャマッピング装置。
  2. 前記マルチテクスチャマッピング装置において、
    前記1つの画像データ格納メモリに格納された同一位置の前記複数の画素データを、該同一座標位置毎に読み出すための画素データ読み出し位置を決定する画素データ読み出し位置決定手段と、
    該決定された読み出し位置にしたがって、前記複数の画素データを前記1つの画像データ格納メモリから読み出し、前記各要素テクスチャ毎の画素データに分解して、マルチテクスチャマッピング処理を行うマルチテクスチャマッピングモジュールに与える画素データ読み出し手段とをさらに備えることを特徴とする請求項1に記載のマルチテクスチャマッピング装置。
  3. 前記マルチテクスチャマッピング装置において、前記1つの画像データ格納メモリ上で前記各要素テクスチャデータの連続する位置の前記複数の各データが格納されている位置の間隔としての周期を記憶するデータ格納周期記憶手段をさらに備え、
    前記画素データ読み出し位置決定手段が、該データ格納周期記憶手段の記憶内容を用いて、前記画素データ読み出し位置を決定することを特徴とする請求項2に記載のマルチテクスチャマッピング装置。
  4. 前記マルチテクスチャマッピング装置において、
    前記複数の各要素テクスチャの画素データのうちで、前記1つの画像データ格納メモリに最初に格納されるべき位置の各要素テクスチャの画素データの、前記1つの画像データ格納メモリ上の格納位置を記憶する先頭画素データ格納位置記憶手段と、
    前記1つの画像データ格納メモリ上で、前記各要素テクスチャデータの連続する位置の前記複数の各データが格納されている位置の間隔としての周期を記憶するデータ格納周期記憶手段とをさらに備え、
    該先頭画素データ格納位置記憶手段とデータ格納周期記憶手段との記憶内容を用いて、前記1つの画像データ格納メモリに格納された複数の各要素テクスチャの画素データのうちで、1つの要素テクスチャの画素データを読み出すための読み出し位置を決定することを特徴とする請求項1に記載のマルチテクスチャマッピング装置。
  5. テクスチャに対して同一位置にある、マルチテクスチャを構成する複数の要素テクスチャの複数の画素データが、位置毎に1つの画像データ格納メモリ上に連続して並ぶように、画素データの格納位置を決定し、
    該決定された格納位置にしたがって、前記複数のデータを、前記1つの画像データ格納メモリに格納することを特徴とするマルチテクスチャデータのメモリ格納方法。
JP2007215399A 2007-08-22 2007-08-22 マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法 Withdrawn JP2009048509A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007215399A JP2009048509A (ja) 2007-08-22 2007-08-22 マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007215399A JP2009048509A (ja) 2007-08-22 2007-08-22 マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法

Publications (1)

Publication Number Publication Date
JP2009048509A true JP2009048509A (ja) 2009-03-05

Family

ID=40500647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007215399A Withdrawn JP2009048509A (ja) 2007-08-22 2007-08-22 マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法

Country Status (1)

Country Link
JP (1) JP2009048509A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014519640A (ja) * 2011-05-02 2014-08-14 株式会社ソニー・コンピュータエンタテインメント グラフィックスハードウェアにおけるテクスチャリング
CN106294421A (zh) * 2015-05-25 2017-01-04 阿里巴巴集团控股有限公司 一种数据写入、读取方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014519640A (ja) * 2011-05-02 2014-08-14 株式会社ソニー・コンピュータエンタテインメント グラフィックスハードウェアにおけるテクスチャリング
US9508185B2 (en) 2011-05-02 2016-11-29 Sony Interactive Entertainment Inc. Texturing in graphics hardware
CN106294421A (zh) * 2015-05-25 2017-01-04 阿里巴巴集团控股有限公司 一种数据写入、读取方法及装置
CN106294421B (zh) * 2015-05-25 2020-02-04 阿里巴巴集团控股有限公司 一种数据写入、读取方法及装置

Similar Documents

Publication Publication Date Title
KR101349171B1 (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US7928990B2 (en) Graphics processing unit with unified vertex cache and shader register file
US7589741B1 (en) Processing high numbers of independent textures in a 3-D graphics pipeline
JP3966832B2 (ja) 描画処理装置、及び、描画処理方法
US6819324B2 (en) Memory interleaving technique for texture mapping in a graphics system
US20040189651A1 (en) Programmable graphics system and method using flexible, high-precision data formats
KR100648293B1 (ko) 그래픽 시스템 및 그것의 그래픽 처리 방법
US20080150951A1 (en) 3-d rendering engine with embedded memory
JP2010102729A (ja) テクスチャ情報をコード化するための方法および装置
EP1994506B1 (en) Texture unit for multi processor environment
JPS60239796A (ja) デイスプレイメモリ中のデータを変更する回路と方法
JP3586991B2 (ja) テクスチャ・データ読出装置およびレンダリング装置
US6847369B2 (en) Optimized packing of loose data in a graphics queue
CN109978977A (zh) 使用预取的图形数据执行基于图块的渲染的装置和方法
JPH08212382A (ja) Z−バッファタグメモリ構成
JP2009223758A (ja) 画像処理装置
JP2007517330A (ja) 3次元グラフィック・サブシステムにおけるテクスチャマップデータのプログラム可能なフィルタ処理方法及び装置
US20050225557A1 (en) Method and apparatus for reading texture data from a cache
JP2009048509A (ja) マルチテクスチャマッピング装置、およびマルチテクスチャデータのメモリ格納方法
US7490208B1 (en) Architecture for compact multi-ported register file
US8339405B2 (en) Programmable data processing circuit
JP3548648B2 (ja) 描画装置及び描画方法
JPH03138779A (ja) テクスチャ・マッピング方法およびその装置
JP4325038B2 (ja) 画像処理装置
US6489967B1 (en) Image formation apparatus and image formation method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101102