(57)【特許請求の範囲】
【請求項１】
仮想３次元空間に置かれた光源からの照明光をコンピュータを用いた画像処理によって表現するための方法であって、
前記照明光の光軸上の互いに離間した複数の位置のそれぞれには、前記光源から前記照明光の光軸方向に進むほど漸次拡大する仮想領域の各位置における横断面の形状に相当する複数のポリゴンを、各ポリゴンの法線が前記仮想３次元空間に設定された視点の方向を向くようにして配置し、
少なくとも隣接するポリゴン同士が部分的に重なり合うように前記複数の位置のそれぞれを設定し、
各ポリゴンには前記照明光の広がりを表現したテクスチャをマッピングし、
前記視点から前記光源までの距離に基づいて前記仮想領域の大きさを前記光軸と直交する方向に変化させるとともに、前記光軸方向と前記視点から前記光源を見た方向との関係に基づいて、前記光源からの距離に対する前記仮想領域の拡大率を異ならせることを特徴とする画像の表現方法。
【請求項２】
前記視点から前記光源までの距離が増加するほど前記仮想領域を前記光軸と直交する方向に拡大することを特徴とする請求項１に記載の画像の表現方法。
【請求項３】
前記視点から前記光源までの距離が増加するほど前記仮想領域をその光軸方向の全長に亘って一様に前記光軸と直交する方向に拡大することを特徴とする請求項１に記載の画像の表現方法。
【請求項４】
前記光軸方向と前記視点から前記光源を見た方向との関係が直交状態に近付くほど、前記光源からの距離に対する前記仮想領域の拡大率を小さく設定することを特徴とする請求項１〜３のいずれか１項に記載の画像の表現方法。
【請求項５】
前記光軸方向と前記視点から前記光源を見た方向との関係が平行状態に近付くと前記ポリゴンの数を減らすことを特徴とする請求項４に記載の画像の表現方法。
【請求項６】
前記視点から前記光源までの距離が増加するほど各テクスチャの透明度を増加させることを特徴とする請求項１〜５のいずれか１項に記載の画像の表現方法。
【請求項７】
マッピングされたテクスチャの透明度が所定の値よりも大きいポリゴンを描画対象から消去することを特徴とする請求項６に記載の画像の表現方法。
【請求項８】
前記光源に対応付けられた所定の基点上にも前記テクスチャがマッピングされたポリゴンを配置し、前記視点から前記光源までの距離に基づいて当該基点上のポリゴンの大きさを変化させることを特徴とする請求項１〜７のいずれか１項に記載の画像の表現方法。
【請求項９】
前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンを拡大することを特徴とする請求項８に記載の画像の表現方法。
【請求項１０】
前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンの透明度を減少させることを特徴とする請求項８又は９に記載の画像の表現方法。
【請求項１１】
仮想３次元空間に置かれた光源からの照明光をコンピュータを用いた画像処理によって表現するためのプログラムであって、
前記照明光の光軸上の互いに離間した複数の位置のそれぞれに、前記光源から前記照明光の光軸方向に進むほど漸次拡大する仮想領域の各位置における横断面の形状に相当する複数のポリゴンを、各ポリゴンの法線が前記仮想３次元空間に設定された視点の方向を向くようにして配置する処理と、
各ポリゴンに前記照明光の広がりを表現したテクスチャをマッピングする処理とをコンピュータに実行させるように構成され、
前記配置する処理では、少なくとも隣接するポリゴン同士が部分的に重なり合うように前記複数の位置のそれぞれを設定し、前記視点から前記光源までの距離に基づいて前記仮想領域の大きさを前記光軸と直交する方向に変化させ、前記光軸方向と前記視点から前記光源を見た方向との関係に基づいて、前記光源からの距離に対する前記仮想領域の拡大率を異ならせるように構成されていることを特徴とするプログラム。
【請求項１２】
前記視点から前記光源までの距離が増加するほど前記仮想領域を前記光軸と直交する方向に拡大させるように構成されていることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記視点から前記光源までの距離が増加するほど前記仮想領域をその光軸方向の全長に亘って一様に前記光軸と直交する方向に拡大させるように構成されていることを特徴とする請求項１１に記載のプログラム。
【請求項１４】
前記光軸方向と前記視点から前記光源を見た方向との関係が直交状態に近付くほど、前記光源からの距離に対する前記仮想領域の拡大率を小さく設定するように構成されていることを特徴とする請求項１１〜１３のいずれか１項に記載のプログラム。
【請求項１５】
前記光軸方向と前記視点から前記光源を見た方向との関係が平行状態に近付くと前記ポリゴンの数を減らすように構成されていることを特徴とする請求項１４に記載のプログラム。
【請求項１６】
前記視点から前記光源までの距離が増加するほど各テクスチャの透明度を増加させるように構成されていることを特徴とする請求項１１〜１５のいずれか１項に記載のプログラム。
【請求項１７】
マッピングされたテクスチャの透明度が所定の値よりも大きいポリゴンを描画対象から消去するように構成されていることを特徴とする請求項６に記載の画像の表現方法。
【請求項１８】
前記光源に対応付けられた所定の基点上にも前記テクスチャがマッピングされたポリゴンを配置し、前記視点から前記光源までの距離に基づいて当該基点上のポリゴンの大きさを変化させるように構成されていることを特徴とする請求項１１〜１７のいずれか１項に記載のプログラム。
【請求項１９】
前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンを拡大するように構成されていることを特徴とする請求項１８に記載のプログラム。
【請求項２０】
前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンの透明度を減少させるように構成されていることを特徴とする請求項１８又は１９に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックス技術を利用して照明光を表現する方法に関する。
【０００２】
【従来の技術】
ゲーム画像の生成等に使用される３次元コンピュータグラフィックスの分野においては、ワールド座標系によって定義された仮想３次元空間に配置されるモデルをポリゴンの組み合わせによって表現し、そのポリゴンの表面に各種のテクスチャをマッピングしてモデルの質感を向上させている。電球等の光源から照明光が広がる様子を表現する場合にもこうした方法が採用されている。例えば、照明光が広がっている範囲に相当する略円錐形の３次元モデルをポリゴンにて構成し、そのポリゴンの表面に照明光が広がる様子を表現したテクスチャを貼り付ける表現方法が試みられている。
【０００３】
【発明が解決しようとする課題】
ところが、従来の表現方法ではポリゴンによって３次元のモデルを構成しているので画像処理の負荷が増加する。平面的なモデルを利用すれば処理負荷は軽減されるが、光源の位置や光軸方向の変化に応じた照明光の見え方の変化を十分に表現できず、画像の現実感が損なわれるおそれがある。
【０００４】
そこで、本発明は、処理負荷を軽減しつつより現実感の高い照明光の画像を提供できる画像の表現方法及びその方法の実現に使用するコンピュータプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【０００６】
本発明の画像の表現方法は、仮想３次元空間に置かれた光源からの照明光をコンピュータを用いた画像処理によって表現するための方法であって、前記照明光の光軸（３）上の互いに離間した複数の位置のそれぞれには、前記光源（１）から前記照明光の光軸方向に進むほど漸次拡大する仮想領域（５）の各位置における横断面の形状に相当する複数のポリゴン（４…４）を、各ポリゴンの法線が前記仮想３次元空間に設定された視点の方向を向くようにして配置し、少なくとも隣接するポリゴン同士が部分的に重なり合うように前記複数の位置のそれぞれを設定し、各ポリゴンには前記照明光の広がりを表現したテクスチャをマッピングし、前記視点から前記光源までの距離に基づいて前記仮想領域の前記光軸と直交する方向の大きさを変化させるとともに、前記光軸方向と前記視点から前記光源を見た方向との関係に基づいて、前記光源からの距離に対する前記仮想領域の拡大率を異ならせるものである。
【０００７】
本発明の表現方法によれば、光源付近から各ポリゴンが光軸方向に沿って小さいものから順に並べられてそれらに照明光のテクスチャがマッピングされることにより、照明光が広がったように見える仮想領域が視点から観察される。その仮想領域の中心側では各ポリゴンにマッピングされたテクスチャが重なって照明の輝度が高く、周辺ではテクスチャの重なる程度が減少して輝度が低くなるような変化が生じる。これにより自然な感じで照明光を表現することができる。しかも、ポリゴンを組み合わせて複雑な３次元モデルを形成する代わりに、平面図形であるポリゴンを視点を向くように並べるだけなので処理負荷が軽減される。そして、視点からの距離や光軸方向と視点から光源を見た方向との関係に基づいて仮想領域の大きさや拡大率が制御されるので、視点から見た光源の位置や光軸方向の変化に応じて照明光が広がる範囲を変化させて、照明光の画像の現実感を十分に高めることができる。
【０００８】
本発明の表現方法においては、前記視点から前記光源までの距離が増加するほど前記仮想領域を光軸と直交する方向に拡大してもよい。この場合には、光源から離れるほどその照明光の範囲が広がって見える現象を表現できて画像の現実感がさらに高まる。特に、前記視点から前記光源までの距離が増加するほど前記仮想領域をその光軸方向の全長に亘って一様に光軸と直交する方向に拡大した場合には処理を簡素化できて好ましい。
【０００９】
本発明の表現方法においては、前記光軸方向と前記視点から前記光源を見た方向との関係が直交状態に近付くほど、前記光源からの距離に対する前記仮想領域の拡大率を小さく設定してもよい。この場合には、光源から比較的狭く絞られて射出する光束を側方から見た場合と、光源に向かって見た場合との照明光の光束の見え方の相違を十分に表現できる。
【００１０】
すなわち、前者の場合には光束を横から観察するので光束の拡大する程度が比較的小さくなるから、それに合わせて仮想領域の拡大率を小さくすれば、絞られた光束を適切に表現できる。一方、後者の場合には、たとえ絞られた光束が射出されていても、それが進む方向から光源を観察すれば照明光は光源の近傍で大きく広がっているように見える。従って、仮想領域の拡大率を大きくすればその照明光が大きく広がる様子を適切に表現できる。
【００１１】
こうした拡大率の変化に組み合わせて、前記光軸方向と前記視点から前記光源を見た方向との関係が平行状態に近付くと前記ポリゴンの数を減らすようにしてもよい。仮想領域の拡大率が大きければ、それだけ光軸方向に関して狭い範囲により多数のポリゴンが集中することになるから、ポリゴンの数を減らしても照明光の表現に与える影響は相対的に小さくなり、画像の現実感を損なうことなくポリゴンの数を減らして処理の負荷をさらに軽減できる。
【００１２】
本発明の画像の表現方法においては、前記視点から前記光源までの距離が増加するほど各テクスチャの透明度を増加させてもよい。この場合には、視点から光源までの距離に応じて照明光の輝度が変化する様子を表現できる。特に距離に応じた仮想領域の拡大、縮小と組み合わせた場合には、光源に近いときには照明光が比較的狭い範囲に集中している様子を表現でき、光源から離れたときには照明光が比較的広い範囲に薄明るく広がっている様子を表現できる。従って、照明光の画像の現実感がさらに向上する。
【００１３】
このように透明度を変化させる場合、マッピングされたテクスチャの透明度が所定の値よりも大きいポリゴンを描画対象から消去してもよい。この場合には描画しても観察されないようなポリゴンを描画対象から除いて処理の負荷を軽減できる。
【００１４】
本発明の画像の表現方法においては、前記光源に対応付けられた所定の基点上にも前記テクスチャがマッピングされたポリゴン（２）を配置し、前記視点から前記光源までの距離に基づいて当該基点上のポリゴンの大きさを変化させてもよい。この場合には、光源から射出した照明光の光束に加えて、光源の周囲に球状に広がる光も表現できて画像の現実感がさらに高まる。
【００１５】
また、前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンを拡大すれば、光源から離れるほどに、仮想領域に配置されたポリゴンによって表現される光源からの射出光の光束よりも光源の周りの光の広がりが相対的に大きく観察されるようになって好ましい。さらに、前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンの透明度を減少させた場合には、光源から離れるほど光源付近の光の広がりがより明瞭に観察されるようになって画像の現実感がさらに高まる。特に、仮想領域に配置されるポリゴンのテクスチャの透明度を距離が増加するほど減少させる構成を組み合わせた場合には、光源を近くから観察する場合には照明光の光束をより強調して表現し、光源を遠くから観察する場合には光源付近の光をより強調して表現できるから、距離に応じた照明光の見え方をより現実的に表現できるようになる。
【００１６】
本発明のプログラムは、仮想３次元空間に置かれた光源からの照明光をコンピュータを用いた画像処理によって表現するためのプログラムであって、前記照明光の光軸（３）上の互いに離間した複数の位置のそれぞれに、前記光源（１）から前記照明光の光軸方向に進むほど漸次拡大する仮想領域（５）の各位置における横断面の形状に相当する複数のポリゴン（４…４）を、各ポリゴンの法線が前記仮想３次元空間に設定された視点の方向を向くようにして配置する処理と、各ポリゴンに前記照明光の広がりを表現したテクスチャをマッピングする処理とをコンピュータに実行させるように構成され、前記配置する処理では、少なくとも隣接するポリゴン同士が部分的に重なり合うように前記複数の位置のそれぞれを設定し、前記視点から前記光源までの距離に基づいて前記仮想領域の前記光軸と直交する方向の大きさを変化させ、前記光軸方向と前記視点から前記光源を見た方向との関係に基づいて、前記光源からの距離に対する前記仮想領域の拡大率を異ならせるように構成されたものである。
【００１７】
このプログラムをコンピュータで読み取って実行することにより、本発明の画像の表現方法を実施することができる。
【００１８】
なお、本発明のプログラムは、次に述べるように、上述した表現方法の好ましい態様を備えることができる。すなわち、本発明のプログラムは、前記視点から前記光源までの距離が増加するほど前記仮想領域を光軸と直交する方向に拡大させるように構成されてもよい。前記視点から前記光源までの距離が増加するほど前記仮想領域をその光軸方向の全長に亘って一様に光軸と直交する方向に拡大させるように構成されてもよい。前記光軸方向と前記視点から前記光源を見た方向との関係が直交状態に近付くほど、前記光源からの距離に対する前記仮想領域の拡大率を小さく設定するように構成されてもよい。前記光軸方向と前記視点から前記光源を見た方向との関係が平行状態に近付くと前記ポリゴンの数を減らすように構成されてもよい。前記視点から前記光源までの距離が増加するほど各テクスチャの透明度を増加させるように構成されてもよい。マッピングされたテクスチャの透明度が所定の値よりも大きいポリゴンを描画対象から消去するように構成されてもよい。前記光源に対応付けられた所定の基点上にも前記テクスチャがマッピングされたポリゴン（２）を配置し、前記視点から前記光源までの距離に基づいて当該基点上のポリゴンの大きさを変化させるように構成されてもよい。前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンを拡大するように構成されてもよい。前記視点から前記光源までの距離が増加するほど前記基点上のポリゴンの透明度を減少させるように構成されてもよい。
【００１９】
さらに、本発明のプログラムは記憶媒体に記録されて使用者に提供されてもよいし、有線又は無線の伝送媒体に乗せて使用者に提供されてもよい。
【００２０】
なお、ポリゴンの語は一般には有限個の頂点を有する平面図形を意味するが、本発明においては、コンピュータグラフィックスにおいてオブジェクトを構成するための最小単位としての平面図形を意味し、頂点を有しない円形も含めてよい。仮想領域はその全長に亘って拡大率が一定の円錐形又は角垂型でもよいし、テーパ率が一定ではない水滴状、ラッパ状等の各種の形状でもよい。仮想領域の頂点は必ずしも光源に一致させなくてよい。
【００２１】
【発明の実施の形態】
図１及び図２は、本発明に従って懐中電灯から射出された照明光を表現する画像を形成する場合のポリゴンの配置の一例を示している。すなわち、図１（ａ）〜（ｃ）は、同図（ｄ）に示すように懐中電灯１００から射出される照明光１０１を側方の視点ａ，ｂ，ｃから光軸とほぼ直交する方向に見たときの画像を表現する場合のポリゴンの配置を示し、図２（ａ）及び（ｂ）は同図（ｃ）に示すように懐中電灯１００から射出される照明光１０１を側方の視点ａと、斜め前方の視点ｂとからそれぞれ見たときの画像を表現するためのポリゴンの配置を示している。
【００２２】
図１（ａ）に示すように、本実施例の表現方法では、光源１と中心を一致させて一つの円形のポリゴン２が配置されるとともに、その光源１から射出される照明光の光軸３に沿って複数の円形のポリゴン４…４が互いに重なるようにして配置される。以下ではポリゴン２を便宜的に光源用ポリゴンと、ポリゴン４を光束用ポリゴンとそれぞれ称して両者を区別することがある。
【００２３】
各ポリゴン２，４の法線方向はいずれも仮想３次元空間に設定される視点の方向に向けられる。換言すれば、仮想３次元空間の視点からみて、各ポリゴン２，４は常にその法線方向から見えるように配置される。
【００２４】
光源用ポリゴン２は、光源１の付近における照明光の球状の広がりを表現するために使用されるものであり、光束用ポリゴン４は光源から射出された照明光の光束を表現するために使用されるものである。光束用ポリゴン４の直径は次のようにして定められる。
【００２５】
光源１から照明光の光軸方向に進むほど直径が漸次拡大する円錐形の仮想領域５を設定する。仮想領域５の直径の拡大率（テーパ率）は光軸方向の各位置において一定でもよいし、場所によって変化させてもよい。いずれにせよ、光源１から射出された照明光の光束を表現するのに相応しい形状に仮想領域５を設定すればよい。仮想領域５の頂点は光源１に一致させてもよいし、一致させなくてもよい。仮想領域５の長さは照明光の届く範囲に応じて定めればよい。
【００２６】
仮想領域５に配置する光束用ポリゴン４の個数を適当に選択し、それらのポリゴン４の中心点を配置すべき光軸３上の位置を決定する。光軸方向に関するポリゴン４の中心点の間隔は等間隔でもよいし、場所によって間隔を変えてもよい。例えば光源１に近い場所では間隔を狭く、光源１から離れた場所では間隔を広く設定してもよい。
【００２７】
そして、決定された中心点の位置における仮想領域５の直径を、その位置に置かれるポリゴン４の直径として設定する。つまり、光束用ポリゴン４は、光軸３上の各位置における仮想領域５の横断面形状に相当する円形となる。なお、ポリゴン４は円形に限らず、仮想領域５の横断面形状に近似された多角形状でもよい。いずれにせよ、光束用ポリゴン４は円形又は疑似円形の平面図形である。
【００２８】
各ポリゴン２，４の直径は視点からの距離に応じて制御される。図１（ａ）及び（ｂ）はその変化の様子を示している。各ポリゴン２，４も視点から光源１までの距離が増加するほど直径が増加する。なお、ポリゴン４の直径の増加は、仮想領域５の直径をその全長に亘って一様に拡大することによって実現される。但し、仮想領域５のテーパ率を距離の増加に伴って拡大することにより、当該領域５の光源１側のポリゴン４よりも先端側（光源１から離れた側）のポリゴン４の直径をより大きく変化させるようにしてもよい。
【００２９】
一方、上述した仮想領域５の直径の変化率、つまり光束用ポリゴン４のそれぞれの直径は、光軸３の方向と視点から光源１を見た方向との関係に基づいて制御される。図２（ａ）及び（ｂ）はその一例を示している。図２（ａ）に示すように照明光を側方からほぼ光軸と垂直に見た場合には仮想領域５の直径の変化率が小さい。つまり、各ポリゴン４の直径の変化は緩やかである。これに対して、図２（ｂ）に示すように視点から光源１を見た方向が光軸方向に近付いた場合には仮想領域５の直径の変化率が大きく設定される。このため、各ポリゴン４の直径の変化が急になり、短い区間に多くのポリゴンが重なり合うように配置される。このように視点から光源１を見た方向と光軸方向との関係に基づいて仮想領域５の直径の変化率を異ならせることにより、照明光の光束の広がりが方向に応じて変化する様子を適切に表現できるようになる。なお、図２（ｂ）に示すように仮想領域５の直径の変化率を大きくした場合、ポリゴン４の重なる程度が増加するのでポリゴン４の数を減らしても照明光の表現に与える影響は相対的に小さくなる。従って、視点から光源１を見る方向が光軸方向に対して所定の状態まで近付いたときにポリゴン４の数を減らして画像処理の負荷を軽減してもよい。
【００３０】
図３は上述した各ポリゴン２，４にそれぞれマッピングされるテクスチャの実例を示している。このテクスチャは照明光の広がりを表現するもので、概略円形であり、その色彩は照明光の色に合わせて例えば乳白色に設定される。但し、図３ではテクスチャの把握を容易にするため階調を反転させている。照明光が拡散する様子を示すため、テクスチャには周辺に向かうほど徐々にぼかしが強く付加されている。これにより中心部で輝度が高く周辺で輝度が低くなる照明光がよく表現される。こうしたテクスチャを上述した各ポリゴン２，４にそれぞれマッピングすることにより、現実感のある照明光の画像を形成することができる。
【００３１】
各ポリゴン２，４にマッピングされるテクスチャには透明度が設定される。設定される透明度は、０よりも大きく１００以下の範囲である。つまり、テクスチャの透明度は、透明度０の不透明の状態を除いた、いわゆる半透明の領域から透明度１００の完全な透明の段階までのいずれかに設定される。各ポリゴン２，４に対する透明度は常に一定の値でもよいが、好ましくは光源１までの距離に基づいて変化させる。
【００３２】
すなわち、光源用ポリゴン２に関しては視点から光源１までの距離が増加するほどその透明度を減少させる。反対に光束用ポリゴン４に関しては視点から光源１までの距離が増加するほどその透明度を増加させる。図１（ａ）及び（ｂ）のハッチングは透明度が小さく設定されていることをそれぞれ示している。これから明らかなように、光源１までの距離が小さくなると光束用ポリゴン４にマッピングされたテクスチャが相対的に目立つようになり、光源１までの距離が大きくなると光源用ポリゴン２にマッピングされたテクスチャが相対的に目立つようになる。つまり、光源１に近いときは照明光の光束が強調され、光源１から離れると光束が薄れて光源１の付近が相対的に球状に明るくなる。さらに視点から光源１までの距離が所定の限度を超えると光束用ポリゴン４にマッピングされるテクスチャの透明度が１００に設定され、その結果として図１（ｃ）に示すように光源１上のテクスチャのみが観察されるようになる。このようにテクスチャの透明度が１００に設定されたポリゴンについては観察不可能となるため、コンピュータグラフィックスにおける描画対象から除外する、つまり、仮想３次元空間に配置しないことにより、画像処理の負荷を軽減できる。但し、透明度が１００に達する以前でも、事実上観察不可能な程度までテクスチャの透明度が上昇したポリゴンについては描画対象から除外してよい。描画対象から除外するポリゴンの数を透明度に応じて段階的に増加させてもよい。
【００３３】
以上では光源用ポリゴン２の中心を光源１に一致させたが、ポリゴン２の中心は必ずしも光源１に置く必要はなく、光源１から光軸方向に所定距離離れた位置に置いてもよい。視点から光源１までの距離に応じてポリゴン２の中心点を変化させてもよい。
【００３４】
図４〜図６は上記の方法によって実際に描画された照明光の画像の例を示している。図４は光源までの距離が大きい場合を、図５は光源までの距離が小さい場合をそれぞれ示している。図４の例ではキャラクタが所持している懐中電灯の先端付近に薄明るく円形の照明光が観察され、懐中電灯から射出される光束は目立たない。これに対して図５では懐中電灯から射出される円錐形の光束が明瞭に観察され、光源付近には小さな円形の照明光の広がりが僅かに観察されるだけである。図６は懐中電灯をその正面側から見た画像であり、輝度の高い照明光が円形に広がっている様子がよく表現されている。
【００３５】
以上に説明した画像の表現方法は様々な分野の３次元画像処理において利用できるものである。その一例としてコンピュータを利用したゲーム機にて本発明の表現方法を実施する例を図７及び図８により説明する。
【００３６】
図７はコンピュータを利用したゲーム機の典型的な制御系のブロック図である。周知のように、コンピュータとしてのゲーム機１０は、記憶媒体（例えばＤＶＤ−ＲＯＭ）２５に記録されたゲーム用プログラムに従って所定のゲームを実行するものであり、マイクロプロセッサを主体として構成されたＣＰＵ１１と、そのＣＰＵ１１に対する主記憶装置としてのＲＯＭ１２及びＲＡＭ１３と、ＣＰＵ１１からの指示に基づいて画像処理及び音声処理に適した処理を行なう画像処理装置１４及びサウンド処理装置１６と、記憶媒体からデータ等を読み取るための記憶媒体読取装置１８とを有している。ＲＯＭ１２には、ゲーム機１０の全体の動作制御に必要なプログラムとしてのオペレーティングシステムが書き込まれる。ＲＡＭ１３には記憶媒体としてのＤＶＤ−ＲＯＭ２５から読み取ったゲーム用のプログラムやデータが必要に応じて書き込まれる。画像処理装置１４はＣＰＵ１１から画像データを受け取って内蔵するフレームバッファ（不図示）上にゲーム画面に対応した画像データを展開するとともに、その描画された画像データを所定のビデオ再生信号に変換して所定のタイミングでモニタ１９に出力する。サウンド処理装置１６は、ＤＶＤ−ＲＯＭ２５から読み出された音声、楽音等のデータや音源データ等を再生してスピーカ２０から出力させる。読取装置１８は、ＣＰＵ１１からの指示に従ってＤＶＤ−ＲＯＭ２５上に記録されたプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。ＤＶＤ−ＲＯＭ２５には、本発明に係る画像の表現方法の実施に必要なプログラムやデータが記録されている。モニタ１９には家庭用のテレビ受像機が、スピーカ２０にはそのテレビ受像機の内蔵スピーカが一般に使用される。さらに、ＣＰＵ１１にはバス２４を介して入力装置２２及び外部記憶装置２３がそれぞれ接続される。外部記憶装置２３は例えば不揮発性の半導体メモリ、ハードディスク、光磁気ディスク等の書換えが可能な記憶装置である。このような構成はあくまで一例であり、本発明の表現方法が適用されるコンピュータの構成は適宜変更されてよい。
【００３７】
記憶媒体としてのＤＶＤ−ＲＯＭ２５に記録されるプログラムには、上述した方法により照明光の画像を形成するために必要な手順を記述したモジュールが含まれる。また、ＤＶＤ−ＲＯＭ２５に記録されるデータには、上述した方法を実現するために必要なデータとして、例えば図３に示したテクスチャの画像データが記録される。照明光の画像を表現するためのプログラムモジュールは、各フレームの画像データを生成する処理において、本発明に従って照明光を描く必要がある場合に呼び出されて実行される。図８はそのプログラムモジュールによって実行される処理の概要を示すフローチャートである。なお、上述した照明光の表現に拘わる部分以外の画像データの生成に必要な演算処理は公知の技術をそのまま利用することができ、本明細書ではそれらの説明は省略する。例えば、典型的な３Ｄゲーム画像を描画する処理では、入力装置２２からの入力信号に基づいて、ワールド座標系に配置されたオブジェクト（例えばキャラクタ）や視点等の位置を演算し、その演算結果に基づいて視点座標系やスクリーン座標系への座標変換やレンダリング処理を行っているが、以下ではそれらの一連の処理のうちで特に本発明に拘わる部分を抽出して説明し、その余の処理について説明を省略する。
【００３８】
図８の処理では、まず仮想３次元空間に設定された視点から光源までの距離、及び視点からその光源を見た方向と光軸方向とのずれを演算する（ステップＳ１）。次に、演算された距離に基づいて、光源位置に配置すべきポリゴン２の直径（大きさ）及びそのポリゴン２にマッピングするテクスチャの透明度を演算する（ステップＳ２）。続いて、ステップＳ１の演算結果に基づいて、仮想領域５に配置されるべきポリゴン４の個数、各ポリゴン４の仮想３次元空間における位置、直径（大きさ）及び各ポリゴン４にマッピングされるテクスチャの透明度が演算される（ステップＳ３）。つまり、図１又は図２に示した各ポリゴン４の中心点の位置や仮想領域５に配置するポリゴン４の数等が視点から光源１までの距離及び視点から光源１を見た方向と光軸方向との関係に基づいて演算される。
【００３９】
演算が終わると、マッピングされるべきテクスチャの透明度が１００となったポリゴンが存在するか否かを判断し（ステップＳ４）、存在していればその条件に該当するポリゴン４を描画対象から消去する（ステップＳ５）。ここで消去されたポリゴン４については座標変換やレンダリングの対象とされないので、その分、画像処理に要する負荷が軽減されることになる。ステップＳ４が否定されたときはステップＳ５を省略する。
【００４０】
以上によって照明光の画像を形成するために必要な情報が取得されるので、その演算結果を例えばＣＰＵ１１のキャッシュメモリに保存し（ステップＳ６）、それにより図８の処理を終える。保存された演算結果はレンダリング時に参照され、それにより演算結果に基づいたテクスチャマッピング等が行われて照明光の画像を含んだ一フレームのゲーム画像が形成される。
【００４１】
以上の実施形態はあくまで本発明の一例であり、使用されるポリゴンの数、テクスチャの内容等は要求される画像の質感等に応じて種々変更してよい。上記の実施形態では照明光を表現するためのポリゴンを円形として説明したが、本発明はそのような例に限らず、多角形状のポリゴンを使用してもよい。テクスチャの形状それ自体が多角形状であっても、透明な背景に照明光が丸く広がる様子を描いたものであれば、これをポリゴンにマッピングした場合に観察者には照明光が丸く広がっている様子が観察される。
【００４２】
【発明の効果】
以上に説明したように、本発明の画像の表現方法によれば、大きさが異なる各ポリゴンを光軸方向に沿って並べてそれらに照明光のテクスチャをマッピングすることにより、照明光が広がったように見える仮想領域を視点から観察できるようにしているので、仮想領域の中心側では輝度が高く周辺では輝度が低くなるような自然な感じで照明光を表現することができる。しかも、ポリゴンによって複雑な３次元モデルを構成する代わりに、平面図形であるポリゴンを光軸に沿って並べるだけなので処理負荷が軽減される。そして、視点からの距離や光軸方向と視点から光源を見た方向との関係に基づいて仮想領域の大きさや拡大率が制御されるので、視点から見た光源の位置や光軸方向の変化に応じて照明光が広がる範囲を変化させて、照明光の画像の現実感を十分に高めることができる。
【図面の簡単な説明】
【図１】照明光を表現するためのポリゴンの配置の一例を示す図。
【図２】照明光を表現するためのポリゴンの配置の他の例を示す図。
【図３】図１及び図２のポリゴンにマッピングされるテクスチャの一例を示す図。
【図４】本発明に従って表現された照明光の画像の一例を示す図。
【図５】本発明に従って表現された照明光の画像の他の例を示す図。
【図６】本発明に従って表現された照明光の画像のさらに他の例を示す図。
【図７】本発明の方法を実行するためのゲーム機の機能ブロック図。
【図８】図７のゲーム機にて本発明の表現方法を実行するための処理手順を示すフローチャート。
【符号の説明】
１  光源
２  ポリゴン
３  光軸
４  ポリゴン
５  仮想領域
１０  ゲーム機（コンピュータ）
１００  懐中電灯
１０１  照明光
【図１】
0003580779.tif 000002
【図２】
0003580779.tif 000003
【図３】
0003580779.tif 000004
【図４】
0003580779.tif 000005
【図５】
0003580779.tif 000006
【図６】
0003580779.tif 000007
【図７】
0003580779.tif 000008
【図８】
0003580779.tif 000009