JP3580682B2 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JP3580682B2 JP3580682B2 JP27982797A JP27982797A JP3580682B2 JP 3580682 B2 JP3580682 B2 JP 3580682B2 JP 27982797 A JP27982797 A JP 27982797A JP 27982797 A JP27982797 A JP 27982797A JP 3580682 B2 JP3580682 B2 JP 3580682B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- data
- pixel data
- additional information
- alpha
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 51
- 238000000034 method Methods 0.000 title claims description 43
- 238000009877 rendering Methods 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 description 37
- 238000002156 mixing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 239000002131 composite material Substances 0.000 description 9
- 230000004044 response Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Description
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに伝送媒体に関し、特に、複数の描画モードの中から所定のものを設定し、設定された描画モードに対応して描画処理を行うようにした、画像処理装置および方法、並びに伝送媒体に関する。
【0002】
【従来の技術】
コンピュータゲーム機等の画像処理装置においては、所定の画像は、複数のポリゴンの組み合わせにより規定されており、ポリゴンを単位として描画することで、オブジェクト全体を描画するようになされている。そして、このような画像処理装置は、仮想空間内におかれたポリゴンを様々な状態に変化させてモニタ上に表示することができる。
【0003】
図8は、このような画像処理装置の構成例を示すブロック図である。この例においては、CPU11は、座標変換、光源計算、またはベクトル演算等の各種演算を行うとともに、各部を制御するようになされている。また、CPU11には、データ転送を比較的高速に行うメインバス12と、比較的低速に行うサブバス13が接続されており、これらを介してデータの授受を行うことができる。サブバス13には、CD−ROMドライブ14が接続されており、CPU11の命令により、それに装着された記録媒体としてのCD−ROMから各種のデータまたはプログラムを読みだすことができるようになされている。
【0004】
メインバス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から供給される画素データを、デジタル信号からアナログ信号に変換し、ビデオ信号として図示せぬモニタに出力するようになされている。
【0005】
このような画像処理装置において、2種類の画像を重ね合わせて、合成画像を描画する場合、どちらか一方の画像に半透明の領域(ポリゴン)が存在するとき、対象となる画像の画素データ(色データ)に付加されているアルファデータを用いて、2つの画像の画素データが合成(ブレンド)される。このアルファデータは、0.0乃至1.0の範囲の値をとる係数であり、不透明のポリゴンに対しては値1.0が、透明のポリゴンに対しては値0.0が、半透明のポリゴンに対しては0.0乃至1.0(値0.0に近いほど、より透明になり、値1.0に近いほど、より不透明になる)の間のいずれかの値が、それぞれ付加されている。
【0006】
例えば、不透明な画像Fに半透明な画像Gを重ね合わせる場合、画像Fの画素データとアルファデータをそれぞれCdとAdとし、画像Gの画素データおよびアルファデータをそれぞれCsおよびAsとすると、ブレンド後の画素データCbは次式で表される。
Cb=As×Cs+(1−As)×Cd・・・・(1)
【0007】
このような処理をアルファブレンディングと称する。
【0008】
図9は、このようなアルファブレンディング処理を行う回路としてのGPU16とVRAM17のより詳細な構成例を示すブロック図である。この例においては、GPU16は、補間回路21およびアルファブレンディング回路22により構成され、VRAM17は、Zバッファ31およびフレームバッファ32を有している。
【0009】
補間回路21は、図8のメインメモリ15から読み出された所定のポリゴンに対して補間処理を行い、補間されたポリゴンの画素データCsをアルファブレンディング回路22に供給するとともに、深さデータZsとアルファデータAsをVRAM17に供給するようになされている。アルファブレンディング回路22は、補間回路21から供給されるアルファデータAsを用いて、VRAM17に記憶されているポリゴンの画素データCdと補間回路21から供給される画素データCsをブレンドして、画素データCbを生成する。そして、アルファブレンディング回路22は、生成した画素データCbをVRAM17に出力する。
【0010】
Zバッファ31は、GPU16の補間回路21から供給されるポリゴンの深さデータZsのうち、値がより大きいもの(すなわち、画像の位置がより手前にあることを示すもの)を記憶するようになされており、フレームバッファ32は、モニタ上に表示する画像の画素データを記憶するようになされている。また、VRAM17は、補間回路21から供給されるアルファデータAsを所定の領域に記憶するようになされている。
【0011】
図10は、図9のアルファブレンディング回路22を用いて2つの画像を重ね合わせて合成された画像を描画する処理例を説明する図である。この例においては、画像110の画素データCdとアルファデータAdは予めVRAM17に格納されているものとし、この上に画像120が重ね合わされるものとする。各画像の図において左側に示されているものは、それぞれの画像を規定しているポリゴンの画素データであり、また、図の右側に示されているものは、それに対応するアルファデータの値を表している。
【0012】
この例においては、画像110の領域112(ポリゴン)は不透明とされており、それに対応するアルファデータAdの値は1.0である。画像120の領域122は、半透明とされており、そのアルファデータAsの値は0.5である。また、画像110の領域111と画像120の領域121は透明とされており、それぞれのアルファデータAdとAsの値はともに0.0である。
【0013】
アルファブレンディング回路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)となる。
【0014】
この場合、画素データCbは正しくブレンドされているが、アルファデータAbは、画像120のアルファデータAsの値がそのまま描画されている。いまの場合、不透明な領域112と半透明な領域122が重ね合わされたので、領域132と領域133に対応するアルファデータAbの値は、正しくは、不透明を示す値1.0でなくてはならない。従って、この場合の描画処理は正しく行われていない。
【0015】
ところで、このような画像の描画処理に、アルファテストと呼ばれる方法が用いられることがある。図11は、アルファテストを行うための回路を備えたGPU16およびVRAM17の構成例を示すブロック図であり、図9に示した場合と対応する部分には、同一の符号が付されており、その説明を適宜省略する。この例においては、補間回路21とVRAM17の間に、アルファテスト回路23が設けられている。このアルファテスト回路23には所定の定数C(constant)が設定されており、アルファテスト回路23は、補間回路21から供給されるアルファデータAsの値とこの定数Cの値とを比較し、その比較結果が所定の条件に合致するか否かを判定するようになされており、この判定結果に対応して、アルファブレンディング回路22によりブレンドされた画素データCbとアルファデータAsをVRAM17に描画するか否かを選択するようになされている。
【0016】
図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と同一となる。従って、この場合の合成画像の描画処理は正確に行われていないことになる。
【0017】
図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に描画する。
【0018】
描画された画像150の領域152および領域153は、画像110の不透明な領域112と画像120の半透明の領域122を重ね合わせたものであるから、これに対応するアルファデータAbは、不透明を示す値1.0でなければならないが、この場合、半透明を示す値0.5が描画されており、正しい描画処理が行われていない。
【0019】
次に、図14を参照して、画像の深さを考慮した場合の画像の描画処理例を説明する。これは、各画素に付加されている深さデータに基づいて画素ごとにその深さデータの値を比較し、複数の画素が重なる場合、いちばん手前にある画素のみを描画し、奥にある画素を描画しないものとする、Zバッファ法と呼ばれる処理である。各画像の図において左端に示されているものは、その画素データであり、中央に示されているものは、それに対応するアルファデータの値であり、また、右端に示されているものは、深さデータの値である。この深さデータの値が大きくなるほど、画素が仮想空間内においてより手前に位置し、値が0に近づくほど、より奥に位置することになる。
【0020】
この例においては、画像160の領域161と領域162のアルファデータのAdの値は、それぞれ不透明を示す値1.0と半透明を示す値0.5であり、画像170の領域171と領域172のアルファデータのAsの値は、それぞれ不透明を示す値1.0とされている。また、画像160と画像170の深さデータZdとZsの値は、それぞれ100.0と50.0であり、これにより、画像160は、画像170よりも手前に位置することになる。
【0021】
まず、画像160の各データが、VRAM17に描画される。次に、画像160に対して画像170の画素データがブレンドされる。ところが、Zバッファ31に格納されている画像160の深さデータZdの値と、画像170の深さデータZsの値とが比較されると、画像170の深さデータZsの値が、画像160の深さデータZdの値に較べて小さく、画像170の方が奥にあることを示しているので、画像170の各データのVRAM17への描画が禁止されてしまう。そのため、合成結果としての画像180は、正しくは、画像160の半透明の領域162ごしに画像170の画像が見えるような画像とならなけらばならないが、この場合、画像160のままとなってしまい、画像の描画処理が正しく行われていないことになる。
【0022】
次に、画像の所定の不透明の領域(ポリゴン)を透明物体として描画する処理例を図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とされている。
【0023】
なお、いまの場合、アルファブレンディング処理とアルファテスト処理は行われないものとする。まず、画像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を透明色としなければならない。
【0024】
【発明が解決しようとする課題】
以上のようにして、半透明の部分を含む画像の描画処理が行われるが、従来の画像処理装置においては、合成された画像の画素データとアルファデータの値が、正しく対応しない課題があった。
【0025】
また、Zバッファ法により、画像が手前にあるものと奥にあるものを重ね合わせて描画処理を行う場合、VRAM17に描画する順序によっては、半透明の部分を含む画像を描画することができない課題があった。
【0026】
さらに、所定の不透明のポリゴンを透明のポリゴンとして使用する場合、対応するアルファデータの値を、透明を表す値0.0に変換しなくてはならないので、同一のデータを使いまわすことができない課題があった。
【0027】
本発明はこのような状況に鑑みてなされたものであり、アルファテストを用いて、画像の描画処理を正しく行えるようにするものである。
【0028】
【課題を解決するための手段】
上述の課題を解決する発明は、以下のようなものである。
本発明は、画像処理装置、画像処理方法として具現化される。
本発明の画像処理装置は、描画対象となる所定の画像を規定するポリゴンについての、付加情報付きの画素データにおける前記付加情報が、所定の条件に合致しているか否かを判定する判定手段と、前記判定手段により、前記付加情報が前記条件に合致すると判定された場合、前記画素データ、及び前記付加情報を描画する描画手段と、前記判定手段により、前記付加情報が前記条件に合致しないと判定された場合、前記画素データの描画の仕方に関して定められていた複数の描画モードの中から、所定のものを選択する選択手段と、前記選択手段が選択した描画モードで、描画処理を実行する実行手段と、を備えることを特徴とする。
本発明の画像処理方法は、描画対象となる所定の画像を規定するポリゴンであり、付加情報が付加されたものに基いて描画処理を実行する描画装置にて実行される方法であり、前記描画装置が、描画対象となる所定の画像を規定するポリゴンについての、付加情報付きの画素データにおける前記付加情報が、所定の条件に合致しているか否かを判定するステップ、前記付加情報が前記条件に合致すると判定された場合、前記画素データ、及び前記付加情報を描画するステップ、
前記付加情報が前記条件に合致しないと判定された場合、前記画素データの描画の仕方に関して定められていた複数の描画モードの中から、所定のものを選択するステップ、前記選択した描画モードで、描画処理を実行するステップ、を実行する画像処理方法である。
【0029】
上述の描画モードは、前記画素データと前記付加情報のいずれも描画しないものとする第1の描画モードと、前記画素データを描画し、前記付加情報を描画しないものとする第2の描画モードとを含むものとすることができる。
或いは、前記画素データ、前記付加情報、および深さデータのいずれも描画しないものとする第1の描画モードと、前記画素データ、および前記付加情報を描画し、前記深さデータを描画しないものとする第2の描画モードと、前記深さデータを描画し、前記画素データ、および前記付加情報を描画しないものとする第3の描画モードとを含むものとすることができる。この場合、前記画素情報には、前記付加情報に加えて、深さ情報が付加されている。
【0030】
本発明の画像処理装置は、所定の第1の画像、所定の第2の画像をそれぞれ規定するポリゴンの画素データを、それら画素データにそれぞれ付加されていた2つの前記付加情報に基いて合成して第3の画像の画素データを生成する生成手段をさらに備えていてもよい。
また、前記第2の描画モードが実行される場合、前記所定の画像を正しく描画できる深さ情報を新たに生成するとともに、これを、元々付加されていた深さ情報に代えてその画素データに付加する手段をさらに備えていてもよい。
また、前記第3の描画モードが実行される場合、前記第3の描画モードが実行される場合、前記所定の画像を正しく描画できる深さ情報を新たに生成するとともに、これを、元々付加されていた深さ情報に代えてその画素データ付加する手段をさらに備えていてもよい。
【0031】
本発明における付加情報は、その付加情報が付加されている前記ポリゴンの透明度を決定するアルファデータであってもよい。
【0032】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【0033】
請求項1に記載の画像処理装置は、画像の複数の描画モードのうち所定のものを選択する選択手段(例えば、図3のステップS11)と、所定の画像を規定するポリゴンの画素データに付加されている付加情報が、所定の条件に合致しているか否かを判定する判定手段(例えば、図1のアルファテスト回路51)と、判定手段による判定の結果、付加情報が条件に合致すると判定された場合、画素データと付加情報を描画する描画手段(例えば、図1のアルファテスト回路51)と、判定手段による判定の結果、付加情報が条件に合致しないと判定された場合、複数の描画モードのうち、選択手段により選択された描画モードに対応して描画処理を実行する実行手段(例えば、図1のアルファテスト回路51)とを備えることを特徴とする。
【0034】
本発明を適用した画像処理装置は、図8に示した場合と同様の構成となるので、その説明は適宜省略する。図1は、本は発明の画像処理装置におけるGPU16とVRAM17の詳細な構成例を示しており、図11に示した場合と対応する部分には、同一の符号を付してあり、その説明を適宜省略する。この例においては、予め、ユーザの選択入力に対応して、CPU11(図8)により、描画モードが設定される。この描画モードとして、例えば本発明の実施の形態においては、画素データおよびアルファデータのどちらもVRAM17に描画しないものとするKEEPモード(第1の描画モード)と、画素データのみを描画し、アルファデータは描画しないとするRGB−ONLYモード(第2の描画モード)の2種類が用意されている。
【0035】
また、画像の深さデータの値を考慮した描画処理の場合、描画モードとして、画素データ、アルファデータ、および深さデータのいずれも描画しないとするKEEPモード(第1の描画モード)、画素データおよびアルファデータを描画し、深さデータは描画しないものとするFB−ONLYモード(第2の描画モード)、または深さデータのみを描画し、画素データおよびアルファデータは描画しないものとするZB−ONLYモード(第3の描画モード)、の3種類が用意されている。
【0036】
アルファテスト回路51は、補間回路21から供給されるアルファデータAsの値が所定の定数C(constant)を含む所定の条件に合致するか否かを判定し、予め選択された描画モードに対応して画像の描画処理を実行するようになされている。
【0037】
図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に示すフローチャートの処理が実行される。
【0038】
まず、ステップS11において、CPU11は、アルファテスト回路51において、条件が満足されない場合の描画モードとして、モードの選択指令に対応して、いまの場合、RGB−ONLYモードを設定する。続いて、ステップS12において、アルファブレンディング回路22は、画像120のアルファデータAsを用いて、画像110の画素データCdと、画像120の画素データCsをブレンドし、画素データCbを生成する。
【0039】
ステップ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の処理は実行されない。
【0040】
ステップS14において、ステップS13における比較結果が条件EQUALに合致しないと判定された場合、ステップS16において、アルファテスト回路51は、ステップS11において選択、設定されたRGB−ONLYモードに対応して、画素データCbのみを描画し、アルファデータAsは描画しないものとする命令RGB−ONLYをVRAM17に与えることにより、ブレンドされた画素データCbをVRAM17に描画する。これにより、合成後の画像210は、領域212と領域213(不透明の画素と、半透明の画素がブレンドされた領域)に対応するアルファデータAbの値は1.0となり、正しく対応することになる。
【0041】
次に、図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のフローチャートに示す描画処理が実行される。
【0042】
まず、ステップ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に進む。
【0043】
ステップ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が格納されることになる。
【0044】
次に、ステップS26において、アルファブレンディング回路22は、画像230のアルファデータAsに対応して、画像220−2の画素データCdと、画像230の画素データCsをブレンドし、画素データCbを生成する。
【0045】
アルファテスト回路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は描画されない。
【0046】
ステップS28において、比較結果が条件に合致しないと判定された場合は、ステップS30において、アルファテスト回路51は、ステップS21で設定されたFB-ONLYモードに対応して、画素データCb及びアルファデータ As を描画する命令 WE-FB を VRAM 17に与え、画素データ Cb 及びアルファデータ As を VRAM 17に描画するが、いまの場合、この処理は実行されない。
【0047】
これにより、合成後の画像240は、画像230が、画像220−2の半透明の領域222ごしに見えるように描画される。このように、描画の順序に関係なく、半透明の部分を含んだ画像を描画することができる。
【0048】
次に、画像の所定の不透明の領域(ポリゴン)を透明物体として描画する処理例を図6を参照して説明する。この例においては、VRAM17に予め画像400が格納されているものとする。この画像400のアルファデータの値と深さデータ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とされている。
【0049】
ここで、定数C=0.0、かつ条件をEQUALとして描画処理を行うものとする。この場合の描画処理を図7のフローチャートを参照して説明すると以下のようになる。
【0050】
まず、ステップ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に進む。
【0051】
ステップS44において、アルファテスト回路51は、命令WE−FBと命令WE−ZBをVRAM17に与えることにより、領域312に対応する画素データCs、アルファデータAs、および深さデータZsをVRAM17に描画する。ステップS45において、アルファテスト回路51は、ステップ41で設定されたZB−ONLYモードに対応して、命令WE−ZBをVRAM17に与えることにより、領域312に対応する深さデータZsのみをVRAM17に描画する。
【0052】
これにより、VRAM17には、画像310−2が描画されたことになる。そして、この画像310−2に、画像320が合成されるものとする。ここで、ユーザの選択に対応して、CPU11は、新たに条件をNOT−EQUALに設定する。
【0053】
アルファテスト回路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に描画する。
【0054】
ただし、Zバッファ31に格納されている画像310−2の領域311に対応する深さデータZdの値100.0は、画像320の深さデータZsの値50.0に比較して大きいので、この領域における画像320の画素データCsと深さデータZsの描画が禁止される。なお、いまの場合、ステップS49の処理は考慮しないものとする。
【0055】
これにより、描画された画像600の領域601に対応するアルファデータAbは、透明を示す値0.0となり、透明の物体として表現することができる。
【0056】
このように、例えば、不透明な画像も、以上に示したような処理を行うことにより、透明の画像として描画することができる。すなわち、同一の画像データを、不透明の画像データとしても、透明の画像データとしても利用することが可能となり、その分のメモリ容量の節約となる。
【0057】
なお、上記したような処理を行うプログラムを伝送する伝送媒体としては、磁気ディスク、CD−ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【0058】
【発明の効果】
以上のごとく、請求項1に記載の画像処理装置、請求項5に記載の画像処理方法、および請求項6に記載の伝送媒体によれば、画素データに付加されている付加情報が条件に合致すると判定された場合、画素データと付加情報を描画し、条件に合致しないと判定された場合、複数の描画モードのうち選択された描画モードに対応して、描画処理を実行するようにしたので、半透明のポリゴンを含む画像を正しく描画することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理装置のGPUとVRAMの詳細な構成例を示す図である。
【図2】2種類の画像を重ね合わせて合成画像を描画する処理を説明する図である。
【図3】図2の処理を説明するフローチャートである。
【図4】画像の深さを考慮して合成画像を描画する処理を説明する図である。
【図5】図5の処理を説明するフローチャートである。
【図6】画像の不透明の領域を透明物体として描画する処理例を説明する図である。
【図7】図6の処理を説明するフローチャートである。
【図8】画像処理装置の構成例を示すブロック図である。
【図9】図8のGPUとVRAMのより詳細な構成例を示すブロック図である。
【図10】2種類の画像を重ね合わせて合成画像を描画する処理例を説明する図である。
【図11】図9のGPUとVRAMにアルファテスト回路を設けた場合における構成例を示すブロック図である。
【図12】2種類の画像を重ね合わせて合成画像を描画する処理例を説明する図である。
【図13】2種類の画像を重ね合わせて合成画像を描画する他の処理例を説明する図である。
【図14】画像の深さを考慮した場合の合成画像の描画処理例を説明する図である。
【図15】画像の不透明の領域を透明物体として描画する処理例を説明する図である。
【符号の説明】
16 GPU, 17 VRAM, 21 補間回路, 22 アルファブレンディング回路, 51 アルファテスト回路, 31 Zバッファ, 32 フレームバッファ
Claims (8)
- 描画対象となる所定の画像を規定するポリゴンについての、付加情報付きの画素データにおける前記付加情報が、所定の条件に合致しているか否かを判定する判定手段と、
前記判定手段により、前記付加情報が前記条件に合致すると判定された場合、前記画素データ、及び前記付加情報を描画する描画手段と、
前記判定手段により、前記付加情報が前記条件に合致しないと判定された場合、前記画素データの描画の仕方に関して定められていた複数の描画モードの中から、所定のものを選択する選択手段と、
前記選択手段が選択した描画モードで、描画処理を実行する実行手段と、
を備えることを特徴とする画像処理装置。 - 前記描画モードは、
前記画素データと前記付加情報のいずれも描画しないものとする第1の描画モードと、
前記画素データを描画し、前記付加情報を描画しないものとする第2の描画モードと
を含むことを特徴とする請求項1に記載の画像処理装置。 - 前記画素データには、前記付加情報に加えて、深さ情報が付加されており、
前記描画モードは、
前記画素データ、前記付加情報、および深さデータのいずれも描画しないものとする第1の描画モードと、
前記画素データ、および前記付加情報を描画し、前記深さデータを描画しないものとする第2の描画モードと、
前記深さデータを描画し、前記画素データ、および前記付加情報を描画しないものとする第3の描画モードと、
を含むことを特徴とする請求項1に記載の画像処理装置。 - 所定の第1の画像、所定の第2の画像をそれぞれ規定するポリゴンの画素データを、それら画素データにそれぞれ付加されていた2つの前記 付加情報に基いて合成して第3の画像の画素データを生成する生成手段をさらに備える
ことを特徴とする請求項1に記載の画像処理装置。 - 前記第2の描画モードが実行される場合、前記所定の画像を正しく描画できる深さ情報を新たに生成するとともに、これを、元々付加されていた深さ情報に代えてその画素データに付加する手段をさらに備える
ことを特徴とする請求項3に記載の画像処理装置。 - 前記第3の描画モードが実行される場合、前記所定の画像を正しく描画できる深さ情報を新たに生成するとともに、これを、元々付加されていた深さ情報に代えてその画素データ付加する手段をさらに備える
ことを特徴とする請求項3に記載の画像処理装置。 - 前記付加情報は、その付加情報が付加されている前記ポリゴンの透明度を決定するアルファデータである
ことを特徴とする請求項5又は6に記載の画像処理装置。 - 描画対象となる所定の画像を規定するポリゴンであり、付加情報が付加されたものに基いて描画処理を実行する描画装置にて実行される方法であって、
前記描画装置が、
描画対象となる所定の画像を規定するポリゴンについての、付加情報付きの画素データにおける前記付加情報が、所定の条件に合致しているか否かを判定するステップ、
前記付加情報が前記条件に合致すると判定された場合、前記画素データ、及び前記付加情報を描画するステップ、
前記付加情報が前記条件に合致しないと判定された場合、前記画素データの描画の仕方に関して定められていた複数の描画モードの中から、所定のものを選択するステップ、
前記選択した描画モードで、描画処理を実行するステップ、
を実行する画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27982797A JP3580682B2 (ja) | 1997-09-26 | 1997-09-26 | 画像処理装置および方法 |
US09/160,989 US6342882B1 (en) | 1997-09-26 | 1998-09-25 | Image processing apparatus and method and transmission medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27982797A JP3580682B2 (ja) | 1997-09-26 | 1997-09-26 | 画像処理装置および方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004166293A Division JP2004246930A (ja) | 2004-06-03 | 2004-06-03 | 画像処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11102179A JPH11102179A (ja) | 1999-04-13 |
JP3580682B2 true JP3580682B2 (ja) | 2004-10-27 |
Family
ID=17616479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27982797A Expired - Fee Related JP3580682B2 (ja) | 1997-09-26 | 1997-09-26 | 画像処理装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6342882B1 (ja) |
JP (1) | JP3580682B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9921777D0 (en) * | 1999-09-16 | 1999-11-17 | Koninkl Philips Electronics Nv | Method and apparatus for handling translucency in 3d graphics |
JP3527672B2 (ja) | 1999-12-28 | 2004-05-17 | 株式会社スクウェア・エニックス | 3次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体および影描画処理方法およびビデオゲーム装置 |
JP3715222B2 (ja) * | 2000-12-27 | 2005-11-09 | 株式会社ソニー・コンピュータエンタテインメント | 描画方法、描画装置、描画処理プログラム、描画処理プログラムを記録した記録媒体、および描画処理プログラム実行装置 |
JP4651204B2 (ja) * | 2001-01-29 | 2011-03-16 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
US7268779B2 (en) * | 2002-12-24 | 2007-09-11 | Intel Corporation | Z-buffering techniques for graphics rendering |
JP4645044B2 (ja) * | 2004-03-02 | 2011-03-09 | 沖電気工業株式会社 | 画像描画方法及び画像再生装置 |
JP2005274928A (ja) * | 2004-03-24 | 2005-10-06 | Wella Ag | ヘアカラーリング用カラーシミュレーションシステム |
US7764291B1 (en) * | 2006-08-30 | 2010-07-27 | Adobe Systems Incorporated | Identification of common visible regions in purposing media for targeted use |
JP5408906B2 (ja) | 2008-05-28 | 2014-02-05 | キヤノン株式会社 | 画像処理装置 |
US8111945B2 (en) * | 2008-07-25 | 2012-02-07 | Freescale Semiconductor, Inc. | System and method for providing a blended picture |
KR20150033162A (ko) * | 2013-09-23 | 2015-04-01 | 삼성전자주식회사 | 컴포지터, 이를 포함하는 시스템온칩 및 이의 구동 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3557208B2 (ja) * | 1993-05-10 | 2004-08-25 | アプル・コンピュータ・インコーポレーテッド | 高性能複数層zバッファを有するコンピュータ・グラフィックス・システム |
US5548709A (en) * | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
JP3240821B2 (ja) * | 1994-04-22 | 2001-12-25 | 株式会社日立製作所 | 高機能画像メモリlsi及びそれを用いた表示装置 |
US5638499A (en) * | 1994-05-27 | 1997-06-10 | O'connor; Michael | Image composition method and apparatus for developing, storing and reproducing image data using absorption, reflection and transmission properties of images to be combined |
EP0870282B1 (en) * | 1995-07-26 | 2003-05-28 | Apple Computer Inc. | Method for a span and subspan sorting rendering system |
US5870097A (en) * | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US5854631A (en) * | 1995-11-22 | 1998-12-29 | Silicon Graphics, Inc. | System and method for merging pixel fragments based on depth range values |
JPH09245191A (ja) * | 1996-03-06 | 1997-09-19 | Sega Enterp Ltd | 透明度変換方法及びその装置、画像処理装置 |
US5923333A (en) * | 1997-01-06 | 1999-07-13 | Hewlett Packard Company | Fast alpha transparency rendering method |
US6016151A (en) * | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
-
1997
- 1997-09-26 JP JP27982797A patent/JP3580682B2/ja not_active Expired - Fee Related
-
1998
- 1998-09-25 US US09/160,989 patent/US6342882B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6342882B1 (en) | 2002-01-29 |
JPH11102179A (ja) | 1999-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3639108B2 (ja) | 描画装置および描画方法、並びに提供媒体 | |
JP3056514B2 (ja) | 画像表示装置およびそれに用いる外部記憶装置 | |
US6411294B1 (en) | Image display apparatus and image display method | |
JP3580682B2 (ja) | 画像処理装置および方法 | |
JP2000132706A (ja) | 記録媒体、画像処理装置および画像処理方法 | |
KR19990008163A (ko) | 화상 처리 장치 및 화상 처리 방법 | |
JP3582716B2 (ja) | 画像処理装置、画像処理方法及び情報記憶媒体 | |
JP4917346B2 (ja) | ゲーム画像処理プログラムおよびゲーム画像処理装置 | |
JP3715222B2 (ja) | 描画方法、描画装置、描画処理プログラム、描画処理プログラムを記録した記録媒体、および描画処理プログラム実行装置 | |
JPH1166340A (ja) | 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体 | |
EP1312047B1 (en) | Apparatus and method for rendering antialiased image | |
US6339430B1 (en) | Video game machine and method for changing texture of models | |
US20020004421A1 (en) | Computer readable recording medium recording a program for causing a light source to be displayed on a game screen and the program, and game screen display method and apparatus | |
US20030090494A1 (en) | Image processing apparatus and image processing program | |
JP2005077522A (ja) | 画像処理装置および画像処理方法 | |
JP3807654B2 (ja) | ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置 | |
JP3490983B2 (ja) | 画像処理方法及び画像処理用プログラム | |
JP2004246930A (ja) | 画像処理装置および方法 | |
JP3052839B2 (ja) | 画像処理装置及びその処理方法 | |
JP2002269582A (ja) | ゲーム情報、情報記憶媒体及びゲーム装置 | |
JPH07311570A (ja) | ゲーム機用アダプタ | |
JP2002298152A (ja) | 画像の描画方法及びそれに用いるプログラム | |
JP3910259B2 (ja) | 画像処理装置および方法、並びにレンダリング装置および方法 | |
JP3474179B2 (ja) | 画像描画システム | |
JP3652586B2 (ja) | 画像描画システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040603 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040720 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080730 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080730 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090730 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090730 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100730 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110730 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110730 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120730 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120730 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |