JP4399910B2 - ブレンディング処理を含む画像処理装置及びその方法 - Google Patents
ブレンディング処理を含む画像処理装置及びその方法 Download PDFInfo
- Publication number
- JP4399910B2 JP4399910B2 JP22542699A JP22542699A JP4399910B2 JP 4399910 B2 JP4399910 B2 JP 4399910B2 JP 22542699 A JP22542699 A JP 22542699A JP 22542699 A JP22542699 A JP 22542699A JP 4399910 B2 JP4399910 B2 JP 4399910B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- polygons
- data
- processing
- 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.)
- Expired - Fee Related
Links
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/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、半透明ポリゴンを含む複数のポリゴンに対する画像処理装置及びその方法にかかり、特に、半透明ポリゴンの場合でも表示画面内の手前から順にポリゴンデータを画像データに変換処理することができる画像処理装置及びその方法に関する。更に、本発明は、複数のポリゴンに対するブレンディング処理を表示画面内の手前から順にポリゴンデータに対して行うことができる画像処理装置及びその方法に関する。
【0002】
【従来の技術】
ゲーム装置やシミュレーション装置において、操作入力に応じてキャラクタ等を構成する複数のポリゴンの位置を求め、それらのポリゴンのうち表示されるポリゴンに対してレンダリング処理を行って画像データを生成し、それらを表示することが行われる。
【0003】
半透明ポリゴンに対するレンダリング処理は、不透明ポリゴンと異なり、その後方(奥側)に位置する他のポリゴンとのブレンディング処理を伴い、従来は、表示画面内の奥側の半透明ポリゴンから順にブレンディング処理を含むレンダリング処理を行うことが必要である。
【0004】
一方、不透明のポリゴンに対するレンダリング処理は、表示画面内の奥行きを示すZ値を利用した陰面消去処理を行うことで、複数のポリゴンのレンダリングの順番に制約を課すことなく、重なり合う部分の処理が行われる。また、不透明ポリゴンと半透明ポリゴンとが混在する場合は、上記のZ値を利用した陰面消去処理によって不透明ポリゴンを任意の順番で処理し、その後、半透明ポリゴンを奥側から順に処理する方法が一般的である。
【0005】
【発明が解決しようとする課題】
ところが、レンダリング処理において、処理すべきポリゴン数が多くなると、決められたフレーム間の時間内でレンダリング処理が完了しない場合がある。その場合、画像処理の質を重視すると全ての半透明ポリゴンのレンダリング処理が終了するまで待たなければならず、表示中のキャラクタの動きが停止することになり、ゲーム装置あるいはシュミレーション装置において不都合である。また、キャラクタの動きを重視するとフレーム間の時間内で処理されないポリゴンが存在することになる。その場合、半透明ポリゴンのレンダリング処理が、より奥側のポリゴンから処理されるので、画像内で最も重要なキャラクタの一つである手前側のポリゴンの処理が切り捨てられることになる。
【0006】
更に、不透明ポリゴンと半透明ポリゴンのレンダリング処理は、上記した通り、それぞれの効率を重視すると、それらのポリゴンを分けて別々に処理する必要があり、画像処理の負担を増大させる。かかる負担の増大は、上記と同様にフレーム間の時間内での画像処理の完了を困難にさせる。
【0007】
更に、半透明ポリゴンに対する不透明度を利用したブレンディング処理に限定されず、一般的なブレンディング処理においても、表示画面のより奥側のポリゴンの色データを先に求め、その色データと次の処理するポリゴンの色データに対して所定のソース混合計数とディスティネーション混合計数とによりブレンディング処理することが提案されている。この場合も、表示画面の奥側のポリゴンから順番に処理することが要求され、半透明ポリゴンの場合と同様の課題を有する。
【0008】
そこで、本発明の目的は、半透明ポリゴンの画像処理において、フレーム間の時間内により手前側のポリゴンのレンダリング処理を確実に行うことができる画像処理装置、その方法及びそれをコンピュータに実行させるプログラムを記録した記録媒体を提供することにある。
【0009】
更に、本発明の目的は、不透明ポリゴンと半透明ポリゴンが混在したポリゴンの画像処理において、両ポリゴンを区別することなくレンダリング処理することができ、更に処理効率を高めた画像処理装置、その方法及びそれをコンピュータに実行させるプログラムを記録した記録媒体を提供することにある。
【0010】
更に、本発明の目的は、一般的なブレンディング処理において、処理効率を高めた画像処理装置、その画像処理方法及びそれをコンピュータに実行させるプログラムを記録した記録媒体を提供することにある。
【0011】
【課題を解決するための手段】
上記の目的を達成する為に、本発明は、半透明ポリゴンのレンダリング処理を、表示画面内の手前側のポリゴンから順に行うことを特徴とする。そのために、表示画面内の手前側から順に並べた時のn番目のポリゴンに、色データTn と不透明度αn とが与えられる場合、ワークデータXn として、
Xn =(1−αn )・Xn-1
を求め、更に画像データDn として、
Dn =Dn-1 +Tn ・αn ・Xn-1
を求め、ワークデータXn 及び画像データDn を求める上記の演算処理を全てのポリゴンに対して行う。そして、最後の画像データDn を、表示用の画像データとして利用する。上記において、ワークデータXn の初期値X0 は、例えば1が好ましい。また、画像データDn の初期値D0 は、例えば0が好ましい。
【0012】
上記の画像処理によれば、半透明ポリゴンを手前側から順に処理することができるので、フレーム間の時間が短い場合でも表示画面内の重要度の高いより手前側に位置するポリゴンのレンダリング処理が省略されることがない。従って、ポリゴンで構成される重要なキャラクタの動きを止めることなく、スムーズな動きの画像を再現することができる。
【0013】
上記のワークデータXn は、n枚の半透明ポリゴンの透明度(1−α)が累積された値を意味する。そして、複数のポリゴンが重なり合う場合は、手前側のポリゴンから順番にレンダリング処理し、それぞれのポリゴンのレンダリング処理では、奥側のポリゴンの色データTn を、それより手前のn−1枚のポリゴンの透明度を累積した値Xn-1 に応じて、手前のn−1枚のポリゴンが重ねられた画像データDn-1 に加える。
【0014】
従って、本発明では、手前側のポリゴンから順番に上記のレンダリング処理しながら、重ね合わせたポリゴンの透明度の累積された値を、各ピクセル毎に求めて記録しておくことが必要である。
【0015】
更に、それぞれのポリゴンのレンダリング処理では、処理中のポリゴンの透明度に応じて、その色データTn を加えることが望ましい。即ち、処理中のポリゴンの不透明度αn に応じた色データTn の成分を、それより手前のn−1枚のポリゴンの透明度(1−α)の累積された値Xn-1 に応じて、n−1枚重なったポリゴンの画像データDn-1 に加えることが望ましい。
【0016】
上記の目的を達成する為に、本発明は、半透明ポリゴンを含む複数のポリゴンに対する画像処理を行って、表示すべき画像データを生成する画像処理装置において、
表示画面内の手前側から順に並べた時のn番目のポリゴンに、色データTn と、不透明度αn または透明度(1−αn )とが与えられ、
前記手前側から順に前記ポリゴンの色データTn と不透明度αn または透明度(1−αn )が供給され、n枚目のポリゴンの色データTn を、手前に位置するn−1枚のポリゴンの透明度の累積値Xn-1 に応じて、n−1枚目までの画像データDn-1 に加えるレンダリング処理部を有することを特徴とする。
【0017】
更に、好ましくは、上記の発明において、
前記レンダリング処理部は、n枚目のポリゴンの色データTn の内、当該ポリゴンの不透明度αn 分の成分を、手前に位置するn−1枚のポリゴンの透明度の累積値Xn-1 に応じて、n−1枚目までの画像データDn-1 に加えることを特徴とする。
【0018】
上記の発明によれば、複数の半透明ポリゴンを手前から順番にレンダリング処理することができる。従って、フレーム間の時間内に全てのポリゴンの処理を終了しなくても、画像データの品質を損なうことはない。
【0019】
更に、上記の発明において、
前記ポリゴンは、前記半透明ポリゴンと不透明ポリゴンとを有し、前記半透明ポリゴンの不透明度αn は1>αn >0に、前記不透明ポリゴンの不透明度αn はαn =1に、それぞれ設定されることを特徴とする。この発明によれば、不透明ポリゴンと半透明ポリゴンとを区別することなく、手前から順番に一緒にレンダリング処理することができる。
【0020】
更に、上記の発明において、
前記レンダリング処理部は、n番目のポリゴンに対する処理において、前記透明度の累積値が透明度なしまたは所定の最小値Xmin より小さい場合は、n番目以降のポリゴンに対する処理を省略することを特徴とする
上記の構成により、不透明ポリゴンの背面側(より奥側)に重なるポリゴンの処理や、不透明度αの高い半透明ポリゴンの背面側(より奥側)に重なるポリゴンの処理を省略することができ、レンダリング処理の効率を上げることができる。
【0021】
更に、上記の目的を達成するために、本発明の別の側面では、一般的なブレンディング処理に対しても表示画面の手前側のポリゴンから順に処理する。この発明は、複数のポリゴンに対する所定のブレンディング処理を行って、表示すべき画像データを生成する画像処理装置において、
表示画面内の手前側から順に並べた時のn番目のポリゴンに、色データTn と、ディスティネーション混合係数DEn 及びソース混合係数SRn についてのデータが与えられ、
前記手前側から順に前記ポリゴンの色データTn と前記ディスティネーション混合係数DEn 及びソース混合係数SRnが供給され、n枚目のポリゴンの色データTn を、前記ディスティネーション混合係数DEn と、手前に位置するn−1枚のポリゴンのソース混合係数SR1〜SRn-1の累積値Xn-1 とに応じて、n−1枚目までの画像データDn-1 に加えるレンダリング処理部を有することを特徴とする。
【0022】
上記の発明において、ディスティネーション混合係数DEn 及びソース混合係数SRnを適宜選択することにより、様々なブレンディング処理を行うことができ、汎用的なブレンディング処理を行うレンダリング処理部を提供することができる。
【0023】
更に、本発明は、上記の画像処理方法、その画像処理方法をコンピュータに実行させるプログラムを記録した記録媒体を提供する。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲がその実施の形態に限定されるものではない。
【0025】
図1は、半透明ポリゴンの重なり例を説明する図である。この例では、3枚の半透明ポリゴンP1,P2,P3と、1枚の不透明ポリゴンP4とが、表示画面内の奥行き方向(Z値)について手前から順に重なっている。従って、領域C4の画像データC4 は、不透明ポリゴンP4のテクスチャデータから環境光等に応じて形成される色データT4 そのままである。
【0026】
本明細書において、ポリゴンの色データTは、例えばポリゴン自体の色データ、模様を含む色データであるテクスチャデータ、更に、テクスチャデータやポリゴン自体の色データにシェーディング処理した後の色データ等を含む。それらのいずれかの色データを代表して、ポリゴンの色データTと称する。また、ブレンディング処理などにより求められた色データは、表示に利用される画像データCである。従って、画像データCも一種の色データである。
【0027】
即ち、C4 =T4 (1)
また、領域C3は、不透明ポリゴンP4上に半透明ポリゴンP3が重なっているので、その画像データは、半透明ポリゴンP3の不透明度α3 (α3 =1で不透明、α3 =0で透明、1>α3 >0で半透明)及び色データT3 に従って、ポリゴンP4,P3の色データをブレンディングした色データとなる。即ち、従来の一般的なレンダリング方法によれば、領域C3の色データは、
C3 =α3 T3 +(1−α3 )C4 (2)
で求められる。
【0028】
同様に、領域C2の画像データC2 も、半透明ポリゴンP2の不透明度α2 及び色データT2と領域C3の色データC3 とから、
C2 =α2 T2 +(1−α2 )C3 (3)
で求められ、更に、領域C1の画像データC1 も、
C1 =α1 T1 +(1−α1 )C2 (4)
で求められる。
【0029】
以上の通り、半透明ポリゴンに対するレンダリング処理は、他のポリゴンとの重なり合う領域において、より奥側の画像データCn+1 を再帰的に参照してブレンディング処理を行う必要があり、表示画面内の奥側から順にポリゴンのレンダリング処理を行うのが一般的である。
【0030】
そこで、本発明は、上記した従来の課題を解決するために、表示画面内の手前側から順にポリゴンのレンダリング処理を行うことを特徴とする。本発明によれば、上記の式(2)、(3)、(4)から、C1 について開くと、
C1 =α1 T1 +(1−α1 ){α2 T2 +(1−α2 )[α3 T3 +(1−α3 )C4 ]}
となり、更に、Tn についてまとめると、
C1 =T1 α1 +T2 α2 (1−α1 )+T3 α3 (1−α1 )(1−α2 )
+C4 (1−α1 )(1−α2 )(1−α3 ) (5)
ここで、ポリゴンP4が不透明ポリゴンであり、不透明度データα4 =1とし、更に、任意のワークデータXn として、
Xn =(1−α1 )(1−α2 )....(1−αn )
=Xn-1 (1−αn ) (6)
と定義するとする。但し、X0 =1とする。
【0031】
上記式(6)を式(5)に挿入すると、
C1 =T1 α1 X0 +T2 α2 X1 +T3 α3 X2 +C4 X3
=T1 α1 X0 +T2 α2 X1 +T3 α3 X2 +T4 α4 X3
となり、各々のTn αn Xn-1 に着目すれば、
Dn =Dn-1 +Tn αn Xn-1 (7)
とすることができる。但し、D0 =0である。その結果、n=4の場合は、
D4 =C1
が成立する。
【0032】
即ち、従来のブレンディング処理と同じ処理を、上記の式(6)と(7)を利用することで、表示画面内の手前側から順にポリゴンのデータとして、色データTn とその不透明度αn を与えて、全ての重なり合うポリゴンに対する演算処理を行うことにより、最終的に得られる画像データDn は、図1の領域C1の画像データC1 と同じになる。従って、新たに定義したワークデータXn を利用して、画像データDn =Dn-1 +Tn αn Xn-1 を求めることができる。これらの数式のインデックスから明らかな通り、これらの演算において、より奥側のポリゴンのデータを再帰的に呼び出す必要はなくなる。
【0033】
図2は、上記の演算を利用する本発明のレンダリング処理を、図1の例に適用した時の演算式を示す図表である。図2(1)に、本発明の場合を、図2(2)に従来例の場合をそれぞれ示す。
【0034】
図2の図表から明らかな通り、従来例のレンダリング処理によれば、半透明のポリゴンに対して、奥側のポリゴンP4 の色データT4 と不透明度α4 と初期値C5 を利用して、領域C4の画像データC4 が求められ、更に、一つ手前のポリゴンP3 の色データT3 と不透明度α3 と初期値C4 を利用して、領域C3の画像データC3 が求められる。更に、領域C2の画像データC2 及び領域C1の画像データC1 が順に求められる。
【0035】
それに対して、本発明によれば、上記の式(6)、(7)を利用することで、最初に最も手前に位置するポリゴンP1の色データT1 と不透明度α1 と初期値X0 とD0 を利用して、途中の画像データD1 が求められ、更に、一つ奥側のポリゴンP2 の色データT2 と不透明度α2 と上記の途中の画像データD1 を利用して、次の途中の画像データD2 が求められる。更に、同様にして次の途中の画像データD3 、D4 が求められる。そして、全てのポリゴンのデータに対する処理が終了した最終画像データD4 が、領域C1の画像データC1 として利用される。
【0036】
従って、本発明によれば、半透明ポリゴンに対するレンダリング処理は、手前側のポリゴンに対するデータ(色データTと不透明度データα)を利用して次々に演算処理することができる。更に、後述する具体例で明らかになるが、より奥側のポリゴンに対するレンダリング処理では、ワークデータXn-1 が小さくなる傾向にあり、そのワークデータXn-1 を利用して求められる途中の画像データDn も変化が少なくなる傾向にある。従って、ある程度ワークデータXn-1 が小さくなると、あるいは0になると、それ以降の奥側のポリゴンのデータに対するレンダリング処理を省略しても、表示される画像への影響は殆どないことが理解される。
【0037】
更に、上記のレンダリング処理の演算において、不透明ポリゴンに対しては、単に不透明度αn を1(不透明)とすれば、上記の演算をそのまま適用して処理することができる。即ち、不透明度αn =1の場合は、ワークデータXn =0となり、それより奥側のポリゴンのレンダリング処理の結果に変化はなくなり、実質的にそれらの奥側のポリゴンに対するレンダリングは不要になる。従って、本発明のレンダリング処理を利用することにより、半透明ポリゴンと不透明ポリゴンとを混在させても、より手前側のポリゴンから順に、半透明と不透明を区別なく処理することができる。
【0038】
上記したワークデータXn は、物理的には、n枚のポリゴンを重ねた時の透明度(1−α)の累積された値を意味する。即ち、上記の式(6)から明らかな通り、ワークデータXnは、各ポリゴンの透明度(1−α)が全て積算された値である。つまり、透明度の高いポリゴン、例えばαが0に近いポリゴンが重ねられる場合は、その奥側に位置するn枚目のポリゴンの色データTnを追加する場合は、それより手前のn−1枚の重なったポリゴンの透明度の累積値に応じて、画像データDn-1 に影響を与える。そして、望ましくは、n枚目のポリゴンの不透明度αnに応じた色データTn が、加えられる。n枚目のポリゴン自身が透明なポリゴン(αn =0)の場合は、その色データTnは加えられるべきではないからである。
【0039】
以上の様に、上記の式(7)
Dn =Dn-1 +Tn αn Xn-1
によるレンダリング処理は、第1に、処理しようとする奥側のポリゴンの色データTn を、それより手前のn−1枚のポリゴンの透明度を累積した値Xn-1 に応じて、手前のn−1枚のポリゴンが重ねられた画像データDn-1 に加える処理である。
【0040】
第2に、上記の式(7)によるレンダリング処理は、処理中のポリゴンの透明度に応じて、その色データTn を加えることを行う。即ち、処理中のポリゴンの不透明度αn に応じた色データTn の成分を、それより手前のn−1枚のポリゴンの透明度の累積された値Xn-1 に応じて、n−1枚重なったポリゴンの画像データDn-1 に加えることを意味する。
【0041】
そして、透明度の累積値Xn の初期値X0 =1の意味は、最初のポリゴンより手前には、別のポリゴンが存在しないので、透明度は最大であることを意味する。従って、最初のポリゴンの色データT1 は、そのまま画像データD1 として利用される。但し、最初のポリゴン自身の不透明度α1 に応じた色データT1 の成分が画像データD1 として利用される。尚、画像データDn の初期値D0 =0の意味は、輝度値が0であることを意味し、何ら色の成分がない真っ黒の状態を意味する。画像データの初期値D0 は、必ずしも真っ黒である必要はない。
【0042】
図3は、図2に示したレンダリング処理の演算を具体例に適用した例を示す図表である。ここでの具体例は、図1の各ポリゴンP1〜P4の色データ(テクスチャ、環境光、等を考慮して得られる色データ)T1 〜T4 及び不透明度α1 〜α4 が、
T1 =赤・・・R=1.0, G=0, B=0, α1 =0.5
T2 =青・・・R=0, G=0, B=1.0, α2 =0.5
T3 =黄色・・R=1.0, G=1.0, B=0, α3 =0.5
T4 =黒色・・R=0, G=0, B=0, α4 =1.0
の場合である。これらのポリゴンデータがそれぞれの左側の図表に順番が逆に示され、それらのポリゴンデータを利用したレンダリング結果が、右側の図表に示される。
【0043】
このレンダリング結果に示される通り、最終的に得られた画像データD4 は、従来のレンダリング演算により求めた画像データC1 と同じになっていることが理解される。
【0044】
図3に示した本発明のレンダリング処理を、物理的な意味で解説すると、1枚目のポリゴン(n=1)については、その不透明度α1 に応じた色データT1 の成分が、そのまま画像データD1 となる。次に、2枚目のポリゴン(n=2)については、その不透明度α2 に応じた色データT2 の成分が、それより手前の1枚目のポリゴンの透明度(1−α1 )に応じて、画像データD1 に加えられる。つまり、2枚目のポリゴンの青Bの色データ1.000のうち、それ自身の不透明度α 2=0.5に応じた成分0.5が、それより手前の1枚目のポリゴンの透明度1−α1 =0.5に応じて、1枚目までの青Bのデータ0.0に加えられて、0.25となる。
【0045】
更に、3枚目のポリゴンの赤Rと緑Gの色データ1.0は、その透明度α 3=0.5分の成分が、1枚目と2枚目のポリゴンの透明度の累積値X2 =0.5×0.5=0.25に応じて、2枚目までの赤Rと緑Gの画像データ、0.5及び0.0にそれぞれ加えられる。従って、それぞれ0.125だけ加えられる。最後に、4枚目のポリゴンは、不透明度α4 =1であるが、色データT4 が全て0であるので、最終的な画像データに変化はない。
【0046】
以上の通り、図3の例のレンダリング処理は、手前のポリゴンから順に処理し、次の奥側のポリゴンに対するレンダリング処理は、処理中のポリゴンの色データの不透明度に応じた成分を、それより手前の重なり合ったポリゴンの透明度の累積された値に応じて、画像データに加える処理である。
【0047】
図3に示した本発明のレンダリング結果の図表から理解される通り、手前側のポリゴンから順にレンダリング演算が行われる場合、そのワークデータXn は、徐々に小さくなる。そして、X4 =0になると、図示されないが、その後の演算によっても画像データDn は変化しない。また、図示されないが、ワークデータXn-1 が小さくなると、次に求められる画像データDn は、
Dn =Dn-1 +Tn αn Xn-1
の式から明らかな通り、それほどその前の画像データDn-1 と変わらない。
【0048】
従って、フレーム間の時間内の限られた演算時間において、後回しにされているより奥側のポリゴンに対するレンダリング処理がカット、省略されても、表示される画像データにそれほど大きな影響を与えることはない。
【0049】
上記にかかる物理的な意味を説明すると、重なり合うポリゴンの透明度の累積値であるワークデータXn-1 が小さくなるとは、透明度が悪くなることを意味し、その場合は、それより奥側のポリゴンは、画像データにほとんど影響を与えないことを意味する。
【0050】
図4は、本発明の画像処理装置にかかるゲーム装置の概略構成例を示す図である。図4に示されたゲーム装置では、CPU20がゲームプログラムを実行し、ゲームの進行に同期して変化する画像を生成するための描画コマンドを発生する。この描画コマンドには、例えば、ポリゴンの頂点座標とその頂点のテクスチャ座標や不透明度データが含まれる。また、CPU20は、ゲームプログラムの実行時に使用するためのワークRAM22とバス24を介して接続される。
【0051】
バス24は、CPU20ともっぱら画像の描画を行うレンダラ34との間のインターフェースとなるシステムコントローラ26に接続される。システムコントローラ26は、CPU20により発行される描画コマンドや、その他のコマンドをレンダラ34に転送する。また、システムコントローラ26は、外部インターフェース28に接続され、ゲームプログラムやゲームに必要なオブジェクトのデータが記録されたCDROM等の様な外部記憶媒体30と、操作入力を入力するためのコントロールパット32に接続される。
【0052】
画像の描画を行うレンダラ34は、例えばビデオデジタルプロセッサで構成され、バス38を介してフレームバッファ40と、Zデータバッファ42と、テクスチャバッファメモリ44と、Xバッファメモリ45とに接続される。レンダラ34は、システムコントローラ26を経由してCPU20から送られる描画コマンド及びその他のコマンドに応答して、テクスチャデータをテクスチャバッファ44から読み出され、また、レンダリング処理を行って、描画すべき画像データをフレームバッファ40に格納する。また、レンダラ34は、その描画されるピクセルの表示画面内の奥行きを示すZデータをZデータバッファ42内の対応する位置に格納する。そして、1フレーム分の画像データをフレームバッファ40内に格納し終わると、レンダラ34は、その画像データを図示しないモニタに転送しモニタ画面にゲームの画像を表示させる。
【0053】
ゲーム装置のプレーヤによって入力される操作入力は、コントロールパット32からシステムコントローラ26を経由してワークRAM22に格納される。この操作入力に応答して、CPU20はゲームプログラムを実行し、リアルタイムに生成されるオブジェクトの描画コマンドを発行する。この描画コマンドには上記の通りポリゴンデータが含まれるが、事前に奥行きを示すZデータに従ってソート処理を行うことにより、描画コマンドは表示画面の手前側のポリゴンから順に、レンダラ34に供給される。
【0054】
図5は、本発明の実施の形態例におけるレンダラの構成図である。図5には、図4で示したZ値バッファ42とテクスチャバッファ44と共に、レンダラ34内部の一部の構成が示される。即ち、制御ブロック341は、システムコントローラ26とバス36を介して接続され、更にバス38を介してテクスチャバッファ44,Z値バッファ42と接続される。制御ブロック341は、CPU20が発行する描画コマンドを受信し、テクスチャバッファ44からテクスチャデータ(一種の色データ)を読み出し、またZ値バッファ内のZ値に従って所定の処理を行い、更に、レンダラ34内のレンダリング処理演算を制御する。図5の実施の形態例では、ポリゴンの色データとしてテクスチャデータを利用するので、前述してきたポリゴンの色データTは、テクスチャデータTと置き換えられる。
【0055】
制御ブロック341は、更に、ワークデータXn を所定のピクセル毎に格納するXバッファメモリ342と、画像データDn を所定のピクセル毎に格納するDバッファメモリ343とも接続され、それらのバッファメモリ342,343に初期値を与えると共に、演算結果をそれぞれ格納する。尚、Xバッファメモリ342、Dバッファメモり343は、図4のXバッファ45、フレームバッファ40とそれぞれ同等であり、それに代わるバッファメモリである。
【0056】
乗算器344は、Xバッファ342からのワークデータXn-1 と描画コマンドと共に供給された処理中のポリゴン内の処理ピクセルの不透明度αn とから、それらの乗算値αn Xn-1 を生成する。また、減算器345は、その乗算値αn Xn-1 とワークデータXn-1 とから、それらの減算値Xn-1 (1−αn )を生成し、Xバッファ342内のもとのピクセルに対応する領域に、新たなワークデータXn として、減算値Xn-1 (1−αn )を記録する。
【0057】
一方、乗算器346は、乗算器344が生成した乗算値αn Xn-1 と処理中のポリゴン内の処理ピクセルに対応するテクスチャデータ(色データ)Tn との乗算値Tn αn Xn-1 を生成する。また、加算器347は、その乗算値Tn αn Xn-1 とDバッファ343内の画像データDn-1 との加算値Dn-1 +Tn αn Xn-1 を生成し、処理済の画像データDn として、Dバッファメモリ343の対応するピクセルの領域内に記憶される。
【0058】
制御ブロック341は、フレーム間の時間内で上記のレンダリング処理を完了し、最後に累積されたDバッファメモリ343内の画像データDを、図示しない表示装置に供給し、画像を表示させる。また、制御ブロック341は、Xバッファ342内のワークデータXn の値を監視し、ワークデータXn-1 が所定の最小値Xmin より小さい、あるいはワークデータXn-1 が0の場合は、それ以降のレンダリング処理演算を中止すべく、Xバッファ342及びDバッファ343からのデータXn-1 とDn-1 の出力を行わず、また、描画コマンドから得られるあるいは生成されるテクスチャデータTn 及び不透明度データαn の供給を行わない。この様に、制御ブロック341は、レンダリング処理演算の開始と終了を制御する。
【0059】
図6は、本実施の形態例の画像処理のフローチャート図である。図6に従って、1つのフレームに対する画像処理の流れを説明する。まず、コントロールパッド32から供給される操作入力に応答して、CPU20がRAM22内のゲームプログラムを実行し、表示すべきポリゴンデータを生成する。このポリゴンデータは、表示画面内の奥行き方向の手前から順にソーティングされる(S10)。このポリゴンには、半透明ポリゴンと不透明ポリゴンが含まれる。ポリゴンデータは、例えば、頂点座標とそれら頂点の不透明度データ、色データ、テクスチャ座標データ等が含まれる。
【0060】
ポリゴンのテクスチャデータは、予めテクスチャバッファ44内に記録される。そして、描画コマンドに含まれるポリゴンのテクスチャ座標から処理対象のピクセルのテクスチャ座標が求められ、テクスチャバッファ44内のテクスチャデータが読み出される。このテクスチャデータと、上記のポリゴンの属性データである白色光での色データ及び環境光の色データ等から、ポリゴンのピクセルの色データが求められる。この色データを、本明細書では総称してテクスチャデータと称する。
【0061】
レンダラ34内の制御ブロックは、最初にレンダラ内のXバッファ342とDバッファ343とに初期値X0 =1、D0 =0を記録する(S12)。そして、手前から順に描画コマンドがポリゴンデータと共に発行される(S14)。このポリゴンデータから、制御ブロック341は、テクスチャバッファ44を参照して、処理中のピクセルに対するテクスチャデータ(色データ)Tn を生成する。また、ポリゴンデータから、処理中のピクセルに対する不透明度データαn を生成する。
【0062】
そして、図5に示した乗算器344,346,減算器345及び加算機346を利用して、ワークデータXn と途中の画像データDn とを求め、それらのデータXn 、Dn を新たにXバッファ342及びDバッファ343に記録する(S18)。即ち、工程S18のレンダリング処理は、n枚目のポリゴンを重ねた時の透明度の累積された値Xn を求めると共に、n枚目のポリゴンのテクスチャデータ(色データ)Tn のうち、n枚目のポリゴンの不透明度αn に応じた成分が、手前に位置するn−1枚のポリゴンの透明度の累積値Xn-1 に応じて、n−1枚目までの画像データDn-1 に加えられる処理である。
【0063】
上記のピクセルのワークデータX、画像データDの生成は、ポリゴン内の全てのピクセルについて繰り返し行われる(S20)。但し、レンダリング演算の結果得られたワークデータXn-1 が0になるか、或いはワークデータXn-1 が予め設定した最小値Xmin 未満になると、それ以降のより奥側のポリゴンに対するピクセルのレンダリング演算の処理は省略され、次のピクセルのレンダリング処理が行われる(S16)。
【0064】
1つのポリゴン内のピクセルについてのレンダリング処理が終了すると、次のより奥側のポリゴンに対するレンダリング処理が引き続き行われる(S22)。そして、最後にDバッファ343内に記録された画像データDが、表示装置に供給され、その画像が表示される。
【0065】
上記のフレームの画像データの生成において、フレーム間の時間を経過する場合は、それ以降のより奥側のポリゴンに対するレンダリング処理を中止することもできる。即ち、制御ブロック341が、フレーム間の時間を管理し、レンダリングすべきポリゴンの数が多く、時間内に処理完了しない場合は、そのフレームのレンダリング処理を強制的に終了することができる。そのような強制的な終了をしても、表示される画像内の比較的重要な手前に位置するポリゴンの処理は完了しているので、画像のスムーズな動きを乱すようなことはない。
【0066】
尚、ポリゴンの形状、位置によっては、2つのポリゴンが奥行き方向で交差する場合もある。かかる場合は、一方のポリゴンの一部が他方のポリゴンの一部よりも手前側に位置し、一方のポリゴンの残りの部分が他方のポリゴンの残りの部分より奥側に位置する。そのような場合でも、上記のレンダリング処理では、より手前側のピクセルを最初に処理することが必要になる。従って、その場合は、処理中のピクセルのZ値とZ値バッファ内の記録済のピクセルのZ値とを比較し、処理中のピクセルのZ値がより奥側に位置する場合は、上記のレンダリング演算処理を行うようにすることが有効である。
【0067】
上記の実施の形態例では、フローチャートにおいて、不透明ポリゴンと半透明ポリゴンとが混在する場合も、一緒に処理することができることを説明したが、従来の通り、不透明ポリゴンと半透明ポリゴンとを区別して処理する場合に、半透明ポリゴンの処理に上記のレンダリング処理を利用してもよい。その場合でも、一定の時間内に処理できるポリゴン数が処理すべきポリゴン数よりも少ない場合でも、再生される画像に大きな影響を与えることなく、画像のスムーズな動きを維持して再生することができる。
【0068】
[汎用的なブレンド処理への適用]
上記の実施の形態例では、半透明ポリゴンの色とその奥側に位置するポリゴンの色とを不透明度αで混合ブレンディング処理する場合に、手前側のポリゴンから順番に処理する例を説明した。しかしながら、一般的なコンピュータを利用したグラフィックライブラリには、例えばオープンGL(Graphic Library)で規格化されているように、多用なブレンディング処理ができるようになっている。その一般化されたブレンディング処理は、以前処理して求めたフレームバッファ内の色データFBm-1と今回処理中のピクセルの色データPIXmとを、それぞれソース混合係数SRmとディスティネーション混合係数DEmとでブレンディングすることにある。即ち、演算式で表すと、今回の処理で求められてフレームバッファ内に格納される色データFBmは、
FBm=PIXm*DEm+FBm-1*SRm(8)
となる。但し、mは整数であり、小さいほど先に処理される(*は積を表す。以下同様)。
【0069】
上記のブレンディング演算式において、ソース混合計数SRmとディスティネーション混合計数DEmとは、次の11種類のうちから適宜選択される。
【0070】
0、FBn-1、PIXn、PIXn*α、FBn-1*α、1、1−FBn-1、1−PIXn、1−PIXn*α、1−FBn-1*α、(FB1-n*α、1−PIXn*α)のうちいずれか小さい方上記の式(8)から理解される通り、一般的なブレンディング処理は、描画前のフレームバッファの色データを必要とし、また演算結果も描画順序に依存している。従って、一般的なコンピュータ・グラフィックにおいては、ブレンディング処理の必要なポリゴンは奥側より順に描画するのが通例である。
【0071】
図7は、半透明ポリゴンの混合ブレンディング処理を示す図である。手前側の半透明ポリゴンPGmと、奥側のポリゴンPGm-1が一部重なっていて、手前側の半透明ポリゴンPGmの不透明度がαの場合である。この場合は、従来例で説明した通り、奥側のポリゴンPGm-1の色データFBm-1が先に求められ、それに手前側の半透明ポリゴンPGmの色データが、不透明度αmと透明度(1−αm)によって、混合ブレンディング処理される。即ち、その演算式は、図示される通り、
FBm=PIXm*αm+FBm-1*(1−αm) (9)
即ち、上記式(9)は、一般式(8)において、ディスティネーション混合係数DEm=αmで、ソース混合係数SRm=(1−αm)にした場合に対応する。
【0072】
図8は、補助フィルタ処理の具体例を示す図である。汎用的なグラフィックライブラリには、ブレンド処理として補助フィルタ処理がある。この処理は、図7の半透明ポリゴンの混合ブレンディング処理と異なり、奥側のポリゴンPGm-1の色データがその手前側のポリゴンPGmの混合係数αmにかかわらず、そのまま減衰することなく残される処理である。
【0073】
例えば、手前側のポリゴンPGmが炎に対応するポリゴンであり、奥側のポリゴンPGm-1が所定の不透明ポリゴンの場合を想定する。この場合は、視点からは炎のポリゴンPGmを通して不透明ポリゴンPGm-1を見ていることになる。その場合は、炎ポリゴンPGmの色は加算されるが、奥側のポリゴンPGm-1の色データが減衰することはない。
【0074】
その場合は、炎ポリゴンPGmの色データPIXmに対してディスティネーション混合係数DEm=αm、ソース混合係数SRm=1にすることにより、上記の一般式(8)を利用することができる。その結果、補助フィルタ処理の演算式は、図示される通り、
FBm=PIXm*αm+FBm-1*1 (10)
となる。即ち、前回の処理で求めたポリゴンPGm-1の色データFBm-1をそのまま残し、今回処理中のポリゴンPGmの色データPIXmに混合係数αm分だけ加算する処理である。
【0075】
この補助フィルタ処理は、上記の炎ポリゴンの例以外に、例えば赤い光源からの光がポリゴンPGm-1に照射されている場合も、同様の処理が適用される。
【0076】
図9は、更に、カラーフィルタ処理を示す図である。カラーフィルタ処理では、例えば、背景にあるポリゴンPGm-1の特定の色成分だけを抽出するために、手前側にそれ自身は色成分を持たないカラーフィルタポリゴンPGmを配置させる。そして、このブレンディング処理演算では、特定の色成分だけを抽出させるために、背景のポリゴンPGm-1の色データFBm-1にカラーフィルタポリゴンPGmの色抽出データPIXmを乗算する。
【0077】
即ち、その演算式は、図示される通り、
FBm=PIXm*0+FBm-1*PIXm (11)
となる。この演算式は、一般式(8)に対して、カラーフィルタポリゴンPGmの色抽出データPIXmに対してディスティネーション混合係数DEm=0、前回求めた色データFBm-1に対してソース混合係数SRm=PIXmにすることにより得られる。
【0078】
以上の通り、半透明ポリゴンの混合ブレンディング処理以外に、補色フィルタ処理やカラーフィルタ処理などの様々なブレンディング処理は、一般式(8)に、適宜選択したディスティネーション混合係数DEmとソース混合係数SRmと適用して演算処理することができる。通常のコンピュータ・グラフィック処理装置は、上記の一般式(8)に適用できるように構成され、その結果、ディスティネーション混合係数DEmとソース混合係数SRmとを適宜選択して行うことにより、様々なブレンディング処理が可能になる。
【0079】
そこで、上記の一般的なブレンディング処理に対して、視点側から(手前側)ポリゴンを順番に処理することができる方法、処理装置について、以下に説明する。
【0080】
図1の場合と同様に、4枚のポリゴンが手前側から重なっていると仮定する。その場合、一般式(8)に対して、m=1〜4により、次の4つの演算式が導かれる。
【0081】
FB1=PIX1*DE1+FB0*SR1 (21)
FB2=PIX2*DE2+FB1*SR2 (22)
FB3=PIX3*DE3+FB2*SR3 (23)
FB4=PIX4*DE4+FB3*SR4 (24)
ここで、留意すべき点は、上記ブレンディング処理は、奥側のポリゴンを先に処理してその色データがフレームバッファに記録されているので、mが大きいほど手前のポリゴンを意味し、mが小さいほど奥側のポリゴンを意味することである。
【0082】
そこで、上記の(21)〜(24)について、式(5)(6)(7)で行ったように、最も手前のポリゴンの色データをFB4からD1に、最も奥側のポリゴンの色データをFB1からD4にそれぞれ置き換え、処理中のピクセルの色データPIXをテクスチャーデータ(色データ)Tに置き換えると、次の通りである。つまり、D4=FB1〜D1=FB4とし、PIX4=T1〜PIX1=T4すると、
D4=T4*DE4+D5*SR4 (31)
D3=T3*DE3+D4*SR3 (32)
D2=T2*DE2+D3*SR2 (33)
D1=T1*DE1+D2*SR1 (34)
そこで、ワークデータXn(但しX0=1)を、
Xn=SRn*Xn-1=SRn*SRn-1*SRn-2*…*SR1 (35)
とすると、式(34)は、次の通り展開される。
【0083】
D1=T1*DE1*X0+T2*DE2*X1+T3*DE3*X2+T4*DE4*X3であるから、各Tn*DEn*Xn-1に注目すると、
Dn=Dn-1+Tn*DEn*Xn-1 (36)
と一般化することができる。この場合上記の置き換えにより、nが小さいほど手前のポリゴンを意味しているので、より手前のポリゴンから順番にブレンディング処理を行うことができることを意味している。即ち、より手前に位置するポリゴンの処理結果Dn-1を利用して、次の奥側に位置するポリゴンのデータDnを求めることができるのである。そして、上記の式(35)と(36)において、SRn=(1−αn)、DEn=αnと置き換えると、半透明ポリゴンの処理で示した式(6)(7)と同じになることが理解される。
【0084】
上記の式(35)によれば、ワークデータXnは、ソース混合係数SRnの累積値である。また、上記の式(36)によれば、視点からn枚目のポリゴンを処理した結果の色データDnは、n枚目のポリゴンのテクスチャデータ(色データ)Tn を、ディスティネーション混合係数DEn と、手前に位置するn−1枚のポリゴンのソース混合係数SR1〜SRn-1の累積値Xn-1 とに応じて、n−1枚目までの画像データDn-1 に加えるレンダリング処理により求められる。しかも、ワークデータXnが所定の最低値よりも小さくなると、その後のポリゴンの処理を省略しても表示される色データに大きな影響を与えないことは、半透明ポリゴンのブレンド処理と同じである。
【0085】
図10は、一般的なグラフィック・ライブラリでのブレンディング処理に利用される汎用レンダラの構成図である。図5のレンダラの構成を汎用化したものであり、図4のレンダラ34に適用される。図10の各構成の引用番号は、図5の対応する構成と同じ引用番号を与えた。
【0086】
図10のレンダラは、図5のレンダラと異なり、ディスティネーション混合係数生成部348と、ソース混合係数生成部349とが設けられ、更に、乗算器は、Xn乗算器344Xと、Dn乗算器344Dとが設けられる。また、制御ブロック341は、描画コマンド36として、テクスチャー座標(Tx、Ty)と、不透明度αと、混合係数生成情報iDE、iSRを受信する。それ以外の構成は、図5の場合と同じである。
【0087】
混合係数生成情報iDE、iSRは、一般化されたブレンド処理の中から選択される所定の処理に対応して、ディスティネーション混合係数DEとソース混合係数SRをどれにすべきかを指示する情報を含む。従って、この混合係数生成情報iDE、iSRは、それぞれの混合係数生成部348,349に与えられ、それらの生成部348,349が、ディスティネーション混合係数DEとソース混合係数SRを生成して、Xn乗算器344XとDn乗算器344Dとに供給する。
【0088】
制御ブロック341は、描画コマンドに含まれるテクスチャー座標(Tx、Ty)に従って、テクスチャーバッファ44から対応するテクスチャデータを読み出し、テクスチャデータ(色データ)Tnとして、Dn乗算器344Dに供給する。また、制御ブロックは、Xバッファ342とフレームバッファであるDバッファ343に対して、処理中のピクセルに対応するアドレスへのアクセスを指示し、それらの読み出されたデータXn-1とDn-1は、それぞれXn乗算器344Xと、加算器347に供給される。
【0089】
上記の汎用レンダラにより、視点に対してより手前側のポリゴンから順番にブレンディング処理が行われる。そして、n番目のポリゴンの処理において、Xn乗算器344Xは、前回処理してXバッファ342内に記録していたワークデータXn-1と今回のソース混合係数SRnとから、ワークデータXnを求める。更に、Dn乗算器344Dと加算器347とは、前回処理してXバッファ342内に記録していたワークデータXn-1、今回のディスティネーション混合係数DEn、及び前回処理してDバッファ343内に記録していた色データDn-1とから、今回の色データDn=Dn-1+Tn*DEn*Xn-1を求める。それぞれ求められたワークデータXnと色データDnとは、それぞれXバッファ342とDバッファ(フレームバッファ)343に記録される。
【0090】
図10の汎用レンダラでは、次の様に混合係数を選択することで、上記した3つの処理を行うことができる。
【0091】
半透明ポリゴンの混合ブレンディング処理:DEn=αn、SRn=1−αn
補助フィルタ処理 :DEn=αn、SRn=1
カラーフィルタ処理 :DEn=0 、SRn=Tn
上記の例以外にも、種々の混合係数を選択することができる。例えば、0、Tn*αn、1、1−Tn、1−Tn*αn等を適宜選択することができる。但し、データFBn-1、即ち、後で処理して求められる色データDn+1を含む混合係数を選択することはできない。
【0092】
汎用レンダラの場合は、好ましくは、図10に設けられた構成をRGBの色毎に有する。但し、RGB各色成分に同一の混合係数、例えば0、α、1、1−α、のみを使用する場合は、共通のXバッファ342と各色成分のDバッファ343で構成することができる。また、色成分で異なる混合係数、例えばTn、1−Tn、を含む場合は、各色成分毎のXバッファ342とDバッファ343で構成することが必要になる。
【0093】
そして、上記の汎用レンダラでも、n番目のポリゴンに対するブレンディング処理において、ソース混合係数SRnの累積値が所定の最小値Xmin より小さい場合は、n番目以降のポリゴンに対する処理を省略することができ、全体のブレンディング処理の効率を上げることができる。
【0094】
上記の汎用レンダラの如きハードウエアでなく、ソフトウエアを利用して、上記の処理を行うことも可能である。その場合は、汎用のパーソナルコンピュータやワークステーションに、上記のブレンド処理プログラムを実行させることにより実現される。
【0095】
【発明の効果】
以上説明した通り、本発明によれば、半透明ポリゴンの画像処理において、表示画面の奥行き方向について手前側のポリゴンから順に処理することができ、処理すべき全てのポリゴンを処理しない場合でも、再生される画像のスムーズな動きに大きな影響を与えることはないので、高速処理を可能にする。
【0096】
また、本発明によれば、不透明ポリゴンの処理と区別することなく半透明ポリゴンの処理を行っても、不透明ポリゴンの処理効率を高くすることができ、また、区別する必要がないのでその分処理の負担を軽減することができる。
【0097】
更に、本発明によれば、一般的なブレンディング処理を行うことができる汎用レンダラを提供することができ、そのディスティネーション混合係数やソース係数を適宜選択することで、種々のブレンディング処理を、視点に対して手前側のポリゴンから順番に処理することができる。
【図面の簡単な説明】
【図1】半透明ポリゴンの重なり例を説明する図である。
【図2】本発明及び従来例のレンダリング処理を、図1の例に適用した時の演算式を示す図表である。
【図3】図2に示したレンダリング処理の演算を具体例に適用した例を示す図表である。
【図4】本発明の画像処理装置にかかるゲーム装置の概略構成例を示す図である。
【図5】本発明の実施の形態例におけるレンダラの構成図である。
【図6】本実施の形態例の画像処理のフローチャート図である。
【図7】半透明ポリゴンの混合ブレンディング処理を示す図である。
【図8】補助フィルタ処理の具体例を示す図である。
【図9】カラーフィルタ処理を示す図である。
【図10】一般的なグラフィック・ライブラリでのブレンディング処理に利用される汎用レンダラの構成図である。
【符号の説明】
34 レンダラ、レンダリング処理部
342 Xバッファ、ワークデータバッファ
343 Dバッファ、画像データバッファ
Tn 色データ、テクスチャデータ
Dn 画像データ
αn 不透明度データ
P1〜P4 ポリゴン
Claims (3)
- 色データとディスティネーション混合係数とソース混合係数とを有した複数のポリゴンに対する所定のブレンディング処理を行って、表示すべき画像データを生成する画像処理装置であって、
表示画面内のポリゴンを手前から順に並べた時のn番目までのポリゴンのソース混合係数SR1〜SRnの累積値Xnと、前記手前側からn番目まで処理したときに表示すべき画像データDnと、を算出するレンダリング処理部を有し、
前記レンダリング処理部は、n枚目のポリゴンの色データTn を、前記ディスティネーション混合係数DEn と、手前に位置するn−1枚のポリゴンのソース混合係数SR1〜SRn−1の累積値Xn−1 とに応じて、n−1枚目までの画像データDn−1 に加算して、前記画像データDnを求め、さらに、前記累積値Xnが、0または所定の最小値より小さい場合は、n番目以降のポリゴンに対する処理を省略する
ことを特徴とする画像処理装置。 - 色データとディスティネーション混合係数とソース混合係数とを有した複数のポリゴンに対する所定のブレンディング処理を行って、表示すべき画像データを生成する画像処理方法であって、
表示画面内のポリゴンを手前から順に並べた時のn番目までのポリゴンのソース混合係数SR1〜SRnの累積値Xnと、前記手前側からn番目まで処理したときに表示すべき画像データDnと、を算出するレンダリング処理工程を有し、
前記レンダリング処理工程は、n枚目のポリゴンの色データTn を、前記ディスティネーション混合係数DEn と、手前に位置するn−1枚のポリゴンのソース混合係数SR1〜SRn−1の累積値Xn−1 とに応じて、n−1枚目までの画像データDn−1 に加算して、前記画像データDnを求め、さらに、前記累積値Xnが、0または所定の最小値より小さい場合は、n番目以降のポリゴンに対する処理を省略する
ことを特徴とする画像処理方法。 - 色データとディスティネーション混合係数とソース混合係数とを有した複数のポリゴンに対する所定のブレンディング処理を行って、表示すべき画像データを生成する画像処理手順をコンピュータに実行させるプログラムを記録した記録媒体であって、
表示画面内のポリゴンを手前から順に並べた時のn番目までのポリゴンのソース混合係数SR1〜SRnの累積値Xnと、前記手前側からn番目まで処理したときに表示すべき画像データDnと、を算出するレンダリング処理手順を有し、
前記レンダリング処理手順は、n枚目のポリゴンの色データTn を、前記ディスティネーション混合係数DEn と、手前に位置するn−1枚のポリゴンのソース混合係数SR1〜SRn−1の累積値Xn−1 とに応じて、n−1枚目までの画像データDn−1 に加算して、前記画像データDnを求め、さらに、前記累積値Xnが、0または所定の最小値より小さい場合は、n番目以降のポリゴンに対する処理を省略する
ことを特徴とする画像処理プログラムを記録した記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22542699A JP4399910B2 (ja) | 1998-09-10 | 1999-08-09 | ブレンディング処理を含む画像処理装置及びその方法 |
US09/388,435 US6720976B1 (en) | 1998-09-10 | 1999-09-02 | Image processing unit and method including blending processing |
GB9921254A GB2344039B (en) | 1998-09-10 | 1999-09-08 | Image processing unit and method including blending processing |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25632598 | 1998-09-10 | ||
JP10-256325 | 1998-09-10 | ||
JP22542699A JP4399910B2 (ja) | 1998-09-10 | 1999-08-09 | ブレンディング処理を含む画像処理装置及びその方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000149053A JP2000149053A (ja) | 2000-05-30 |
JP2000149053A5 JP2000149053A5 (ja) | 2006-09-21 |
JP4399910B2 true JP4399910B2 (ja) | 2010-01-20 |
Family
ID=26526633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22542699A Expired - Fee Related JP4399910B2 (ja) | 1998-09-10 | 1999-08-09 | ブレンディング処理を含む画像処理装置及びその方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6720976B1 (ja) |
JP (1) | JP4399910B2 (ja) |
GB (1) | GB2344039B (ja) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6573905B1 (en) * | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6768774B1 (en) * | 1998-11-09 | 2004-07-27 | Broadcom Corporation | Video and graphics system with video scaling |
US6636222B1 (en) * | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
US6661422B1 (en) * | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
US7982740B2 (en) | 1998-11-09 | 2011-07-19 | Broadcom Corporation | Low resolution graphics mode support using window descriptors |
US6380945B1 (en) * | 1998-11-09 | 2002-04-30 | Broadcom Corporation | Graphics display system with color look-up table loading mechanism |
US6853385B1 (en) * | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
GB2362552B (en) * | 1999-06-28 | 2003-12-10 | Clearspeed Technology Ltd | Processing graphical data |
GB2355633A (en) * | 1999-06-28 | 2001-04-25 | Pixelfusion Ltd | Processing graphical data |
JP4114029B2 (ja) * | 1999-07-16 | 2008-07-09 | 株式会社セガ | 画像処理装置、画像処理方法及び記録媒体 |
US6452600B1 (en) | 1999-10-28 | 2002-09-17 | Nintendo Co., Ltd. | Graphics system interface |
US6411301B1 (en) | 1999-10-28 | 2002-06-25 | Nintendo Co., Ltd. | Graphics system interface |
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 |
GB2389503B (en) * | 1999-11-11 | 2004-04-21 | Canon Kk | Computer graphics apparatus |
US7796132B1 (en) | 1999-11-18 | 2010-09-14 | Namco Bandai Games Inc. | Image generation system and program |
US6857061B1 (en) | 2000-04-07 | 2005-02-15 | Nintendo Co., Ltd. | Method and apparatus for obtaining a scalar value directly from a vector register |
US6859862B1 (en) | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
US7119813B1 (en) | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
US6963347B1 (en) * | 2000-08-04 | 2005-11-08 | Ati International, Srl | Vertex data processing with multiple threads of execution |
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 |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6825851B1 (en) | 2000-08-23 | 2004-11-30 | Nintendo Co., Ltd. | Method and apparatus for environment-mapped bump-mapping in 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 |
US6609977B1 (en) | 2000-08-23 | 2003-08-26 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US7134960B1 (en) | 2000-08-23 | 2006-11-14 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6580430B1 (en) | 2000-08-23 | 2003-06-17 | Nintendo Co., Ltd. | Method and apparatus for providing improved fog effects in a graphics system |
US6639595B1 (en) | 2000-08-23 | 2003-10-28 | Nintendo Co., Ltd. | Achromatic lighting in a graphics system and method |
US6664958B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Z-texturing |
US6606689B1 (en) | 2000-08-23 | 2003-08-12 | Nintendo Co., Ltd. | Method and apparatus for pre-caching data in audio memory |
US6664962B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Shadow mapping in a low cost graphics system |
US6980218B1 (en) | 2000-08-23 | 2005-12-27 | Nintendo Co., Ltd. | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system |
US6697074B2 (en) | 2000-11-28 | 2004-02-24 | Nintendo Co., Ltd. | Graphics system interface |
US20030002729A1 (en) * | 2001-06-14 | 2003-01-02 | Wittenbrink Craig M. | System for processing overlapping data |
JP3970102B2 (ja) * | 2001-06-28 | 2007-09-05 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP3780954B2 (ja) * | 2002-02-06 | 2006-05-31 | ソニー株式会社 | 画像生成装置およびその方法 |
AU2003903445A0 (en) | 2003-06-26 | 2003-07-17 | Canon Kabushiki Kaisha | Optimising compositing calculations for a run of pixels |
JP2005077522A (ja) * | 2003-08-28 | 2005-03-24 | Yamaha Corp | 画像処理装置および画像処理方法 |
US8063916B2 (en) | 2003-10-22 | 2011-11-22 | Broadcom Corporation | Graphics layer reduction for video composition |
US7439980B2 (en) * | 2004-03-08 | 2008-10-21 | Yamaha Corporation | Image processing method and apparatus |
JP4840800B2 (ja) * | 2005-11-17 | 2011-12-21 | サミー株式会社 | 画像処理装置、遊技機、画像処理方法、及びプログラム |
KR100829564B1 (ko) * | 2006-09-29 | 2008-05-14 | 삼성전자주식회사 | 효율적으로 모션 블러 효과를 제공하는 3차원 그래픽스렌더링 방법 및 장치 |
KR101282973B1 (ko) * | 2007-01-09 | 2013-07-08 | 삼성전자주식회사 | 오버레이 이미지를 디스플레이 하는 장치 및 방법 |
US7586711B2 (en) * | 2007-12-10 | 2009-09-08 | Hitachi Global Storage Technologies Netherlands B.V. | Magnetic performance of a magnetic transducer operating within a hard disk drive |
EP2273477A4 (en) * | 2008-03-07 | 2017-03-22 | Hemiri Sport Comunication, S.l. | Three-dimensional virtual graphics object and method for generating same |
WO2011149558A2 (en) | 2010-05-28 | 2011-12-01 | Abelow Daniel H | Reality alternate |
US8854383B2 (en) * | 2011-04-13 | 2014-10-07 | Qualcomm Incorporated | Pixel value compaction for graphics processing |
JP5339309B2 (ja) * | 2011-06-10 | 2013-11-13 | サミー株式会社 | 画像処理装置、遊技機、画像処理方法、及びプログラム |
CN104781851B (zh) * | 2012-11-19 | 2017-12-12 | 索尼电脑娱乐公司 | 图像处理装置和图像处理方法 |
WO2014097482A1 (ja) * | 2012-12-21 | 2014-06-26 | 三菱電機株式会社 | ピクセル合成装置 |
JP5545687B1 (ja) * | 2013-11-07 | 2014-07-09 | 株式会社 ディー・エヌ・エー | ゲームを提供するサーバ及び方法 |
JP6965518B2 (ja) | 2017-01-17 | 2021-11-10 | カシオ計算機株式会社 | 描画方法、描画装置、及びプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8828342D0 (en) | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
GB2328569B (en) | 1989-12-07 | 1999-06-02 | Marconi Gec Ltd | High power pulse generation |
US5625764A (en) | 1993-03-16 | 1997-04-29 | Matsushita Electric Industrial Co., Ltd. | Weighted average circuit using digit shifting |
JPH0969163A (ja) * | 1995-08-31 | 1997-03-11 | Fujitsu Ltd | コンピュータグラフィックスモデルのポリゴン重なり抽出方法と、ポリゴンのグループ化方法及び装置 |
US5818456A (en) | 1996-04-30 | 1998-10-06 | Evans & Sutherland Computer Corporation | Computer graphics system with adaptive pixel multisampler |
GB2331217B (en) | 1997-11-07 | 2000-08-30 | Sega Enterprises Kk | Imagae processing apparatus and method |
US6310620B1 (en) * | 1998-12-22 | 2001-10-30 | Terarecon, Inc. | Method and apparatus for volume rendering with multiple depth buffers |
-
1999
- 1999-08-09 JP JP22542699A patent/JP4399910B2/ja not_active Expired - Fee Related
- 1999-09-02 US US09/388,435 patent/US6720976B1/en not_active Expired - Fee Related
- 1999-09-08 GB GB9921254A patent/GB2344039B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2344039A (en) | 2000-05-24 |
US6720976B1 (en) | 2004-04-13 |
GB9921254D0 (en) | 1999-11-10 |
GB2344039B (en) | 2001-01-10 |
JP2000149053A (ja) | 2000-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4399910B2 (ja) | ブレンディング処理を含む画像処理装置及びその方法 | |
JP3635051B2 (ja) | 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム | |
US6897880B2 (en) | User interface for generating parameter values in media presentations based on selected presentation instances | |
JP3647487B2 (ja) | テクスチャマッピング装置 | |
JP3656857B2 (ja) | フルモーション動画のntsc式表示装置および方法 | |
US5754183A (en) | Image processing apparatus and method for producing pixel data in dependence upon the shape of a sectional line extending between boundary lines of an object | |
JP3715222B2 (ja) | 描画方法、描画装置、描画処理プログラム、描画処理プログラムを記録した記録媒体、および描画処理プログラム実行装置 | |
WO1992021096A1 (en) | Image synthesis and processing | |
JPS59129897A (ja) | 三次元表示システム | |
US7167596B2 (en) | Image processing method for generating three-dimensional images on a two-dimensional screen | |
JP4917346B2 (ja) | ゲーム画像処理プログラムおよびゲーム画像処理装置 | |
JP3338021B2 (ja) | 3次元画像処理装置及び3次元画像処理プログラムを記録した可読記録媒体 | |
JP4707782B2 (ja) | 画像処理装置およびその方法 | |
JP3527672B2 (ja) | 3次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体および影描画処理方法およびビデオゲーム装置 | |
US6339430B1 (en) | Video game machine and method for changing texture of models | |
JP3448536B2 (ja) | 三次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体、ぼかし描画処理方法およびビデオゲーム装置 | |
JP3231029B2 (ja) | レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするためのプログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP3052839B2 (ja) | 画像処理装置及びその処理方法 | |
JP4411713B2 (ja) | ブレンディング処理を含む画像処理装置及びその方法 | |
JP2000331175A (ja) | 輪郭線生成用データ生成方法及び装置、記録システム、該データの記録されたコンピュータ可読実行媒体、並びに該データに基づいてオブジェクトに輪郭を付すエンタテインメント・システム | |
JP3652586B2 (ja) | 画像描画システム | |
JP4707867B2 (ja) | 映像合成装置 | |
JP4188463B2 (ja) | 画像生成装置、画像生成方法および記憶媒体 | |
JPH10188026A (ja) | 動画像作成方法および動画像作成用記憶媒体 | |
JP3680351B2 (ja) | 画像制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060809 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090907 |
|
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: 20091006 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091019 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |