JP4060375B2 - スポットライト特性形成方法及びこれを用いた画像処理装置 - Google Patents
スポットライト特性形成方法及びこれを用いた画像処理装置 Download PDFInfo
- Publication number
- JP4060375B2 JP4060375B2 JP54791098A JP54791098A JP4060375B2 JP 4060375 B2 JP4060375 B2 JP 4060375B2 JP 54791098 A JP54791098 A JP 54791098A JP 54791098 A JP54791098 A JP 54791098A JP 4060375 B2 JP4060375 B2 JP 4060375B2
- Authority
- JP
- Japan
- Prior art keywords
- light source
- polygon
- light
- image processing
- light sources
- 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 64
- 238000000034 method Methods 0.000 title description 38
- 230000000694 effects Effects 0.000 claims description 41
- 238000005286 illumination Methods 0.000 claims description 14
- 238000003672 processing method Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 60
- 238000010586 diagram Methods 0.000 description 32
- 238000004364 calculation method Methods 0.000 description 27
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000002156 mixing Methods 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000009792 diffusion process Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000004040 coloring Methods 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 230000000007 visual effect Effects 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/506—Illumination models
-
- 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
-
- 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
Description
本発明は、コンピュータグラフィック技術により画像表示されるオブジェクトにスポットライト効果を与えるためのスポットライト特性を形成する方法及び、この方法を用いた画像処理装置に関する。
従来の技術
近年、コンピュータグラフィック技術を用い、仮想3次元空間内に配置されたオブジェクトを複数のポリゴンで画像表示する画像処理装置が普及している。さらに、表示されるオブジェクトをより現実に近いものとすべく研究開発が進められている。
かかるコンピュータグラフィック技術において、表示されるオブジェクトの表面に光の照明効果を与えるシェーディング処理の技術がある。オブジェクトにスポットライトが当てられたような特殊効果を与えることは、かかるシェーディング処理に含まれる一つの方法である。
従来のスポットライト特性を与える技術として、シリコングラフィックス社により開発されたOpenGL(商標)の方法がある。図1に示すように、スポット光源Oから所定の点P方向への光のベクトルL及び、スポット光源Oからオブジェクトに向かう光源の軸ベクトルDを考える時、OpenGL(商標)の方法は、スポットライトの特性を“spotexp”及び“cutoff”というパラメータを指定して、次の式(1)を用いて算出するものである。この時のスポット効果特性は、図2に示すごとくである。
図2示すように、“spotexp”を大きい値にすると、スポットを絞った形状のものになる。しかし、実際に使用する際は、スポットの特性はスポットの広がり角で考える場合が殆どである。したがって、指定したスポットの広がり角度で“spotEffect”が一定値以下になる“spotexp”の値を逆算して求めることが必要であるが、かかる逆算は、簡単な計算処理ではない。
また、たとえ逆算により“spotexp”の値が求められたとしても、図2に示すように“spotexp”の値によりスポット特性曲線の形状が変わってしまう。このために、実際に描画像を見た時の観察者の感覚とは異なってしまう恐れがある。
さらに、“spotexp”の値によりスポット特性曲線の形状が一意に決まってしまうので、スポットの開きと強度分布を独立して指定することができない。その結果として、サーチライトのようにスポットの開きが狭く、且つ強度分布が略一定の特性を得ることができず、ぼんやりとしたスポット光になってしまう。
一方、“cutoff”パラメータは、ある角度を境にこれを超えると、“spotEffect”の値を0とする。即ち、したがって、“spotexp”と異なり角度を指定するパラメータであるので制御がし易い。しかし、強度分布が不連続になるのでスポットのエッジが尖鋭で強度分布が一定のスポット特性しか得られないという欠点を有する。
即ち、“cutoff”は、これを超えるとスポット照明効果がゼロとなる光の広がりの限界値である。“cutoff”を設定すると、この限界領域が目立ってしまうという問題がある。
一方、マイクロソフト社により開発されたsoftimageをはじめとする方法として、図3に示すように、スポットの暈け初めの角度(coneangle)と暈け終わりの角度(spread angle)を指定する方法がある。
この方法では、次の式(2)によりスポット特性が算出される。この第2の方法の場合、特性は角度で指定するので制御がし易く、演算が簡単であるという特徴がある。
しかし、図4に示されるごときスポット特性であって、特性値の変化が直線的であり、OpenGL(商標)のような正規曲線に似たスポット特性を得ることができない。
したがって、図3に示すように暈け初めの角度(cone-angle)の位置で不自然なエッジ強調が生じるという問題がある。ここで、エッジ強調とは、境界領域に隣接する領域で明るさの変化が連続的でないと、境界の明るさが強調されてしまうという視覚効果である。
ここで、従来の画像処理装置の一例のブロック図を図5に示す。図5おいて、CPU1は、ポリゴンを使用した画像を処理するためのプログラムの実行を制御するものである。CPU1は、ポリゴンバッファ11からポリゴンデータを読み出し、座標変換部2に出力する。
座標変換部2は、ポリゴンの3次元データを、CRTディスプレイ装置7上に表示するために2次元座標に変換する。2次元座標に座標変換されたポリゴンデータは、塗りつぶし回路30、テクスチャ生成回路31に送られる。
塗りつぶし回路30は、ポリゴンの各頂点で囲まれた範囲にある画素(ピクセル)の情報を計算する。上記塗りつぶしのための計算は、ポリゴンの各頂点間にあるピクセルの情報を対応の両頂点の情報を基に、例えば線形補間を行うものである。テクスチャ生成回路31は、ピクセルに対応したテクスチャを内部にあるテクスチャバッファから読み出し、ピクセル毎にカラーを計算して求める回路である。テクスチャ生成回路31の出力は、ピクセルデータとして、シェーディング回路32に与えられる。
シェーディング回路32は、ピクセルデータに基づき各ピクセルに与えられる、例えば上記したスポットライトによる照明効果を求める回路であり、シェーディング回路32の出力は、色変調回路12及び混合回路33に導かれる。色変調回路12は、シェーディング回路32の求めた結果等に基づきピクセル毎にカラー変調する回路であり、混合回路33は、ポリゴンのピクセルのカラー情報を先に描かれたカラー情報と混合し、1画面のデータとしてフレームバッファ5に書き込む。このフレームバッファ5の情報がCRTディスプレイ装置7に表示される。
次に、上記のような構成の画像処理装置のシェーディング回路32おいて従来実施された光源特性形成方法を説明する。図5に示す従来例では、シェーディング回路32中に例えば、4個の光源レジスタ329とこれに対応する図示しない4個の光源演算器があり、4個の光源の情報を一度に処理できる場合である。
例えば、1画像シーンの中で光源a,b,c,dを使用する場合は、予め光源a,b,c,dの情報を光源レジスタA,B,C,Dに記憶させておく。シェーディング回路32、光源レジスタ329に記憶された光源a,b,c,dの情報に基づき、各ピクセルが光源a,b,c,dによりどのような影響を受けるかを計算する。
光源情報には、例えば、図1若しくは図3により説明した様に、スポット軸の向きベクトル(Dx,Dy,Dz)、カットオフ角(Cutoff)、ぼけ幅の正規化係数(Penumbra-scale)等があり、シェーディング回路6はそれらの光源情報によりシェーディング計算を行い、その結果をたし合わせて各ピクセルに対する4個の光源からの影響を計算していた。
このように、従来の技術では、1画像シーンで使用できる光源数に対応する個数分だけ光源レジスタ329及び光源演算器を持っており、一般に1画像シーン中の光源の個数は、光源レジスタ329及び光源演算器の個数と同じであった。したがって、1画像シーンの中に例えば100個の光源を使用する場合は、光源レジスタ329及び光源演算器をそれぞれ100個持ち、100個の光源からのシェーディング計算を行い、その結果をたし合わせて各ピクセルの100個の光源からの影響を計算することになるが、ハードウエアの規模として現実的ではなかった。
これに対し、ステートマシン型のシステムであれば逐次光源パラメータを書き換えることによって、見かけ上の光源数を増やすことは可能であるが、管理が大変である。また、Z−sortなどを含むような、ポリゴンの描画順序が保存されないシステムでは、見かけ上の光源数を増やすことはできない。
発明の概要
上記のように従来提案されているスポットライトの効果を与えるいずれの方法にも問題がある。したがって、本発明の目的は、かかる問題を解決するスポットライト特性形成方法及びこれを用いた画像処理装置を提供することにある。
さらに、本発明の目的は、従来の方法では複雑な演算を演算器による計算処理により実現していたのをテーブルにより実現するスポットライト特性形成方法及びこれを用いた画像処理装置を提供することにある。
さらに、上記したように従来の画像処理装置においては、1画像シーンの中で多数の光源を使用する場合は、各ピクセルのシェーディング計算をその光源数分だけ行い、その結果をたし合わせなければならなかった。また、1画像シーン中で使用する光源数分の光源レジスタ及び光源演算器を持つのは、ハードウエア量が膨大なものになる。
しかし、実際にゲームストーリーの1つのシーンの中で、1つのポリゴンが光源の影響を強く受けるのは、そのポリゴンに近い位置にある光源や、光の強い光源に限られる。例えば、画像シーンの中に100個の光源があったとしても、1つのポリゴンが強く影響を受けるのは、そのポリゴンの近くにある4個とか5個の光源に限られる。この場合、画像シーン中にあるすべての光源の影響を計算する必要はなく、強く影響を受ける光源に対してだけシェーディング計算を行えばよい場合も多い。
したがって、本発明の目的は、シェーディング回路で処理できる光源数をそのままで、1画像シーン中に使用できる光源数を増やすことを可能とする画像処理方法及び、画像処理装置を提供することにある。
上記本発明の目的を達成するスポットライト特性形成方法及びこの方法を適用する画像処理装置は、基本的構成として、所定のスポットライト特性曲線に対応する複数の特性値をテーブルに格納し、このテーブルから読み出される特性値若しくは、テーブルから読み出される互いに隣接する特性値間を補間して求められる補間値により該スポットライト特性曲線を形成することを特徴とする。
本発明は、予めスポットライト特性曲線に対応するに複数の特性値を予めテーブルに格納している。さらに、テーブルから読み出される特性値若しくは、テーブルから読み出される互いに隣接する特性値間を補間して求められるを補間値を用いる構成である。したがって、複数の特性値をスポットライト特性曲線に対応させることができるので、任意のスポットライト特性を形成することができる。
さらに、予めテーブルに格納されている特性値を使用するので、複雑な計算を必要としない。
具体的構成として、スポットライトの光軸ベクトルと光源から各ピクセルに向かう若しくは各ピクセルから光源に向かうライトベクトルとの内積に応じたテーブルのアドレスから特性値を読み出す様にしている。
さらに、スポットライトの光軸ベクトルとこのスポットライトの光軸ベクトルに垂直な少なくとも二つの軸を定義し、スポットライトの光軸ベクトルとこれに垂直な少なくとも二つの軸によってそれぞれ定義される少なくとも二つの平面と、光源から各ピクセルに向かう若しくは各ピクセルから光源に向かうライトベクトルの少なくとも二つの平面に対する正射影とが成す角度に対応して、テーブルから特性値を読み出し、この読み出された特性値若しくはこのテーブルから読み出された互いに隣接する特性値間の補間値によりスポットライト特性曲線を形成する構成とすることにより、非円形のスポット効果を与えることも容易に可能である。
さらに、本発明によれば、複数のポリゴンにより画像表示されるオブジェクトに光源による照明効果を与える画像処理装置において、複数の光源の情報を保存するメモリと、一のポリゴンに対し所定数の光源の情報によりシェーディングを行う手段と、所定数の光源の情報をポリゴンに対応してメモリから読み出し、シェーディングを行う手段に供給する手段とを有することによって達成することができる。
したがって、各ポリゴンが光源からどのような影響を受けるかを計算する場合に、画像シーンにあるすべての光源からの影響を計算する必要はなく、各ポリゴンに付けられた光源識別記号で特定される所定数の光源の情報だけを読み出し、その光源に対してだけシェーディング処理をすれば、見かけ上同時に使用できる光源数以上の光源を画像シーンの中に使うことができる。
また、上記の目的は、複数のポリゴンにより画像表示されるオブジェクトに光源による照明効果を与える画像処理装置において、複数の光源の情報の組を複数保存するメモリと、一のポリゴンに対し複数の光源の情報の組によりシェーディングを行う手段と、複数の光源の情報の組をポリゴンに対応してメモリから読み出し、シェーディングを行う手段に供給する手段とを有することによっても達成することができる。
したがって、画像処理装置が同時に使用できる光源数が複数個の場合、その複数個の光源情報を1グループとしてバッファに複数保存し、各ポリゴンに付された光源識別記号はバッファからグループとして光源情報を読み出すことができる。このため、ポリゴン毎に光源情報を選択する処理が省略でき、処理速度の向上を図ることができる。
また、上記の目的は、複数のポリゴンにより画像表示されるオブジェクトに光源による照明効果を与える画像処理方法において、画像シーンの中で使用する光源の情報をメモリに書き込む第1のステップと、各ポリゴン毎に影響を受ける光源の識別記号を付ける第2のステップと、ポリゴンのデータに対し座標変換を行う第3のステップと、ポリゴンのピクセル毎に識別記号を書き込む第4のステップと、ピクセルのデータをもとにテクスチャ生成を行う第5のステップと、識別記号に対応する光源の情報をメモリから読み出す第6のステップと、ピクセルにシェーディングを行う第7のステップと、ピクセルのデータをフレームバッファに書き込む第8のステップとからなることを特徴とする画像処理方法によっても達成することができる。
したがって、ポリゴン内の各ピクセルは光源識別記号で特定される光源に対してだけその影響を計算すればよいため、シェーディング処理速度の向上を図ることができる。
また、本発明によれば、光源の組を構成する光源は、各ポリゴンに対して少なくとも一部重複して使用することができる。したがって、光源を一部重複して使用することにより、同時に使用できる光源数をそのままで、その光源数以上の光源をシーン中に使用することができる。
本発明の更なる目的及び、特徴は以下の図面を参照しての実施の形態の説明から明らかとなる。
【図面の簡単な説明】
図1は、openGLの方法を説明する図である。
図2は、openGLの方法によるスポット特性を示す図である。
図3は、スポットの暈け初めの角度(cone angle)と暈け終わりの角度(spread angle)を指定する方法を説明する図である。
図4は、図3の方法によるスポット特性を示す図である。
図5は、従来の画像処理装置の構成例ブロック図である。
図6は、本発明のスポットライト特性形成方法が適用される画像処理装置の構成例ブロック図である。
図7は、本発明を適用するシェーディング回路の実施例構成のブロック図である。
図8は、シェーディング回路において適用されるスポット特性生成回路の本発明に従う構成例ブロック図である。
図9は、図8の回路の特徴を明確にするために比較される従来構成例である。
図10は、アドレスジェネレータの構成例を示すブロック図である。
図11は、軸ベクトルを有するスポット光源による照明効果を説明する図である。
図12は、軸ベクトルを有するスポット光源による一例として示すスポット効果特性を説明するための図である。
図13は、本発明の別の実施の形態を説明する図である。
図14は、本発明の画像処理装置の第1の構成例ブロック図である。
図15は、本発明の画像処理装置の第2の構成例ブロック図である。
図16は、本発明の画像処理装置の第3の構成例ブロック図である。
図17は、本図16の構成例におけるの光源バッファの内容を示す図である。
図18は、本発明を適用するシェーディング回路の実施例構成のブロック図である。
図19は、スポット特性生成回路と光源レジスタの本発明に従う構成例ブロック図である。
図20は、軸ベクトルを有するスポット光源による照明効果の説明図である。
図20は、本発明の実施例の1画像シーンの説明図である。
図21は、本実施の形態例の処理フローチャートである。
発明の実施の形態
以下、本発明の実施の形態を図面に従い説明する。尚、図において、同一又は類似のものには同一の参照番号又は、参照記号を付して説明する。
図6は、本発明のスポットライト特性形成方法が適用される画像処理装置の構成例ブロック図である。
図6において、CPU1は、ポリゴンを使用した画像を処理するためのプログラムの実行を制御するものである。CPU1にはプログラムの進行に伴いディスプレー装置12上に表示するポリゴンの頂点データやレジスタセットファンクションをポリゴンバッファメモリ11に一次的に蓄える。
このポリゴンバッファメモリ11から読み出されるデータが、ジオメトリ処理部2に入力される。ジオメトリ処理部2は入力されたデータを、CPU1のプログラムの実行に従い3次元空間内に配置されるポリゴンをディスプレー装置7上に表示するために2次元座標系に変換する。
さらに、表示する各ポリゴンに対し、着色、シェーディング、テクスチャの貼り付けを行うレンダリング処理部3が接続されている。レンダリング処理部3の出力側には、フレームバッファ5が接続され、表示される一画面分のデータが格納される。
フレームバッファ5にD/A変換回路6を通して、CRT等のディスプレー装置7が接続され、フレームバッファ5の内容が順次表示される。
ここで、上記ジオメトリ処理部2は、CPU1によるプログラムの進行及び処理速度に対応して、ポリゴンバッファメモリ11からポリゴンの頂点データ(頂点座標、頂点カラー、テクスチャマップ座標、頂点透明度及び頂点の法線ベクトル等を有する)やレジスタセットファンクションを読み出す。
ジオメトリ処理部2は、頂点座標データに基づき3次元空間にポリゴンを配置し、3次元空間のどの領域まで表示対象とするかのビューポートの決定等を行う。また、ビューポートよりはみ出すポリゴンの頂点除去即ち、クリッピングを行う。さらに、ビューポートに配置されたポリゴンを所定の視点を基準に2次平面に投影して3次元から2次元への座標変換を行う。
2次元座標に座標変換されたポリゴンデータは、レンダリング処理部3に送られる。レンダリング処理部3は、塗り潰し回路30、テクスチャ貼り付け回路31、シェーディング回路32、ブレンディング回路33を有している。
塗り潰し回路30は、ポリゴンの各頂点で囲まれた範囲にある画素(ピクセル)の情報を計算し、他のレンダリング処理部3内の各回路に渡す機能を有する。上記塗り潰しのための計算は、ポリゴンの各頂点間にあるピクセルの情報を対応の両頂点の情報を基に、例えば線形補間を行うものである。
テクスチャや貼り付け回路31は、ピクセルに対応したテクスチャをテクスチャバッファ30から読み出し、ピクセル毎にカラーを計算して求める回路である。シェーディング回路32は、ポリゴンの頂点データに基づきポリゴンに照明効果を与える回路であり、かかる回路において、本発明に従うスポットライト特性形成の方法が実現される。したがって、シェーディング回路32の詳細および機能については後に説明する。
シェーディング回路32の出力は、ブレンディング回路33に導かれる。ブレンディング回路33は、必要に応じ、フレームバッファ5から読み込んだ、先に描かれているポリゴンのピクセルのカラー情報と、新しく処理するポリゴンのピクセルのカラー情報とを混合し、フレームバッファ5に書き込む。このフレームバッファ5の情報が1画面分ずつディスプレー装置7に、D/A変換回路6を通して送られ表示される。
ここで、図6において図示省略されているが、レンダリング処理部3内には更に、デプステスト機能部が備えられる。このデプステスト機能部は、複数のポリゴンの前後関係を比較して、最も手前に配置されたポリゴンのデータを図示しないデプスバッファに記憶させる機能である。
即ち、デプスバッファには、先に描いた図形(ポリゴン)のピクセルのZ値が記憶されている。そして、画面上の先に描かれたポリゴンと重なる位置に、新しくポリゴンを表示する場合、新しいポリゴンを構成する各ピクセルのZ値と、デプスバッファから読み出される先に描かれたポリゴンのピクセルのZ値とを比較する。比較の結果、新しいポリゴンのピクセルが手前の場合は、デプスバッファに当該ピクセルのZ値が書き込まれる。
次に、上記のような構成の画像処理装置のシェーディング部32において実施される本発明を適用するスポットライト特性形成方法及び、シェーディング回路の実施例構成を説明する。
図7は、本発明を適用するシェーディング回路32の実施例構成のブロック図である。
座標逆算回路320は、入力される2次元座標ポリゴンデータを3次元座標ポリゴンデータに変換する回路である。座標逆算回路320により3次元座標に変換された各ピクセルのデータは分岐され、一方は、ライトベクトル回路321、他方は、反射ベクトル回路327に入力される。
ライトベクトル回路321は、仮想3次元空間中のスポット光源の位置とピクセルの3次元座標に基づき、スポット光源から当該ピクセルに向かうライトベクトルを求める。さらに、光源と当該ピクセル間の距離データを求める。
求められたライトベクトルは、スポット特性生成回路322に入力される。さらに、求められた光源と当該ピクセル間の距離データは、減衰処理回路323に入力される。
スポット特性生成回路322の本発明に従う構成例について後に説明するが、この回路において、図11に示す様に、軸ベクトル70を有するスポット光源Oによる図12に一例として示すスポット効果特性が求められる。
スポット特性生成回路322において、各ピクセルに対する入力されるライトベクトルとスポット光源の軸ベクトル70との内積60即ち、余弦値を求め、スポット光源によるピクセル方向の光の強度として出力する。
一方、減衰処理回路323は、スポット光源Oと該当ピクセルの距離による、光の減衰量を計算する。次いで、スポット特性生成回路322からのスポット光源によるピクセル方向の光の強度及び、減衰処理回路323からのスポット光源から当該ピクセルまでの距離による光の減衰量に基づき、光強度合成回路324から該当ピクセルに対する光強度が求められる。即ち、各ピクセルに対する光強度は、スポット光源の軸ベクトル70と、該当ピクセルのライトベクトルとのなす角度による減衰量及び、スポット光源から該当ピクセル位置までの距離による減衰量により求められる。
光強度合成回路324により求められた各ピクセルに対する光強度に基づき、次いで、各ピクセルに対してシェーディング効果が与えられる。シェーディング効果として、拡散反射効果、鏡面反射効果がある。
拡散反射効果は、いわゆる乱反射であり、物体表面の中に入り込み、吸収されそして再び放射される光である。この拡散反射光は、どの方向にも均等に放射する。
そのため観察者の視点とは関係がない。重要なのは光源からの該当ピクセルに向かう方向と、該当ピクセルの表面の法線方向とのなす角度であり、この角度がπ/2より大きくなると、光源は物体の陰になり、拡散光反射は、生じない。
したがって、光強度合成回路324により求められた各ピクセルに対する光強度を入力し、これに拡散回路325において、一定の拡散反射係数を掛けることにより拡散反射光の大きさが求められる。
一方、鏡面反射効果は、完全反射面において、入射光に対し反射光の角度が法線に対し、同じになるような効果を与えるものである。したがって、反射光の角度に一致する角度にいる観察者にのみ鏡面反射効果を観察することができる。このために、反射光の大きさを求めるには、観察者の視線ベクトルが必要である。
鏡面反射回路326は、光強度合成回路324により求められた各ピクセルに対する光強度を入力し、該当ピクセルにおける入射角と、反射ベクトル回路327から得られる視線ベクトルから反射量を求め、出力する。
さらに、上記拡散回路325からの拡散光量と、鏡面反射回路326からの鏡面反射光量が、変調回路328で合成されて出力される。
上記のごとく構成されるシェーディング回路において適用されるスポット特性生成回路322の本発明に従う構成例ブロック図が図8に示される。図9は、図8の回路の特徴を明確にするために比較される従来構成例である。
図9における構成では、演算器40により、ピクセルデータと、係数データから直接演算によりスポット特性を求めるものである。かかる場合は、先に図1乃至図4について説明したように、計算が複雑であるとともに、任意のスポット特性を形成することが困難である。
これに対し、本発明では、以下に説明するようにテーブルを用いる方法であり、複雑な計算を必要とせず、テーブルに格納するデータにより任意のスポット特性の形成が可能である。
なお、スポット特性生成回路322により生成するスポット特性は、一例として図12に示すごとく、暈け領域(penumbra scale)の範囲で特性点a〜pまでの特性点の光強度特性値を結んで特性曲線が形成される。ここで暈け領域(penumbra scale)は、図11に示す角度62の範囲でスポット特性の減衰の始まる点からスポット照明効果がゼロとなる点(カットオフ)までの領域である。
図12において、スポット光源Oの光軸ベクトル方向の光強度を1として、特性点a〜pの各点に対応するピクセルに向かうベクトルLと光軸ベクトルDとがなす角を横軸に、スポット特性値を縦軸にとり、且つ各点の1の光強度に対する正規化した値をプロットして示される。
本発明に従うスポット特性生成回路322は、図8に示されるように、上記スポット特性の特性点a〜pの光強度値を格納するテーブル8と、テーブル8から各特性点a〜pの光強度値を読み出すアドレスを発生するアドレスジェネレータ9及び、特性点間を一次補間する補間器10を有して構成される。
さらに、図8のスポット特性生成回路322のスポット特性テーブル8は、実施例として第1のバンク80、第2のバンク81を有して構成される。アドレスジェネレータ9の構成例が図10に示される。
アドレスジェネレータ9には、ピクセル情報L(光源ベクトルLx,Ly,Lz)と、係数データ(スポット軸の向きベクトルDx,Dy,Dz、カットオフ角Cutoff、暈け幅の正規化係数Penumbra-scale及び、特性テーブル8を選択するインデックスtable-id)が入力される。
図10において、内積計算部90により光源ベクトルLx,Ly,Lzと、スポット軸の向きベクトルDx,Dy,Dzの内積60(図11参照)を求め、これら二つのベクトルのなす余弦値を求める。さらに、減算器91でカットオフ部61(図11参照)を超える部分を削除する。
次いで、カットオフ部61を超える部分を削除した減算器91の出力に対し、乗算器92により暈け幅の正規化係数Penumbra-scale例えば、係数10を乗算し、半影部(暈け部)62(図11参照)に適用する部分を0.0〜1.0に正規化する。したがって、クリップ演算器93により、入力が1.0以上の時は1.0に、0.0以下のときは、0.0にクリップする。
クリップ演算器93の出力が特性テーブル8のアクセス及び、特性点間の補間に使用される。今、クリップ演算器93の出力が16ビットであると考えると、その内、特性テーブル8のアクセスに4ビット、バンク切り替えフラグSFに1ビット、そして特性点間の補間に11ビットが使用される。
ここで、図8の実施例において、特性テーブル8は、第1、第2のメモリバンク80,81で構成されている。したがって、図12の特性図において、特性点a〜pの隣接する特性値データは第1のメモリバンク80と第2のメモリバンク81にそれぞれ交互に格納されている。この様に構成することにより、隣接する特性値データを同時に読み出すことができるので、メモリへのアクセス時間を短縮することが可能である。
さらに、バンク切り替えフラグSFが0である時、第1のメモリバンク80に対する読み出しアドレス(odd address)OAと、第2のメモリバンク81の読み出しアドレス(even address)EAは、同一である。一方、バンク切り替えフラグSFが1である時、インクリメント回路94により第2のメモリバンク81に対する読み出しアドレス(even address)EAを、第1のメモリバンク80の読み出しアドレス(odd address)OAに対し、1だけ歩進する。
具体例で説明すると、バンク読み出し切り替えフラグSFが0であり、アドレスが0000である時、第1のメモリバンク80に対する読み出しアドレスEAは、第2のメモリバンク81に対する読み出しアドレスOAと同一であり、第1のメモリバンク80から特性点aのデータが、第2のメモリバンク81から特性点bのデータが読み出される。
かかる場合、図8の補間器10には、補間パラメータtと論理0のバンク読み出し切り替えフラグSFが入力される。さらに、特性テーブル80,81から読み出される特性点a,bのデータが入力される。
したがって、補間器10は、特性点a,b間の値を次の式(3)の関係から一次補間により求める。
Dta-b=tA+(1−t)B・・・(3)
但し、Dta-bは特性点a−b間の補間パラメータt点のスポット効果値、Aは特性点aのスポット効果値及び、Bは特性点bのスポット効果値である。
さらに、上記具体例で、バンク読み出し切り替えフラグSFの論理が1になると、インクリメント回路94により、第1の特性テーブル80の読み出しアドレスが1歩進し、アドレス0001となる。このアドレスには、特性点cのデータが記憶されている。
かかる場合、補間器10では、バンク読み出し切り替えフラグSFの論理が1であるので、特性テーブル81から読み出される特性点bを優先して、特性点b−c間の補間データDtb-cを次の式(4)に従い求める。
Dtb-c=tB+(1−t)C・・・(4)
上記のようにして、本発明により、簡単な演算によりスポット特性を形成することが可能である。
さらに、、特性テーブル8に格納する特性点データを任意に構成することにより任意のスポット特性を形成することができる。即ち、特性点データをべき乗に構成することによりOpenGL(商標)のスポット特性を、更に線形に構成することによりsoftimageのスポット特性と同様になる。
図13、更に本発明の別の実施の形態を説明する図である。上記の実施の形態では、スポットの特性をある軸との角度で求めていたので必ず円形のスポットになる。即ち、図12の例では同心円状のスポットライト特性に基づくスポットライト効果しか表現し得ない。換言すると、1次元的なスポットライト特性しか生成できない。
そこで図13の実施の形態では、更に軸を増やし、特性テーブル8に2次元で特性点データを持つ様にしている。これにより、スポット特性は、2次元的な特性を持ったスポットになる。
図13に示す具体例では、スポットライトの軸Oに垂直な軸A,Bを定義し、スポットライトの軸と軸A,Bによって定義されるOA平面及びOB平面を考える。そして、ライトベクトルOBのOA平面及びOB平面に対する正射影C,Dが軸A,Bとなす角ψ、θを用いて2次元のテーブルを参照する。これにより2次元的な特性のスポット特性を得ることができる。さらに、スポットの軸Oに垂直な複数の軸を定義することも同様に可能である。
次に、上記に説明した本発明のスポット光源特性形成方法を適用する画像処理装置の実施の形態について、説明する。本発明の実施例では、光源のグループを複数持ち、ポリゴン毎にどの光源グループを使用するかを示す光源識別記号(以下、Light−IDと呼ぶ。)を持つ。シェーディング回路は、Light−IDをもとに有効な光源情報を読み出し、それにしたがって、シェーディングを行う。図14は、本発明の光源特性形成方法が適用される画像処理装置の第1の構成例ブロック図である。
CPU1は、ポリゴンを使用した画像を処理するためのプログラムの実行を制御するものである。CPU1はプログラムの進行に伴いCRTディスプレイ装置7に表示するポリゴンの頂点データやレジスタセットファンクションをポリゴンバッファ11に一時的に蓄える。さらに、CPU1は、各ポリゴンがどの光源の影響を受けるかという情報として、各ポリゴン毎にLight−IDを付加する。
ポリゴンバッファ11から読み出されるデータが、座標変換部2に入力される。座標変換部2は、入力されたデータを、CPU1のプログラムの実行に従い3次元空間内に配置されるポリゴンをCRTディスプレイ装置7上に表示するために2次元座標に変換する。2次元座標に座標変換されたポリゴンデータは、塗りつぶし回路30、テクスチャ生成回路31に送られる。
塗りつぶし回路30は、ポリゴンの各頂点で囲まれた範囲にある画素(ピクセル)の情報を計算する。上記塗りつぶしのための計算は、ポリゴンの各頂点間にあるピクセルの情報を対応の両頂点の情報を基に、例えば線形補間を行うものである。さらに、塗りつぶし回路30は、ポリゴン毎に付加されたLight−IDをポリゴンを構成する各ピクセルに書き込み、この書き込みをポリゴン数分繰り返す。
テクスチャ生成回路31は、ピクセルに対応したテクスチャを図示しないテクスチャバッファから読み出し、ピクセル毎にカラーを計算して求める回路である。テクスチャ生成回路31の出力は、ピクセルデータとして、シェーディング回路32に与えられるとともに、各ポリゴンを構成するピクセルには、塗りつぶし回路30により対応するポリゴンのLight−IDが付加されており、シェーディング回路32はこのLight−IDをもとに各ポリゴンを構成するピクセルの各々が影響を受ける光源についてシェーディング処理を行う。
図14に示す構成例では、シェーディング回路32内の光源レジスタ329はA,B,C,Dの4個あり、1画像シーンの中でシェーディング回路32が処理できる光源数が4個の場合である。この4個の光源レジスタ329の中に、各ポリゴンが影響を受ける光源の情報が格納されている。
一方、光源バッファ17には、すべての光源の情報が記憶されており、この光源情報がLight−IDにより4個指定され、シェーディング回路32内の光源レジスタ329に格納される。この場合は画像シーンの中の各ピクセルにはそれぞれLight−IDが付加されているので、各ピクセルのシェーディング処理はそのLight−IDで指定された4個の光源に対してだけ行えばよい。そして、シェーディング回路32は、光源レジスタ329の光源情報に基づき、ポリゴンの頂点データに基づきピクセルの照明効果を計算する。なお、シェーディング回路32の詳細および機能については後に説明する。
シェーディング回路32の出力は、色変調回路12及び混合回路33に導かれる。色変調回路12は、シェーディング回路32の出力に基づきピクセル毎にカラー変調する回路である。
混合回路33は、フレームバファ5から読み込んだ、先に描かれているポリゴンのピクセルのカラー情報と、新しく処理するポリゴンのピクセルのカラー情報とを混合し、1画面のデータとしてフレームバファ5に書き込む。このフレームバッファ5の情報がCRTディスプレイ装置7に表示される。
また、図15は本発明を適用する画像処理装置の第2の構成例ブロック図を示す。図15の光源バッファ17には、1画像シーンで処理できる光源数、即ち、光源レジスタ329の数を1グループとした光源情報が複数記憶されている。この場合は、各ピクセルには1個のLight−IDが付加されており、シェーディング回路32はこのLight−IDをもとに光源バッファ17から、実施例として4個の光源を1グループとした光源情報を読み出すことができる。
また、図16は本発明を適用する画像処理装置の第3の構成例ブロック図である。この構成例では、使用するすべての光源情報は光源メモリ8に記憶されており、光源バッファ17には各ピクセルが影響を受ける光源の組の情報が記憶されている。各ピクセルには1個のLight−IDが付加されており、シェーディング回路32はそのLight−IDをもとに光源バッファ17から各ピクセルが影響を受ける光源の組を認識し、光源メモリ18から光源情報を読み出すことができる。
図17は、図16に示す第3の画像処理装置構成例の光源バッファ17の内容の一例である。この場合は、各ピクセルのLight−IDは6ビットのアドレスデータとして与えられ、光源バッファ17のそのアドレスには、各ピクセルが影響を受ける光源として光源レジスタの数だけの光源数、例えば4個を1グループとした光源グループの情報が記憶されている。
なお、Light−IDはゲームプログラムに従い、あるポリゴンはどの4個の光源の影響を受けるかという情報としてCPU1により与えられ、通常は、そのポリゴンに近い位置にある光源や、強度の強い光源が指定される。
このため、図17に示すように、あるポリゴンにLight−ID(000001)が付属している場合、そのポリゴン及びそのポリゴンに含まれる各ピクセルは光源c,d,e,fの影響を受けるものとしてシェーディング処理される。
したがって、6ビットのアドレスであれば、64の光源グループの組合わせが可能であり、ハードウエア的に処理できる光源の個数が4個であっても、見かけ上の光源の個数を増やすことができる。
次に、上記のような構成の画像処理装置のシェーディング回路32において実施される光源特性形成方法及び、シェーディング回路32の実施例を説明する。図18は、本発明を適用するシェーディング回路32の実施例のブロック図である。
シェーディング回路32は、各ポリゴンに含まれるピクセルが光源からどのような影響を受けるかを計算する回路で、本実施の形態例では、ベクトル演算器331と光源演算器330と光源レジスタ329と累算器328の4つのブロックからなる。本実施の形態例では4つの光源からの影響を一度に処理できるように、光源の情報を格納する光源レジスタ329と、ピクセルに対しシェーディングの計算をする光源演算器330はそれぞれ4組設けられている。4つの光源のデータは、先に図14乃至図17において説明したように、光源レジスタ329A,B,C,Dにそれぞれ格納される。
したがって、各ピクセルの4つの光源からの影響が、それぞれ光源対応に光源演算器330A,B,C,Dで計算され、累算器328で各ピクセルの4つの光源からの影響が合成される。尚、光源レジスタ329に格納された光源データは、光源演算器330の中でスポット特性を生成したり、光源の減衰を処理したりするときに使用される。
次ぎにシェーディング回路32に含まれる各回路の動作を説明する。ベクトル演算器331は、座標逆算器320と反射ベクトル回路327から構成される。座標逆算器320は、入力される2次元座標ピクセルデータを3次元座標ピクセルデータに変換する回路である。座標逆算回路320の出力は、本実施の形態例では4個の光源演算器330(A,B,C,D)に入力され、4個の光源からの影響を一度に計算する。座標逆算回路320の他の出力は、反射ベクトル回路327に入力される。座標逆算回路320により3次元座標に変換され、各光源演算器330の例えばAに入力される各ピクセルのデータは、ライトベクトル回路321に入力される。
ライトベクトル回路321は、仮想3次元空間中の光源の位置とピクセルの3次元座標に基づき、光源から当該ピクセルに向かうライトベクトルを求める。さらに、光源と当該ピクセル間の距離データを求める。
求められたライトベクトルは、スポット特性生成回路322に入力される。さらに、求められた光源と当該ピクセル間の距離データは、減衰処理回路323に入力される。このスポット特性生成回路322において、図11に示した様に、軸ベクトル70を有するスポット光源Oにより、図12に一例として示すスポット効果特性が求められる。スポット特性生成回路322は、各ピクセルに対する入力されるライトベクトルとスポット光源の軸ベクトル70との内積60即ち、余弦値を求め、スポット光源によるピクセル方向の光の強度を出力する。
一方、減衰処理回路323は、スポット光源Oと該当ピクセルの距離による、光の減衰量を計算する。次いで、スポット特性生成回路322からのスポット光源によるピクセル方向の光の強度及び、減衰処理回路323からのスポット光源から当該ピクセルまでの距離による光の減衰量に基づき、光強度合成回路324から該当ピクセルに対する光強度が求められる。
即ち、各ピクセルに対する光強度は、光源自身の持つ強度、及びスポット光源の軸ベクトル70と、該当ピクセルのライトベクトルとのなす角度による減衰量及び、スポット光源から該当ピクセル位置までの距離による減衰量により求められる。
光強度合成回路324により求められた各ピクセルに対する光強度に基づき、次いで、各ピクセルに対してシェーディング効果が与えられる。シェーディング効果として、拡散反射効果、鏡面反射効果がある。
拡散反射効果は、いわゆる乱反射であり、物体表面の中に入り込み、吸収されそして再び放射される光である。この拡散反射光は、どの方向にも均等に放射する。そのため観察者の視点とは関係がない。重要なのは光源からの該当ピクセルに向かう方向と、該当ピクセルの表面の法線方向とのなす角度であり、この角度がπ/2より大きくなると、光線は物体の蔭になり、拡散光反射は、生じない。
一方、鏡面反射効果は、完全反射面において、入射光に対し反射光の角度が法線に対し、同じになるような効果を与えるものである。
したがって、反射光の角度に一致する角度にいる観察者にのみ鏡面反射効果を観察することができる。このため、反射光の大きさを求めるには、観察者の視線の反射ベクトルが必要である。
鏡面反射回路326は、光強度合成回路324により求められた各ピクセルに対する光強度を入力し、該当ピクセルにおける入射角と、反射ベクトル回路327から得られる視線ベクトルから反射量を求め、出力する。
さらに、上記拡散回路325からの拡散光量と、鏡面反射回路326からの鏡面反射光量が、他の光源演算器330B,C,Dの出力と共に、累算器328で合成されて出力される。
上記のごとく構成されるシェーディング回路32において適用されるスポット特性生成回路322の構成例ブロック図が図19に示される。本構成例では、以下に説明するようにテーブルを用いる方法により、複雑な計算を必要とせず、テーブルに格納するデータにより任意のスポット特性の形成が可能である。尚、スポット特性生成回路A,B,C,Dは同様の構成を有するのでスポット特性生成回路Aを中心に説明する。
スポット特性生成回路322により生成するスポット特性は、一例として図12に示すごとく、ぼけ領域(penumbra scale)62(図12参照)の範囲で特性点a〜pまでの特性点の光強度特性値を結んで特性曲線が形成される。
即ち、図12において、スポット光線Oの光軸ベクトル方向の光強度を1として、特性点a〜pの各点に対応するピクセルに向かうベクトルLと光軸ベクトルDとなす角を横軸にとり、且つ各点の1の光強度に対する正規化した値をプロットして示される。
本構成例のスポット特性生成回路322は、図19に示されるように、上記スポット特性の特性点a〜pの光強度値を格納するテーブル80と、テーブル80から各特性点a〜pの光強度値を読み出すアドレスを発生するアドレスジェネレータ90及び、特性点間を一次補間する補間器100を有して構成される。
アドレスジェネレータ90には、ピクセル情報としてピクセルデータ(LX,Ly,Lz)が、また光源情報としてスポット軸の向きベクトル(Dx,Dy,Dz)、カットオフ角(Cutoff)、ぼけ幅の正規化係数(Penumbra-scale)及び、特性テーブル80を選択するインディクス(table-id)が入力される。
なお、これらの光源情報は、図14、図15に示す光源バッファ17又は、図16に示す光源メモリ18に光源a,b,c・・・ごとに記憶されている。本実施の形態例においては、各ピクセルに対する4個の光源の影響を処理することができ、各ピクセルにはその4個の光源を指定するLight−IDが図14等に示すCPU1により与えられている。光源レジスタ329はA,B,C,Dの4個があり、Light−IDにより光源バッファ7又は光源メモリ8から4個の光源データを読み込み、スポット特性生成回路322(A,B,C,D)に光源データを提供する。
図19において、内積計算部91によりピクセルデータLx,Ly,Lzと、スポット軸の向きベクトルDx,Dy,Dzの内積60(図11参照)を求め、これら二つのベクトルのなす余弦値を求める。さらに、減算器92でカットオフ部61(図11参照)を越える部分を削除する。
次いで、カットオフ部61を越える部分を削除した減算器92の出力に対し、乗算器93によりぼけ幅の正規化整数Penumbra-scale例えば、係数10を乗算し、半影部(ぼけ部)62(図11参照)に適用する部分を0.0〜1.0に正規化する。したがって、、クリップ演算器94により、入力が1.0以上の時は1.0に、0.0以下の時は、0.0にクリップする。
クリップ演算器94の出力が特性テーブル80のアクセス及び、特性点間の補間に使用される。今、クリップ演算器94の出力が16ビットであると考えると、その内、特性テーブル80のアクセスに4ビット、バンク切り替えフラグSFに1ビット、そして特性点間の補間に11ビットが使用される。
ここで、図19の実施例において、特性テーブル80は、第1、第2のメモリバンク81、82で構成されている。したがって、図12の特性図において、特性点a〜pのデータは第1のメモリバンク81と第2のメモリバンク82にそれぞれ交互に格納されている。
さらに、バンク切り替えフラグSFが0である時、第1のメモリバンク81に対する読み出しアドレス(odd address)OAと、第2のメモリバンク82の読み出しアドレス(even address)EAは、同一である。一方、バンク切り替えフラグSFが1である時、インクリメント回路95により第2のメモリバンク82に対する読み出しアドレス(even address)EAを、第1のメモリバンク81の読み出しアドレス(odd address)OAに対し、1だけ歩進する。
具体例は、先に説明したと同様であり、バンク読み出し切り替えフラグSFが0であり、アドレスが0000である時、第1のメモリバンク81に対する読み出しアドレスEAは、第2のメモリバンク82に対する読み出しアドレスOAと同一であり、第1のメモリバンク81から特性点aのデータが、第2のメモリバンク82から特性点bのデータが読み出される。
かかる場合、図19の補間器100には、補間パラメータtと論理0のバンク読み出し切り替えフラグSFが入力される。さらに、特性テーブル81、82から読み出される特性点a,bのデータが入力される。
したがって、補間器100は、特性点a,b間の値Dta-bを、上記した式(3)の関係から一次補間により求める。
さらに、上記具体例で、バンク読み出し切り替えフラグSFの論理が1になると、インクリメント回路95により、第1の特性テーブル81の読み出しアドレスが1歩進し、アドレス0001となる。このアドレスには、特性点cのデータが記憶されている。
かかる場合、補間器100では、バンク読み出し切り替えフラグSFの論理が1であるので、特性テーブル82から読み出される特性点bを優先して、特性点b−c間の補間データDtb-cを上記した式(4)に従い求める。
上記のようにして、簡単な演算によりスポット特性を形成することが可能である。さらに、特性テーブル80に格納する特性点データを任意に構成することにより任意のスポット特性を形成することができる。
次ぎに、本発明にしたがって、街路を複数の街灯で照明する画像シーンの場合の実施例を図20に示す。光源a,b,c等が街路両側に配置される。街路を形成するポリゴンには、どの光源からの影響を受けるかを示すLight−IDが付加されている。この例では1つのポリゴンは、最大4光源からの影響を受けることができる。例えば、ポリゴンP2のLight−IDが(000001)の場合は、図17の光源バッファの内容により光源c,d,e,fの影響を受けることになる。
このように、ポリゴン毎にどの光源からの影響を受けるかのIDをもち、対応する光源の処理を行えば、同時に処理できる光源数以上の数の光源をシーン中に持てることになる。
また、本発明の処理フローを図21に示す。プログラム初期処理段階の処理として、ステップ1,2の処理が行われる。先ずシーン中の光源パラメータを光源バッファ17に書き込む(ステップ1)。光源パラメータには、光源の位置、色、強さ及び方向等があり、シーン中には、光源バッファ17が許す限りの光源を持つことができる。
次いで、各ポリゴン毎に影響を受ける光源のID(Light−ID)を付ける(ステップ2)。各ポリゴンは、通常は、最も近い光源の影響を強く受けるが、例えば、ハードウエア的に同時に4個の光源の処理が可能なシステムの場合は、Light−IDとして、各ポリゴンから最も近くにある、4個の光源を指定する光源バッファのアドレスを付けることができる。なお、ポリゴンが影響を受ける光源として、ポリゴンの各頂点の法線ベクトル方向、及び光源の向く方向を基準に、光源を選択することもできる。
さらに、ステップ3は、ゲームの進行に伴い、各シーンで各ポリゴンの座標変換及び透視変換を、ポリゴン数分繰り返す(ステップ3)。このステップ3の処理により、3次元のポリゴンデータは、スクリーン上の2次元データに変換され、透視変換により、視点位置の変更に伴う遠近感の変化を処理することができる。
次いで、各ポリゴンの塗りつぶしを行い、ピクセル毎にLight−IDを書き込む(ステップ4)。したがって、このステップ4において、シーン中の多くの光源から、ピクセルが影響を受ける4個の光源を指定されることになる。
そして、ステップ5は、テクスチャ生成が行われる(ステップ5)。テクスチャには、ポリゴン表面の模様あるいは材質感を含み、マッピング(写像)によりその模様等を対象のポリゴン面に貼りつける。
次いで、本発明の特徴により、Light−IDに対応する光源パラメータを光源バッファ17から読み出す(ステップ6)。すなわち、Light−IDが光源バッファ17のアドレスの場合は、そのアドレスに基づき光源メモリ18に記憶された光源情報が読み出される。
その後、シェーディング処理が行われる(ステップ7)。このシェーディング処理により、光源及び対象物のポリゴンデータに基づき画面の照明、色付け及び陰影処理が行われる。さらに、1画面のビデオデータがフレームバッファ5に書き込まれる(ステップ8)。この様なステップ5からステップ8までの処理を、ポリゴンを形成する各ピクセル数分繰り返し、フレームバッファ5に蓄積された1画面の情報がCRTディスプレイ装置7に表示される。
産業上の利用可能性
以上、図にしたがい実施の形態を説明したように、本発明に従うスポットライト特性形成方法は、スポットの特性を計算式に基づき、ピクセルごとに演算により求める方法に比べ、スポットの軸と光源ベクトルのなす角を用いて、予め特性点データを記憶する特性テーブルを参照するようにしているので、より簡単な回路で自由度の高いスポット特性を形成することが可能である。
さらに、スポットの特性に高い自由度を持ち、且つ実現する回路も簡単である。さらに、予め用意する特性テーブルを2次元に拡張すれば、非円形のスポットを形成したり、1つの光源で複数のスポットを形成することも可能となる。以上説明した通り、本発明によれば、光源グループを複数持ち、Light−IDによりセレクトするので、同時に使用できる光源数以上の光源をシーン中に使うことができる。
Claims (11)
- 複数のポリゴンにより画像表示されるオブジェクトに光源による照明効果を与える画像処理方法において、
画像シーンの中で使用する複数の光源の情報をメモリに書き込むステップと、
ポリゴン毎に,影響を受ける光源の識別記号を前記ポリゴンに付与するステップと、
前記ポリゴンデータに対し,座標変換を行うステップと,
各ポリゴンについて,ポリゴンを構成するピクセルに前記付与された識別記号を書き込むステップと,
前記ピクセルのデータに基づき,テクスチャ生成を行うステップと、
前記識別記号に対応するポリゴン毎に影響を受ける光源の情報を前記メモリから読み出すステップと、
前記ピクセルに,前記メモリから読み出された光源の情報に基づきシェーディングを行うステップと、
前記ピクセルのデータをフレームバッファに書き込むステップとからなることを特徴とする画像処理方法。 - 請求項1において、
複数のポリゴンにより構成されるオブジェクトに対し、前記座標変換を行うステップと,前記ポリゴンを構成するピクセルに前記付与された識別記号を書き込むステップを前記複数のポリゴンの数分繰り返すこと
を特徴とする画像処理方法。 - 請求項2において,
更に,複数のピクセルにより構成されるポリゴンに対し,前記テクスチャを生成するステップからフレームバッファにピクセルデータを書き込むステップまでを前記複数のピクセルの数分数分繰り返すこと
を特徴とする画像処理方法。 - 請求項1において,
前記識別記号は、
ポリゴン毎に影響を受ける複数の光源の組を特定するものであること
を特徴とする画像処理方法。 - 請求項1おいて、
前記ポリゴン毎に影響を受ける光源は、前記ポリゴンと前記光源との距離に基づいて決定される
ことを特徴とする画像処理方法。 - 複数のポリゴンにより画像表示されるオブジェクトに光源による照明効果を与える画像処理装置において、
複数の光源についての情報を保存する第1のメモリと、
前記ポリゴンに付与された識別記号により特定される,前記複数の光源の内の所定数の光源に関し,いずれの光源によって各ポリゴンが影響を受けるかの情報に基づきシェーディングを実行する第1の手段と,
各ポリゴンについて,ポリゴンを構成するピクセルに前記付与された識別記号を書き込み,これにより,各ポリゴンに対応して前記所定数の光源に関する情報を前記第1のメモリから読み出し可能とし,更に読み出した情報を前記第1の手段に供給する第2の手段を有する
ことを特徴とする画像処理装置。 - 請求項6において,
前記所定数の光源は,前記ポリゴンと前記光源との距離に基づいて決定されることを特徴とする画像処理装置。 - 請求項6において、
前記所定数の光源は、異なるポリゴンに対して少なくとも一部重複していることを特徴とする画像処理装置。 - 請求項6乃至8のいずれかにおいて,
さらに,複数の光源の組についての複数の情報を保存する第2のメモリを有し,前記第1の手段が前記第1のメモリから前記識別記号に対応する複数の光源の組に関する情報を読み出し,前記第2のメモリに格納することを特徴とする画像処理装置。 - 請求項9において,
前記複数の光源の組は,前記ポリゴンと前記光源との距離に基づいて決定されることを特徴とする画像処理装置。 - 請求項9又は10において,
前記複数の光源の組における光源は、異なるポリゴンに対して少なくとも一部重複していることを特徴とする画像処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11597197 | 1997-05-07 | ||
JP17590497 | 1997-07-01 | ||
PCT/JP1998/001475 WO1998050890A1 (fr) | 1997-05-07 | 1998-03-31 | Procede d'obtention de fonction projecteur et processeur d'images utilisant ce procede |
Publications (1)
Publication Number | Publication Date |
---|---|
JP4060375B2 true JP4060375B2 (ja) | 2008-03-12 |
Family
ID=26454384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP54791098A Expired - Fee Related JP4060375B2 (ja) | 1997-05-07 | 1998-03-31 | スポットライト特性形成方法及びこれを用いた画像処理装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6333742B1 (ja) |
EP (1) | EP0974935B1 (ja) |
JP (1) | JP4060375B2 (ja) |
KR (1) | KR100295709B1 (ja) |
CN (1) | CN1231041A (ja) |
DE (1) | DE69826996T2 (ja) |
ES (1) | ES2226109T3 (ja) |
TW (1) | TW371746B (ja) |
WO (1) | WO1998050890A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001084405A (ja) * | 1999-09-16 | 2001-03-30 | Sega Corp | ポリゴン画像形成方法及び、これを用いた画像処理装置 |
US6753875B2 (en) * | 2001-08-03 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | System and method for rendering a texture map utilizing an illumination modulation value |
US7948490B2 (en) * | 2003-10-22 | 2011-05-24 | Microsoft Corporation | Hardware-accelerated computation of radiance transfer coefficients in computer graphics |
WO2007143340A2 (en) * | 2006-06-02 | 2007-12-13 | Clairvoyante, Inc | High dynamic contrast display system having multiple segmented backlight |
US8913829B2 (en) * | 2012-06-05 | 2014-12-16 | Tandent Vision Science, Inc. | Automatic processing scale estimation for use in an image process |
CN104361863A (zh) * | 2014-11-30 | 2015-02-18 | 南京巨鲨显示科技有限公司 | 基于等高圆近似的亮度均匀性调节方法 |
GB2545226A (en) * | 2015-12-09 | 2017-06-14 | Samsung Electronics Co Ltd | Determining lighting in a 3D virtual scene |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60246481A (ja) * | 1984-05-21 | 1985-12-06 | Yokogawa Hokushin Electric Corp | 図形表示装置 |
JPH0746391B2 (ja) * | 1984-09-14 | 1995-05-17 | 株式会社日立製作所 | 図形シエ−デイング装置 |
CA1260638A (en) * | 1985-02-26 | 1989-09-26 | Tetsuzo Kuragano | Method of displaying image |
JP2806023B2 (ja) | 1990-09-19 | 1998-09-30 | ソニー株式会社 | 画像表示処理装置 |
JP2973573B2 (ja) | 1991-04-12 | 1999-11-08 | ソニー株式会社 | 画像変換装置 |
GB9301661D0 (en) * | 1993-01-28 | 1993-03-17 | Philips Electronics Uk Ltd | Rendering an image |
JPH06301794A (ja) * | 1993-04-15 | 1994-10-28 | Matsushita Electric Ind Co Ltd | 3次元画像生成表示装置 |
JP2763502B2 (ja) | 1994-12-01 | 1998-06-11 | 株式会社ナムコ | 画像合成装置及び画像合成方法 |
JPH1063874A (ja) | 1996-08-13 | 1998-03-06 | Tsuneo Ikedo | スポットライティング回路 |
-
1998
- 1998-03-31 DE DE69826996T patent/DE69826996T2/de not_active Expired - Fee Related
- 1998-03-31 ES ES98911132T patent/ES2226109T3/es not_active Expired - Lifetime
- 1998-03-31 CN CN98800937A patent/CN1231041A/zh active Pending
- 1998-03-31 US US09/214,494 patent/US6333742B1/en not_active Expired - Fee Related
- 1998-03-31 JP JP54791098A patent/JP4060375B2/ja not_active Expired - Fee Related
- 1998-03-31 WO PCT/JP1998/001475 patent/WO1998050890A1/ja active IP Right Grant
- 1998-03-31 EP EP98911132A patent/EP0974935B1/en not_active Expired - Lifetime
- 1998-04-13 TW TW087105592A patent/TW371746B/zh not_active IP Right Cessation
-
1999
- 1999-01-07 KR KR1019997000052A patent/KR100295709B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69826996T2 (de) | 2005-03-10 |
ES2226109T3 (es) | 2005-03-16 |
US6333742B1 (en) | 2001-12-25 |
EP0974935A1 (en) | 2000-01-26 |
TW371746B (en) | 1999-10-11 |
CN1231041A (zh) | 1999-10-06 |
DE69826996D1 (de) | 2004-11-18 |
EP0974935A4 (en) | 2003-04-16 |
WO1998050890A1 (fr) | 1998-11-12 |
KR20000023605A (ko) | 2000-04-25 |
EP0974935B1 (en) | 2004-10-13 |
KR100295709B1 (ko) | 2001-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102663B2 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
JP3203160B2 (ja) | ボリューム・レンダリング装置及び方法 | |
US5704024A (en) | Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map | |
US5786822A (en) | Method and apparatus for mapping texture on an object displayed at a varying view angle from an observer | |
JP3294149B2 (ja) | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 | |
US7583264B2 (en) | Apparatus and program for image generation | |
US7256781B2 (en) | Image processing apparatus and method of same | |
JPH05307610A (ja) | テクスチャマッピング方法およびその装置 | |
JPH0757117A (ja) | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム | |
US10593096B2 (en) | Graphics processing employing cube map texturing | |
US6529194B1 (en) | Rendering method and apparatus, game system, and computer readable program product storing program for calculating data relating to shadow of object in virtual space | |
WO2006095481A1 (ja) | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 | |
JP4060375B2 (ja) | スポットライト特性形成方法及びこれを用いた画像処理装置 | |
JP4584956B2 (ja) | グラフィックスプロセッサおよび描画処理方法 | |
KR100559127B1 (ko) | 화상처리장치 | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
US7372461B2 (en) | Image processing apparatus and method of same | |
US7372466B2 (en) | Image processing apparatus and method of same | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
JP3712015B2 (ja) | 画像作成装置および方法 | |
JP2004054634A (ja) | 画像処理装置およびその方法 | |
JP2952585B1 (ja) | 画像生成方法 | |
JP2000057372A (ja) | 画像処理装置、画像処理方法及び記憶媒体 | |
JPH06150017A (ja) | 三次元図形表示装置 | |
JPH10222690A (ja) | 3次元画像生成方法および装置とこの方法および装置を用いた3次元画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050330 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050330 |
|
A72 | Notification of change in name of applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A721 Effective date: 20050330 |
|
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: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071220 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101228 Year of fee payment: 3 |
|
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: 20111228 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111228 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111228 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121228 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |