JP3599268B2 - 画像処理方法、画像処理装置及び記録媒体 - Google Patents

画像処理方法、画像処理装置及び記録媒体 Download PDF

Info

Publication number
JP3599268B2
JP3599268B2 JP6088499A JP6088499A JP3599268B2 JP 3599268 B2 JP3599268 B2 JP 3599268B2 JP 6088499 A JP6088499 A JP 6088499A JP 6088499 A JP6088499 A JP 6088499A JP 3599268 B2 JP3599268 B2 JP 3599268B2
Authority
JP
Japan
Prior art keywords
shadow
light source
image processing
drawn
virtual
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
Application number
JP6088499A
Other languages
English (en)
Other versions
JP2000259853A (ja
Inventor
章男 大場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP6088499A priority Critical patent/JP3599268B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to RU2001124830/09A priority patent/RU2001124830A/ru
Priority to KR1020017011424A priority patent/KR20010113730A/ko
Priority to BR0008818-8A priority patent/BR0008818A/pt
Priority to PCT/JP2000/001119 priority patent/WO2000054224A1/en
Priority to CNB008047863A priority patent/CN1249632C/zh
Priority to AU26937/00A priority patent/AU2693700A/en
Priority to CA002367152A priority patent/CA2367152A1/en
Priority to EP00905363A priority patent/EP1159713A1/en
Priority to TW089103516A priority patent/TW459208B/zh
Priority to US09/516,950 priority patent/US6677946B1/en
Publication of JP2000259853A publication Critical patent/JP2000259853A/ja
Application granted granted Critical
Publication of JP3599268B2 publication Critical patent/JP3599268B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、3次元モデリングによって作成された複数のオブジェクトの配置関係から、光源からの光の放射に伴って生じるオブジェクトの影をそれぞれ背後に配置された別のオブジェクトに表現するようにした画像処理方法及び画像処理装置並びにこの画像処理を実現するプログラムが記録された記録媒体に関する。
【0002】
【従来の技術】
近時、隠線処理、隠面消去処理、スムーズシェーディング、テクスチャマッピング等のコンピュータグラフィックス(CG)処理が、ハードウエアの飛躍的な発達と相俟って急速に進歩している。
【0003】
CG処理としては、一般に、CADの3次元モデリングによって複数の3次元形状(オブジェクト)を作成し、これらのオブジェクトに対して色や陰影をつけ、鏡面反射、拡散反射、屈折、透明感などの光学的特性を付加し、表面模様をつけ、更に、まわりの状況に応じて描画(窓や景色の映り込みや光の回り込み等)するというレンダリング処理が行われる。
【0004】
【発明が解決しようとする課題】
ところで、オブジェクトを構成するポリゴンの法線の方向と光線の視点によって決まる陰影処理(シェーディング)ではなく、光源及び複数のオブジェクトの配置関係から、あるオブジェクトの影がその背後のオブジェクトに映り込むという影の表現処理は、レイトレーシングのような計算コストの高い方法以外では困難である。
【0005】
そこで、従来では、リアルタイム描画を行う場合のように、計算コストをかけられない場合においては、簡単な平面への透視投影や、円形のような単純な図形描画で近似するしかなかった。
【0006】
また、光源が炎など大きさをもっている場合においては、その影の表現は困難を極める。
【0007】
本発明はこのような課題を考慮してなされたものであり、複雑な配置関係を有する複数のオブジェクトや複雑な形状を有するオブジェクトに対する影の表現を簡単に行うことができる画像処理方法及び画像処理装置を提供すること、並びに前記影の表現を簡単に行うことができるプログラムが記録された記録媒体を提供することを目的とする。
【0008】
また、本発明の他の目的は、オブジェクトに対する影の表現を選択的に行うことができる画像処理方法及び画像処理装置を提供すること、並びに前記影の表現を選択的に行うことができるプログラムが記録された記録媒体を提供することにある。
【0009】
また、本発明の他の目的は、オブジェクトに対する影の表現において種々の効果(ぼかし等)を容易に付与することができる画像処理方法及び画像処理装置を提供すること、並びに前記影の表現において種々の効果を容易に付与することができるプログラムが記録された記録媒体を提供することにある。
【0010】
また、本発明の他の目的は、前記影に対する効果のうち、影のぼかしを容易に制御することができ、より現実感のある影の表現を容易に行うことができる画像処理方法及び画像処理装置を提供すること、並びに前記現実感のある影の表現を容易に行うことができるプログラムが記録された記録媒体を提供することにある。
【0011】
また、本発明の他の目的は、炎のような面光源の投影像と該面光源による影を容易に表現することができる画像処理方法及び画像処理装置を提供すること、並びに前記面光源の投影像と該面光源による影を容易に表現することができるプログラムが記録された記録媒体を提供することにある。
【0012】
【課題を解決するための手段】
本発明に係る画像処理方法は、3次元モデリングによる複数のオブジェクトの配置関係から少なくとも1つの仮想面を設定し、光源を視点とした前記仮想面への投影によって形成される少なくとも1つのオブジェクトの影を該オブジェクトよりも光源から遠い他のオブジェクトに表現する画像処理方法であって、描画エリアとテクスチャエリアとを有する画像メモリの前記テクスチャエリアに前記仮想面に対応したシャドウ面を設定し、前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、前記シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングすることを特徴とする。
【0013】
これにより、複雑な配置関係を有する複数のオブジェクトや複雑な形状を有するオブジェクトに対する影の表現を簡単に行うことができる。
【0014】
そして、前記方法において、各オブジェクトの光源処理に関する属性中に、それぞれオブジェクトに対して影を表現するか否かの影表現属性を定義し、前記他のオブジェクトに対する影の表現処理を前記影表現属性に基づいて選択的に行うようにしてもよい。この場合、オブジェクトに対する影の表現を選択的に行うことができる。
【0016】
この場合、前記他のオブジェクトへの前記影のテクスチャマッピングを、少なくとも前記他のオブジェクトの前記仮想面への投影座標に基づいて行うようにしてもよいし、他のオブジェクトを構成するポリゴン単位に行うようにしてもよい。
【0017】
また、前記方法において、前記光源を視点とした前記複数のオブジェクトの座標を求め、前記光源から近い順に前記オブジェクトの仮想面への投影座標を求め、1つのオブジェクトに対するテクスチャマッピングが終了するたびに、当該オブジェクトによって形成される影を前記投影座標に基づいて前記シャドウ面に描画するようにしてもよい。
【0018】
この場合、前記複数のオブジェクトの座標と前記仮想面への投影座標をポリゴン単位に求めて、前記光源から近い順に描画リストに順次登録し、前記シャドウ面への描画の際に、前記描画リストから順次読み出して行うようにしてもよい。
【0019】
そして、前記シャドウ面に描画された影に対し、少なくとも光源からの距離に対応してローパスフィルタをかけることにより、前記影に少なくとも前記光源からの距離に対応したぼかしを表現することが好ましい。これにより、オブジェクトに対する影の表現において種々の効果(ぼかし等)を容易に付与することができる。
【0020】
また、前記シャドウ面に描画された影を前記オブジェクトに表現する際に、前記ローパスフィルタをかける前の影と、前記ローパスフィルタをかけた後の影と、処理対象のオブジェクトの光源座標に応じてレンダリングによる内部補間を行うことにより、前記影のぼかしを制御するようにしてもよい。この場合、影のぼかしを容易に制御することができ、より現実感のある影の表現を容易に行うことができる。
【0021】
また、前記方法において、前記シャドウ面として参照用シャドウ面と作成用シャドウ面を用意し、処理対象のオブジェクトが切り替わるたびに、作成用シャドウ面に描画された影を参照用シャドウ面に複写し、1つのオブジェクトについてポリゴン単位に前記参照用シャドウ面の影をテクスチャマッピングするたびに、該ポリゴンの前記仮想面に対する投影像を前記作成用シャドウ面に新たな影として合成描画するようにしてもよい。
【0022】
この場合、前記作成用シャドウ面に描画された影を参照用シャドウ面に複写するたびに、前記作成用シャドウ面に描画された影に対してローパスフィルタをかけるようにしてもよい。これにより、オブジェクトに対する影の表現において種々の効果(ぼかし等)を容易に付与することができる。
【0023】
また、前記シャドウ面として前記参照用シャドウ面と作成用シャドウ面に加えて、光源を視点とし、かつ、処理対象のオブジェクトの背後に設置される背景仮想面に対応したテクスチャ面である背景シャドウ面を用意し、前記仮想面に投影された影を前記背景仮想面に投影することにより形成される影を前記背景シャドウ面に描画し、前記参照用シャドウ面に描画された影と、前記背景シャドウ面に描画された影と、前記オブジェクトの光源座標に基づいて、レンダリングによる内部補間を行いながら、処理対象のオブジェクトに表現される影をテクスチャマッピングするようにしてもよい。この場合、影のぼかしを容易に制御することができ、より現実感のある影の表現を容易に行うことができる。
【0024】
また、前記方法において、前記シャドウ面の初期値として炎などの面光源を設定し、前記オブジェクトに対して前記面光源の映り込みと影処理を行うようにしてもよい。この場合、炎のような面光源の投影像と該面光源による影を容易に表現することができる。
【0025】
次に、本発明に係る画像処理装置は、3次元モデリングによる複数のオブジェクトの配置関係から少なくとも1つの仮想面を設定する第1の手段と、光源を視点とした前記仮想面への投影によって形成される少なくとも1つのオブジェクトの影を該オブジェクトよりも光源から遠い他のオブジェクトに表現する第2の手段とを有する画像描画装置において、前記第2の手段は、描画エリアとテクスチャエリアとを有する画像メモリの前記テクスチャエリアに前記仮想面に対応したシャドウ面を設定し、前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、該シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングする描画手段を有することを特徴とする
【0026】
この場合、前記第1の手段において、各オブジェクトの光源処理に関する属性中に、それぞれオブジェクトに対して影を表現するか否かの影表現属性を定義し、前記第2の手段は、前記他のオブジェクトに対する影の表現処理を前記影表現属性に基づいて選択的に行うようにしてもよい。
【0028】
記描画手段において、前記他のオブジェクトへの前記影のテクスチャマッピングを、少なくとも前記他のオブジェクトの前記仮想面への投影座標に基づいて行うようにしてもよいし、他のオブジェクトを構成するポリゴン単位に行うようにしてもよい。
【0029】
また、第2の手段において、前記光源を視点とした前記複数のオブジェクトの座標を求め、前記光源から近い順に前記オブジェクトの仮想面への投影座標を求める座標演算手段を設け、前記描画手段において、1つのオブジェクトに対するテクスチャマッピングが終了するたびに、当該オブジェクトによって形成される影を前記投影座標に基づいて前記シャドウ面に描画するようにしてもよい。
【0030】
また、第2の手段において、前記複数のオブジェクトの座標と前記仮想面への投影座標をポリゴン単位に求めて、前記光源から近い順に描画リストに順次登録する描画リスト作成手段を設け、前記描画手段において、前記シャドウ面への描画の際に、前記描画リストから順次読み出して行うようにしてもよい。
【0031】
また、前記描画手段において、前記シャドウ面に描画された影に対し、少なくとも光源からの距離に対応してローパスフィルタをかけることにより、前記影に少なくとも前記光源からの距離に対応したぼかしを表現するようにしてもよい。
【0032】
また、前記描画手段において、前記シャドウ面に描画された影を前記オブジェクトに表現する際に、前記ローパスフィルタをかける前の影と、前記ローパスフィルタをかけた後の影と、処理対象のオブジェクトの光源座標に応じてレンダリングによる内部補間を行うことにより、前記影のぼかしを制御するようにしてもよい。
【0033】
また、前記描画手段において、前記シャドウ面として参照用シャドウ面と作成用シャドウ面を用意し、処理対象のオブジェクトが切り替わるたびに、作成用シャドウ面に描画された影を参照用シャドウ面に複写し、1つのオブジェクトについてポリゴン単位に前記参照用シャドウ面の影をテクスチャマッピングするたびに、該ポリゴンの前記仮想面に対する投影像を前記作成用シャドウ面に新たな影として合成描画するようにしてもよい。
【0034】
また、前記描画手段において、前記作成用シャドウ面に描画された影を参照用シャドウ面に複写するたびに、前記作成用シャドウ面に描画された影に対してローパスフィルタをかけるようにしてもよい。
【0035】
また、前記描画手段において、前記シャドウ面として前記参照用シャドウ面と作成用シャドウ面に加えて、光源を視点とし、かつ、処理対象のオブジェクトの背後に設置される背景仮想面に対応したテクスチャ面である背景シャドウ面を用意し、前記仮想面に投影された影を前記背景仮想面に投影することにより形成される影を前記背景シャドウ面に描画し、前記参照用シャドウ面に描画された影と、前記背景シャドウ面に描画された影と、前記オブジェクトの光源座標に基づいて、レンダリングによる内部補間を行いながら、処理対象のオブジェクトに表現される影をテクスチャマッピングするようにしてもよい。
【0036】
また、前記描画手段において、前記シャドウ面の初期値として炎などの面光源を設定し、前記オブジェクトに対して前記面光源の映り込みと影処理を行うようにしてもよい。
【0037】
次に、本発明に係る記録媒体は、描画エリアとテクスチャエリアとを有する画像メモリを有する画像描画装置を、3次元モデリングによる複数のオブジェクトの配置関係から少なくとも1つの仮想面を設定する第1の手段、光源を視点とした前記仮想面への投影によって形成される少なくとも1つのオブジェクトの影を該オブジェクトよりも光源から遠い他のオブジェクトに表現する第2の手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記第2の手段は、前記画像メモリの前記テクスチャエリアに前記仮想面に対応したシャドウ面を設定し、前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、該シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングする描画手段を有することを特徴とする。
【0038】
この記録媒体を用いることにより、複雑な配置関係を有する複数のオブジェクトや複雑な形状を有するオブジェクトに対する影の表現を簡単に行うことができる。
【0039】
そして、前記第1の手段において、各オブジェクトの光源処理に関する属性中に、それぞれオブジェクトに対して影を表現するか否かの影表現属性を定義し、第2の手段において、前記他のオブジェクトに対する影の表現処理を前記影表現属性に基づいて選択的に行うようにしてもよい。
【0040】
また、第2のステップにおいて、前記仮想面に対応したテクスチャ面であるシャドウ面を設定し、前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、該シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングする描画ステップを含めるようにしてもよい。
【0041】
この場合、前記描画手段において、前記他のオブジェクトへの前記影のテクスチャマッピングを、少なくとも前記他のオブジェクトの前記仮想面への投影座標に基づいて行うようにしてもよいし、他のオブジェクトを構成するポリゴン単位に行うようにしてもよい。
【0042】
また、前記第2の手段において、前記光源を視点とした前記複数のオブジェクトの座標を求め、前記光源から近い順に前記オブジェクトの仮想面への投影座標を求める座標演算手段を含めるようにし、前記描画手段において、1つのオブジェクトに対するテクスチャマッピングが終了するたびに、当該オブジェクトによって形成される影を前記投影座標に基づいて前記シャドウ面に描画するようにしてもよい。
【0043】
また、第2の手段において、前記複数のオブジェクトの座標と前記仮想面への投影座標をポリゴン単位に求めて、前記光源から近い順に描画リストに順次登録する描画リスト作成手段を含めるようにし、前記描画手段において、前記シャドウ面への描画の際に、前記描画リストから順次読み出して行うようにしてもよい。
【0044】
また、前記描画手段において、前記シャドウ面に描画された影に対し、少なくとも光源からの距離に対応してローパスフィルタをかけることにより、前記影に少なくとも前記光源からの距離に対応したぼかしを表現するようにしてもよい。
【0045】
また、前記描画手段において、前記シャドウ面に描画された影を前記オブジェクトに表現する際に、前記ローパスフィルタをかける前の影と、前記ローパスフィルタをかけた後の影と、処理対象のオブジェクトの光源座標に応じてレンダリングによる内部補間を行うことにより、前記影のぼかしを制御するようにしてもよい。
【0046】
また、前記描画手段において、前記シャドウ面として参照用シャドウ面と作成用シャドウ面を用意し、処理対象のオブジェクトが切り替わるたびに、作成用シャドウ面に描画された影を参照用シャドウ面に複写し、1つのオブジェクトについてポリゴン単位に前記参照用シャドウ面の影をテクスチャマッピングするたびに、該ポリゴンの前記仮想面に対する投影像を前記作成用シャドウ面に新たな影として合成描画するようにしてもよい。
【0047】
また、前記描画手段において、前記作成用シャドウ面に描画された影を参照用シャドウ面に複写するたびに、前記作成用シャドウ面に描画された影に対してローパスフィルタをかけるようにしてもよい。
【0048】
また、前記描画手段において、前記シャドウ面として前記参照用シャドウ面と作成用シャドウ面に加えて、光源を視点とし、かつ、処理対象のオブジェクトの背後に設置される背景仮想面に対応したテクスチャ面である背景シャドウ面を用意し、前記仮想面に投影された影を前記背景仮想面に投影することにより形成される影を前記背景シャドウ面に描画し、前記参照用シャドウ面に描画された影と、前記背景シャドウ面に描画された影と、前記オブジェクトの光源座標に基づいて、レンダリングによる内部補間を行いながら、処理対象のオブジェクトに表現される影をテクスチャマッピングするようにしてもよい。
【0049】
また、前記描画手段において、前記シャドウ面の初期値として炎などの面光源を設定し、前記オブジェクトに対して前記面光源の映り込みと影処理を行うようにしてもよい。
【0050】
【発明の実施の形態】
以下、本発明に係る画像処理方法及び画像処理装置を例えば3次元のCG処理を行うエンタテインメント装置に適用した実施の形態例(以下、単に実施の形態に係るエンタテインメント装置と記す)を図1〜図30を参照しながら説明する。
【0051】
本実施の形態に係るエンタテインメント装置10は、図1に示すように、このエンタテインメント装置10を制御するメインCPU12と、各種プログラムの動作や各種データの格納等に使用されるメインメモリ14と、前記メインCPU12の制御に基づいて画像データを生成し、表示装置16(この例ではCRT)に出力する画像処理部18と、外部機器とのデータの送受信を行うための入出力ポート20とを有して構成されている。
【0052】
前記メインCPU12には、バス22を介してメインメモリ14、画像処理部18及び入出力ポート20が接続されている。入出力ポート20には、例えばこのエンタテインメント装置10に対してデータ(キー入力データや座標データ等)を入力するための入力装置24や、各種プログラムやデータ(オブジェクトに関するデータやテクスチャデータ等)が記録された例えばCD−ROMを再生する光ディスク装置26等が接続される。
【0053】
前記画像処理部18は、レンダリングエンジン30、メモリインターフェース32、画像メモリ34、表示制御装置36(例えばプログラマブルCRTコントローラ等)を有する。
【0054】
レンダリングエンジン30は、メインCPU12から供給される描画コマンドに対応して、メモリインターフェース32を介して、画像メモリ34に所定の画像データを描画する動作を実行する。
【0055】
メモリインターフェース32とレンダリングエンジン30との間には第1のバス38が接続され、メモリインターフェース32と画像メモリ34との間には第2のバス40が接続されている。第1及び第2のバス38及び40は、それぞれ例えば128ビットのビット幅を有し、レンダリングエンジン30が画像メモリ34に対して高速に描画処理を実行することができるようになっている。
【0056】
レンダリングエンジン30は、例えばNTSC方式、あるいはPAL方式などの320×240画素の画像データ、あるいは640×480画素の画像データを、リアルタイムに、即ち1/60〜1/30秒の間に、10数回〜数10回以上描画できる能力を有する。
【0057】
画像メモリ34は、例えばテクスチャエリア34aと描画エリア34b(図3参照)を同一のエリアに指定することができるユニファイドメモリ構造のものが採用されている。
【0058】
表示制御装置36は、光ディスク装置26を通じて取り込まれたテクスチャデータやメインメモリ14上で作成されたテクスチャデータをメモリインターフェース32を介して画像メモリ34のテクスチャエリアに書き込んだり、画像メモリ34の描画エリアに描画された画像データをメモリインターフェース32を介して読み取り、これを表示装置16に出力し、画面上に表示させるように構成されている。
【0059】
次に、この実施の形態に係るエンタテインメント装置10が有する特徴的な機能であるオブジェクトに影を落とす処理(以下、ドロップシャドウ処理と記す)の機能について説明する。
【0060】
このドロップシャドウ処理機能は、例えば図2に示すように、3次元モデリングによる複数のオブジェクトOb1及びOb2の配置関係から少なくとも1つの仮想面50を設定し、前記オブジェクトOb1の前記仮想面50への投影像54を該オブジェクトOb1よりも光源52から遠い他のオブジェクトOb2に影56として表現するという機能である。
【0061】
このドロップシャドウ処理機能を実現するプログラム(ドロップシャドウ処理手段100)は、予めエンタテインメント装置10にて再生される特定のCD−ROMから所定の処理を経てエンタテインメント装置10のメインメモリ14にダウンロードされることによって当該エンタテインメント装置10上で動作されるようになっている。
【0062】
まず、本実施の形態に係るドロップシャドウ処理手段100の構成について図3〜図9を参照しながら説明する。本実施の形態に係るドロップシャドウ処理手段100は、図3に示すように、各種設定処理手段102、描画リスト作成手段104、描画手段106及び画像表示手段108を有する。
【0063】
各種設定処理手段102は、オブジェクト情報テーブル110の作成や、オブジェクトOb1、Ob2・・・、スクリーン、光源52などの配置設定を行い、更に複数のオブジェクトOb1、Ob2・・・の配置関係から少なくとも1つの仮想面50を設定する。
【0064】
オブジェクト情報テーブル110は、図4に示すように、作成されたオブジェクトに対応した数のレコードが登録され、各レコードには、対応するオブジェクトを構成するポリゴンの頂点データ(オブジェクト座標)が登録されたデータファイル(頂点データファイル)の先頭アドレスと、ポリゴンの数と、使用するテクスチャテーブルの先頭アドレスと、陰影処理の属性情報(グーローなど)、トポロジの情報(メッシュなど)と、光源処理属性等が登録されるようになっている。
【0065】
特に、光源処理属性には、ポリゴン影の表示を行うか否かの情報(有/無=1/0)が定義されるようになっている。
【0066】
描画リスト作成手段104は、オブジェクトの頂点データファイル112や光源52等の配置に基づいてオブジェクトを構成するポリゴン単位にそのスクリーン座標系、光源座標系、及び仮想面50での投影座標(ポリゴン影の座標)を求めてパケット114に登録し、該パケット114を光源52から近い順にいわゆるZソーティングしながら描画リスト116に登録する。
【0067】
オブジェクトの頂点データファイル112は、図5に示すように、作成されたオブジェクトに対応した数のファイルが揃えられ、各ファイルには、オブジェクトを構成するポリゴンのオブジェクト座標PPij0 =(Xij0 ,Yij0 ,Zij0 )、PPij1 =(Xij1 ,Yij1 ,Zij1 )、PPij2 =(Xij2 ,Yij2 ,Zij2 )がレコード単位に登録されるようになっている。
【0068】
また、パケット114の内訳は、図6に示すように、ポリゴンが属するオブジェクトの番号(オブジェクト番号)と、描画リスト116に登録する際のポインタとして用いられるZソートポインタと、ポリゴンのスクリーン座標SPij0 =(XSij0,YSij0,ZSij0)、SPij1 =(XSij1,YSij1,ZSij1)、SPij2 =(XSij2,YSij2,ZSij2)と、ポリゴンの光源座標UPij0 =(XUij0,YUij0,ZUij0)、UPij1 =(XUij1,YUij1,ZUij1)、UPij2 =(XUij2,YUij2,ZUij2)と、ポリゴンの仮想面50に対する投影座標UVij0 =(Uij0 ,Vij0 )、UVij1 =(Uij1 ,Vij1 )、UVij2 =(Uij2 ,Vij2 )が格納されるようになっている。
【0069】
描画手段106は、描画リスト116から順次パケット114を取り出し、これらパケット114に登録されているポリゴンの各種データに基づいて、当該処理対象のポリゴンに対してレンダリング処理による描画を行い、更に、当該処理対象のポリゴンに対するポリゴン影のテクスチャマッピングによる描画を行う。
【0070】
画像表示手段108は、画像メモリ34の描画エリア34bに書き込まれた画像データを読み出して、表示制御装置36に出力するという処理を行う。
【0071】
そして、各種設定処理手段102は、図7に示すように、入力装置24を介して入力されたデータに基づいて、オブジェクト情報テーブル110を作成するテーブル作成手段120と、入力装置24を介して入力されたオブジェクトの配置に関する情報を登録する配置情報登録手段122と、スクリーン、光源52及び仮想面50の各配置に関する情報からスクリーン、光源52及び仮想面50のワールド座標を求め、それぞれ決められた配列変数領域Z1〜Z4に登録する座標設定手段124と、仮想面50のワールド座標に基づいて仮想面50の光源座標を求め、そのZ座標を所定の配列変数領域Z5に登録する光源座標演算手段126とを有する。
【0072】
次に、描画リスト作成手段104は、図8に示すように、描画リスト116を初期化する描画リスト初期化手段130と、オブジェクト情報テーブル110から1レコード単位に情報を読み出すテーブルレコード読出し手段132と、該当する頂点データファイル112から1レコード単位に情報を読み出すファイルレコード読出し手段134と、パケット114にデータを格納するデータ格納手段136と、頂点データファイル112に登録されたポリゴンのスクリーン座標、光源座標及び仮想面50への投影座標を演算する座標演算手段138と、ポリゴンの光源座標に基づいて描画リスト116に対する挿入ポインタ(Zソートポインタ)を決定するポインタ決定手段140と、前記ポインタに対応するレコードにパケット114を挿入するパケット挿入手段142と、処理対象のオブジェクトを構成するポリゴンに対する処理がすべて終了したか否かを判別する終了判別手段144とを有する。
【0073】
次に、描画手段106は、図9に示すように、前記仮想面50に対応した参照用シャドウ面150と作成用シャドウ面152を使用するように構成されている。これらシャドウ面150及び152は、画像メモリ34のテクスチャエリア34aに論理的に割り付けられる。
【0074】
また、この描画手段106は、レンダリングエンジン30に組み込まれている質感表現処理手段154(テクスチャマッピング手段156及びシェーディング手段158)を動作させるためのコマンドを発行する。
【0075】
そして、この描画手段106は、初期データファイル178から読み出した初期データDiを参照用シャドウ面150と作成用シャドウ面152に書き込んで、これらシャドウ面150及び152を初期化するシャドウ面初期化手段160と、描画リスト116から順次パケット114を読み出すパケット読出し手段162と、オブジェクト情報テーブル110から1レコード単位に情報を読み出すテーブルレコード読出し手段164と、処理すべきオブジェクトが切り替わったか否かの判別を行うオブジェクト判別手段166と、参照用シャドウ面150及び作成用シャドウ面152にデータを描画するシャドウ面描画手段168と、オブジェクト情報テーブル110に登録された光源処理属性に基づいてポリゴン影を表示するか否かの判別を行うポリゴン影表示判別手段170と、作成されたポリゴンデータ(質感表現及びドロップシャドウ処理後のポリゴンデータ)を例えばZバッファリングによる隠面消去を行いながら描画エリア34bにポリゴンデータを描画する隠面消去処理手段172と、描画リスト116に登録されたパケット114に対する処理がすべて終了したか否かを判別する終了判別手段174とを有する。
【0076】
次に、本実施の形態に係るドロップシャドウ処理手段100による第1の実施の形態に係るドロップシャドウ処理の動作を説明するが、その前に、このドロップシャドウ処理手段100の動作概念について図2、図10〜図12を参照しながら説明する。
【0077】
まず、図2に仮想面50を用いたドロップシャドウ処理の動作概念を示す。仮想面50は、説明の便宜上、影を落とすオブジェクトOb1と影の落ちるオブジェクトOb2との間にあるが、図10に示すように、仮想面50の位置は、サイズとドロップシャドウ処理がカバーする空間の広さで決定される。
【0078】
そして、この第1の実施の形態においては、オブジェクトOb1は、光源52を視点とした透視変換で仮想面50に投影され、該仮想面50に対応したテクスチャ面であるシャドウ面(参照用シャドウ面150及び作成用シャドウ面152)にポリゴン影として書き込まれる。オブジェクトOb2へのドロップシャドウ処理は、参照用シャドウ面150をテクスチャとして各ポリゴンにテクスチャマッピングすることにより行われる。
【0079】
ポリゴンの各頂点のテクスチャ座標は、同様に光源52を視点とした透視変換で求めることができる。透視変換の式を図11を参照しながら説明する。
【0080】
図11において、オブジェクトOb1の各頂点の仮想面50への透視変換は、光源52が点光源の場合、
Xa=(xa*ScrZ)/za
Ya=(ya*ScrZ)/za
となり、オブジェクトOb2の各頂点の影のテクスチャ座標(Ub,Vb)も同様の透視変換で
Ub=(xb*ScrZ)/zb
Vb=(yb*ScrZ)/zb
となる。
【0081】
なお、光源52が平行光源の場合は、
(Xa,Ya)=(xa,ya)
(Xb,Yb)=(xb,yb)
となる。
【0082】
図12に、第1の実施の形態に係るドロップシャドウ処理の動作を概念的に示す。このドロップシャドウ処理は、オブジェクト単位にみたもので、シャドウ面(参照用シャドウ面150)に描画されているポリゴン影をオブジェクトにテクスチャマッピングしてスクリーン176に描画し(手順1)、その後、シャドウ面150に当該オブジェクトにて形成されるポリゴン影を描画する(手順2)という処理を行う。しかも、この処理は、矢印Aに示すように、光源52を視点としたZソーティングにより行われる。
【0083】
次に、この第1の実施の形態に係るドロップシャドウ処理の動作について図13のフローチャートを参照しながら説明する。
【0084】
このドロップシャドウ処理は、図13に示すように、最初に、ステップS1において、各種設定処理手段102を通じて、オブジェクト情報テーブル110の作成や、オブジェクト、スクリーン176、光源52などの配置設定が行われ、更に複数のオブジェクトの配置関係から少なくとも1つの仮想面50の設定が行われる(各種設定処理)。
【0085】
次いで、ステップS2において、描画リスト作成手段104を通じて、オブジェクトの頂点データファイル112や光源52等の配置に基づいてオブジェクトを構成するポリゴン単位にそのスクリーン座標系、光源座標系、及び仮想面50での投影座標(ポリゴン影の座標)を求めてパケット114に登録し、該パケット114を光源52から近い順に描画リスト116に登録する(描画リスト作成処理)。
【0086】
その後、ステップS3において、描画手段106を通じて、描画リスト116から順次パケット114を取り出し、これらパケット114に登録されているポリゴンの各種データに基づいて、当該処理対象のポリゴンに対してレンダリング処理による描画を行い、更に、当該処理対象のポリゴンに対するポリゴン影のテクスチャマッピングによる描画を行う(描画処理)。
【0087】
次に、ステップS4において、画像表示手段108を通じて、画像メモリ34の描画エリア34bに書き込まれた画像データを読み出しながら表示制御装置36を介して表示装置16に出力することにより、例えば図2に示すように、光源52に対してあるオブジェクトの背後に配置されたオブジェクトOb2にその前方にあるオブジェクトOb1の影が表現されるというドロップシャドウが行われることになる。
【0088】
そして、前記ステップS4での処理が終了した段階で、この第1の実施の形態に係るドロップシャドウ処理が終了することになる。
【0089】
次に、各種設定処理手段102、描画リスト作成手段104及び描画手段106の処理動作について図14〜図19のフローチャートを参照しながら説明する。
【0090】
最初に、各種設定処理手段102は、図14のステップS101において、テーブル作成手段120を通じて、入力装置24を介して入力されたデータに基づいて、オブジェクト情報テーブル110を作成する。
【0091】
オブジェクト情報テーブル110に登録される情報としては、図4に示すように、陰影処理の属性情報(グーローなど)、トポロジの情報(メッシュなど)及び光源処理属性等である。光源処理属性には、ポリゴン影の表示を行うか否かの情報(有/無=1/0)が定義される。
【0092】
なお、頂点データファイル112の先頭アドレス、ポリゴンの数、使用するテクスチャテーブルの先頭アドレス等は、CADにてオブジェクトを作成した際に登録される。
【0093】
次に、ステップS102において、配置情報登録手段122を通じて、入力装置24を介して入力されたオブジェクトの配置に関する情報をオブジェクト情報テーブル110に登録する。
【0094】
次に、ステップS103において、座標設定手段124を通じて、スクリーン176の配置に関する情報に基づいてスクリーン176のワールド座標を演算し、その演算結果を所定の配列変数領域Z1に格納する。
【0095】
次に、ステップS104において、同じく座標設定手段124を通じて、光源52の配置に関する情報に基づいて光源52のワールド座標を演算し、その演算結果を所定の配列変数領域Z2に格納する。また、入力装置24を介して入力された光源52の種類を所定の配列変数領域Z3に格納する。
【0096】
次に、ステップS105において、座標設定手段124を通じて、前記配列変数領域Z2に格納された光源52の位置と、オブジェクト情報テーブル110に登録されたオブジェクトの配置情報に基づいて、仮想面50の配置を設定し、更に該仮想面50のワールド座標を演算して所定の配列変数領域Z4に格納する。
【0097】
次に、ステップS106において、光源座標演算手段126を通じて、配列変数領域Z4に格納されている仮想面50のワールド座標と、光源52の位置に基づいて、仮想面50の光源座標を演算し、そのZ座標を所定の配列変数領域Z5に格納する。
【0098】
このステップS105での処理が終了した段階で、この各種設定処理手段102での処理が終了する。
【0099】
次に、描画リスト作成手段104での処理動作について図15及び図16のフローチャートを参照しながら説明する。
【0100】
まず、図15のステップS201において、描画リスト初期化手段130を通じて、描画リスト116を初期化する。
【0101】
次に、ステップS202において、オブジェクトの検索に用いられるインデックスレジスタiに初期値「0」を格納して、該インデックスレジスタiを初期化する。
【0102】
次に、ステップS203において、テーブルレコード読出し手段132を通じて、オブジェクト情報テーブル110のインデックスレジスタiで示すレコード(iレコード)を読み出す。
【0103】
次に、ステップS204において、ポリゴンの検索に用いられるインデックスレジスタjに初期値「0」を格納して、該インデックスレジスタjを初期化する。
【0104】
次に、ステップS205において、データ格納手段136を通じて、パケット114に初期値を格納して、パケット114を初期化する。
【0105】
次に、ステップS206において、データ格納手段136を通じて、オブジェクト番号i(インデックスレジスタiの値)をパケット114に格納する。
【0106】
次に、ステップS207において、ファイルレコード読出し手段134を通じて、該当する頂点データファイル112のインデックスレジスタjで示すレコード(jレコード)を読み出す。即ち、j番目のポリゴンの頂点データを読み出す。該当する頂点データファイル112は、前記読み出されたオブジェクト情報テーブル110のiレコードに登録されている頂点データファイル112の先頭アドレスに対応する頂点データファイルである。
【0107】
次に、ステップS208において、座標演算手段138を通じて、前記読み出されたオブジェクト情報テーブル110のiレコードに登録されたオブジェクトの配置情報と、配列変数領域Z1に登録されているスクリーン176のワールド座標と、j番目のポリゴンの頂点データに基づいて、該j番目のポリゴンの各頂点におけるスクリーン座標SPij0 =(XSij0,YSij0,ZSij0)、SPij1 =(XSij1,YSij1,ZSij1)、SPij2 =(XSij2,YSij2,ZSij2)を求め、データ格納手段136を通じて、該スクリーン座標をパケット114に格納する。
【0108】
次に、ステップS209において、座標演算手段138を通じて、前記オブジェクトの配置情報と、配列変数領域Z2に登録されている光源52のワールド座標と、j番目のポリゴンの頂点データに基づいて、該j番目のポリゴンの各頂点における光源座標UPij0 =(XUij0,YUij0,ZUij0)、UPij1 =(XUij1,YUij1,ZUij1)、UPij2 =(XUij2,YUij2,ZUij2)を求め、データ格納手段136を通じて、該光源座標をパケット114に格納する。
【0109】
次に、ステップS210において、座標演算手段138を通じて、前記オブジェクトの配置情報と、配列変数領域Z5に登録されている仮想面50のZ座標(光源座標)と、j番目のポリゴンの頂点データに基づいて、該j番目のポリゴンの各頂点の仮想面50に対する投影座標UVij0 =(Uij0 ,Vij0 )、UVij1 =(Uij1 ,Vij1 )、UVij2 =(Uij2 ,Vij2 )を求め、データ格納手段136を通じて、該投影座標をパケット114に格納する。
【0110】
次に、ステップS211において、ポインタ決定手段140を通じて、前記ステップS209で求めた各頂点の光源座標UPij0 =(XUij0,YUij0,ZUij0)、UPij1 =(XUij1,YUij1,ZUij1)、UPij2 =(XUij2,YUij2,ZUij2)のZ座標のうち、最も光源に近いZ座標を選択して、当該j番目のポリゴンのZソートポインタとする。
【0111】
次に、図16のステップS212において、パケット挿入手段142を通じて、描画リスト116を検索し、図17に示すように、パケット114の並びがZ座標の値(Zソートポインタの値)の増加に対応した並びになるように今回のパケット114を描画リスト116に挿入する。
【0112】
次に、ステップS213において、終了判別手段144を通じて、インデックスレジスタjの値を+1更新した後、ステップS214において、i番目のオブジェクトに関するすべてのポリゴンについての処理が終了したか否かが判別される。この判別は、インデックスレジスタjの値がオブジェクト情報テーブル110のiレコードに登録されているポリゴンの数M以上であるかどうかで行われる。
【0113】
i番目のオブジェクトに関するすべてのポリゴンについての処理が終了していない場合は、図15のステップS205に戻り、次のポリゴンに関する各種座標を演算してパケット114に格納し、該パケット114を描画リストの該当するところに挿入するという処理を行う。
【0114】
そして、前記ステップS214において、i番目のオブジェクトに関するすべてのポリゴンについての処理が終了したと判別された場合は、次のステップS215に進み、終了判別手段144を通じて、インデックスレジスタiの値を+1更新した後、ステップS216において、すべてのオブジェクトについての処理が終了したか否かが判別される。この判別は、インデックスレジスタiの値がオブジェクト情報テーブル110に登録されているレコード数N以上であるかどうかで行われる。
【0115】
すべてのオブジェクトについての処理が終了していない場合は、図15のステップS203に戻り、次のオブジェクトに関するすべてのポリゴンについての各種座標を演算してそれぞれパケット114に格納し、これらパケット114をZソートポインタが増加する並びで描画リスト116に挿入するという処理を行う。
【0116】
そして、前記ステップS216において、すべてのオブジェクトについての処理が終了したと判別された場合は、この描画リスト作成手段104での処理が終了する。
【0117】
次に、描画手段106の処理動作について図18及び図19のフローチャートを参照しながら説明する。
【0118】
まず、図18のステップS301において、シャドウ面初期化手段160を通じて、初期データファイル178から初期データDiを読み出して、使用するシャドウ面(参照用シャドウ面150及び作成用シャドウ面152)に描画してこれらシャドウ面150及び152を初期化する。
【0119】
次に、ステップS302において、オブジェクト番号iの保存に用いられるレジスタRに初期値「FF」を格納し、パケット114の検索に用いられるインデックスレジスタkに初期値「0」を格納してこれらレジスタR及びインデックスレジスタkを初期化する。
【0120】
次に、ステップS303において、パケット読出し手段162を通じて、描画リスト116からインデックスレジスタkで示すポイント(k番目)のパケット114を読み出し、次いで、ステップS304において、前記読み出されたパケット114からオブジェクト番号iを読み出す。
【0121】
次に、ステップS305において、オブジェクト判別手段166を通じて、今回のオブジェクト番号iが前回のオブジェクト番号と同じか否かが判別される。この判別は、インデックスレジスタiの値とレジスタRの値が同じかどうかで行われる。
【0122】
オブジェクト番号iが異なる場合は、次のステップS306に進み、テーブルレコード読出し手段164を通じて、オブジェクト情報テーブル110のiレコードを読み出す。
【0123】
次に、ステップS307において、シャドウ面描画手段168を通じて、作成用シャドウ面152に描画されているポリゴン影に関するテクスチャデータ(あるいは初期データDi)を参照用シャドウ面150に複写する。
【0124】
次に、ステップS308において、オブジェクト判別手段166を通じて、オブジェクト番号iをレジスタRに格納する。
【0125】
前記ステップS308での処理が終了した段階、又は前記ステップS305において今回と前回のオブジェクト番号が同じであると判別された場合は、図19のステップS309に進み、質感表現処理手段154を通じて、今回のポリゴンに関し、通常の質感表現処理を行う。即ち、今回のポリゴンのスクリーン座標と、テクスチャテーブル180の先頭アドレスに基づいて、シェーディング、テクスチャマッピングなどの質感表現処理を行う。
【0126】
次に、ステップS310において、ポリゴン影表示判別手段170を通じて、当該オブジェクトに対するポリゴン影の表示の可否が判別される。この判別は、前記読み出されたオブジェクト情報テーブル110の該当レコードに登録されている光源処理属性中のポリゴン影の表示属性に基づいて行われる。
【0127】
ポリゴン影が表示可であれば、次のステップS311に進み、質感表現処理手段154におけるテクスチャマッピング手段156を通じて、当該処理対象のポリゴンの仮想面50に対する投影座標UVij0 =(Uij0 ,Vij0 )、UVij1 =(Uij1 ,Vij1 )、UVij2 =(Uij2 ,Vij2 )を参照しながら参照用シャドウ面150に描画されたポリゴン影を処理対象のポリゴンにテクスチャマッピングする。参照用シャドウ面150に初期データDiのみが描画されている場合は、該初期データDiがテクスチャマッピングされる。
【0128】
前記ステップS311での処理が終了した段階、又は前記ステップS310においてポリゴン影が表示不可と判別された場合は、ステップS312に進み、シャドウ面描画手段168を通じて、今回のポリゴンの仮想面50に対する投影座標に基づいて、今回のポリゴンのポリゴン影を作成用シャドウ面152に合成描画(前回のポリゴン影と合成)し、黒色(R,G,B,α)=(0,0,0,100%)に配色する。
【0129】
次に、ステップS313において、隠面消去処理手段172を通じて、今回のポリゴンのスクリーン座標に基づいて、Zバッファリング処理を行いながら今回のポリゴンのデータを描画エリア34bに書き込む。
【0130】
次に、ステップS314において、インデックスレジスタkの値を+1更新した後、終了判別手段174を通じて、すべてのパケット114についての処理が終了したか否かが判別される。終了していなければ、前記ステップS303に戻り、次のパケット114に登録されたポリゴンについて通常の質感表現処理、ポリゴン影のテクスチャマッピング及び隠面消去処理を行う。
【0131】
そして、描画リスト116に登録されたすべてのパケット114について処理が終了した段階で、この描画手段106での処理が終了する。
【0132】
前記ステップS303〜S313の処理が繰り返されることで、まず、光源52に最も近い位置に配されたオブジェクトOb1を構成するポリゴンについては、参照用シャドウ面150に初期データDiが書き込まれているだけであるため、この初期データDiが透明色であれば、前記オブジェクトOb1を構成するポリゴンには、ポリゴン影は描画されない。
【0133】
そして、光源52から例えば2番目に配置されたオブジェクトOb2を構成するポリゴンに関しては、光源52から1番目に配されたオブジェクトOb1のポリゴン影のうち、当該ポリゴンの投影座標で示す範囲に存在するポリゴン影が描画され、2番目のオブジェクトOb2が終了した段階では、1番目のオブジェクトOb1のポリゴン影が2番目のオブジェクトOb2に描画される。
【0134】
同様に、光源52から3番目に配されたオブジェクトOb3に関しても、1番目のオブジェクトOb1のポリゴン影と2番目のオブジェクトOb2のポリゴン影の合成影が描画されることになる。
【0135】
このように、第1の実施の形態に係るドロップシャドウ処理においては、3次元モデリングによる複数のオブジェクトの配置関係から1つの仮想面50を設定し、光源52を視点とした前記仮想面50への投影によって形成されるオブジェクトのポリゴン影を該オブジェクトよりも光源52から遠い他のオブジェクトに表現するようにしている。
【0136】
具体的には、設定された仮想面50に対応したテクスチャ面である参照用シャドウ面150及び作成用シャドウ面152を設定し、前記仮想面50への投影によって形成されるオブジェクトの影を作成用シャドウ面152を通じて参照用シャドウ面150に描画し、該参照用シャドウ面150に描画された影を次のオブジェクトにテクスチャマッピングするようにしている。
【0137】
これにより、複雑な配置関係を有する複数のオブジェクトや複雑な形状を有するオブジェクトに対する影の表現を簡単に行うことができる。
【0138】
特に、この実施の形態では、オブジェクト情報テーブル110の各レコードにおける光源処理属性中に、当該オブジェクトに対してポリゴン影を表現するか否かの影表現属性を定義するようにしたので、オブジェクトに対するポリゴン影の表現処理を選択的に行うことができ、例えばゲーム中の主人公の表情が他のオブジェクトの影で隠れてしまうという不都合を回避することができる。
【0139】
次に、第2の実施の形態に係るドロップシャドウ処理について図9、図20〜図22を参照しながら説明する。
【0140】
この第2の実施の形態に係るドロップシャドウ処理は、第1の実施の形態に係るドロップシャドウ処理とほぼ同じであるが、図9のかっこ書きに示すように、光源52からの距離に応じてポリゴン影をぼかすためのバイリニア処理手段190を有する点で異なる。
【0141】
図20に示すように、光源52が点光源ではなく、ある大きさをもつ光源の場合、影を落とすオブジェクトOb1から近距離の部分に仮想面50を配した場合においては、該仮想面50には前記オブジェクトOb1の真影Ssが投影されることになる。
【0142】
しかし、仮想面50を前記オブジェクトOb1から遠い位置に配した場合には、前記真影Ssの部分と該真影Ssの周辺部がぼけて半影Sdとされた部分とが投影されたかたちになる。前記半影Sdの部分は、光源52から仮想面50までの距離に応じて、そのぼけ具合が強くなる。
【0143】
そして、第2の実施の形態に係るドロップシャドウ処理は、上述した半影Sdの特性をそのまま実現できるように構成されている。
【0144】
即ち、図18に示す描画手段106の処理、特に、ステップS307において、シャドウ面描画手段168を通じて、作成用シャドウ面152に描画されているポリゴン影に関するテクスチャデータを参照用シャドウ面150に複写した後、次のかっこ書きで示されたステップS320において、バイリニア処理手段190を通じて、作成用シャドウ面152に描画されているポリゴン影に関するテクスチャデータに対してローパスフィルタをかける。
【0145】
図21に、作成用シャドウ面152に描画されているポリゴン影に関するテクスチャデータを光源52からの距離に応じてローパスフィルタを施し、距離に対応したぼけ具合(半影の具合)を表現する様子を示す。この図21からもわかるように、光源52に対して近距離では鮮明に、遠距離ではぼやけて投影される。
【0146】
特に、この第2の実施の形態では、ステップS305でのオブジェクト番号の判別で、今回のオブジェクト番号iが前回のオブジェクト番号と異なるときに、ステップS320においてローパスフィルタをかけるようにしている。
【0147】
これにより、図22に示すように、オブジェクトOb1を処理した段階(P1)では、オブジェクトOb1のポリゴン影(真影のみ)が作成用シャドウ面152に描画され、オブジェクトOb2を処理した段階(P3)では、オブジェクトOb1のポリゴン影(真影と半影を含む)とオブジェクトOb2のポリゴン影(真影のみ)が作成用シャドウ面152に描画される。
【0148】
即ち、光源52から遠ざかるに従って、かつ、オブジェクトが変わるたびに作成用シャドウ面152に描画されたポリゴン影が光源52からの距離に応じて徐々にぼけるかたちとなる。
【0149】
もちろん、光源座標を監視しながら一定の距離に達するごとに作成用シャドウ面152にローパスフィルタをかけるようにしてもよい。図22に、P1、P2及びP3の地点で作成用シャドウ面152にローパスフィルタをかけるようにした例を示す。
【0150】
この第2の実施の形態に係るドロップシャドウ処理においては、作成用シャドウ面152に描画されたポリゴン影に対し、光源52からの距離に対応してローパスフィルタをかけるようにしたので、前記ポリゴン影に光源52からの距離に応じたぼかしを表現することができ、現実感のある影の表現を容易に行うことができる。
【0151】
次に、第3の実施の形態に係るドロップシャドウ処理について図23〜図29参照しながら説明する。
【0152】
この第3の実施の形態に係るドロップシャドウ処理は、作成用シャドウ面152に描画されたポリゴン影を参照用シャドウ面150を通じてオブジェクトに表現する際に、上述したローパスフィルタをかける前のポリゴン影と、ローパスフィルタをかけた後のポリゴン影と、処理対象のオブジェクトの光源座標に応じてレンダリング(この場合のレンダリングは、狭義のレンダリングを指す。)による内部補間を行うことにより、ポリゴン影のぼかしを制御するようにしたものである。
【0153】
この方法では、図23に示すように、2つのシャドウ面(参照用シャドウ面150と背景シャドウ面192)を用いてレンダリングを行う。
【0154】
前記2つのシャドウ面150及び192は、ローパスフィルタ処理の回数が異なるシャドウ面であり、ポリゴンに表現される影は、光源座標系のZ座標により2つのシャドウ面150及び192の間を内挿するトライリニアテクスチャマッピング手法によって行われる。その結果、光源52から影を落とすオブジェクトへの距離に応じた影のぼけ具合をポリゴン内でも制御でき、より良好な近似ができる。
【0155】
具体的に、第3の実施の形態に係るドロップシャドウ処理の構成及びその処理動作について説明する。
【0156】
この第3の実施の形態に係るドロップシャドウ処理は、第1の実施の形態に係るドロップシャドウ処理とほぼ同じ構成を有するが、各種設定処理手段102と描画手段106の各構成がそれぞれ一部異なる。
【0157】
即ち、各種設定処理手段102は、図24に示すように、上述したテーブル作成手段120、配置情報登録手段122、座標設定手段124及び光源座標演算手段126とを有するが、光源座標演算手段126の機能が異なる。
【0158】
この光源座標演算手段126は、仮想面50のワールド座標に基づいて仮想面50の光源座標を求め、そのZ座標を所定の配列変数領域Z5に登録するほか、各オブジェクトの配置情報に基づいて、各オブジェクトの背後に仮想的に設置される第1〜第nの背景仮想面の光源座標を求め、これらのZ座標をそれぞれ決められた配列変数領域Z11〜Z1nに登録する。
【0159】
一方、描画手段106は、図25に示すように、前記参照用シャドウ面150と作成用シャドウ面152に加えて、第1〜第nの背景仮想面に対応して画像メモリ34のテクスチャエリア34aに論理的に割り付けられた1つの背景シャドウ面192を使用するように構成されている。
【0160】
そして、この描画手段106は、上述したシャドウ面初期化手段160、パケット読出し手段162、テーブルレコード読出し手段164、オブジェクト判別手段166、シャドウ面描画手段168、ポリゴン影表示判別手段170、隠面消去処理手段172及び終了判別手段174とを有するが、シャドウ面初期化手段160、シャドウ面描画手段168及びバイリニア処理手段190の機能がそれぞれ異なる。
【0161】
シャドウ面初期化手段160は、前記参照用シャドウ面150と作成用シャドウ面152に加えて、前記背景シャドウ面192に初期データDiを書き込んで、これらシャドウ面150、152及び192を初期化する。
【0162】
シャドウ面描画手段168は、光源52から仮想面50までの距離(仮想面のZ座標)と、光源52から該当する背景仮想面までの距離(第1〜第nの背景仮想面のいずれかのZ座標)に基づいて、仮想面50に投影されたポリゴン影(参照用シャドウ面150に描画されたポリゴン影)を当該オブジェクトの後面に仮想的に設置された第1〜第nの背景仮想面のいずれかに投影して形成されるポリゴン影を背景シャドウ面192に描画する。
【0163】
また、バイリニア処理手段190は、前記作成用シャドウ面152に描画されたポリゴン影のほか、背景シャドウ面192に描画されたポリゴン影に対してもローパスフィルタ処理を行う。
【0164】
次に、この第3の実施の形態に係るドロップシャドウ処理の動作について図26〜図28のフローチャートを参照しながら説明する。
【0165】
まず、各種設定処理手段102は、図26のステップS401〜S404において、上述した第1の実施の形態に係るドロップシャドウ処理における各種設定処理手段102のステップS101〜S104と同様に、オブジェクト情報テーブル110の作成と、オブジェクトの配置に関する情報のオブジェクト情報テーブル110への登録と、スクリーン176のワールド座標の登録と、光源52の種類及び光源52のワールド座標の登録を行う。
【0166】
次に、ステップS405において、座標設定手段124を通じて、配列変数領域Z2に格納された光源52の位置と、オブジェクト情報テーブル110に登録されたオブジェクトの配置情報に基づいて、仮想面50と第1〜第nの背景仮想面の配置を設定し、更にこれら仮想面50及び第1〜第nの背景仮想面のワールド座標を演算して所定の配列変数領域Z4、Z11〜Z1nに格納する。
【0167】
次に、ステップS406において、光源座標演算手段126を通じて、配列変数領域Z2とZ4に格納されている光源52と仮想面50の各ワールド座標に基づいて、仮想面50及び第1〜第nの背景仮想面の光源座標を演算し、各Z座標を配列変数領域Z5、Z21〜Z2nに格納する。
【0168】
描画リスト作成手段104での処理は、第1の実施の形態に係るドロップシャドウ処理と同様であるため、その説明を省略する。
【0169】
次に、描画手段106は、まず、図27のステップS501において、シャドウ面初期化手段160を通じて、初期データファイル178から初期データDiを読み出して、使用するシャドウ面(参照用シャドウ面150、作成用シャドウ面152及び背面シャドウ面192)に描画してこれらシャドウ面150、152及び192を初期化する。
【0170】
次に、ステップS502において、オブジェクト番号iの保存に用いられるレジスタRに初期値「FF」を格納し、パケット114の検索に用いられるインデックスレジスタkに初期値「0」を格納し、更に背景仮想面の検索に用いられるインデックスレジスタnに初期値「0」を格納してこれらレジスタR、インデックスレジスタk及びnを初期化する。
【0171】
次に、ステップS503において、パケット読出し手段162を通じて、描画リスト116からインデックスレジスタkで示すポイント(k番目)のパケット114を読み出し、次いで、ステップS504において、前記読み出されたパケット114からオブジェクト番号iを読み出す。
【0172】
次に、ステップS505において、オブジェクト判別手段166を通じて、今回のオブジェクト番号iが前回のオブジェクト番号と同じか否かが判別される。この判別は、インデックスレジスタiの値とレジスタRの値が同じかどうかで行われる。
【0173】
オブジェクト番号iが異なる場合は、次のステップS506に進み、テーブルレコード読出し手段164を通じて、オブジェクト情報テーブル110のiレコードを読み出す。
【0174】
次に、ステップS507において、シャドウ面描画手段168を通じて、作成用シャドウ面152に描画されているポリゴン影に関するテクスチャデータを参照用シャドウ面150に複写する。
【0175】
次に、ステップS508において、バイリニア処理手段190を通じ、作成用シャドウ面152に描画されているポリゴン影に関するテクスチャデータに対してローパスフィルタをかける。
【0176】
次に、ステップS509において、オブジェクト判別手段166を通じて、オブジェクト番号iをレジスタRに格納する。その後、ステップS510において、インデックスレジスタnの値を+1更新する。
【0177】
前記ステップS510での処理が終了した段階、又は前記ステップS505において今回と前回のオブジェクト番号が同じであると判別された場合は、図28のステップS511に進み、質感表現処理手段154を通じて、今回のポリゴンに関し、通常の質感表現処理を行う。即ち、今回のポリゴンのスクリーン座標と、テクスチャテーブル180の先頭アドレスに基づいて、シェーディング、テクスチャマッピングなどの質感表現処理を行う。
【0178】
次に、ステップS512において、ポリゴン影表示判別手段170を通じて、当該オブジェクトに対するポリゴン影の表示の可否が判別される。この判別は、前記読み出されたオブジェクト情報テーブル110の該当レコードに登録されている光源処理属性中のポリゴン影の表示属性に基づいて行われる。
【0179】
ポリゴン影が表示可であれば、次のステップS513に進み、ポリゴン影表示判別手段170を通じて、初回か否かが判別される。この判別は、オブジェクト番号iが「0」であるかどうかで行われる。
【0180】
初回でなければ、次のステップS514に進み、シャドウ面描画手段168を通じて、仮想面50のZ座標と第nの背景仮想面のZ座標に基づいて、仮想面50に投影されたポリゴン影(参照用シャドウ面150に描画されたポリゴン影)を当該オブジェクトの後面に仮想的に設置した第nの背景仮想面に投影して形成されるポリゴン影を背景シャドウ面192に描画する。
【0181】
次に、ステップS515において、バイリニア処理手段190を通じて、前記背景シャドウ面192に描画されたポリゴン影に対してローパスフィルタ処理を行って、該ポリゴン影を光源52からの距離に応じてぼかす。
【0182】
次に、ステップS516において、質感表現処理手段154におけるテクスチャマッピング手段156を通じて、参照用シャドウ面150に描画されたポリゴン影と、背景シャドウ面192に描画されたポリゴン影と、当該ポリゴンにおける各頂点の光源座標に基づいて、レンダリングによる内部補間を行いながら、当該ポリゴンに投影されるポリゴン影をテクスチャマッピングする。
【0183】
このとき、図29に示すように、ポリゴン影のかたちが、ポリゴン200の奥行き方向に向かって参照用シャドウ面150に描画されたポリゴン影204のかたちから第nの背景シャドウ面202nに描画されたポリゴン影206のかたちに徐々に変化し、かつ、ポリゴン200に映り込む影の色が、ポリゴン200の奥行き方向に向かって参照用シャドウ面150に描画されたポリゴン影204の色から第nの背景シャドウ面202nに描画されたポリゴン影206の色に徐々に変化するようにテクスチャマッピングが行われる。
【0184】
一方、前記ステップS513において、初回であると判別された場合は、ステップS517に進み、質感表現処理手段154におけるテクスチャマッピング手段156を通じて、当該処理対象のポリゴンの仮想面50に対する投影座標を参照しながら参照用シャドウ面150に描画されたポリゴン影を処理対象のポリゴンにテクスチャマッピングする。
【0185】
前記ステップS516での処理あるいはステップS517での処理が終了した段階、又は前記ステップS512においてポリゴン影が表示不可と判別された場合は、ステップS518に進み、シャドウ面描画手段168を通じて、今回のポリゴンの仮想面50に対する投影座標に基づいて、今回のポリゴンのポリゴン影を作成用シャドウ面152に合成描画(前回のポリゴン影と合成)し、黒色(R,G,B,α)=(0,0,0,100%)に配色する。
【0186】
次に、ステップS519において、隠面消去処理手段172を通じて、今回のポリゴンのスクリーン座標に基づいて、Zバッファリング処理を行いながら今回のポリゴンのデータを描画エリア34bに書き込む。
【0187】
次に、ステップS520において、インデックスレジスタkの値を+1更新した後、終了判別手段174を通じて、すべてのパケット114についての処理が終了したか否かが判別される。終了していなければ、前記ステップS503に戻り、次のパケット114に登録されたポリゴンについて通常の質感表現処理、ポリゴン影のテクスチャマッピング及び隠面消去処理を行う。
【0188】
そして、描画リスト116に登録されたすべてのパケット114について処理が終了した段階で、この描画手段106での処理が終了する。
【0189】
前記ステップS503〜S519の処理が繰り返されることで、まず、光源52に最も近い位置に配されたオブジェクトOb1を構成するポリゴンについては、参照用シャドウ面150に初期データDiが書き込まれているだけであるため、この初期データDiが透明色であれば、前記オブジェクトOb1を構成するポリゴンには、ポリゴン影は描画されない。
【0190】
そして、光源52から例えば2番目に配置されたオブジェクトOb2を構成するポリゴンに関しては、光源52から1番目に配されたオブジェクトOb1のポリゴン影のうち、当該ポリゴンの投影座標で示す範囲に存在するポリゴン影が描画され、2番目のオブジェクトOb2が終了した段階では、1番目のオブジェクトOb1のポリゴン影が2番目のオブジェクトOb2に描画される。このとき、ステップS516でのレンダリング(トライリニア処理)により、当該オブジェクトOb2に投影されるポリゴン影の色が、オブジェクトOb2の奥行き方向に向かって徐々に変化するように表現される。
【0191】
同様に、光源52から3番目に配されたオブジェクトOb3に関しても、1番目のオブジェクトOb1のポリゴン影と2番目のオブジェクトOb2のポリゴン影の合成影が描画され、この場合も、当該オブジェクトOb3の奥行き方向に向かって徐々に変化するように表現される。
【0192】
このように、この第3の実施の形態に係るドロップシャドウ処理においては、作成用シャドウ面152に描画されたポリゴン影をオブジェクトに表現する際に、ローパスフィルタをかける前のポリゴン影とローパスフィルタをかけた後のポリゴン影と処理対象のオブジェクトの光源座標に応じて、レンダリングによる内部補間を行うことにより、ポリゴン影のぼかしを制御するようにしたので、より現実感のある影の表現を容易に行うことができる。
【0193】
次に、第4の実施の形態に係るドロップシャドウ処理について図30を参照しながら説明する。
【0194】
この第4の実施の形態に係るドロップシャドウ処理は、図30に示すように、オブジェクトOb1、Ob2及びOb3に炎のような面光源210を表現することができるようにしたものである。この表現を実現するためには、図30に示すように、仮想面50に予め炎のような面光源210を投影させておけばよい。
【0195】
具体的には、例えば図9に示す第1及び第2の実施の形態に係る描画手段106、図25に示す第3の実施の形態に係る描画手段106で使用される初期データDiとして炎のような面光源210の投影像212を予め設定しておけばよい。
【0196】
これにより、例えば第3の実施の形態に係るドロップシャドウ処理の描画手段106においては、図27のステップS501において、シャドウ面初期化手段160を通じて初期データDiが参照用シャドウ面150、作成用シャドウ面152及び背景シャドウ面192に描画され、その後のステップS503〜S519において、オブジェクトの表面にポリゴン影は黒として配色され、炎のような面光源210は光としてモジュレーションされることになる。しかも、これらポリゴン影や面光源210は、ステップS515において、面光源210からの距離に応じたローパスフィルタ処理が行われることになる。
【0197】
即ち、初期段階(P0)では、作成用シャドウ面152に面光源210の投影像212のみが描画され、第1のオブジェクトに対する処理が終了した段階(P1)では、作成用シャドウ面152に、ローパスフィルタ処理された面光源210の投影像212aとオブジェクトOb1の真影214が描画され、第2のオブジェクトに対する処理が終了した段階(P2)では、作成用シャドウ面152に、2回のローパスフィルタ処理がなされた面光源210の投影像212bと1回のローパスフィルタ処理がなされたオブジェクトOb1の影214aとオブジェクトOb2の真影216が描画されることになる。
【0198】
ここで、光としてのモジュレーションとは、通常の法線の傾きによる光源計算やテクスチャマッピング後のポリゴン色に、参照用シャドウ面150に描画された平面色を乗算することを示す。
【0199】
このように、第4の実施の形態に係るドロップシャドウ処理においては、使用するシャドウ面150、152及び192の初期データDiとして炎などの面光源210の投影像212を設定するようにして、オブジェクトに対して面光源210の映り込みと影処理を行うようにしたので、炎のような面光源210の投影像と該面光源210による影を容易に表現することができる。
【0200】
上述した実施の形態では、隠面消去処理をZバッファリングにより行うようにしたが、その他、スクリーン座標系に基づいたZソーティングにより行うようにしてもよい。
【0201】
なお、この発明に係る画像処理方法、画像処理装置及び記録媒体は、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0202】
【発明の効果】
以上説明したように、本発明に係る画像処理方法及び画像処理装置によれば、以下のような効果を奏することができ、本発明に係る記録媒体によれば、以下のような効果を奏するプログラムを提供することができる。
(1)複雑な配置関係を有する複数のオブジェクトや複雑な形状を有するオブジェクトに対する影の表現を簡単に行うことができる。
(2)オブジェクトに対する影の表現を選択的に行うことができる。
(3)オブジェクトに対する影の表現において種々の効果(ぼかし等)を容易に付与することができる。
(4)影に対する効果のうち、影のぼかしを容易に制御することができ、より現実感のある影の表現を容易に行うことができる。
(5)炎のような面光源の投影像と該面光源による影を容易に表現することができる。
【図面の簡単な説明】
【図1】本実施の形態に係るエンタテインメント装置の概略構成を示すブロック図である。
【図2】本実施の形態に係るドロップシャドウ処理を示す説明図である。
【図3】本実施の形態に係るドロップシャドウ処理手段の機能ブロック図である。
【図4】オブジェクト情報テーブルの内訳を示す説明図である。
【図5】頂点データファイルの内訳を示す説明図である。
【図6】パケットの内訳を示す説明図である。
【図7】第1の実施の形態に係るドロップシャドウ処理における各種設定処理手段の機能ブロック図である。
【図8】第1の実施の形態に係るドロップシャドウ処理における描画リスト作成手段の機能ブロック図である。
【図9】第1の実施の形態に係るドロップシャドウ処理における描画手段の機能ブロック図である。
【図10】点光源に対してドロップシャドウ処理が有効な領域を示す説明図である。
【図11】オブジェクトの仮想面への透視変換を説明するための図である。
【図12】第1の実施の形態に係るドロップシャドウ処理の動作を概念的に示す説明図である。
【図13】第1の実施の形態に係るドロップシャドウ処理の動作を示すフローチャートである。
【図14】第1の実施の形態に係るドロップシャドウ処理の各種設定処理手段の動作を示すフローチャートである。
【図15】第1の実施の形態に係るドロップシャドウ処理の描画リスト作成手段の動作を示すフローチャート(その1)である。
【図16】第1の実施の形態に係るドロップシャドウ処理の描画リスト作成手段の動作を示すフローチャート(その2)である。
【図17】描画リストへのパケットの挿入動作を示す説明図である。
【図18】第1の実施の形態に係るドロップシャドウ処理の描画手段の動作を示すフローチャート(その1)である。
【図19】第1の実施の形態に係るドロップシャドウ処理の描画手段の動作を示すフローチャート(その2)である。
【図20】第2の実施の形態に係るドロップシャドウ処理において、光源がある大きさをもつ場合における仮想面への真影と半影の形成状態を示す説明図である。
【図21】第2の実施の形態に係るドロップシャドウ処理において、作成用シャドウ面に対し、光源からの距離に応じてローパスフィルタを施して、距離に対応したぼけ具合(半影の具合)を表現した説明図である。
【図22】第2の実施の形態に係るドロップシャドウ処理において、オブジェクトを処理する毎にローパスフィルタをかけた場合と、一定の距離毎にローパスフィルタをかけた場合を一括して説明するための図である。
【図23】第3の実施の形態に係るドロップシャドウ処理でのトライリニア処理を示す説明図である。
【図24】第3の実施の形態に係るドロップシャドウ処理の各種設定処理手段を示す機能ブロック図である。
【図25】第3の実施の形態に係るドロップシャドウ処理の描画手段を示す機能ブロック図である。
【図26】第3の実施の形態に係るドロップシャドウ処理の各種設定処理手段の動作を示すフローチャートである。
【図27】第3の実施の形態に係るドロップシャドウ処理の描画手段の動作を示すフローチャート(その1)である。
【図28】第3の実施の形態に係るドロップシャドウ処理の描画手段の動作を示すフローチャート(その2)である。
【図29】ポリゴンの奥行き方向に向かって影のかたち及び色が徐々に変化する表現を示す説明図である。
【図30】オブジェクトに炎のような面光源の投影像と面光源による影を表現する場合の説明図である。
【符号の説明】
10…エンタテインメント装置 12…メインCPU
14…メインメモリ 16…表示装置
18…画像処理部 26…光ディスク装置
30…レンダリングエンジン 34…画像メモリ
36…表示制御装置 50…仮想面
52…光源 54…投影像
56…影 100…ドロップシャドウ処理手段
102…各種設定処理手段 104…描画リスト作成手段
106…描画手段 108…画像表示手段
114…パケット 116…描画リスト
176…スクリーン Ob1、Ob2…オブジェクト

Claims (36)

  1. 3次元モデリングによる複数のオブジェクトの配置関係から少なくとも1つの仮想面を設定し、光源を視点とした前記仮想面への投影によって形成される少なくとも1つのオブジェクトの影を該オブジェクトよりも光源から遠い他のオブジェクトに表現する画像処理方法であって、
    描画エリアとテクスチャエリアとを有する画像メモリの前記テクスチャエリアに前記仮想面に対応したシャドウ面を設定し、
    前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、
    前記シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングすることを特徴とする画像処理方法。
  2. 請求項1記載の画像処理方法において、
    各オブジェクトの光源処理に関する属性中に、それぞれオブジェクトに対して影を表現するか否かの影表現属性を定義し、前記他のオブジェクトに対する影の表現処理を前記影表現属性に基づいて選択的に行うことを特徴とする画像処理方法。
  3. 請求項1又は2記載の画像処理方法において、
    前記他のオブジェクトへの前記影のテクスチャマッピングは、少なくとも前記他のオブジェクトの前記仮想面への投影座標に基づいて行われることを特徴とする画像処理方法。
  4. 請求項1〜3のいずれか1項に記載の画像処理方法において、
    前記他のオブジェクトへの前記影のテクスチャマッピングは、該他のオブジェクトを構成するポリゴン単位に行うことを特徴とする画像処理方法。
  5. 請求項のいずれか1項に記載の画像処理方法において、
    前記光源を視点とした前記複数のオブジェクトの座標を求め、前記光源から近い順に前記オブジェクトの仮想面への投影座標を求め、1つのオブジェクトに対するテクスチャマッピングが終了するたびに、当該オブジェクトによって形成される影を前記投影座標に基づいて前記シャドウ面に描画することを特徴とする画像処理方法。
  6. 請求項記載の画像処理方法において、
    前記複数のオブジェクトの座標と前記仮想面への投影座標をポリゴン単位に求めて、前記光源から近い順に描画リストに順次登録し、
    前記シャドウ面への描画の際に、前記描画リストから順次読み出して行うことを特徴とする画像処理方法。
  7. 請求項又は記載の画像処理方法において、
    前記シャドウ面に描画された影に対し、少なくとも光源からの距離に対応してローパスフィルタをかけることにより、前記影に少なくとも前記光源からの距離に対応したぼかしを表現することを特徴とする画像処理方法。
  8. 請求項記載の画像処理方法において、
    前記シャドウ面に描画された影を前記オブジェクトに表現する際に、前記ローパスフィルタをかける前の影と、前記ローパスフィルタをかけた後の影と、処理対象のオブジェクトの光源座標に応じてレンダリングによる内部補間を行うことにより、前記影のぼかしを制御することを特徴とする画像処理方法。
  9. 請求項のいずれか1項に記載の画像処理方法において、
    前記シャドウ面として参照用シャドウ面と作成用シャドウ面を用意し、処理対象のオブジェクトが切り替わるたびに、作成用シャドウ面に描画された影を参照用シャドウ面に複写し、1つのオブジェクトについてポリゴン単位に前記参照用シャドウ面の影をテクスチャマッピングするたびに、該ポリゴンの前記仮想面に対する投影像を前記作成用シャドウ面に新たな影として合成描画することを特徴とする画像処理方法。
  10. 請求項記載の画像処理方法において、
    前記作成用シャドウ面に描画された影を参照用シャドウ面に複写するたびに、前記作成用シャドウ面に描画された影に対してローパスフィルタをかけることを特徴とする画像処理方法。
  11. 請求項10記載の画像処理方法において、
    前記シャドウ面として前記参照用シャドウ面と作成用シャドウ面に加えて、光源を視点とし、かつ、処理対象のオブジェクトの背後に設置される背景仮想面に対応したテクスチャ面である背景シャドウ面を用意し、
    前記仮想面に投影された影を前記背景仮想面に投影することにより形成される影を前記背景シャドウ面に描画し、
    前記参照用シャドウ面に描画された影と、前記背景シャドウ面に描画された影と、前記オブジェクトの光源座標に基づいて、レンダリングによる内部補間を行いながら、処理対象のオブジェクトに表現される影をテクスチャマッピングすることを特徴とする画像処理方法。
  12. 請求項11のいずれか1項に記載の画像処理方法において、
    前記シャドウ面の初期値として炎などの面光源を設定し、前記オブジェクトに対して前記面光源の映り込みと影処理を行うことを特徴とする画像処理方法。
  13. 3次元モデリングによる複数のオブジェクトの配置関係から少なくとも1つの仮想面を設定する第1の手段と、
    光源を視点とした前記仮想面への投影によって形成される少なくとも1つのオブジェクトの影を該オブジェクトよりも光源から遠い他のオブジェクトに表現する第2の手段とを有する画像描画装置において、
    前記第2の手段は、描画エリアとテクスチャエリアとを有する画像メモリの前記テクスチャエリアに前記仮想面に対応したシャドウ面を設定し、
    前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、
    前記シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングする描画手段を有することを特徴とする画像処理装置。
  14. 請求項13記載の画像処理装置において、
    前記第1の手段は、各オブジェクトの光源処理に関する属性中に、それぞれオブジェクトに対して影を表現するか否かの影表現属性を定義し、
    前記第2の手段は、前記他のオブジェクトに対する影の表現処理を前記影表現属性に基づいて選択的に行うことを特徴とする画像処理装置。
  15. 請求項13又は14記載の画像処理装置において、
    前記描画手段は、前記他のオブジェクトへの前記影のテクスチャマッピングを、少なくとも前記他のオブジェクトの前記仮想面への投影座標に基づいて行うことを特徴とする画像処理装置。
  16. 請求項13〜15のいずれか1項に記載の画像処理装置において、
    前記描画手段は、前記他のオブジェクトへの前記影のテクスチャマッピングを、該他のオブジェクトを構成するポリゴン単位に行うことを特徴とする画像処理装置。
  17. 請求項1316のいずれか1項に記載の画像処理装置において、
    前記第2の手段は、前記光源を視点とした前記複数のオブジェクトの座標を求め、前記光源から近い順に前記オブジェクトの仮想面への投影座標を求める座標演算手段を有し、
    前記描画手段は、1つのオブジェクトに対するテクスチャマッピングが終了するたびに、当該オブジェクトによって形成される影を前記投影座標に基づいて前記シャドウ面に描画することを特徴とする画像処理装置。
  18. 請求項17記載の画像処理装置において、
    前記第2の手段は、前記複数のオブジェクトの座標と前記仮想面への投影座標をポリゴン単位に求めて、前記光源から近い順に描画リストに順次登録する描画リスト作成手段を有し、
    前記描画手段は、前記シャドウ面への描画の際に、前記描画リストから順次読み出して行うことを特徴とする画像処理装置。
  19. 請求項17又は18記載の画像処理装置において、
    前記描画手段は、前記シャドウ面に描画された影に対し、少なくとも光源からの距離に対応してローパスフィルタをかけることにより、前記影に少なくとも前記光源からの距離に対応したぼかしを表現することを特徴とする画像処理装置。
  20. 請求項19記載の画像処理装置において、
    前記描画手段は、前記シャドウ面に描画された影を前記オブジェクトに表現する際に、前記ローパスフィルタをかける前の影と、前記ローパスフィルタをかけた後の影と、処理対象のオブジェクトの光源座標に応じてレンダリングによる内部補間を行うことにより、前記影のぼかしを制御することを特徴とする画像処理装置。
  21. 請求項1720のいずれか1項に記載の画像処理装置において、
    前記描画手段は、前記シャドウ面として参照用シャドウ面と作成用シャドウ面を用意し、処理対象のオブジェクトが切り替わるたびに、作成用シャドウ面に描画された影を参照用シャドウ面に複写し、1つのオブジェクトについてポリゴン単位に前記参照用シャドウ面の影をテクスチャマッピングするたびに、該ポリゴンの前記仮想面に対する投影像を前記作成用シャドウ面に新たな影として合成描画することを特徴とする画像処理装置。
  22. 請求項21記載の画像処理装置において、
    前記描画手段は、前記作成用シャドウ面に描画された影を参照用シャドウ面に複写するたびに、前記作成用シャドウ面に描画された影に対してローパスフィルタをかけることを特徴とする画像処理装置。
  23. 請求項22記載の画像処理装置において、
    前記描画手段は、
    前記シャドウ面として前記参照用シャドウ面と作成用シャドウ面に加えて、光源を視点とし、かつ、処理対象のオブジェクトの背後に設置される背景仮想面に対応したテクスチャ面である背景シャドウ面を用意し、
    前記仮想面に投影された影を前記背景仮想面に投影することにより形成される影を前記背景シャドウ面に描画し、
    前記参照用シャドウ面に描画された影と、前記背景シャドウ面に描画された影と、前記オブジェクトの光源座標に基づいて、レンダリングによる内部補間を行いながら、処理対象のオブジェクトに表現される影をテクスチャマッピングすることを特徴とする画像処理装置。
  24. 請求項1323のいずれか1項に記載の画像処理装置において、
    前記描画手段は、前記シャドウ面の初期値として炎などの面光源を設定し、前記オブジェクトに対して前記面光源の映り込みと影処理を行うことを特徴とする画像処理装置。
  25. 描画エリアとテクスチャエリアとを有する画像メモリを有する画像描画装置を、
    3次元モデリングによる複数のオブジェクトの配置関係から少なくとも1つの仮想面を設定する第1の手段、
    光源を視点とした前記仮想面への投影によって形成される少なくとも1つのオブジェクトの影を該オブジェクトよりも光源から遠い他のオブジェクトに表現する第2の手段、
    として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記第2の手段は、前記画像メモリの前記テクスチャエリアに前記仮想面に対応したシャドウ面を設定し、
    前記仮想面への投影によって形成される前記オブジェクトの影を前記シャドウ面に描画し、
    前記シャドウ面に描画された影を前記他のオブジェクトにテクスチャマッピングする描画手段を有することを特徴とする記録媒体。
  26. 請求項25記載の記録媒体において、
    前記第1の手段は、各オブジェクトの光源処理に関する属性中に、それぞれオブジェクトに対して影を表現するか否かの影表現属性を定義し、
    前記第2の手段は、前記他のオブジェクトに対する影の表現処理を前記影表現属性に基づいて選択的に行うことを特徴とする記録媒体。
  27. 請求項25又は26記載の記録媒体において、
    前記描画手段は、前記他のオブジェクトへの前記影のテクスチャマッピングを、少なくとも前記他のオブジェクトの前記仮想面への投影座標に基づいて行うことを特徴とする記録媒体。
  28. 請求項25〜27のいずれか1項に記載の記録媒体において、
    前記描画手段は、前記他のオブジェクトへの前記影のテクスチャマッピングは、該他のオブジェクトを構成するポリゴン単位に行うことを特徴とする記録媒体。
  29. 請求項2528のいずれか1項に記載の記録媒体において、
    前記第2の手段は、前記光源を視点とした前記複数のオブジェクトの座標を求め、前記光源から近い順に前記オブジェクトの仮想面への投影座標を求める座標演算手段を有し、
    前記描画手段は、1つのオブジェクトに対するテクスチャマッピングが終了するたびに、当該オブジェクトによって形成される影を前記投影座標に基づいて前記シャドウ面に描画することを特徴とする記録媒体。
  30. 請求項29記載の記録媒体において、
    前記第2の手段は、前記複数のオブジェクトの座標と前記仮想面への投影座標をポリゴン単位に求めて、前記光源から近い順に描画リストに順次登録する描画リスト作成手段を有し、
    前記描画手段は、前記シャドウ面への描画の際に、前記描画リストから順次読み出して行うことを特徴とする記録媒体。
  31. 請求項29又は30記載の記録媒体において、
    前記描画手段は、前記シャドウ面に描画された影に対し、少なくとも光源からの距離に対応してローパスフィルタをかけることにより、前記影に少なくとも前記光源からの距離に対応したぼかしを表現することを特徴とする記録媒体。
  32. 請求項31記載の記録媒体において、
    前記描画手段は、前記シャドウ面に描画された影を前記オブジェクトに表現する際に、前記ローパスフィルタをかける前の影と、前記ローパスフィルタをかけた後の影と、処理対象のオブジェクトの光源座標に応じてレンダリングによる内部補間を行うことにより、前記影のぼかしを制御することを特徴とする記録媒体。
  33. 請求項2532のいずれか1項に記載の記録媒体において、
    前記描画手段は、前記シャドウ面として参照用シャドウ面と作成用シャドウ面を用意し、処理対象のオブジェクトが切り替わるたびに、作成用シャドウ面に描画された影を参照用シャドウ面に複写し、1つのオブジェクトについてポリゴン単位に前記参照用シャドウ面の影をテクスチャマッピングするたびに、該ポリゴンの前記仮想面に対する投影像を前記作成用シャドウ面に新たな影として合成描画することを特徴とする記録媒体。
  34. 請求項33記載の記録媒体において、
    前記描画手段は、前記作成用シャドウ面に描画された影を参照用シャドウ面に複写するたびに、前記作成用シャドウ面に描画された影に対してローパスフィルタをかけることを特徴とする記録媒体。
  35. 請求項34記載の記録媒体において、
    前記描画手段は、
    前記シャドウ面として前記参照用シャドウ面と作成用シャドウ面に加えて、光源を視点とし、かつ、処理対象のオブジェクトの背後に設置される背景仮想面に対応したテクスチャ面である背景シャドウ面を用意し、
    前記仮想面に投影された影を前記背景仮想面に投影することにより形成される影を前記背景シャドウ面に描画し、
    前記参照用シャドウ面に描画された影と、前記背景シャドウ面に描画された影と、前記オブジェクトの光源座標に基づいて、レンダリングによる内部補間を行いながら、処理対象のオブジェクトに表現される影をテクスチャマッピングすることを特徴とする記録媒体。
  36. 請求項2535のいずれか1項に記載の記録媒体において、
    前記描画手段は、前記シャドウ面の初期値として炎などの面光源を設定し、前記オブジェクトに対して前記面光源の映り込みと影処理を行うことを特徴とする記録媒体。
JP6088499A 1999-03-08 1999-03-08 画像処理方法、画像処理装置及び記録媒体 Expired - Fee Related JP3599268B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP6088499A JP3599268B2 (ja) 1999-03-08 1999-03-08 画像処理方法、画像処理装置及び記録媒体
EP00905363A EP1159713A1 (en) 1999-03-08 2000-02-25 Method and apparatus for processing images
BR0008818-8A BR0008818A (pt) 1999-03-08 2000-02-25 Processo de processar uma imagem, aparelho para processar uma imagem, meio de gravação que armazena um programa, e, programa
PCT/JP2000/001119 WO2000054224A1 (en) 1999-03-08 2000-02-25 Method and apparatus for processing images
CNB008047863A CN1249632C (zh) 1999-03-08 2000-02-25 处理图像的方法和设备
AU26937/00A AU2693700A (en) 1999-03-08 2000-02-25 Method and apparatus for processing images
RU2001124830/09A RU2001124830A (ru) 1999-03-08 2000-02-25 Способ и устройство для обработки изображения, носитель записи и программа
KR1020017011424A KR20010113730A (ko) 1999-03-08 2000-02-25 영상을 처리하는 방법 및 장치
CA002367152A CA2367152A1 (en) 1999-03-08 2000-02-25 Method and apparatus for processing images
TW089103516A TW459208B (en) 1999-03-08 2000-02-29 Method of and apparatus for processing image, recording medium, and program
US09/516,950 US6677946B1 (en) 1999-03-08 2000-03-01 Method of, an apparatus for, and a recording medium comprising a program for, processing an image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6088499A JP3599268B2 (ja) 1999-03-08 1999-03-08 画像処理方法、画像処理装置及び記録媒体

Publications (2)

Publication Number Publication Date
JP2000259853A JP2000259853A (ja) 2000-09-22
JP3599268B2 true JP3599268B2 (ja) 2004-12-08

Family

ID=13155255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6088499A Expired - Fee Related JP3599268B2 (ja) 1999-03-08 1999-03-08 画像処理方法、画像処理装置及び記録媒体

Country Status (11)

Country Link
US (1) US6677946B1 (ja)
EP (1) EP1159713A1 (ja)
JP (1) JP3599268B2 (ja)
KR (1) KR20010113730A (ja)
CN (1) CN1249632C (ja)
AU (1) AU2693700A (ja)
BR (1) BR0008818A (ja)
CA (1) CA2367152A1 (ja)
RU (1) RU2001124830A (ja)
TW (1) TW459208B (ja)
WO (1) WO2000054224A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4704615B2 (ja) * 2001-06-25 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4079410B2 (ja) * 2002-02-15 2008-04-23 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
JP4286556B2 (ja) * 2003-02-24 2009-07-01 株式会社東芝 画像表示装置
TWI268454B (en) * 2003-12-23 2006-12-11 Inst Information Ind Interactive 3D-scenery light illumination method and its system thereof calculating the light source energy received by each triangular lattice to improve the imaging quality
CA2455359C (en) * 2004-01-16 2013-01-08 Geotango International Corp. System, computer program and method for 3d object measurement, modeling and mapping from single imagery
US7567248B1 (en) * 2004-04-28 2009-07-28 Mark William R System and method for computing intersections between rays and surfaces
US7277098B2 (en) * 2004-08-23 2007-10-02 Via Technologies, Inc. Apparatus and method of an improved stencil shadow volume operation
KR100751397B1 (ko) * 2005-11-22 2007-08-22 엘지전자 주식회사 영상 처리 방법
US8125486B2 (en) * 2006-02-23 2012-02-28 Los Alamos National Security, Llc Combining multi-layered bitmap files using network specific hardware
US7697542B1 (en) * 2006-03-28 2010-04-13 Marvell International Ltd. Programmable resource scheduler
CN101211464B (zh) * 2006-12-25 2010-05-19 财团法人资讯工业策进会 可预存产生3d影像自我遮蔽阴影所需信息之装置及方法
KR100865583B1 (ko) * 2007-02-21 2008-10-28 충북대학교 산학협력단 컴퓨터 그래픽 시스템에서의 동영상의 반사 효과 처리 방법
JP4948218B2 (ja) * 2007-03-22 2012-06-06 キヤノン株式会社 画像処理装置及びその制御方法
JP4612031B2 (ja) * 2007-09-28 2011-01-12 株式会社コナミデジタルエンタテインメント 画像生成装置、画像生成方法、ならびに、プログラム
JP4852555B2 (ja) * 2008-01-11 2012-01-11 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、ならびに、プログラム
JP5192874B2 (ja) * 2008-03-28 2013-05-08 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法及びプログラム
KR101511281B1 (ko) 2008-12-29 2015-04-13 삼성전자주식회사 레이 트레이싱 고속화 방법 및 장치
CN101615300B (zh) * 2009-07-02 2011-12-07 北京航空航天大学 一种屏幕空间微结构表面对象环境光遮挡方法
US8830230B2 (en) * 2011-01-31 2014-09-09 Honeywell International Inc. Sensor placement and analysis using a virtual environment
RU2467395C1 (ru) * 2011-07-11 2012-11-20 Российская Федерация, От Имени Которой Выступает Министерство Промышленности И Торговли Российской Федерации Способ создания изображений трехмерных объектов для систем реального времени
WO2013086137A1 (en) 2011-12-06 2013-06-13 1-800 Contacts, Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9378584B2 (en) 2012-05-23 2016-06-28 Glasses.Com Inc. Systems and methods for rendering virtual try-on products
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US9626789B2 (en) * 2013-05-07 2017-04-18 Advanced Micro Devices, Inc. Implicit texture map parameterization for GPU rendering
US9530243B1 (en) * 2013-09-24 2016-12-27 Amazon Technologies, Inc. Generating virtual shadows for displayable elements
US9786095B2 (en) 2015-02-25 2017-10-10 Samsung Electronics Co., Ltd. Shadow rendering apparatus and control method thereof
CA3045133C (en) * 2019-06-03 2023-03-21 Eidos Interactive Corp. Systems and methods for augmented reality applications

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0727581B2 (ja) * 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 図形処理装置
US5537638A (en) * 1991-10-25 1996-07-16 Hitachi, Ltd. Method and system for image mapping
JPH0778267A (ja) * 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
GB2336982B (en) * 1995-01-31 2000-01-19 Videologic Ltd Improvements relating to computer 3D rendering systems
CA2258928A1 (en) * 1996-06-25 1997-12-31 Mental Images G.M.B.H. & Co., Kg. System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
US5870098A (en) * 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
JP2976963B2 (ja) * 1998-03-19 1999-11-10 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置

Also Published As

Publication number Publication date
WO2000054224A1 (en) 2000-09-14
EP1159713A1 (en) 2001-12-05
RU2001124830A (ru) 2003-07-20
CA2367152A1 (en) 2000-09-14
KR20010113730A (ko) 2001-12-28
US6677946B1 (en) 2004-01-13
BR0008818A (pt) 2002-01-15
TW459208B (en) 2001-10-11
CN1343343A (zh) 2002-04-03
CN1249632C (zh) 2006-04-05
AU2693700A (en) 2000-09-28
JP2000259853A (ja) 2000-09-22

Similar Documents

Publication Publication Date Title
JP3599268B2 (ja) 画像処理方法、画像処理装置及び記録媒体
US7411592B1 (en) Graphical processing of object perimeter information
JP3725524B2 (ja) コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ
Stamminger et al. Perspective shadow maps
US6664962B1 (en) Shadow mapping in a low cost graphics system
Klein et al. Non-photorealistic virtual environments
US6154215A (en) Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
JPH0757117A (ja) テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
US6078333A (en) Images and apparatus for carrying out the method
US6163320A (en) Method and apparatus for radiometrically accurate texture-based lightpoint rendering technique
CN108154553A (zh) 一种三维模型与监控视频的无缝融合方法及装置
US7184051B1 (en) Method of and apparatus for rendering an image simulating fluid motion, with recording medium and program therefor
US7133052B1 (en) Morph map based simulated real-time rendering
US20020004421A1 (en) Computer readable recording medium recording a program for causing a light source to be displayed on a game screen and the program, and game screen display method and apparatus
JP3605317B2 (ja) 画像描画方法、画像描画装置及び記録媒体
KR100295709B1 (ko) 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템
Nielsen et al. Fast texture-based form factor calculations for radiosity using graphics hardware
Mantler et al. The state of the art in realtime rendering of vegetation
US9007388B1 (en) Caching attributes of surfaces without global parameterizations
JP3811604B2 (ja) 画像描画方法、画像描画装置及び記録媒体
Meyer et al. Real-time reflection on moving vehicles in urban environments
WO2007130018A1 (en) Image-based occlusion culling
JP3524529B2 (ja) コンピュータに実行させるための描画処理プログラム、コンピュータに実行させるための描画処理プログラムを記録した記録媒体、プログラム実行装置、描画装置及び方法
Blythe et al. Lighting and shading techniques for interactive applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040726

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: 20040907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040910

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: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees