JP2004246930A - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
JP2004246930A
JP2004246930A JP2004166293A JP2004166293A JP2004246930A JP 2004246930 A JP2004246930 A JP 2004246930A JP 2004166293 A JP2004166293 A JP 2004166293A JP 2004166293 A JP2004166293 A JP 2004166293A JP 2004246930 A JP2004246930 A JP 2004246930A
Authority
JP
Japan
Prior art keywords
pixel data
additional information
vram
image
data
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.)
Pending
Application number
JP2004166293A
Other languages
English (en)
Inventor
Masaaki Oka
正昭 岡
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2004166293A priority Critical patent/JP2004246930A/ja
Publication of JP2004246930A publication Critical patent/JP2004246930A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】 半透明の部分を含む画像を正しく描画する。
【解決手段】 アルファテストの条件が満たされなかった場合において実行される描画モードが、複数の描画モードの中から、ユーザの選択に対応して、CPUにより設定される。アルファテスト回路51は、画像のアルファデータの値と定数を比較する。そして、その比較結果が条件に合致するか否かが判定され、その判定の結果、比較結果が条件に合致しなかったと判定された場合、アルファテスト回路51は、設定された描画モードに対応して、描画処理を実行する。
【選択図】 図1

Description

本発明は、画像処理装置および方法、並びに伝送媒体に関し、特に、複数の描画モードの中から所定のものを設定し、設定された描画モードに対応して描画処理を行うようにした、画像処理装置および方法、並びに伝送媒体に関する。
コンピュータゲーム機等の画像処理装置においては、所定の画像は、複数のポリゴンの組み合わせにより規定されており、ポリゴンを単位として描画することで、オブジェクト全体を描画するようになされている。そして、このような画像処理装置は、仮想空間内におかれたポリゴンを様々な状態に変化させてモニタ上に表示することができる。
図8は、このような画像処理装置の構成例を示すブロック図である。この例においては、CPU11は、座標変換、光源計算、またはベクトル演算等の各種演算を行うとともに、各部を制御するようになされている。また、CPU11には、データ転送を比較的高速に行うメインバス12と、比較的低速に行うサブバス13が接続されており、これらを介してデータの授受を行うことができる。サブバス13には、CD-ROMドライブ14が接続されており、CPU11の命令により、それに装着された記録媒体としてのCD-ROMから各種のデータまたはプログラムを読みだすことができるようになされている。
メインバス12には、メインメモリ15、およびGPU(Graphic Processing Unit)16が接続されている。メインメモリ15は、CD-ROMドライブ14から読みだされたデータや、CPU11の演算結果としてのデータ等を記憶する。GPU16は、メインメモリ15から適宜データを読み出してレンダリング処理を行い、処理された画素データをVRAM(Video Random Access Memory)17に格納する。GPU16はまた、VRAM17に格納されている画素データを読み出し、D/Aコンバータ18に供給する。D/Aコンバータ18は、GPU16から供給される画素データを、デジタル信号からアナログ信号に変換し、ビデオ信号として図示せぬモニタに出力するようになされている。
このような画像処理装置において、2種類の画像を重ね合わせて、合成画像を描画する場合、どちらか一方の画像に半透明の領域(ポリゴン)が存在するとき、対象となる画像の画素データ(色データ)に付加されているアルファデータを用いて、2つの画像の画素データが合成(ブレンド)される。このアルファデータは、0.0乃至1.0の範囲の値をとる係数であり、不透明のポリゴンに対しては値1.0が、透明のポリゴンに対しては値0.0が、半透明のポリゴンに対しては0.0乃至1.0(値0.0に近いほど、より透明になり、値1.0に近いほど、より不透明になる)の間のいずれかの値が、それぞれ付加されている。
例えば、不透明な画像Fに半透明な画像Gを重ね合わせる場合、画像Fの画素データとアルファデータをそれぞれCdとAdとし、画像Gの画素データおよびアルファデータをそれぞれCsおよびAsとすると、ブレンド後の画素データCbは次式で表される。
Cb=As×Cs+(1−As)×Cd・・・・(1)
このような処理をアルファブレンディングと称する。
図9は、このようなアルファブレンディング処理を行う回路としてのGPU16とVRAM17のより詳細な構成例を示すブロック図である。この例においては、GPU16は、補間回路21およびアルファブレンディング回路22により構成され、VRAM17は、Zバッファ31およびフレームバッファ32を有している。
補間回路21は、図8のメインメモリ15から読み出された所定のポリゴンに対して補間処理を行い、補間されたポリゴンの画素データCsをアルファブレンディング回路22に供給するとともに、深さデータZsとアルファデータAsをVRAM17、及びアルファブレンディング回路22に供給するようになされている。アルファブレンディング回路22は、補間回路21から供給されるアルファデータAsを用いて、VRAM17に記憶されているポリゴンの画素データCdと補間回路21から供給される画素データCsをブレンドして、画素データCbを生成する。そして、アルファブレンディング回路22は、生成した画素データCbをVRAM17に出力する。
Zバッファ31は、GPU16の補間回路21から供給されるポリゴンの深さデータZsのうち、値がより大きいもの(すなわち、画像の位置がより手前にあることを示すもの)を記憶するようになされており、フレームバッファ32は、モニタ上に表示する画像の画素データを記憶するようになされている。また、VRAM17は、補間回路21から供給されるアルファデータAsを所定の領域に記憶するようになされている。
図10は、図9のアルファブレンディング回路22を用いて2つの画像を重ね合わせて合成された画像を描画する処理例を説明する図である。この例においては、画像110の画素データCdとアルファデータAdは予めVRAM17に格納されているものとし、この上に画像120が重ね合わされるものとする。各画像の図において左側に示されているものは、それぞれの画像を規定しているポリゴンの画素データであり、また、図の右側に示されているものは、それに対応するアルファデータの値を表している。
この例においては、画像110の領域112(ポリゴン)は不透明とされており、それに対応するアルファデータAdの値は1.0である。画像120の領域122は、半透明とされており、そのアルファデータAsの値は0.5である。また、画像110の領域111と画像120の領域121は透明とされており、それぞれのアルファデータAdとAsの値はともに0.0である。
アルファブレンディング回路22は、画像120のアルファデータAsを用いて画像110,120の画素データCd,Csをブレンドして画素データCbを生成する((1)式参照)。そして、生成された画素データCb、アルファデータAsが画像130としてVRAM17に描画される(書き込まれる)。なお、描画された画像のアルファデータを、新たにAbと称する。画像130の画素データCbの値は、領域131と領域132では画像110の画素Cdと等しくなり、領域133では(0.5×Cs+0.5×Cd)となる。
この場合、画素データCbは正しくブレンドされているが、アルファデータAbは、画像120のアルファデータAsの値がそのまま描画されている。いまの場合、不透明な領域112と半透明な領域122が重ね合わされたので、領域132と領域133に対応するアルファデータAbの値は、正しくは、不透明を示す値1.0でなくてはならない。従って、この場合の描画処理は正しく行われていない。
ところで、このような画像の描画処理に、アルファテストと呼ばれる方法が用いられることがある。図11は、アルファテストを行うための回路を備えたGPU16およびVRAM17の構成例を示すブロック図であり、図9に示した場合と対応する部分には、同一の符号が付されており、その説明を適宜省略する。この例においては、補間回路21とVRAM17の間に、アルファテスト回路23が設けられている。このアルファテスト回路23には所定の定数C(constant)が設定されており、アルファテスト回路23は、補間回路21から供給されるアルファデータAsの値とこの定数Cの値とを比較し、その比較結果が所定の条件に合致するか否かを判定するようになされており、この判定結果に対応して、アルファブレンディング回路22によりブレンドされた画素データCbとアルファデータAsをVRAM17に描画するか否かを選択するようになされている。
図12は、例えば、図11のアルファテスト回路23の定数Cの値を1.0とし、条件をEQUAL(等しい)とした場合における合成画像の描画処理例を説明する図であり、図10に示した場合と対応する部分には同一の符号を付してあり、その説明を適宜省略する。この例においては、アルファテスト回路23により、画像120のアルファデータAsの値と定数Cの値が比較され、両者が等しいか否かが判定される。いまの場合、画像120の領域121と122に対応するアルファデータAsの値は、それぞれ0.0と0.5であるので、定数Cの値1.0と等しいアルファデータAsは存在しない。従って、比較の結果、条件EQUAL(1.0)が充足されないので、アルファテスト回路23は、VRAM17にライトディセーブルの命令WDを与え、アルファブレンディング回路22によりブレンドされた画素データCbとアルファデータAsをVRAM17に描画しないようにする。そのため、合成後の画像140は、画像110と同一となる。従って、この場合の合成画像の描画処理は正確に行われていないことになる。
図13は、例えば、図11のアルファテスト回路23の定数Cの値を0.0とし、条件をNOT-EQUAL(等しくない)とした場合における画像の描画処理を説明する図であり、図10に示した場合と対応する部分には同一の符号を付してあり、その説明を適宜省略する。アルファテスト回路23は、画像120のアルファデータAsの値と定数Cの値を比較し、いまの場合、領域122に対応するアルファデータAsの値が条件NOT-EQUALに合致するので、VRAM17にライトイネーブルの命令WEを与えることにより、アルファブレンディング回路22によりブレンドされた画素データCbと領域122に対応するアルファデータAsの値0.5を画像150としてVRAM17に描画する。
描画された画像150の領域152および領域153は、画像110の不透明な領域112と画像120の半透明の領域122を重ね合わせたものであるから、これに対応するアルファデータAbは、不透明を示す値1.0でなければならないが、この場合、半透明を示す値0.5が描画されており、正しい描画処理が行われていない。
次に、図14を参照して、画像の深さを考慮した場合の画像の描画処理例を説明する。これは、各画素に付加されている深さデータに基づいて画素ごとにその深さデータの値を比較し、複数の画素が重なる場合、いちばん手前にある画素のみを描画し、奥にある画素を描画しないものとする、Zバッファ法と呼ばれる処理である。各画像の図において左端に示されているものは、その画素データであり、中央に示されているものは、それに対応するアルファデータの値であり、また、右端に示されているものは、深さデータの値である。この深さデータの値が大きくなるほど、画素が仮想空間内においてより手前に位置し、値が0に近づくほど、より奥に位置することになる。
この例においては、画像160の領域161と領域162のアルファデータのAdの値は、それぞれ不透明を示す値1.0と半透明を示す値0.5であり、画像170の領域171と領域172のアルファデータのAsの値は、それぞれ不透明を示す値1.0とされている。また、画像160と画像170の深さデータZdとZsの値は、それぞれ100.0と50.0であり、これにより、画像160は、画像170よりも手前に位置することになる。
まず、画像160の各データが、VRAM17に描画される。次に、画像160に対して画像170の画素データがブレンドされる。ところが、Zバッファ31に格納されている画像160の深さデータZdの値と、画像170の深さデータZsの値とが比較されると、画像170の深さデータZsの値が、画像160の深さデータZdの値に較べて小さく、画像170の方が奥にあることを示しているので、画像170の各データのVRAM17への描画が禁止されてしまう。そのため、合成結果としての画像180は、正しくは、画像160の半透明の領域162ごしに画像170の画像が見えるような画像とならなけらばならないが、この場合、画像160のままとなってしまい、画像の描画処理が正しく行われていないことになる。
次に、画像の所定の不透明の領域(ポリゴン)を透明物体として描画する処理例を図15を参照して説明する。この例においては、VRAM17に予め画像400が格納されているものとする。この画像400のアルファデータAdの値と深さデータZdの値は、ともに0.0とされている。画像310-Aの領域311と領域312の画素データCsに対応する深さデータZsの値は、それぞれ100.0と0.0であり、領域311と領域312のアルファデータAsは、それぞれ不透明を表す値1.0と透明を表す値0.0である。この不透明の領域311を透明物体として使用したいものとする。また、画像320のアルファデータAsの値は1.0、深さデータZsの値は50.0とされている。
なお、いまの場合、アルファブレンディング処理とアルファテスト処理は行われないものとする。まず、画像310-Aの画素データCs、アルファデータAs、および深さデータZsがVRAM17に描画されると、画像310-Bが得られる。次に、描画された画像310-Bの上に、画像320の画素データCs、アルファデータAs、および深さデータZsが描画される。ただし、Zバッファ31に格納されている画像310-Bの領域311に対応する深さデータZdの値100.0は、画像320の深さデータZsの値50.0に比較して大きいので、この領域における画像320の描画が禁止される。このようにして合成された画像500の領域501のアルファデータAbは、不透明を表す値1.0となり、透明物体として表現することができない。この領域を透明にするには、画像310-Aの領域311に対応するアルファデータの値を0.0にしなくてはならない。すなわち、領域311を透明色としなければならない。
以上のようにして、半透明の部分を含む画像の描画処理が行われるが、従来の画像処理装置においては、合成された画像の画素データとアルファデータの値が、正しく対応しない課題があった。
また、Zバッファ法により、画像が手前にあるものと奥にあるものを重ね合わせて描画処理を行う場合、VRAM17に描画する順序によっては、半透明の部分を含む画像を描画することができない課題があった。
さらに、所定の不透明のポリゴンを透明のポリゴンとして使用する場合、対応するアルファデータの値を、透明を表す値0.0に変換しなくてはならないので、同一のデータを使いまわすことができない課題があった。
本発明はこのような状況に鑑みてなされたものであり、アルファテストを用いて、画像の描画処理を正しく行えるようにするものである。
上述の課題を解決する発明は、以下のようなものである。
本発明は、画像処理装置、画像処理方法として具現化される。
本発明の画像処理装置は、描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、及びこの画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報を、前記画素データを書き込むための領域、及び前記付加情報を書き込むための領域を有するVRAMに書き込むようになっている描画手段を備えた画像処理装置であって、前記付加情報が所定の条件に合致しているか否かを判定する判定手段を備えているとともに、前記描画手段は、前記判定手段により前記付加情報が前記条件に合致すると判定された場合には、前記画素データ、及び前記付加情報を前記VRAMに新たに書き込むように、前記判定手段により前記付加情報が前記条件に合致しないと判定された場合には、前記画素データのみを前記VRAMに新たに書き込むか、又は前記画素データ及び前記付加情報を前記VRAMへ新たに書き込まないようにされてなる。
他の本発明の画像処理装置は、描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、この画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報、及び前記ポリゴンを描画する際に用いられる当該ポリゴンの深さについての情報である深さ情報を、前記画素データを書き込むための領域、前記付加情報を書き込むための領域、及び前記深さ情報を書き込むための領域を有するVRAMに書き込むようになっている描画手段を備えた画像処理装置であって、前記付加情報が所定の条件に合致しているか否かを判定する判定手段を備えているとともに、前記描画手段は、前記判定手段により前記付加情報が前記条件に合致すると判定された場合には、前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMに新たに書き込むように、前記判定手段により前記付加情報が前記条件に合致しないと判定された場合には、前記画素データ、及び前記付加情報のみを前記VRAMに新たに書き込むか、前記深さ情報のみを前記VRAMに新たに書き込むか、又は前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMへ新たに書き込まないようにされてなる。
本発明の画像処理方法は、描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、及びこの画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報を、前記画素データを書き込むための領域、及び前記付加情報を書き込むための領域を有するVRAMに書き込むようになっている制御手段を備えた画像処理装置にて実行される方法であって、前記制御手段が、前記付加情報が所定の条件に合致しているか否かを判定するステップ、前記付加情報が前記条件に合致すると判定された場合に、前記画素データ、及び前記付加情報を前記VRAMに新たに書き込むステップ、前記付加情報が前記条件に合致しないと判定された場合に、前記画素データのみを前記VRAMに新たに書き込むか、又は前記画素データ及び前記付加情報を前記VRAMへ新たに書き込まないようにするステップ、を実行する画像処理方法である。
他の本発明の画像処理方法は、描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、この画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報、及び前記ポリゴンを描画する際に用いられる当該ポリゴンの深さについての情報である深さ情報を、前記画素データを書き込むための領域、前記付加情報を書き込むための領域、及び前記深さ情報を書き込むための領域を有するVRAMに書き込むようになっている制御手段を備えた画像処理装置にて実行される方法であって、前記付加情報が所定の条件に合致しているか否かを判定する判定手段を備えているとともに、前記制御手段が、前記付加情報が前記条件に合致すると判定した場合に、前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMに新たに書き込むステップ、前記付加情報が前記条件に合致しないと判定した場合には、前記画素データ、及び前記付加情報のみを前記VRAMに新たに書き込むか、前記深さ情報のみを前記VRAMに新たに書き込むか、又は前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMへ新たに書き込まないようにするステップ、を実行する画像処理方法である。
以下に本発明の実施の形態を説明する。
本発明を適用した画像処理装置は、図8に示した場合と同様の構成となるので、その説明は適宜省略する。図1は、本発明の画像処理装置におけるGPU16とVRAM17の詳細な構成例を示しており、図11に示した場合と対応する部分には、同一の符号を付してあり、その説明を適宜省略する。この例においては、予め、ユーザの選択入力に対応して、CPU11(図8)により、描画モードが設定される。この描画モードとして、例えば本発明の実施の形態においては、画素データおよびアルファデータのどちらもVRAM17に描画しないものとするKEEPモード(第1の描画モード)と、画素データのみを描画し、アルファデータは描画しないとするRGB-ONLYモード(第2の描画モード)の2種類が用意されている。
また、画像の深さデータの値を考慮した描画処理の場合、描画モードとして、画素データ、アルファデータ、および深さデータのいずれも描画しないとするKEEPモード(第1の描画モード)、画素データおよびアルファデータを描画し、深さデータは描画しないものとするFB-ONLYモード(第2の描画モード)、または深さデータのみを描画し、画素データおよびアルファデータは描画しないものとするZB-ONLYモード(第3の描画モード)、の3種類が用意されている。
アルファテスト回路51は、補間回路21から供給されるアルファデータAsの値が所定の定数C(constant)を含む所定の条件に合致するか否かを判定し、予め選択された描画モードに対応して画像の描画処理を実行するようになされている。
図2は、2種類の画像を重ね合わせて合成された画像を描画する処理例を説明する図である。この例においては、VRAM17に予め格納されている画像110の領域112は不透明とされており、それに対応するアルファデータAdの値は1.0である。画像120の領域122は、半透明とされており、そのアルファデータAsの値は0.5である。また、画像110の領域111と画像120の領域121は透明とされており、それぞれのアルファデータAdとAsの値はともにに0.0である。そして、アルファテスト回路51の定数Cの値は1.0とされ、条件はEQUALとされている。この場合、図3に示すフローチャートの処理が実行される。
まず、ステップS11において、CPU11は、アルファテスト回路51において、条件が満足されない場合の描画モードとして、モードの選択指令に対応して、いまの場合、RGB-ONLYモードを設定する。続いて、ステップS12において、アルファブレンディング回路22は、画像120のアルファデータAsを用いて、画像110の画素データCdと、画像120の画素データCsをブレンドし、画素データCbを生成する。
ステップS13において、アルファテスト回路51は、画像120のアルファデータAsの値と定数Cの値を比較し、ステップS14に進み、ステップS13における比較結果が、条件EQUALに合致するか否かを判定する。ステップS14において、比較結果が条件に合致すると判定された場合、ステップS15に進み、アルファテスト回路51は、画素データCbを描画する命令WE-RGBと、アルファデータAsを描画する命令WE-AをVRAM17に与えることにより、アルファブレンディング回路22によりブレンドされた画素データCbとアルファデータAsをVRAM17に描画するが、いまの場合、画像120の領域121と122のアルファデータAsの値は、それぞれ0.0と0.5であり、条件に合致しないので、ステップS15の処理は実行されない。
ステップS14において、ステップS13における比較結果が条件EQUALに合致しないと判定された場合、ステップS16において、アルファテスト回路51は、ステップS11において選択、設定されたRGB-ONLYモードに対応して、画素データCbのみを描画し、アルファデータAsは描画しないものとする命令RGB-ONLYをVRAM17に与えることにより、ブレンドされた画素データCbをVRAM17に描画する。これにより、合成後の画像210は、領域212と領域213(不透明の画素と、半透明の画素がブレンドされた領域)に対応するアルファデータAbの値は1.0となり、正しく対応することになる。
次に、図4を参照して、深さデータの値を考慮した場合の描画処理例を説明する。この例においては、定数Cの値は1.0とされ、条件はEQUALとされ、その条件が満たされなかった場合の描画モードはFB-ONLYに設定される。なお、Zバッファ31の初期値は、0.0であるものとする。画像220-1の領域221と領域222のアルファデータAdは、それぞれ不透明を示す値1.0と半透明を示す値0.5である。画像230の領域231と領域232のアルファデータAsは、ともに不透明を示す値1.0とされている。また、画像220-1と画像230の深さデータZdとZsの値は、それぞれ100.0と50.0であり、この場合、画像220-1は、画像230よりも手前にあることになる。この場合、図5のフローチャートに示す描画処理が実行される。
まず、ステップS21において、CPU11は、アルファテストの条件が満たされなかった場合において実行される描画モードとして、ユーザの選択に対応して、いまの場合、FB-ONLYモードを設定する。続いて、ステップS22において、アルファテスト回路51は、画像220-1のアルファデータAdの値と定数Cの値とを比較する。そして、ステップS23において、比較結果が条件EQUALに合致するか否かが判定されるが、いまの場合、領域221のアルファデータAdの値1.0と定数Cの値1.0との比較結果が条件に合致するのでステップS24に進み、領域222のアルファデータAdの値0.5と定数Cの値1.0との比較結果は条件に合致しないのでステップS25に進む。
ステップS24において、アルファテスト回路51は、領域221の画素データCdとアルファデータAdを描画する命令WE-FBと領域221の深さデータZdを描画する命令WE-ZBをVRAM17に与えることにより、領域221の画素データCd、アルファデータAd、および深さデータZdをVRAM17に描画する。ステップS25では、アルファテスト回路51は、ステップS21で設定されたFB-ONLYモードに対応して、領域222の画素データCdとアルファデータAdを描画する命令WE-FBをVRAM17に与えることにより、領域222の画素データCdとアルファデータAdのみをVRAM17に描画する。これにより、VRAM17には、画像220-2が格納されることになる。
次に、ステップS26において、アルファブレンディング回路22は、画像230のアルファデータAsに対応して、画像220-2の画素データCdと、画像230の画素データCsをブレンドし、画素データCbを生成する。
アルファテスト回路51は、ステップS27において、画像230のアルファデータAsの値と定数Cの値を比較し、ステップS28において、ステップS27における比較結果が、条件EQUALに合致するか否かを判定する。いまの場合、画像230の領域231と領域232に対応するアルファデータAsの値は、ともに1.0であり、定数Cの値と等しいので、条件EQUALに合致する。従って、ステップS29に進み、アルファテスト回路51は、画素データCbとアルファデータAsを描画する命令WE-FBと、深さデータZsを描画する命令WE-ZBをVRAM17に与えることにより、画素データCb、アルファデータAs、および深さデータZsをVRAM17に描画する。ただし、Zバッファ31に格納されている画像220-2の領域221に対応する深さデータZdの値100.0は、画像230の深さデータZsの値50.0に比較して大きいので、この領域の部分には深さデータZdは描画されない。
ステップS28において、比較結果が条件に合致しないと判定された場合は、ステップS30において、アルファテスト回路51は、ステップS21で設定されたFB-ONLYモードに対応して、画素データCb及びアルファデータAsを描画する命令WE-FBをVRAM17に与え、画素データCb及びアルファデータAsをVRAM17に描画するが、いまの場合、この処理は実行されない。
これにより、合成後の画像240は、画像230が、画像220-2の半透明の領域222ごしに見えるように描画される。このように、描画の順序に関係なく、半透明の部分を含んだ画像を描画することができる。
次に、画像の所定の不透明の領域(ポリゴン)を透明物体として描画する処理例を図6を参照して説明する。この例においては、VRAM17に予め画像400が格納されているものとする。この画像400のアルファデータAdの値と深さデータZdの値は、ともに0.0とされている。画像310-1の領域311と領域312の画素データCdに対応する深さデータZdの値は、それぞれ100.0と0.0であり、領域311と領域312のアルファデータAdは、それぞれ不透明を表す値1.0と透明を表す値0.0である。このように、領域311は不透明の物体であるが、これを透明物体として使用したいものとする。なお、画像320の全ての領域のアルファデータAsの値は1.0、深さデータZsの値は50.0とされている。
ここで、定数C=0.0、かつ条件をEQUALとして描画処理を行うものとする。この場合の描画処理を図7のフローチャートを参照して説明すると以下のようになる。
まず、ステップS41において、CPU11は、アルファテストの条件が満たされなかった場合において実行される描画モードとして、ZB-ONLYモードを設定する。続いて、ステップS42において、アルファテスト回路51は、画像310-1のアルファデータAsの値と定数Cの値とを比較する。そして、ステップS43において、比較結果が条件EQUALに合致するか否かが判定されるが、いまの場合、領域312のアルファデータAsの値0.0と定数Cの値0.0の比較結果は等しい(EQUAL)となり、条件EQUALに合致するので、ステップS44に進む。一方、領域311のアルファデータAsの値1.0と定数Cの値0.0との比較結果は等しくない(NOT-EQUAL)となり、条件EQUALに合致しないのでステップS45に進む。
ステップS44において、アルファテスト回路51は、命令WE-FBと命令WE-ZBをVRAM17に与えることにより、領域312に対応する画素データCs、アルファデータAs、および深さデータZsをVRAM17に描画する。ステップS45において、アルファテスト回路51は、ステップS41で設定されたZB-ONLYモードに対応して、命令WE-ZBをVRAM17に与えることにより、領域312に対応する深さデータZsのみをVRAM17に描画する。
これにより、VRAM17には、画像310-2が描画されたことになる。そして、この画像310-2に、画像320が合成されるものとする。ここで、ユーザの選択に対応して、CPU11は、新たに条件をNOT-EQUALに設定する。
アルファテスト回路51は、ステップS46において、画像320のアルファデータAsの値と定数Cの値を比較し、ステップS47において、ステップS46における比較結果が、条件NOT-EQUALに合致するか否かを判定する。いまの場合、領域321と領域322に対応するアルファデータAsの値は、ともに1.0であるので、定数Cの値0.0に等しくない(NOT-EQUAL)。従って条件NOT-EQUALに合致するので、ステップS48に進み、アルファテスト回路51は、命令WE-FBと、命令WE-ZBをVRAM17に与えることにより、画像320の全ての領域の画素データCs、アルファデータAs、および深さデータZsをVRAM17に描画する。
ただし、Zバッファ31に格納されている画像310-2の領域311に対応する深さデータZsの値100.0は、画像320の深さデータZsの値50.0に比較して大きいので、この領域における画像320の画素データCsと深さデータZsの描画が禁止される。なお、いまの場合、ステップS49の処理は考慮しないものとする。
これにより、描画された画像600の領域601に対応するアルファデータAbは、透明を示す値0.0となり、透明の物体として表現することができる。
このように、例えば、不透明な画像も、以上に示したような処理を行うことにより、透明の画像として描画することができる。すなわち、同一の画像データを、不透明の画像データとしても、透明の画像データとしても利用することが可能となり、その分のメモリ容量の節約となる。
なお、上記したような処理を行うプログラムを伝送する伝送媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
本発明を適用した画像処理装置のGPUとVRAMの詳細な構成例を示す図である。 2種類の画像を重ね合わせて合成画像を描画する処理を説明する図である。 図2の処理を説明するフローチャートである。 画像の深さを考慮して合成画像を描画する処理を説明する図である。 図4の処理を説明するフローチャートである。 画像の不透明の領域を透明物体として描画する処理例を説明する図である。 図6の処理を説明するフローチャートである。 画像処理装置の構成例を示すブロック図である。 図8のGPUとVRAMのより詳細な構成例を示すブロック図である。 2種類の画像を重ね合わせて合成画像を描画する処理例を説明する図である。 図9のGPUとVRAMにアルファテスト回路を設けた場合における構成例を示すブロック図である。 2種類の画像を重ね合わせて合成画像を描画する処理例を説明する図である。 2種類の画像を重ね合わせて合成画像を描画する他の処理例を説明する図である。 画像の深さを考慮した場合の合成画像の描画処理例を説明する図である。 画像の不透明の領域を透明物体として描画する処理例を説明する図である。
符号の説明
16 GPU,17 VRAM,21 補間回路,22 アルファブレンディング回路,51 アルファテスト回路,31 Zバッファ,32 フレームバッファ

Claims (4)

  1. 描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、及びこの画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報を、前記画素データを書き込むための領域、及び前記付加情報を書き込むための領域を有するVRAMに書き込むようになっている描画手段を備えた画像処理装置であって、
    前記付加情報が所定の条件に合致しているか否かを判定する判定手段を備えているとともに、
    前記描画手段は、前記判定手段により前記付加情報が前記条件に合致すると判定された場合には、前記画素データ、及び前記付加情報を前記VRAMに新たに書き込むように、前記判定手段により前記付加情報が前記条件に合致しないと判定された場合には、前記画素データのみを前記VRAMに新たに書き込むか、又は前記画素データ及び前記付加情報を前記VRAMへ新たに書き込まないようにされてなる、
    画像処理装置。
  2. 描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、この画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報、及び前記ポリゴンを描画する際に用いられる当該ポリゴンの深さについての情報である深さ情報を、前記画素データを書き込むための領域、前記付加情報を書き込むための領域、及び前記深さ情報を書き込むための領域を有するVRAMに書き込むようになっている描画手段を備えた画像処理装置であって、
    前記付加情報が所定の条件に合致しているか否かを判定する判定手段を備えているとともに、
    前記描画手段は、前記判定手段により前記付加情報が前記条件に合致すると判定された場合には、前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMに新たに書き込むように、前記判定手段により前記付加情報が前記条件に合致しないと判定された場合には、前記画素データ、及び前記付加情報のみを前記VRAMに新たに書き込むか、前記深さ情報のみを前記VRAMに新たに書き込むか、又は前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMへ新たに書き込まないようにされてなる、
    画像処理装置。
  3. 描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、及びこの画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報を、前記画素データを書き込むための領域、及び前記付加情報を書き込むための領域を有するVRAMに書き込むようになっている制御手段を備えた画像処理装置にて実行される方法であって、
    前記制御手段が、
    前記付加情報が所定の条件に合致しているか否かを判定するステップ、
    前記付加情報が前記条件に合致すると判定された場合に、前記画素データ、及び前記付加情報を前記VRAMに新たに書き込むステップ、
    前記付加情報が前記条件に合致しないと判定された場合に、前記画素データのみを前記VRAMに新たに書き込むか、又は前記画素データ及び前記付加情報を前記VRAMへ新たに書き込まないようにするステップ、
    を実行する画像処理方法。
  4. 描画対象となるポリゴンの不透明な状態での色彩を表す画素データ、この画素データに付加されている、前記ポリゴンを描画する際に用いられる当該ポリゴンの透明度についての情報である付加情報、及び前記ポリゴンを描画する際に用いられる当該ポリゴンの深さについての情報である深さ情報を、前記画素データを書き込むための領域、前記付加情報を書き込むための領域、及び前記深さ情報を書き込むための領域を有するVRAMに書き込むようになっている制御手段を備えた画像処理装置にて実行される方法であって、
    前記付加情報が所定の条件に合致しているか否かを判定する判定手段を備えているとともに、
    前記制御手段が、
    前記付加情報が前記条件に合致すると判定した場合に、前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMに新たに書き込むステップ、
    前記付加情報が前記条件に合致しないと判定した場合には、前記画素データ、及び前記付加情報のみを前記VRAMに新たに書き込むか、前記深さ情報のみを前記VRAMに新たに書き込むか、又は前記画素データ、前記付加情報、及び前記深さ情報を前記VRAMへ新たに書き込まないようにするステップ、
    を実行する画像処理方法。

JP2004166293A 2004-06-03 2004-06-03 画像処理装置および方法 Pending JP2004246930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004166293A JP2004246930A (ja) 2004-06-03 2004-06-03 画像処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004166293A JP2004246930A (ja) 2004-06-03 2004-06-03 画像処理装置および方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP27982797A Division JP3580682B2 (ja) 1997-09-26 1997-09-26 画像処理装置および方法

Publications (1)

Publication Number Publication Date
JP2004246930A true JP2004246930A (ja) 2004-09-02

Family

ID=33028731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004166293A Pending JP2004246930A (ja) 2004-06-03 2004-06-03 画像処理装置および方法

Country Status (1)

Country Link
JP (1) JP2004246930A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293470A (ja) * 2005-04-06 2006-10-26 Namco Bandai Games Inc 描画装置、方法および描画プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728986A (ja) * 1993-07-09 1995-01-31 Fuji Xerox Co Ltd 画像合成処理装置
JPH08202339A (ja) * 1995-01-31 1996-08-09 Sega Enterp Ltd 画像処理装置及び方法並びにオブジェクト先書きフラグ設定方法
JPH08235379A (ja) * 1995-02-23 1996-09-13 Nec Corp 画像生成装置
JPH09282481A (ja) * 1996-04-10 1997-10-31 Sega Enterp Ltd 画像表示方法及びその装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728986A (ja) * 1993-07-09 1995-01-31 Fuji Xerox Co Ltd 画像合成処理装置
JPH08202339A (ja) * 1995-01-31 1996-08-09 Sega Enterp Ltd 画像処理装置及び方法並びにオブジェクト先書きフラグ設定方法
JPH08235379A (ja) * 1995-02-23 1996-09-13 Nec Corp 画像生成装置
JPH09282481A (ja) * 1996-04-10 1997-10-31 Sega Enterp Ltd 画像表示方法及びその装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293470A (ja) * 2005-04-06 2006-10-26 Namco Bandai Games Inc 描画装置、方法および描画プログラム

Similar Documents

Publication Publication Date Title
KR100506959B1 (ko) 화상처리장치및화상처리방법
US5757375A (en) Computer graphics system and method employing frame buffer having subpixel field, display fields and a control field for relating display fields to the subpixel field
JP3056514B2 (ja) 画像表示装置およびそれに用いる外部記憶装置
US6411294B1 (en) Image display apparatus and image display method
WO2020140720A1 (zh) 虚拟现实场景的渲染方法、装置及设备
JP2001243481A (ja) 画像生成装置
JP3580682B2 (ja) 画像処理装置および方法
JPH1166340A (ja) 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体
US6842183B2 (en) Three-dimensional image processing unit and computer readable recording medium storing three-dimensional image processing program
TWI698834B (zh) 用於圖形處理之方法及裝置
CN108241211A (zh) 一种头戴显示设备及图像渲染方法
JPH11259671A (ja) 画像表示方法及びそれを実行する画像表示装置
US6339430B1 (en) Video game machine and method for changing texture of models
JP2005077522A (ja) 画像処理装置および画像処理方法
JP2004246930A (ja) 画像処理装置および方法
JP2004317878A (ja) グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム
JP4949912B2 (ja) 字幕表示領域決定装置及び字幕表示プログラム
JP3490983B2 (ja) 画像処理方法及び画像処理用プログラム
JPH07311570A (ja) ゲーム機用アダプタ
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP4669334B2 (ja) エッジ・マルチサンプリングハイブリッドアンチエイリアス
JP4204114B2 (ja) ポリゴンデータの処理方法
JP4968686B2 (ja) 画像圧縮装置、画像再生装置、および画像圧縮プログラム
JP3652586B2 (ja) 画像描画システム
JP3579680B2 (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070417