JP4554834B2 - 画像処理装置及び方法並びにそのプログラム - Google Patents
画像処理装置及び方法並びにそのプログラム Download PDFInfo
- Publication number
- JP4554834B2 JP4554834B2 JP2001044525A JP2001044525A JP4554834B2 JP 4554834 B2 JP4554834 B2 JP 4554834B2 JP 2001044525 A JP2001044525 A JP 2001044525A JP 2001044525 A JP2001044525 A JP 2001044525A JP 4554834 B2 JP4554834 B2 JP 4554834B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- color data
- pixel
- distance
- coordinate value
- 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 - Lifetime
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/50—Lighting effects
- G06T15/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置及び方法並びにそのプログラムに関し、より特定的には、ポリゴンを用いたグラフィック表現を行う際に、特定点からの距離に応じて色データを決定する画像処理装置及び画像処理方法並びに当該方法を実行するためのプログラムに関する。
【0002】
【従来の技術】
従来、光源に応じてポリゴン面に陰影を付加する処理は、一般に以下のようにして行われる。
図7は、従来の陰影付け処理を説明するための図である。なお、本明細書においては、座標値を( )表記で、色データを[ ]表記で、それぞれ示すことにする。
【0003】
従来の処理では、まず、光源と処理対象となるポリゴンの各頂点との距離が、それぞれ求められる。図7(a)の例では、各座標値(x,y,z)は、光源の座標値が(0,10,0)であり、ポリゴンの頂点Aの座標値が(10,10,0)、頂点Bの座標値が(30,20,0)、頂点Cの座標値が(30,0,0)である。従って、光源と頂点Aとの距離が“10”、光源と頂点B及び頂点Cとの距離がそれぞれ“31.6”となる。なお、座標値(I,J,K)と座標値(i,j,k)との2点間距離Dは、周知のように以下の式で求められる。
D=√{(I−i)2 +(J−j)2 +(K−k)2 }
【0004】
次に、上記求められた2点間距離Dに応じて、ポリゴンの各頂点の色データ[r,g,b]がそれぞれ決定される。この例では、頂点Aの色データが白色である[255,255,255]に、頂点B及び頂点Cの色データが共に黒色である[0,0,0]に決定されたものとする。
最後に、ポリゴンの各頂点の色データに基づいてシェーディング処理が行われ、ポリゴン内の各ピクセルの色がそれぞれ補完される。図7(b)は、図7(a)に示す条件でシェーディング処理がされたポリゴンを示す図である。図7(b)のように従来のシェーディング処理では、ポリゴン内の各ピクセルの色データが、各頂点間の色データの差分に従って段階的に色表現される。例えば、ポリゴン内の座標値(20,5,0)の色データは、[r,g,b]=[128,128,128]となる。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来の処理では、光源との距離に応じてポリゴンの各頂点の色データを求めている。従って、図7(a)のように、処理対象となるポリゴンの外側に光源がある場合には何ら問題ないが、ポリゴンの内側に光源がある場合には次のような問題が生じる。
図8(a)のように、ポリゴンの内側、特に各頂点から等距離の位置に光源がある場合、光源との距離に応じてポリゴンの各頂点の色データを求めると全て同じデータとなる。このため、この差分がない色データを用いてシェーディング処理を行っても、図8(b)のようにポリゴン全体が頂点と同一の色データとなってしまい、図9に示す実際に表現すべき陰影とは程遠い処理結果となる。
【0006】
このような場合の対策として、ポリゴンをさらに細かく分割して、この分割されたポリゴン毎に上述の陰影付け処理を行うことが考えられる。しかし、このような画像処理は、装置に大きな負担がかかるので、高性能の大規模なコンピュータ等で行うことは可能であっても、家庭用のパーソナルコンピュータやゲーム機器等で行うことは現実的に難しい。
【0007】
それ故、本発明の目的は、処理対象となるポリゴンの内側に光源がある場合でも、装置に大きな処理負担をかけることなく、実際の映像に近いポリゴンの陰影付け処理を行うことが可能な画像処理装置及び方法並びにそのプログラムを提供することである。
【0008】
【課題を解決するための手段および発明の効果】
第1の発明は、ポリゴンの各頂点の色データに基づいて頂点間がグラデーション表現されるように、当該ポリゴンの各ピクセルの色データを発生するグラデーション発生部を備える画像処理装置であって、
グラデーション発生部に対して、ポリゴンの各頂点の座標値を色データとして入力する座標値入力部、
座標値入力部から入力されるデータに基づいてグラデーション発生部によって発生されるポリゴンの各ピクセルの色データを、各ピクセルの座標値として読み出す座標値読出部、
座標値読出部によって読み出されたポリゴンの各ピクセルの座標値と特定点の座標値との距離を求める距離算出部、および
距離算出部で求められた距離に応じて、ポリゴンの各ピクセルの色データを決定する色データ決定部を備える。
【0009】
上記のように、第1の発明によれば、ポリゴンの各頂点の座標値に対してシェーディング処理を行うことで得られる各ピクセルの座標値を用い、特定点と各ピクセルとの距離に応じて光源の色やテクスチャの色等を変化させる。これにより、処理対象となるポリゴンの内側に光源がある場合でも、装置に大きな処理負担をかけることなく、実際の映像に近いポリゴンの陰影付け処理を行うことが可能となる。
【0010】
第2の発明は、第1の発明に従属する発明であって、
座標値入力部は、グラデーション発生部が処理可能な色データの範囲内に収まるように、ポリゴンの各頂点の座標値を所定値で割った値をグラデーション発生部に対して入力し、
距離算出部は、特定点の座標値を所定値で割った値を特定点の座標値とみなして、距離を算出することを特徴とする。
【0011】
上記のように、第2の発明によれば、ポリゴンの各頂点の座標値を所定値で割って適切な座標値へ丸め込む。これにより、ポリゴンの各頂点の座標値を色データとして取り扱うことができる。
【0012】
第3の発明は、第1及び第2の発明に従属する発明であって、
特定点が光源の位置である場合、
色データ決定部は、光源の輝度を基準として、距離算出部で求められた距離に応じて、ポリゴンの各ピクセルの輝度を決定することを特徴とする。
【0013】
上記のように、第3の発明によれば、光源との距離に応じてポリゴンの各ピクセルの輝度を変化させるので、光が当たっている様子を表現することができる。
【0014】
第4の発明は、第1及び第2の発明に従属する発明であって、
特定点がカメラの位置である場合、
色データ決定部は、カメラの位置を基準として、距離算出部で求められた距離に応じて、ポリゴンの各ピクセルの色をぼかして決定することを特徴とする。
【0015】
上記のように、第4の発明によれば、カメラとの距離に応じてポリゴンの各ピクセルの色をぼかして変化させるので、カメラを視点とした被写界深度を表現することができる。
【0016】
第5の発明は、ポリゴンの各頂点の色データに基づいて頂点間がグラデーション表現されるように、当該ポリゴンの各ピクセルの色データを発生するグラデーション発生部を用いた画像処理方法であって、
グラデーション発生部に対して、ポリゴンの各頂点の座標値を色データとして入力するステップ、
入力されるデータに基づいてグラデーション発生部によって発生されるポリゴンの各ピクセルの色データを、各ピクセルの座標値として読み出すステップ、
読み出されたポリゴンの各ピクセルの座標値と特定点の座標値との距離を求めるステップ、および
求められた距離に応じて、ポリゴンの各ピクセルの色データを決定するステップを備える。
【0017】
第6の発明は、第5の発明に従属する発明であって、
グラデーション発生部が処理可能な色データの範囲内に収まるように、ポリゴンの各頂点の座標値を所定値で割った値をグラデーション発生部に対して入力するステップをさらに備え、
距離を求めるステップは、特定点の座標値を所定値で割った値を特定点の座標値とみなして、距離を算出することを特徴とする。
【0018】
第7の発明は、第5及び第6の発明に従属する発明であって、
特定点が光源の位置である場合、
決定するステップは、光源の輝度を基準として、求められた距離に応じて、ポリゴンの各ピクセルの輝度を決定することを特徴とする。
【0019】
第8の発明は、第5及び第6の発明に従属する発明であって、
特定点がカメラの位置である場合、
決定するステップは、カメラの位置を基準として、求められた距離に応じて、ポリゴンの各ピクセルの色をぼかして決定することを特徴とする。
【0020】
第9の発明は、ポリゴンの各頂点の色データに基づいて頂点間がグラデーション表現されるように、当該ポリゴンの各ピクセルの色データを発生するグラデーション発生部を用いた画像処理方法を、コンピュータ装置で実行させるためのプログラムであって、
グラデーション発生部に対して、ポリゴンの各頂点の座標値を色データとして入力するステップ、
入力されるデータに基づいてグラデーション発生部によって発生されるポリゴンの各ピクセルの色データを、各ピクセルの座標値として読み出すステップ、
読み出されたポリゴンの各ピクセルの座標値と特定点の座標値との距離を求めるステップ、および
求められた距離に応じて、ポリゴンの各ピクセルの色データを決定するステップを含む。
【0021】
第10の発明は、第9の発明に従属する発明であって、
グラデーション発生部が処理可能な色データの範囲内に収まるように、ポリゴンの各頂点の座標値を所定値で割った値をグラデーション発生部に対して入力するステップをさらに含み、
距離を求めるステップは、特定点の座標値を所定値で割った値を特定点の座標値とみなして、距離を算出することを特徴とする。
【0022】
第11の発明は、第9及び第10の発明に従属する発明であって、
特定点が光源の位置である場合、
決定するステップは、光源の輝度を基準として、求められた距離に応じて、ポリゴンの各ピクセルの輝度を決定することを特徴とする。
【0023】
第12の発明は、第9及び第10の発明に従属する発明であって、
特定点がカメラの位置である場合、
決定するステップは、カメラの位置を基準として、求められた距離に応じて、ポリゴンの各ピクセルの色をぼかして決定することを特徴とする。
【0024】
【発明の実施の形態】
本発明が提供する画像処理装置及び方法は、ポリゴンによる画像表現を必要とするグラフィックシステムやゲーム機器等に用いられ、それらを構成するCPUやメモリ等と協働して特徴的な処理を行うことで実現される。
以下、この特徴的な処理を行う構成部分を機能ブロックで表現して、本発明が提供する画像処理装置及び方法を説明する。
【0025】
図1は、本発明の一実施形態に係る画像処理装置を機能ブロックで表現した図である。図1において、本実施形態の画像処理装置は、色データ入力部11と、グラデーション発生部12と、距離算出部13と、色データ決定部14とを備える。また、図2は、本発明の一実施形態に係る画像処理装置が行う画像処理方法の手順を示すフローチャートである。
なお、以下の説明では、ポリゴンが三角形である場合について記述するが、他の多角形であっても同様に処理することが可能である。
【0026】
まず、色データ入力部11は、処理対象となるポリゴンの各頂点の座標値(x0,y0,z0)、(x1,y1,z1)及び(x2,y2,z2)を、所定のメモリ等から読み出す(ステップS201)。
次に、色データ入力部11は、グラデーション発生部12で処理可能な色データの範囲内に収まるように座標値を所定値で割って丸め込みを行い、丸め座標値(X0,Y0,Z0)、(X1,Y1,Z1)及び(X2,Y2,Z2)を求める(ステップS202)。この処理は、色表現に用いられるデータ範囲が、座標表現に用いられるデータ範囲より小さい場合でも、各頂点の座標値をグラデーション発生部12において色データとして取り扱えるようにするために行われる。
例えば、座標値が0〜1023の範囲で表現され、色データが0〜255の範囲で表現されている場合、色データ入力部11は、座標値をそれぞれ4で割って、丸め座標値(x0/4,y0/4,z0/4)、(x1/4,y1/4,z1/4)及び(x2/4,y2/4,z2/4)を求める。なお、丸め込みを行う必要がない場合には、読み出された座標値(x0,y0,z0)、(x1,y1,z1)及び(x2,y2,z2)が、そのまま以下の処理に用いられることになる。
そして、色データ入力部11は、求めた丸め座標値を、ポリゴンの各頂点の色データ[X0,Y0,Z0]、[X1,Y1,Z1]及び[X2,Y2,Z2]とみなしてそれぞれ設定し、グラデーション発生部12へ与える(ステップS203)。
【0027】
次に、グラデーション発生部12は、ポリゴンの各頂点の色データとみなして与えられた丸め座標値に基づいて、上記従来の技術で説明したシェーディング処理を実行し、グラデーション化されたポリゴン内の各ピクセルの色データ[Rm,Gm,Bm]をそれぞれ求める(ステップS204)。なお、mは1〜ピクセル数である。このように、各頂点の色データに代えて座標値でシェーディング処理を実行させることで、この処理により求められた各色データは、ポリゴン内の各ピクセルの座標値(Rm,Gm,Bm)に相当することになる。従って、このグラデーション発生部12には、従来のグラフィックシステムやゲーム機器にすでに存在する構成、すなわち各頂点の色データから各ピクセルの色データを求める構成(カラーコンバイナ等)を、そのまま使用することができる。
そして、グラデーション発生部12は、各色データを各ピクセルの座標値として距離算出部13へ与える(ステップS205)。
【0028】
距離算出部13は、陰影付けの処理基準となる光源位置等の特定点の座標値(x,y,z)を入力し、色データ入力部11で行われたものと同様の丸め込みを行って、丸め座標値(X,Y,Z)を求める(ステップS206)。なお、色データ入力部11で丸め込みが行われていない場合には、入力される座標値(x,y,z)が、そのまま以下の処理に用いられることになる。
次に、距離算出部13は、特定点とポリゴンの各ピクセルとの2点間距離Dを、座標値に従ってそれぞれ求める(ステップS207)。なお、この例において、座標値は4以上の値(例えば「8」)で割ってもよい。なお、求めるべき2点間距離Dは、従来の技術で述べたように各座標値差分の2乗和を平方根した値であってもよいし、単に各座標値差分の2乗和の値であってもよい。
D=√{(X−Rm)2 +(Y−Gm)2 +(Z−Bm)2 }又は
D=(X−Rm)2 +(Y−Gm)2 +(Z−Bm)2
そして、距離算出部13は、それぞれ求めた2点間距離Dを、色データ決定部14へ出力する。ここで、座標値のうちX座標は色データのR値として、Y座標は色データのG値として、Z座標は色データのB値としてグラデーション発生部12に入力される。なお、座標と色データの対応関係はこの例に限られない。
【0029】
色データ決定部14は、特定点の色データを基準として、各頂点を含めたポリゴンの各ピクセルの色データを、2点間距離Dに応じて決定する(ステップS208)。なお、どのようにして色データを決定するかは、グラフィック表現の性能や目的に応じて自由に設定することが可能である。
例えば、(テクスチャカラーm)×65536/Dm等の計算によって、色データをそれぞれ求めればよい。なお、mは1〜ピクセル数である。
【0030】
このように、ポリゴンの各頂点の座標値に本来色データに対して行われる処理を行うことで、ポリゴン内の各ピクセルの座標値を得ることができる。従って、この座標値を用いて特定点と各ピクセルとの距離を求めることができ、図9に示すように、光源からの距離に応じた色データを各ピクセルの位置にそれぞれ設定することができる。
【0031】
一般に、上述した距離の計算及び色データの決定は、グラフィックシステムやゲーム機器等に内蔵されるカラーコンバイナで行われる。このカラーコンバイナは、所定のパラメータによって決定される計算機能を有している。カラーコンバイナで処理される計算式及び計算回数は、CPUが実行するプログラムで所定のパラメータを与えることによって設定される。
具体的には、カラーコンバイナにおいて次のような計算が実行されることで、距離の計算及び色データの決定が行われる。なお、カラーコンバイナが行う1回の計算処理を「ステージ」と表現する。
【0032】
まず、ステージ1〜ステージ4では、X座標について計算が行われる。
ステージ1では、
各ピクセルの色データ(R)−特定点の座標値(X)
となるように計算式が設定される。ここで、各ピクセルの色データ(R)とは、上記図2のステップS204で求められた色データ(R)である。また、この計算式で求められた結果は、レジスタ0に記憶されるように設定される。なお、特定点の座標値(X)は、座標値(x)を4で割って丸め込んだ値とする(X=x/4)。
ステージ2では、
特定点の座標値(X)−各ピクセルの色データ(R)
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ1に記憶されるように設定される。
ステージ3では、
レジスタ0の値+レジスタ1の値
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ2に記憶されるように設定される。これによって、X座標について、特定点座標と各ピクセル座標との差が求まる。なお、ステージ1及びステージ2の両方の和を求めているのは、カラーコンバイナではマイナス値を使用できず、計算結果がマイナス値の場合に「0」となる理由による。
ステージ4では、
レジスタ2の値×レジスタ2の値
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ3に記憶されるように設定される。これによって、X座標について、特定点座標と各ピクセル座標との差の2乗が求まる。
【0033】
次に、ステージ5〜ステージ8では、Y座標について計算が行われる。
ステージ5では、
各ピクセルの色データ(G)−特定点の座標値(Y)
となるように計算式が設定される。ここで、各ピクセルの色データ(G)とは、上記図2のステップS204で求められた色データ(G)である。また、この計算式で求められた結果は、レジスタ0に記憶されるように設定される。なお、特定点の座標値(Y)は、座標値(y)を4で割って丸め込んだ値とする(Y=y/4)。
ステージ6では、
特定点の座標値(Y)−各ピクセルの色データ(G)
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ1に記憶されるように設定される。
ステージ7では、
レジスタ0の値+レジスタ1の値
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ2に記憶されるように設定される。これによって、Y座標について、特定点座標と各ピクセル座標との差が求まる。
ステージ8では、
レジスタ2の値×レジスタ2の値+レジスタ3の値
となるように計算式が設定される。また、この計算式で求められた結果は、再びレジスタ3に記憶されるように設定される。これによって、「X座標についての特定点座標と各ピクセル座標との差の2乗」と「Y座標についての特定点座標と各ピクセル座標との差の2乗」との和が求まる。
【0034】
さらに、ステージ9〜ステージ12では、Z座標について計算が行われる。
ステージ9では、
各ピクセルの色データ(B)−特定点の座標値(Z)
となるように計算式が設定される。ここで、各ピクセルの色データ(B)とは、上記図2のステップS204で求められた色データ(B)である。また、この計算式で求められた結果は、レジスタ0に記憶されるように設定される。なお、特定点の座標値(Z)は、座標値(z)を4で割って丸め込んだ値とする(Z=z/4)。
ステージ10では、
特定点の座標値(Z)−各ピクセルの色データ(B)
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ1に記憶されるように設定される。
ステージ11では、
レジスタ0の値+レジスタ1の値
となるように計算式が設定される。また、この計算式で求められた結果は、レジスタ2に記憶されるように設定される。これによって、Z座標について、特定点座標と各ピクセル座標との差が求まる。
ステージ12では、
レジスタ2の値×レジスタ2の値+レジスタ3の値
となるように計算式が設定される。また、この計算式で求められた結果は、再びレジスタ3に記憶されるように設定される。これによって、「X座標についての特定点座標と各ピクセル座標との差の2乗」と「Y座標についての特定点座標と各ピクセル座標との差の2乗」と「Z座標についての特定点座標と各ピクセル座標との差の2乗」との和(つまり距離の2乗)が求まる。
【0035】
そして、ステージ1〜ステージ12の計算によって各々の距離の2乗が求められると、色データを決定する計算が行われる。
ステージ13では、
任意の定数(例えば255)−レジスタ3の値(距離の2乗)
となるように計算式が設定される。また、この計算式で求められた結果は、再びレジスタ3に記憶されるように設定される。なお、計算の結果がマイナス値になる場合には「0」となる。これによって、距離が大ききほど小さくなる値を得ることができる。
ステージ14では、
各ピクセルのテクスチャカラー×レジスタ3の値
となるように計算式が設定される。また、この計算式で求められた結果は、再びレジスタ3に記憶されるように設定される。このレジスタ3の値が、最終的に画面に出力される色データとなる。つまり、距離が大ききほど暗い色データが出力されることとなる。
【0036】
ここで、特定点の座標をカメラの座標とすることで、カメラからピクセルまでの2点間距離Dをそれぞれ求めることができる。従って、この2点間距離Dの値を用いて、適切なフィルタをかけることにより、被写界深度を実現することができる。図3に、特定点の座標をカメラの座標にした場合の被写界深度表現を実現する手順の一例を示す。
【0037】
まず、本発明の画像処理装置を用いるシステムに予め内蔵されているフレームバッファから、メモリ内に用意された等倍画像保存用バッファに、1フレーム分の画像データが転送される(ステップS301)。この画像データを、等倍画像データAとする。次に、フレームバッファ上で、1フレームサイズより小さい予め定めたサイズのポリゴンに、1フレーム分の画像データが貼り付けられてレンダリングされる(ステップS302)。このように、1フレーム画像を縮小させた画像を生成することで、解像度が低下して絵が粗くなった(ぼかした感じとなる)画像データを得ることができる。そして、フレームバッファから、メモリ内に用意された縮小画像保存用バッファに、必要な領域分の画像データが転送される(ステップS303)。この画像データを、縮小画像データBとする。
次に、等倍画像データについて、上記図2のステップS201〜S208が実行されて、カメラから各ピクセルまでの2点間距離Dがそれぞれ求められる(ステップS304)。等倍画像保存用バッファの色データ[Ar,Ag,Ab],縮小画像保存用バッファの色データ[Br,Bg,Bb]及びこの2点間距離Dに基づいて、各ピクセル毎にRGB成分のそれぞれについて以下の計算が行われ、
An×(255−D)/255+Bn×D/255
(n=r,g,bのそれぞれ)
等倍画像データAと縮小画像データBとを混ぜ合わせた実際に表示させる画像データが求められる(ステップS305)。この混ぜ合わせ(フィルタをかけること)によって、カメラ位置からの距離に応じて色をぼかした色データを、各ピクセルに付加させることができる。
【0038】
この特定点の座標をカメラの座標とした場合において、上記カラーコンバイナのステージ13以降で行われる色データを決定する計算を説明する。
ステージ13では、
任意の定数(例えば255)−レジスタ3の値(距離の2乗)
となるように計算式が設定される。また、この計算式で求められた結果は、再びレジスタ3に記憶されるように設定される。なお、計算の結果がマイナス値になる場合には「0」となる。これによって、距離が大ききほど小さくなる値を得ることができる。
ステージ14では、縮小画像の各ピクセルのテクスチャカラーが、レジスタ0に記憶されるように設定される。
ステージ15では、
((任意の定数−レジスタ3の値)×等倍画像の各ピクセルの
テクスチャカラー+レジスタ3の値×レジスタ0の値)/任意の定数
となるように計算式が設定される。なお、この計算式において、任意の定数は、例えば255である。また、この計算式で求められた結果は、再びレジスタ3に記憶されるように設定される。このレジスタ3の値が、最終的に画面に出力される色データとなる。
【0039】
上述した画像処理方法を用いたビデオゲームシステムの構成例を図4に示す。
図4において、画像処理方法は、コプロセッサ42内で実行される。メモリ43には、図5のメモリマップで示されるプログラム及びデータが格納される。また、ゲームディスク47は、DVD等の記録媒体であって、図6のメモリマップで示されるプログラム及びデータが格納される。
【0040】
メモリ43において、プログラム領域には、ビデオゲームメインユニットを動作させるための基本的なシステムプログラムが格納されている。頂点座標データ領域には、色データ入力部11が上記図2のステップS201で読み出すポリゴンの各頂点の座標値が格納される。丸め込み頂点座標データバッファには、色データ入力部11がステップS202で丸め込まれたポリゴンの各頂点の座標値が格納される。ポリゴンデータ領域には、1枚のフレーム画像を構成するための、各頂点がどのように接続されるか等の情報が格納される。画像保存用バッファには、上記図3のステップS301でフレームバッファから転送される等倍画像データAと、ステップS303でフレームバッファから転送される縮小画像データBとが、それぞれ格納される。
ゲームディスク47において、メインプログラム領域には、ゲームを動作させる基本的なプログラムが格納されている。シェーディング処理プログラム領域には、各頂点の色データに代えて座標値でシェーディング処理を実行させ、ピクセル毎に特定点との距離を求めて色データを決定させるためのプログラム(代入処置や演算処理等)が格納されている。これは、ゲーム毎にどのようなグラフィック表現を行うかが異なるため、ゲーム機器にあっては、ポリゴンの陰影付け処理を実行させるための指示が、ゲームディスク47から与えられるようにしているためである。その他のプログラム領域には、メインプログラム及びシェーディング処理プログラム以外のプログラムが格納されている。画像データ領域には、ゲームのグラフィック表現に必要なポリゴン及びテクスチャ等に関する様々なデータが格納されている。音データ領域には、ゲームの音表現に関する様々なデータが格納されている。
【0041】
以上のように、本発明の一実施形態に係る画像処理装置及び方法によれば、ポリゴンの各頂点の座標値に対してシェーディング処理を行うことで得られる各ピクセルの座標値を用い、特定点との距離に応じて各ピクセルの色を変化させる。
例えば、特定点が光源の場合には、距離に応じて色の明るさを変化させ、特定点がカメラ位置の場合には、距離に応じてぼかしをかける。
これにより、処理対象となるポリゴンの内側に光源がある場合でも、装置に大きな処理負担をかけることなく、実際の映像に近いポリゴンの陰影付け処理を行うことが可能となる。また、特定点をカメラ位置とすることで、カメラ視点からの被写界深度表現を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る画像処理装置を機能ブロックで表現した図である。
【図2】本発明の一実施形態に係る画像処理装置が行う画像処理方法の手順を示すフローチャートである。
【図3】特定点の座標をカメラの座標にした場合の被写界深度表現を実現する手順例を示すフローチャートである。
【図4】本発明の一実施形態に係る画像処理方法を用いたゲームシステムの構成例を示すブロック図である。
【図5】図4におけるメモリ43のメモリマップの一例を示す図である。
【図6】図4におけるゲームディスク47のメモリマップの一例を示す図である。
【図7】従来の陰影付け処理を説明するための図である。
【図8】従来の陰影付け処理における不具合を説明するための図である。
【図9】図8の光源配置において実際に表現すべき陰影を示す図である。
【符号の説明】
11…色データ入力部
12…グラデーション発生部
13…距離算出部
14…色データ決定部
41…メインプロセッサ
42…コプロセッサ
43…メモリ
44…ドライブユニット
45…表示部
46…ゲームコントローラ
47…ゲームディスク
Claims (12)
- ポリゴンの各頂点の色データに基づいて頂点間がグラデーション表現されるように、当該ポリゴンの各ピクセルの色データを発生するグラデーション発生部を備える画像処理装置であって、
前記グラデーション発生部に対して、ポリゴンの各頂点の座標値を色データとして入力する座標値入力部、
前記座標値入力部から入力されるデータに基づいて前記グラデーション発生部によって発生される前記ポリゴンの各ピクセルの色データを、各ピクセルの座標値として読み出す座標値読出部、
前記座標値読出部によって読み出された前記ポリゴンの各ピクセルの座標値と特定点の座標値との距離を求める距離算出部、および
前記距離算出部で求められた距離に応じて、前記ポリゴンの各ピクセルの色データを決定する色データ決定部を備える、画像処理装置。 - 前記座標値入力部は、前記グラデーション発生部が処理可能な色データの範囲内に収まるように、前記ポリゴンの各頂点の座標値を所定値で割った値を前記グラデーション発生部に対して入力し、
前記距離算出部は、前記特定点の座標値を前記所定値で割った値を前記特定点の座標値とみなして、距離を算出することを特徴とする、請求項1に記載の画像処理装置。 - 前記特定点が光源の位置である場合、
前記色データ決定部は、前記光源の輝度を基準として、前記距離算出部で求められた距離に応じて、ポリゴンの各ピクセルの輝度を決定することを特徴とする、請求項1又は2に記載の画像処理装置。 - 前記特定点がカメラの位置である場合、
前記色データ決定部は、前記カメラの位置を基準として、前記距離算出部で求められた距離に応じて、ポリゴンの各ピクセルの色をぼかして決定することを特徴とする、請求項1又は2に記載の画像処理装置。 - ポリゴンの各頂点の色データに基づいて頂点間がグラデーション表現されるように、当該ポリゴンの各ピクセルの色データを発生するグラデーション発生部を用いた画像処理方法であって、
前記グラデーション発生部に対して、ポリゴンの各頂点の座標値を色データとして入力するステップ、
前記入力されるデータに基づいて前記グラデーション発生部によって発生される前記ポリゴンの各ピクセルの色データを、各ピクセルの座標値として読み出すステップ、
前記読み出された前記ポリゴンの各ピクセルの座標値と特定点の座標値との距離を求めるステップ、および
前記求められた距離に応じて、前記ポリゴンの各ピクセルの色データを決定するステップを備える、画像処理方法。 - 前記グラデーション発生部が処理可能な色データの範囲内に収まるように、前記ポリゴンの各頂点の座標値を所定値で割った値を前記グラデーション発生部に対して入力するステップをさらに備え、
前記距離を求めるステップは、前記特定点の座標値を前記所定値で割った値を前記特定点の座標値とみなして、距離を算出することを特徴とする、請求項5に記載の画像処理方法。 - 前記特定点が光源の位置である場合、
前記決定するステップは、前記光源の輝度を基準として、求められた前記距離に応じて、ポリゴンの各ピクセルの輝度を決定することを特徴とする、請求項5又は6に記載の画像処理方法。 - 前記特定点がカメラの位置である場合、
前記決定するステップは、前記カメラの位置を基準として、求められた前記距離に応じて、ポリゴンの各ピクセルの色をぼかして決定することを特徴とする、請求項5又は6に記載の画像処理方法。 - ポリゴンの各頂点の色データに基づいて頂点間がグラデーション表現されるように、当該ポリゴンの各ピクセルの色データを発生するグラデーション発生部を用いた画像処理方法を、コンピュータ装置で実行させるためのプログラムであって、
前記グラデーション発生部に対して、ポリゴンの各頂点の座標値を色データとして入力するステップ、
前記入力されるデータに基づいて前記グラデーション発生部によって発生される前記ポリゴンの各ピクセルの色データを、各ピクセルの座標値として読み出すステップ、
前記読み出された前記ポリゴンの各ピクセルの座標値と特定点の座標値との距離を求めるステップ、および
前記求められた距離に応じて、前記ポリゴンの各ピクセルの色データを決定するステップを含む、プログラム。 - 前記グラデーション発生部が処理可能な色データの範囲内に収まるように、前記ポリゴンの各頂点の座標値を所定値で割った値を前記グラデーション発生部に対して入力するステップをさらに含み、
前記距離を求めるステップは、前記特定点の座標値を前記所定値で割った値を前記特定点の座標値とみなして、距離を算出することを特徴とする、請求項9に記載のプログラム。 - 前記特定点が光源の位置である場合、
前記決定するステップは、前記光源の輝度を基準として、求められた前記距離に応じて、ポリゴンの各ピクセルの輝度を決定することを特徴とする、請求項9又は10に記載のプログラム。 - 前記特定点がカメラの位置である場合、
前記決定するステップは、前記カメラの位置を基準として、求められた前記距離に応じて、ポリゴンの各ピクセルの色をぼかして決定することを特徴とする、請求項9又は10に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001044525A JP4554834B2 (ja) | 2001-02-21 | 2001-02-21 | 画像処理装置及び方法並びにそのプログラム |
US09/986,769 US6738064B2 (en) | 2001-02-21 | 2001-11-09 | Image processing device and method, and program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001044525A JP4554834B2 (ja) | 2001-02-21 | 2001-02-21 | 画像処理装置及び方法並びにそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002245483A JP2002245483A (ja) | 2002-08-30 |
JP4554834B2 true JP4554834B2 (ja) | 2010-09-29 |
Family
ID=18906502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001044525A Expired - Lifetime JP4554834B2 (ja) | 2001-02-21 | 2001-02-21 | 画像処理装置及び方法並びにそのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6738064B2 (ja) |
JP (1) | JP4554834B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020102137A (ja) * | 2018-12-25 | 2020-07-02 | 株式会社Cygames | 画像処理方法、画像処理装置、ゲーム装置及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328427A (ja) * | 1998-05-08 | 1999-11-30 | Fujitsu Ltd | 多角形分割描画装置、多角形分割描画方法および記憶媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567083B1 (en) * | 1997-09-25 | 2003-05-20 | Microsoft Corporation | Method, system, and computer program product for providing illumination in computer graphics shading and animation |
JP2000020745A (ja) * | 1998-07-03 | 2000-01-21 | Hitachi Ltd | テンソルレンダリングによる三次元デジタルデータの表示方法及び装置 |
US6366283B1 (en) * | 1999-03-03 | 2002-04-02 | Discreet Logic Inc. | Generating image data |
-
2001
- 2001-02-21 JP JP2001044525A patent/JP4554834B2/ja not_active Expired - Lifetime
- 2001-11-09 US US09/986,769 patent/US6738064B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328427A (ja) * | 1998-05-08 | 1999-11-30 | Fujitsu Ltd | 多角形分割描画装置、多角形分割描画方法および記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
US20020113789A1 (en) | 2002-08-22 |
US6738064B2 (en) | 2004-05-18 |
JP2002245483A (ja) | 2002-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2705501B1 (en) | Texturing in graphics hardware | |
JP2018129051A (ja) | スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 | |
JP7096661B2 (ja) | キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体 | |
JP3777149B2 (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
JP2004005452A (ja) | 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体 | |
US8179399B2 (en) | Rasterizing method | |
JP4749198B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
KR20040011525A (ko) | 드로잉 방법 | |
JP3231029B2 (ja) | レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするためのプログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP2001126086A (ja) | ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP2008077405A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2006252426A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4554834B2 (ja) | 画像処理装置及び方法並びにそのプログラム | |
JP3052839B2 (ja) | 画像処理装置及びその処理方法 | |
KR100848687B1 (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
JP2003085578A (ja) | ゲーム情報、情報記憶媒体、及びゲーム装置 | |
JP3745659B2 (ja) | 画像生成装置および画像生成プログラム | |
JP2011215724A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP3701627B2 (ja) | 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法 | |
JP2001283254A (ja) | 3次元グラフィックス描画装置およびその方法 | |
JP4754385B2 (ja) | プログラム、情報記録媒体および画像生成システム | |
JP2006252423A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2006277488A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2007141077A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2020135004A (ja) | 画像処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100614 |
|
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: 20100618 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100715 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4554834 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 3 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |