(57)【特許請求の範囲】
【請求項１】
ＣＰＵで生成した描画命令を描画装置部に転送し、この描画装置部で、前記描画命令にしたがって描画を順次実行してフレームバッファ上に画像を生成する装置において、
前記描画装置部は、
前記フレームバッファから前に描画された画像の画素データを読み出す手段と、
前記フレームバッファから読み出された画素データと、次に描画しようとする対応する位置の画素データとを、指定された混合比率で混合する混合回路と、
この混合回路の混合結果の画素データを、前記フレームバッファの対応する画素位置に書き込む書き込み手段と、
前記描画命令に含まれる識別情報を抽出して、この識別情報の状態を判別する識別情報判別手段と、
前記識別情報判別手段の判別結果から、前記識別情報が完全不透明処理を示すときは、前記読み出し手段によるフレームバッファからの画素データの読み出しを省略すると共に、前記次に描画しようとする対応する位置の画素データを、そのまま前記書き込み手段により前記フレームバッファの対応する画素位置に書き込むように制御する制御手段と、を備える画像生成装置。
【請求項２】
前記制御手段は、
前記識別情報判別手段の判別結果から、前記識別情報が完全透明処理を示すときは、前記読み出し手段によるフレームバッファからの画素データの読み出し及び前記書き込み手段による前記フレームバッファへの書き込みを省略するように制御する請求項１記載の画像生成装置。
【請求項３】
操作入力手段をさらに備え、
前記ＣＰＵは、操作入力手段が受け付けた操作入力に応じて、前記描画命令を生成すると共に、前記描画命令中の識別情報の設定を行う請求項１または２のいずれかに記載の画像生成装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、ビデオゲーム機やグラフィックコンピュータなど、コンピュータグラフィックスを応用した機器で、限られたハードウエア資源の中で、高い可視化（ビジュアライゼーション）性能が要求される場合に適用して好適な画像生成装置に関し、特に、いわゆる半透明処理に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスにおいて、通常、３Ｄ（３ディメンション＝３次元）グラフィックスシステムと呼ばれるものは、現実感のある物体（描画対象の物体をオブジェクトと称する）を描画するに際して、まず、オブジェクトの表面を複数のポリゴン（描画装置が扱う図形の最小単位（三角形や四角形）をポリゴンという）に分解し、各ポリゴンを、モニター表示画面に対応したフレームメモリ（以下フレームバッファという）に、順に、描画することで、立体的に見える画像を再構成する。
【０００３】
通常のこの種の画像生成装置では、処理を高速に行わせるために、ＣＰＵとフレームバッファの間に専用の描画装置を設ける。ＣＰＵは、画像を生成する際に、直接フレームバッファをアクセスするのではなく、三角形や四角形の基本的な図形（ポリゴン）を描画する命令（以下、描画命令と略称する）を生成して描画装置に送る。描画装置は、送られた描画命令を解釈して、フレームバッファに図形を描画する。
【０００４】
ところで、コンピュータグラフィックスにおいては、前に表示されていた画像の画素データ（例えば３原色データからなる。以下同じ）と、次に描画しようとする画像の画素データとを所定の比率で混合することにより、半透明処理を行うようにしている。この半透明処理は描画装置で行われ、従来は、描画装置の半透明処理部は、図１１に示すような構成とされている。
【０００５】
図１１において、１０はフレームバッファであり、２０は描画装置を示している。
描画装置２０は、半透明処理のための混合回路２１と、フレームバッファ１０から画素データを読み出す読み出し回路２２と、フレームバッファ１０に画素データを書き込む書き込み回路２３と、描画装置２０に転送されてきた描画命令をデコードする描画命令デコード部２４と、描画命令デコード部２４でデコードされた描画命令にしたがって描画画像を生成する画像生成回路２５と、混合比率メモリ２６と、半透明処理の全体を制御する制御部２７とを備えている。
【０００６】
この場合、描画命令は、混合比率のデータを備えており、描画命令デコード部２４で、その混合比率のデータが抽出されて、混合比率メモリ２６に格納される。混合比率メモリ２６は、画像生成部２５からの描画画素位置情報に基づいて、画像生成部２５で生成される描画画像を構成する各ピクセル（画素）ごとに混合比率を記憶する。
【０００７】
半透明処理は、次のように行われる。すなわち、読み出し回路２２によりフレームバッファ１０から、これから描画しようとする画素位置の前の画素データＶｍが読み出され、混合回路２１に供給される。また、画像生成部２５から、これから描画しようとする画素データＶｃが混合回路２１に供給される。そして、混合比率メモリ２６から、これから描画しようとする画素についての混合比率αが読み出されて、混合回路２１に供給される。
【０００８】
混合回路２１では、前記混合比率αで、画素データＶｍと画素データＶｃとが混合される。すなわち、（１−α）Ｖｍ＋αＶｃ＝Ｖｏなる演算が行われて、混合出力画素データＶｏが得られる。そして、その混合結果の画素データＶｏが、書き込み回路２３により、フレームバッファ１０の、前記読み出された画素データＶｍと同じアドレス位置に書き戻される。
【０００９】
この場合、混合比率αに応じて前の画素の色が新たな画素に残り、半透明の色となって表示される。なお、混合比率α＝１であれば、完全不透明であり、混合比率α＝０であれば、完全透明となる。
【００１０】
【発明が解決しようとする課題】
以上のように、従来の半透明処理においては、混合比率αの値は、描画命令が有していて、それに基づいて混合比率メモリ２６に、画素ごとに蓄えられようにされている。このため、混合比率を細かく設定しようとすると、混合比率αのビット数が大きくなり、描画命令のデータ量が大きくなると共に、混合比率メモリ２６を容量の大きなものにしなければならなくなる。
【００１１】
また、描画装置の構成を簡略化するためには、半透明処理を用いて完全透明処理及び完全不透明処理をも行えるようにする方がよいが、上述のように、半透明処理の場合には、１画素ごとに、フレームバッファ１０からの読み出し、混合処理、フレームバッファ１０への書き戻し処理の３段階の処理が必要となり、比較的処理時間が長くなる欠点がある。
【００１２】
この発明の第１の目的は、描画命令のデータ量が大きくならず、また、混合比率メモリとして容量の小さいものを使用可能である画像生成装置を提供することである。
【００１３】
また、この発明の第２の目的は、半透明処理を用いて完全透明処理及び完全不透明処理を、高速に行うことができる画像生成装置を提供することである。
【００１４】
【課題を解決するための手段】
上記課題を解決するため、請求項１の発明の画像生成装置は、後述の図１の実施例の参照符号を対応させると、
ＣＰＵ４２で生成した描画命令を描画装置部６１に転送し、この描画装置部６１で、前記描画命令にしたがって描画を順次実行してフレームバッファ６３上に画像を生成する装置において、
描画装置部６１は、
フレームバッファ６３から前に描画された画像の画素データを読み出す手段１０２と、
フレームバッファ６３から読み出された画素データと、次に描画しようとする対応する位置の画素データとを、指定された混合比率で混合する混合回路１０１と、
この混合回路１０１の混合結果の画素データを、フレームバッファ６３の対応する画素位置に書き込む書き込み手段１０３と、
前記混合比率の複数個を記憶する混合比率記憶部１０６と、
前記描画命令に含まれる混合比率選択情報に応じて混合比率記憶部１０６から、混合回路１０１に供給する混合比率を選択する選択手段１０７と
を備えることを特徴とする。
【００１５】
また、請求項２の発明による画像生成装置は、後述の図８の実施例の参照符号を対応させると、
ＣＰＵ４２で生成した描画命令を描画装置部６１に転送し、この描画装置部６１で、前記描画命令にしたがって描画を順次実行してフレームバッファ上６３に画像を生成する装置において、
描画装置部６１は、
フレームバッファ６３から前に描画された画像の画素データを読み出す読み出し手段１０２と、
フレームバッファ６３から読み出された画素データと、次に描画しようとする対応する位置の画素データとを、指定された混合比率で混合する混合回路１０１と、
この混合回路１０１の混合結果の画素データを、フレームバッファ６３の対応する画素位置に書き込む書き込み手段１０３と、
混合回路１０１に供給する前記混合比率を記憶する混合比率記憶部１０６と、
前記描画命令に含まれる混合処理に関するフラグを抽出して、このフラグの状態を判別するフラグ判別手段１０９と、
フラグ判別手段１０９の判別結果から、前記フラグが一の状態のときには、読み出し手段１０２によるフレームバッファ６３からの画素データの読み出しを省略すると共に、前記次に描画しようとする対応する位置の画素データを、そのまま書き込み手段１０３によりフレームバッファ６３の対応する画素位置に書き込むように制御し、前記フラグが他の状態のときには、読み出し手段１０２によるフレームバッファ６３からの画素データの読み出し及び書き込み手段１０３によるフレームバッファ６３への書き込みを省略するように制御する制御手段１８とを備えることを特徴とする。
【００１６】
【作用】
上記の構成の請求項１の発明においては、描画装置部６１の混合比率記憶部１０６には、あらかじめ混合比率の情報が格納されている。描画命令には、この混合比率記憶部１０６に格納されている混合比率のどれを使用するかの選択情報が含められ、この選択情報により混合回路１０１に供給する混合比率が決定される。したがって、各画素単位には、この選択情報を用意すればよい。この選択情報は、混合比率記憶部１０６に格納されている混合比率の個数分を選択可能なビット数でよいので、混合比率をそのまま持たなければならない従来の場合に比べて少ないビット数でよく、描画命令のデータ量を小さくすることができると共に、混合比率の選択のために必要なメモリ容量も小さくすることができる。
【００１７】
また、請求項２の発明においては、判別手段１０９において、描画命令に含まれる１ビットのフラグにより、完全透明処理（混合比率＝０）の場合と、完全不透明処理（混合比率＝１）の場合とが判別される。
【００１８】
そして、完全透明処理の場合には、読み出し回路１０２によるフレームバッファ６３からの画素データの読み出しが行われず、また、書き込み回路１０３によるフレームバッファ６３への書き戻しも行われない。このため、混合回路１０１と、読み出し回路１０２と、書き込み回路１０３とを備える半透明処理装置を使用する場合であっても、読み出し処理と、書き込み処理とを省略した分だけ、完全透明処理を高速に行える。
【００１９】
また、完全不透明処理の場合には、読み出し回路１０２によるフレームバッファ６３からの画素データの読み出しは行われず、書き込み回路１０３による新たな画素データのみがフレームバッファに書き込まれる。したがって、この場合も、フレームバッファ６３からの画素データの読み出し処理が省略される分だけ、高速処理になる。
【００２０】
【実施例】
以下、この発明の一実施例について図面を参照しながら説明する。図２は、この発明の一実施例の画像生成装置の構成例を示すもので、この例は３Ｄグラフィック機能と、動画再生機能とを備えるゲーム機の実施例である。
【００２１】
図２において、４１はシステムバス（メインバス）である。このシステムバス４１には、ＣＰＵ４２、メインメモリ４３、ソーティングコントローラ４５が接続されている。
【００２２】
システムバス４１には、また、画像伸長装置部５１が、入力用のＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）バッファメモリ（以下、ＦＩＦＯバッファメモリをＦＩＦＯバッファと略称する）５４及び出力用のＦＩＦＯバッファ５５を介して接続されている。また、ＣＤ−ＲＯＭデコーダ５２がＦＩＦＯバッファ５６を介して、描画装置部６１がＦＩＦＯバッファ６２を介して、それぞれシステムバス４１に接続されている。
【００２３】
また、７１は操作入力手段としてのコントロールパッドで、インターフェース７２を介してシステムバス４１に接続されている。さらに、システムバス４１には、ゲーム機としての立ち上げを行うためのプログラムが格納されているブートＲＯＭ７３が接続されている。
【００２４】
ＣＤ−ＲＯＭデコーダ５２は、ＣＤ−ＲＯＭドライバ５３に接続されており、ＣＤ−ＲＯＭドライバ５３に装着されたＣＤ−ＲＯＭディスクに記録されているアプリケーションプログラム（例えばゲームのプログラム）やデータをデコードする。ＣＤ−ＲＯＭディスクには、例えば離散コサイン変換（ＤＣＴ）により画像圧縮された動画や静止画の画像データや、ポリゴンを修飾するためのテクスチャー画像の画像データが記録されている。ＣＤ−ＲＯＭディスクのアプリケーションプログラムには、ポリゴン描画命令が含まれている。ＦＩＦＯバッファ５６は、ＣＤ−ＲＯＭディスクの記録データの１セクタ分の容量を有する。
【００２５】
ＣＰＵ４２は、システム全体の管理を行なう。また、このＣＰＵ４２は、物体を多数のポリゴンの集まりとして描画する場合の処理の一部を行う。すなわち、ＣＰＵ４２は、後述もするように、描画命令を生成すると共に、制御命令をメインメモリ４３上に生成する。そして、後述するようにして、これら描画命令と制御命令との混在したものである描画命令例をメインメモリ４３上において作成する。
【００２６】
また、このＣＰＵ４２は、キャッシュメモリ４６を有し、ＣＰＵインストラクションの一部は、システムバス４１からフェッチすることなく実行できる。さらに、ＣＰＵ４２には、描画命令や制御命令を作成する際にポリゴンについての座標変換演算や制御のための座標値の演算を行なうための座標演算装置部４４が、ＣＰＵ内部コプロセッサとして設けられている。座標演算装置部４４は、３次元座標変換及び３次元から表示画面上の２次元への変換の演算を行なう。
【００２７】
このように、ＣＰＵ４２は、内部に命令キャッシュ４６と座標演算装置部４４を有しているため、その処理をシステムバス４１を使用しなくても、ある程度行うことができるため、システムバス４１を開放しやすい。
【００２８】
画像伸長装置部５１は、ＣＤ−ＲＯＭディスクから再生された圧縮画像データの伸長処理を行なうもので、ハフマン符号のデコーダと、逆量子化回路と、逆離散コサイン変換回路のハードウエアを備える。ハフマン符号のデコーダの部分は、ＣＰＵ４２がソフトウエアとしてその処理を行うようにしてもよい。
【００２９】
この例の場合、画像伸長装置部５１は、１枚（１フレーム）の画像を、例えば１６×１６ピクセル（画素）程度の小領域（これを以下マクロブロックと称する）に分割して、このマクロブロック単位で画像伸長デコードを行う。そして、このマクロブロック単位でメインメモリ４３との間でデータ転送が行われる。したがって、ＦＩＦＯバッファ５４及び５５は、マクロブロック分の容量を備えるものとされている。
【００３０】
描画装置部６１には、ローカルバス１１を介してフレームメモリ６３が接続されている。描画装置部６１は、ＦＩＦＯバッファ６２を介してメインメモリ４３から転送されてくる描画命令を実行して、その結果をフレームメモリ６３に書き込む。ＦＩＦＯバッファ６２は、１命令分のメモリ容量を有する。
【００３１】
フレームメモリ６３は、描画画像を記憶する画像メモリ領域と、テクスチャー画像を記憶するテクスチャーメモリ領域と、カラールックアップテーブル（色変換テーブルＣＬＵＴ）が格納されるテーブルメモリ領域とを備える。
【００３２】
図３は、フレームメモリ６３のメモリ空間を示すものである。フレームメモリ６３は、カラムとロウの２次元アドレスでアドレシングされる。この２次元アドレス空間のうち、領域ＡＴがテクスチャーメモリ領域とされる。このテクスチャー領域ＡＴには、複数種類のテクスチャーパターンを配置することができる。ＡＣは色変換テーブルＣＬＵＴのテーブルメモリ領域である。
【００３３】
後述するように、色変換テーブルＣＬＵＴのデータは、ＣＤ−ＲＯＭディスクからＣＤ−ＲＯＭデコーダ５２を通じて、ソーティングコントローラ４５により、フレームメモリ６３に転送される。ＣＤ−ＲＯＭのテクスチャー画像のデータは、画像伸長装置部５１によりデータ伸長され、メインメモリ４３を介してフレームメモリ６３に転送される。
【００３４】
また、図３において、ＡＤは画像メモリ領域であり、描画するエリアと、表示するエリアの２面分のフレームバッファ領域を備えている。この例では、現在表示用として用いているフレームバッファ領域を表示バッファ、描画を行っているフレームバッファ領域を描画バッファと呼ぶこととする。この場合、一方を描画バッファとして描画を行っている間は、他方は表示バッファとして用い、描画が終了したら、両バッファを互いに切り換える。この描画バッファと表示バッファの切り換えは、描画終了時に、垂直同期に合わせて行う。
【００３５】
フレームメモリ６３の表示バッファから読み出された画像データは、Ｄ／Ａコンバータ６４を介して画像モニター装置６５に出力され、その画面に表示される。
【００３６】
ソーティングコントローラ４５は、いわゆるＤＭＡコントローラと同様の機能を備え、メインメモリ４３と画像伸長装置部５１との間での画像データの転送を行ったり、メインメモリ４３から描画装置部６１に描画命令列を転送したりするもので、転送手段を構成している。このソーティングコントローラ４５は、ＣＰＵ４２やコントロールパッド７１などの他の装置がシステムバス４１を開放している間隙をぬって、ＣＰＵ４２の介在なしに前記の転送処理を行う。この場合、ＣＰＵ４２がシステムバス４１の開放をソーティングコントローラ４５に知らせるようにすることもできるし、ソーティングコントローラ４５が強制的にＣＰＵ４２にバスの開放を要求するようにすることもできる。
【００３７】
メインメモリ４３は、動画や静止画の画像データに対しては、圧縮された画像データのメモリ領域と、伸長デコード処理された伸長画像データのメモリ領域とを備えている。また、メインメモリ４３は、描画命令列などのグラフィックスデータのメモリ領域（これを以下パケットバッファという）を備える。
【００３８】
このパケットバッファは、ＣＰＵ４２による描画命令列の設定と、描画命令列の描画装置部への転送とに使用され、ＣＰＵ４２と、描画装置部６１とが共有することになる。ＣＰＵ４２と、描画装置部６１とで処理を並列に動作するようにするため、この例では、描画命令列の設定用のパケットバッファ（以下、これを設定パケットバッファという）と、転送用のパケットバッファ（以下、これを実行パケットバッファという）との２つのパケットバッファが用意されており、一方を設定パケットバッファとしているときには、他方は実行パケットバッファとして使用し、実行パケットバッファで実行が終了したら、２つのパケットバッファの機能を交換するようにしている。
【００３９】
図２の例の装置（ゲーム機）に電源が投入され、ＣＤ−ＲＯＭディスクが装填されると、ブートＲＯＭ７３のゲームを実行するためのいわゆる初期化処理をするためのプログラムがＣＰＵ４２により実行される。そして、ＣＤ−ＲＯＭディスクの記録データが取り込まれる。このとき、ＣＤ−ＲＯＭディスクの各セクタのユーザーデータ中の識別用情報ＩＤに基づいて各ユーザーデータのデコード処理がなされ、データのチェックが行われる。このチェック結果により、ＣＰＵ４２は、各ＩＤで示される内容の再生データに応じた処理を実行する。
【００４０】
すなわち、ＣＤ−ＲＯＭディスクから、圧縮画像データ、描画命令及びＣＰＵ４２が実行するプログラムが、ＣＤ−ＲＯＭドライバ５３、ＣＤ−ＲＯＭデコーダ５２を介して読み出され、ソーティングコントローラ４５によってメインメモリ４３にロードされる。そして、ロードされたデータのうち、色変換テーブルの情報は、フレームメモリ６３の領域ＣＬＵＴに転送される。
【００４１】
［圧縮画像データの伸長及び転送］
メインメモリ４３の入力データのうち、圧縮画像データは、ＣＰＵ４２がハフマン符号のデコード処理を行った後、再びＣＰＵ４２によりメインメモリ４３に書き込まれる。そして、ソーティングコントローラ４５は、このハフマン符号のデコード処理後の画像データをメインメモリ４３からＦＩＦＯバッファ５４を介して画像伸長装置部５１に転送する。
【００４２】
伸長された画像データは、ソーティングコントローラ４５が、ＦＩＦＯバッファ５５を介してメインメモリ４３に転送する。この場合、画像伸長装置部５１は、前述したように、マクロブロック単位で画像データの伸長処理を行う。このため、メインメモリ４３からは前記マクロブロック単位の圧縮データが入力用ＦＩＦＯバッファ５４に、ソーティングコントローラ４５により転送される。そして、画像伸長装置部５１は、１マクロブロックの伸長デコード処理が終了すると、その結果の伸長画像データを出力用ＦＩＦＯバッファ５５に入れると共に、入力用ＦＩＦＯバッファ５４から次のマクロブロックの圧縮データを取り出して、伸長デコード処理を行う。
【００４３】
ソーティングコントローラ４５は、システムバス４１が開放されていて、かつ、画像伸長装置部５１の出力用ＦＩＦＯバッファ５５が空でなければ、１マクロブロックの伸長画像データをメインメモリ４３に転送し、次の１マクロブロックの圧縮画像データをメインメモリ４３から画像伸長装置部５１の入力用ＦＩＦＯバッファ５４に転送する。
【００４４】
ＣＰＵ４２は、伸長された画像データのマクロブロックが一定量、メインメモリ４３に蓄積された時点で、当該伸長データを描画装置部６１を介してフレームメモリ６３に転送する。この際に、伸長画像データがフレームメモリ６３の画像メモリ領域ＡＤに転送されれば、そのまま背景動画像として画像モニター装置６５で表示されることになる。また、フレームメモリ６３のテクスチャーメモリ領域ＡＴに転送される場合もある。このテクスチャーメモリ領域ＡＴの画像データは、テクスチャー画像として、ポリゴンの修飾に使用される。
【００４５】
［描画命令列についての処理と転送］
物体の面を構成するポリゴンは、３次元的な奥行きの情報であるＺデータに従って奥行き方向の深い位置にあるポリゴンから順に描画することにより、２次元画像表示面に立体的に画像を表示することができる。ＣＰＵ４２は、このように奥行き方向の深い位置にあるポリゴンから順に、描画装置部６１で描画が行われるようにするための描画命令の列をメインメモリ４３上に作成する。
【００４６】
図４Ａは、この例の命令ＩＰのデータ構造の一例の概略を示すものである。すなわち、このデータ構造は、ヘッダ部と、命令データ部とからなる。
【００４７】
ヘッダ部は、タグＴＧとコマンド識別コードＣＯＤＥとからなる。タグＴＧには、次の描画命令あるいは制御命令が格納されているメインメモリ４３上のアドレスが書き込まれる。コマンド識別コードＣＯＤＥは、その命令がどのような命令であるかを示す識別データＩＤＰを備えると共に、必要に応じてその命令にとって必要な他の情報を含む。命令データ部ＰＤには、座標値やその他のパラメータが書き込まれる。この命令データ部ＰＤのパラメータは、命令ＩＰごとに定まっている。
【００４８】
タグＴＧは、次のような役割をする。コンピュータグラフィックスでは、３次元画像を２次元画面に描画するため、奥行きの深い方から順に描画を行う必要がある。このためには、メインメモリ４３から、描画順序にしたがった描画命令を、順次に描画装置部６１に転送する必要がある。
【００４９】
従来のＤＭＡコントローラによりメインメモリ４３から描画装置部６１にＤＭＡ転送する場合には、描画命令を実行順にメインメモリ４３上で並べ変える処理、つまり、描画命令の格納アドレス位置を変更する処理を行わなければならない。しかし、それでは、並べ換えの処理のために時間がかかり、リアルタイム処理が困難になる。
【００５０】
そこで、この例では、描画命令に前述のようなタグＴＧを設け、このタグＴＧをＣＰＵ４２が描画命令順となるように書き換える。ソーティングコントロール４５は、このタグＴＧを辿って描画命令を描画装置部６１に転送する。ＣＰＵ４２は、描画命令自身のメインメモリ４３上でのアドレス位置を変更することなく、ポリゴン描画の表示優先順位を決定する処理をメインメモリ４３上において行うことができる。
【００５１】
図４Ｂは、ポリゴン描画命令の一例を示すものである。このポリゴン描画命令は三角形ポリゴンの描画命令であり、この場合、コマンド識別コードＣＯＤＥの識別データＩＤＰは、それを示す内容となっている。また、そのポリゴンの中を１色でマッピングする場合には、コードＣＯＤＥの、必要な他の情報として、マッピングする３原色の色データ（Ｒ，Ｇ，Ｂ）を含んでいる。そして、命令データのパラメータとして、３頂点の座標（Ｘ０，Ｙ０），（Ｘ１，Ｙ１），（Ｘ２，Ｙ２）が記述されている。さらに、パラメータには、後で詳述するように、半透明処理のためのインデックスデータＩＮＤＸが含まれている。
【００５２】
ＣＰＵ４２は、コントロールパッド７１からのユーザーの操作入力に基づいて、物体や視点の動きを計算し、メインメモリ４３上に描画命令を作成する。ついで、Ｚデータによって、描画命令のタグＴＧを、描画順序の通りに書き換えて、メインメモリ４３上において、描画命令列を生成するようにする。このとき、メインメモリ４３上の各命令のアドレスは、変更されずに、タグのみが書き換わる。
【００５３】
この描画命令列が完成すると、ソーティングコントローラ４５は、図５に示すように、各描画命令ＩＰ１，ＩＰ２，ＩＰ３，…，ＩＰｎを、そのタグＴＧ１，ＴＧ２，ＴＧ３，…，ＴＧｎに従って順番にたどって、１命令毎に、メインメモリ４３から描画装置部６１に転送する。このため、ＦＩＦＯバッファ６２は、１命令分の容量を備えていればよい。
【００５４】
描画装置部６１では、送られてきたデータが、既にソーティングされた状態にあるので、命令ＩＰ１，ＩＰ２，ＩＰ３，…，ＩＰｎを、順次実行してフレームメモリ６３の描画領域ＡＤに結果を格納する。
【００５５】
なお、ポリゴン描画の際、データは、描画装置部６１の勾配計算ユニットに送られ、勾配計算が行なわれる。勾配計算は、ポリゴン描画で多角形の内側をマッピングデータで埋めていく際、マッピングデータの平面の傾きを求める計算である。テクスチャーの場合はテクスチャー画像データでポリゴンが埋められ、また、グーローシェーディングの場合は輝度値でポリゴンが埋められる。
【００５６】
物体の表面を構成するポリゴンにテクスチャーを貼り付ける場合には、テクスチャー領域ＡＴのテクスチャーデータが２次元写像変換される。例えば、図６Ａに示すようなテクスチャーパターンＴ１，Ｔ２，Ｔ３は、図６Ｂに示すような物体の各面のポリゴンに適合するように、２次元スクリーン上の座標に変換される。このように写像変換されたテクスチャーパターンＴ１，Ｔ２，Ｔ３が図６Ｃに示すように、物体ＯＢ１の表面に貼り付けられる。そして、これが、画像メモリ領域ＡＤに配置され、画像表示モニター６５の表示画面上に表示される。
【００５７】
静止画テクスチャーの場合には、メインメモリ４３上のテクスチャーパターンが、描画装置部６１を介して、フレームメモリ６３上のテクスチャー領域ＡＴに転送される。描画装置部６１は、これをポリゴンに貼り付ける。これにより、物体に静止画のテクスチャーが実現される。この静止画のテクスチャーパターンのデータは、ＣＤ−ＲＯＭディスクに記録しておくことができる。
【００５８】
更に、動画のテクスチャーが可能である。つまり、動画テクスチャーの場合には、前述したように、ＣＤ−ＲＯＭディスクからの圧縮された動画データは、一旦、メインメモリ４３に読み込まれる。そして、この圧縮画像データは、画像伸長装置部５１に送られる。画像伸長装置部５１で、画像データが伸長される。
【００５９】
そして、伸長された動画データはフレームメモリ６３上のテクスチャー領域ＡＴに送られる。テクスチャー領域ＡＴは、フレームメモリ６３内に設けられているので、テクスチャーパターン自身も、フレーム毎に書き換えることが可能である。このように、テクスチャー領域ＡＴに動画を送ると、テクスチャーが１フレーム毎に動的に書き換えられて変化する。このテクスチャー領域の動画により、ポリゴンへのテクスチャーマッピングを行えば、動画のテクスチャーが実現される。
【００６０】
前述したように、画像伸長装置部５１で伸長した画像データを、フレームメモリ６３上の画像メモリ領域ＡＤに送れば、背景画の動画を画像モニター装置６５のスクリーン上に表示することができるし、ＣＰＵ４２により作成した描画命令により生成される描画画像のみで画像メモリ領域ＡＤを埋めて、画像表示モニター６５のスクリーンに描画することもできる。また、画像メモリ領域ＡＤ上で、ＣＤ−ＲＯＭディスクからの画像データを伸長して得た静止画の上に、ＣＰＵ４２によるポリゴン描画により物体を描画することも可能である。
【００６１】
［半透明処理の第１の実施例の説明］
図１は、描画装置部６１における半透明処理回路部分の第１の実施例のブロック図を示すものである。
【００６２】
すなわち、半透明処理のために、描画装置部６１は、混合回路１０１と、フレームバッファ６３から画素データを読み出す読み出し回路１０２と、フレームバッファ６３に画素データを書き込む書き込み回路１０３と、描画装置部６１に転送されてきた描画命令をデコードする描画命令デコード部１０４と、描画命令デコード部１０４でデコードされた描画命令にしたがって描画画像を生成する画像生成回路１０５と、混合比率テーブルメモリ１０６と、混合比率テーブルメモリ１０６から、いずれの混合比率を選択して混合回路１０１に供給させるかを指定するインデックスデータを記憶するインデックスメモリ１０７と、半透明処理の全体を制御する制御部１０８とを備えている。
【００６３】
混合比率テーブルメモリ１０６には、例えば図７に示すような混合比率βが、あらかじめ格納されている。ここで用意される混合比率βは、半透明処理によく使用される混合比率である。この混合比率テーブルは、あらかじめメモリ１０６に初めからに設定しておいてもよいが、ＣＤ−ＲＯＭディスクから転送するようにしてもよい。
【００６４】
前述の図３Ｂに示した描画命令に含まれるインデックスデータは、この混合比率テーブルの各混合比率を選択するための選択情報となる。つまり、描画命令中のインデックスデータは、図７の混合比率テーブルのインデックス番号に対応（メモリ１０６のアドレスに対応）するものであり、これによりメモリ１０６から当該インデックス番号の混合比率を選択して読み出すことができる。
【００６５】
この描画命令中のインデックスデータは、描画命令デコード部１０４で抽出され、インデックスメモリ１０７に供給されて、格納される。この場合、インデックスメモリ１０７は、画像生成部１０５からの描画画素位置情報に基づいて、画像生成部１０５で生成される描画画像を構成する各ピクセル（画素）ごとにインデックスデータを記憶する。
【００６６】
この場合、半透明処理は、次のように行われる。すなわち、読み出し回路１０２によりフレームバッファ６３から、これから描画しようとする画素位置の画素データＶａが読み出され、混合回路１０１に供給される。また、画像生成部１０５から、これから描画しようとする画素データＶｂが混合回路１０１に供給される。
【００６７】
一方、インデックスメモリ１０７から、これから描画しようとする画素についてのインデックスデータが読み出され、読み出されたインデックスデータにより混合比率テーブルメモリ１０６から混合比率βが選択されて、読み出される。
【００６８】
そして、この混合比率βが、混合回路１０１に供給される。混合回路１０１では、前記混合比率βで、画素データＶａと画素データＶｂとが混合される。すなわち、（１−β）Ｖａ＋βＶｂ＝Ｖｅなる演算が行われて、混合出力画像データＶｅが得られる。そして、その混合結果の画素データＶｅが、書き込み回路１０３により、フレームバッファ６３の、前記読み出された画素データＶａと同じアドレス位置に書き戻される。
【００６９】
この場合、混合比率βに応じて前の画素の色が、新たな画素に残り、半透明の色となって表示される。なお、混合比率β＝１であれば、完全不透明であり、混合比率β＝０であれば、完全透明となる。
【００７０】
［半透明処理の第２の実施例の説明］
図８は、描画装置部６１における半透明処理回路部分の第２の実施例のブロック図を示すものである。この例の場合には、描画命令のデータには、完全透明処理か、完全不透明処理のためのフラグが含められる。
【００７１】
図９は、この例の場合の描画命令の一例を示す。すなわち、この例の場合の描画命令は、命令識別コードＣＯＤＥの部分に前記フラグＦを、１ビットのデータとして有する。命令データのパラメータにインデックスデータＩＮＤＸを含むのは、前述の第１の実施例と同様である。
【００７２】
そして、この例の場合、混合比率テーブルとしては、図１０に示すように、混合比率β＝０と、β＝１とを有しない。
【００７３】
そして、図８に示すように、半透明処理のための描画装置部６１の構成は、前述の図１の例の各回路ブロックに加えて、フラグ判別回路１０９が設けられる。そして、描画命令デコード部１０４は、描画命令中からのフラグＦを抽出してこのフラグ判別回路１０９に供給する。フラグ判別回路１０９は、フラグＦが完全不透明処理を示すときには、完全不透明の処理として認識し、その判別結果を制御部１０８に供給する。また、フラグＦが完全透明処理を示すときには、完全透明の処理として認識し、その判別結果を制御部１０８に供給する。描画命令デコード部１０４からのフラグＦは、当該描画命令による画像生成が行われている間、常にフラグ判別回路１０９に供給される。
【００７４】
制御部１０８は、フラグＦの判別出力により、完全不透明処理であるときには、読み出し回路１０２によるフレームバッファ６３からの画素データの読み出し処理をさせない。そして、制御部１０８は、画像生成回路１０５からの画素データを混合回路１０１を通じてのそのままフレームバッファ６３に供給するように制御し、書き込み回路１０３を、その画素データを描画しようとする画素位置に書き込むように制御する。これにより、当該画素は、新たな画素データのみとなり、完全に前の画素が新たな画素により隠される。
【００７５】
制御部１０８は、また、フラグＦの判別出力により、完全透明処理であるときには、読み出し回路１０２によるフレームバッファ６３からの画素データの読み出し処理と、書き込み回路１０３による書き込み処理を行わせない。この結果、描画を行おうとする画素位置には、前の画素データがそのまま残り、完全透明の状態となって、表示される。
【００７６】
なお、図８の例は、インデックスデータにより混合比率テーブルから混合比率を読み出すようにする発明と、高速処理のための発明とを合わせた実施例であるが、高速処理のためには、従来のような混合比率αを描画命令ごとに備え、この混合比率αを記憶するメモリを使用する半透明処理であってもよい。
【００７７】
なお、以上の例では、ＣＤ−ＲＯＭディスクに画像データやアプリケーションプログラムを記録したが、記録媒体としては、例えば磁気ディスク、メモリカードのような半導体メモリなどの他の記録媒体を使用することもできる。
【００７８】
【発明の効果】
以上説明したように、第１の発明によれば、描画命令は、半透明処理のための混合比率そのものを持つ必要はなく、描画装置部が備える混合比率テーブルの内の希望する混合比率を選択するためのインデックスデータを持てばよいので、少ないビット数でよくなる。また、描画装置部は、混合比率テーブルを記憶するメモリと、インデックスデータとを記憶するメモリを備えればよいので、メモリ容量の小さいメモリを使用することができる。
【００７９】
また、第２の発明によれば、半透明処理回路を使用する場合であっても、完全不透明処理の場合には、フレームバッファからの画素データの読み出しを省略することができ、また、完全透明処理の場合には、フレームバッファからの画素データの読み出しと、フレームバッファへの画素データの書き戻しを省略することができるので、高速の処理が可能になる。
【図面の簡単な説明】
【図１】この発明による画像生成装置の要部の一実施例のブロック図である。
【図２】この発明による画像生成装置の一実施例の全体の構成のブロック図である。
【図３】この発明の一実施例におけるフレームメモリ領域の説明のための図である。
【図４】この発明の一実施例における命令のデータ構造例を示す図である。
【図５】この発明の一実施例における描画命令の転送例を示す図である。
【図６】テクスチャーマッピングの説明のための図である。
【図７】この発明の第１の実施例における混合比率テーブルの例を示す図である。
【図８】この発明の第２の実施例の要部のブロック図である。
【図９】この発明の第２の実施例の場合の描画命令の例を示す図である。
【図１０】この発明の第２の実施例の場合の混合比率テーブルの例を示す図である。
【図１１】従来の半透明処理回路を説明するためのブロック図である。
【符号の説明】
４１      システムバス
４２      ＣＰＵ
４３      メインメモリ
４４      座標演算装置部
４５      ソーティングコントローラ
４６      キャッシュメモリ
５１      画像伸長装置部
５２      ＣＤ−ＲＯＭデコーダ
５３      ＣＤ−ＲＯＭドライバ
５４、５５  ＦＩＦＯバッファ
６１      描画装置部
６２      ＦＩＦＯバッファ
６３      フレームメモリ
６５      画像表示モニター装置
７１      コントロールパッド
ＡＤ      画像メモリ領域
ＡＴ      テクスチャー領域
１０１    混合回路
１０２    読み出し回路
１０３    書き込み回路
１０４    描画命令デコード部
１０５    画像生成回路
１０６    混合比率テーブルメモリ
１０７    インデックスメモリ
１０８    制御部
１０９    フラグ判別回路
【図１】
0003735325.tif 000002
【図２】
0003735325.tif 000003
【図３】
0003735325.tif 000004
【図４】
0003735325.tif 000005
【図５】
0003735325.tif 000006
【図６】
0003735325.tif 000007
【図７】
0003735325.tif 000008
【図８】
0003735325.tif 000009
【図９】
0003735325.tif 000010
【図１０】
0003735325.tif 000011
【図１１】
0003735325.tif 000012