(57)【要約】【課題】  特別なハードウェア実装や計算量の多いプログラム実装を必要としない画像処理装置、画像処理方法及び画像処理プログラムを提供すること。【解決手段】  本発明における画像処理装置は、３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間を表現処理する画像処理装置であって、光源の位置情報を有する光源データと物体の位置情報を有する物体データに基づき陰影空間の境界面の位置情報を有する境界面データを生成し、生成した境界面データに基づいて陰影空間内部の明るさを計算する画像処理装置である。このような構成により、陰影空間を境界面データとして物体データと同様の形式にすることが可能になり、特別なハードウェア実装を必要とせず物体の描画と同様の処理で陰影空間の明るさを表示画像に反映させることができ、計算量を抑制しつつ、画質の向上を図ることができる。  【選択図】図１
2006113909.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間を表現処理する画像処理装置であって、
光源の位置情報を有する光源データと物体の位置情報を有する物体データに基づき陰影空間の境界面の位置情報を有する境界面データを生成し、生成した境界面データに基づいて陰影空間内部の明るさを計算する画像処理装置。
【請求項２】
３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間を表現処理する画像処理装置であって、
光源の位置情報を含む光源データと物体の位置情報を含む物体データを格納する描画用データ記憶部と、
前記描画用データ記憶部に格納された光源データ及び物体データに基づき、前記物体の遮光による陰影空間の境界面の位置情報を含む境界面データの生成を行う境界面生成部と、
前記境界面生成部により生成した境界面データを格納する境界面データ記憶部と、
前記境界面データ記憶部に格納した境界面データに基づき、前記陰影空間の明るさデータを生成する陰影空間描画部を備えた画像処理装置。
【請求項３】
前記境界面生成部は、
前記画像データ記憶部に格納された光源データに含まれる光源の位置情報が示す位置を視点とし、物体データに基づき光源位置から見た物体の画像データの生成を行う光源系描画処理部と、
前記光源系描画処理部により生成した画像データを、光源から物体までの距離情報及び物体を識別するための識別情報と関連付けて格納する影シャフトデータ記憶部と、
前記影シャフトデータ記憶部に格納された前記画像データと前記距離情報及び前記識別情報に基づき、前記物体の遮光による陰影空間の境界面の位置情報を計算し、境界面データの生成を行う境界位置情報生成部を有することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記物体データ及び境界面データは、少なくとも１つ以上のポリゴンデータにより構成されることを特徴とする請求項１、２または３記載の画像処理装置。
【請求項５】
前記陰影空間描画部は、
前記境界面データを構成するポリゴンデータから各ポリゴンの法線ベクトルを計算し、法線ベクトルの視線方向成分に基づき前記陰影空間の明るさデータを生成することを特徴とする請求項２または３記載の画像処理装置。
【請求項６】
３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間を表現処理する画像処理方法であって、
光源の位置情報を含む光源データと物体の位置情報を含む物体データに基づき、前記物体の遮光による陰影空間の境界面の位置情報を有する境界面データを生成し、
前記境界面データに基づき、前記陰影空間の明るさデータを生成する画像処理方法。
【請求項７】
前記境界面データの生成は、
前記光源データに備えられた光源の位置情報が示す位置を視点とし、物体データに基づき光源位置から見た物体の画像データを生成し、
生成した画像データを、光源から物体までの距離情報及び物体を識別するための識別情報と関連付けて記憶し、
記憶した前記画像データと前記距離情報及び前記識別情報に基づき、前記物体の遮光による陰影空間の境界面の位置情報を計算することにより実行することを特徴とする請求項６記載の画像処理方法。
【請求項８】
前記物体データと前記境界面データは、少なくとも１つ以上のポリゴンデータにより構成されることを特徴とする請求項６または７記載の画像処理方法。
【請求項９】
前記陰影空間の明るさデータの生成は、
前記境界面データを構成するポリゴンデータから各ポリゴンの法線ベクトルを計算し、法線ベクトルの視線方向成分に基づき前記陰影空間の明るさデータを生成することを特徴とする請求項６または７記載の画像処理方法。
【請求項１０】
３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間の表現処理をコンピュータに行わせる画像処理プログラムであって、
光源の位置情報を含む光源データと物体の位置情報を含む物体データに基づき、前記物体の遮光による陰影空間の境界面の位置情報を含む境界面データを生成し、
前記境界面データに基づき、前記陰影空間の明るさデータを生成する画像処理プログラム。
【請求項１１】
前記境界面データの生成は、
前記光源データに備えられた光源の位置情報が示す位置を視点とし、物体データに基づき光源位置から見た物体の画像データを生成し、
生成した画像データを、光源から物体までの距離情報及び物体を識別するための識別情報と関連付けて記憶し、
記憶した前記画像データと前記距離情報及び前記識別情報に基づき、前記物体の遮光による陰影空間の境界面の位置情報を計算することにより実行されることを特徴とする請求項１０記載の画像処理プログラム。
【請求項１２】
前記物体データと前記境界面データは、少なくとも１つ以上のポリゴンデータにより構成されることを特徴とする請求項１０または１１記載の画像処理プログラム。
【請求項１３】
前記陰影空間の明るさデータの生成は、
前記境界面データを構成するポリゴンデータから各ポリゴンの法線ベクトルを計算し、法線ベクトルの視線方向成分に基づき前記陰影空間の明るさデータを生成することを特徴とする請求項１０または１１記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関するものであり、より詳細には、３次元画像表示を行う画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
３次元コンピュータグラフィックスにおいて、光源や物体の情報から陰影処理を行う手法は既に数多く存在する。その中でも代表的な手法の一つにＺバッファ法がある。
【０００３】
Ｚバッファ法とは、表示を行う物体について視点からの距離情報をＺバッファといわれるメモリ領域に格納し、画面表示を行うときに、重なったものについてはＺバッファに格納された距離情報を参照し、視点からの距離が最も近いものだけを表示する方法である。Ｚバッファ法は、Ｚバッファのためのメモリ領域を多く必要とするが、アルゴリズムが単純なため、ハードウェアへの実装も行いやすく、よく利用される手法である。
【０００４】
このＺバッファ法を応用して、光源の位置に視点を置き光源からの距離をＺバッファに格納することにより、光源から最も近い物体以外の物体には影がかかっていると判定することができる。この方法に更に、アンチエリアシング処理を行うことにより境界面の影の処理を正確に行う手法も提案されている（例えば、特許文献１など）。
【０００５】
この方法では、物体の陰影処理を正確に行うことが可能であるが、空間上の陰影部分の影響は考慮されないという問題点があった。これに対して、雲や霧などのガス状物体を専用のハードウェア回路を利用して専用の処理を行うという手法が提案されている（例えば、特許文献２など）。この手法を空間上の陰影部分に適用させることにより、空間上の陰影処理を行うことが可能となる。
【特許文献１】特開平７−６５１９９号公報
【特許文献２】特開２００１−１８８９２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような方法では、専用のハードウェアを利用するためコストがかかるという問題点があった。また、ソフトウェアにより実装した場合、特殊な処理を行うため、計算量が多くなってしまいプロセッサに多くの負荷をかけてしまうという問題点もあった。
【課題を解決するための手段】
【０００７】
本発明における画像処理装置は、３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間を表現処理する画像処理装置であって、光源の位置情報を有する光源データと物体の位置情報を有する物体データに基づき陰影空間の境界面の位置情報を有する境界面データを生成し、生成した境界面データに基づいて陰影空間内部の明るさを計算する画像処理装置である。このような構成により、陰影空間を境界面データとして物体データと同様の形式にすることが可能になり、特別なハードウェア実装を必要とせず物体の描画と同様の処理で陰影空間の明るさを表示画像に反映させることができ、計算量を抑制しつつ、画質の向上を図ることができる。
【０００８】
本発明における画像処理方法は、３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間を表現処理する画像処理装置であって、光源の位置情報を含む光源データと物体の位置情報を含む物体データを格納する描画用データ記憶部と、前記描画用データ記憶部に格納された光源データ及び物体データに基づき、前記物体の遮光による陰影空間の境界面の位置情報を含む境界面データの生成を行う境界面生成部と、前記境界面生成部により生成した境界面データを格納する境界面データ記憶部と、前記境界面データ記憶部に格納した境界面データに基づき、前記陰影空間の明るさデータを生成する陰影空間描画部を備えた画像処理装置である。このようにすることにより、陰影空間を境界面データとして物体データと同様の形式にすることが可能になり、特別なハードウェア実装を必要とせず物体の描画と同様の処理で陰影空間の明るさを表示画像に反映させることができ、計算量を抑制しつつ、画質の向上を図ることができる。
【０００９】
本発明における画像処理プログラムは、３次元空間上に配置される物体が光源からの光を遮光することにより生成される陰影空間の表現処理をコンピュータに行わせる画像処理プログラムであって、光源の位置情報を含む光源データと物体の位置情報を含む物体データに基づき、前記物体の遮光による陰影空間の境界面の位置情報を含む境界面データを生成し、前記境界面データに基づき、前記陰影空間の明るさデータを生成する画像処理プログラムである。このようにすることにより、陰影空間を境界面データとして物体データと同様の形式にすることが可能になり、特別なハードウェア実装を必要とせず物体の描画と同様の処理で陰影空間の明るさを表示画像に反映させることができ、計算量を抑制しつつ、画質の向上を図ることができる。
【発明の効果】
【００１０】
本発明によれば、特別なハードウェア実装や計算量の多いプログラム実装を必要としない画像処理装置、画像処理方法及び画像処理プログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施の形態における画像処理装置の構成を示すブロック図である。画像処理装置１は、プログラム動作可能な装置であり、ＰＣ（Personal Computer）や携帯電話機などを利用してもよいし、専用の装置により構成してもよい。画像処理装置１は、描画用データ記憶部１００、３Ｄオブジェクト描画部１０１、光源系描画部１０２、影シャフトデータ記憶部１０３、影シャフトデータ処理部１０４、ポリゴン生成部１０５、オブジェクト描画データ記憶部１０６、影シャフトポリゴン描画部１０７、奥行きデータ記憶部１０８、半透明度記憶部１０９、影シャフトポリゴン合成部１１０を備える。
【００１２】
３Ｄオブジェクト描画部１０１、光源系描画部１０２、影シャフトデータ処理部１０４、ポリゴン生成部１０５、影シャフトポリゴン描画部１０７、影シャフトポリゴン合成部１１０は、それぞれＣＰＵ（Central Processing Unit）等の演算処理装置がプログラムにより各種処理を行うことにより実現される。このとき、各種処理部ごとにＣＰＵを設けてもよい。また、１つのＣＰＵで全ての処理を行うようにしてもよい。
【００１３】
描画用データ記憶部１００、影シャフトデータ記憶部１０３、オブジェクト描画データ記憶部１０６、奥行きデータ記憶部１０８、半透明度記憶部１０９はそれぞれＲＡＭ(Random Access Memory）等の読み書き可能な記憶装置に各種データを格納する。また、必要に応じてＨＤＤ（Hard Disk Drive）等の記憶装置を利用してもよい。このとき、各記憶部で共有できるデータは、同一の場所に格納することにより容量の節約をすることも可能である。
【００１４】
次に各処理部及び各記憶部について具体的に説明する。描画用データ記憶部１００は、画像生成のためのデータを格納する。格納するデータは、物体データ、光源データ、視点データ等である。物体データは、表示を行う物体に関しての情報である。物体データはポリゴンデータにより構成される。ポリゴンデータは、物体をポリゴンといわれる多角形の集合体で近似するためのデータであり、頂点データとポリゴン構成データを有する。
【００１５】
ポリゴンデータについて簡単に説明する。図２は、ポリゴンデータの例を示す図である。図２（ａ）は頂点データで、図２（ｂ）はポリゴン構成データである。図２（ａ）に示すように頂点データは、頂点の座標が各頂点の識別情報である頂点番号と関連付けて格納される。この例では、頂点は８つあり、それぞれの座標は（０，０，０）、（１，０，０）、（１，１，０）、（０，１，０）、（０，０，１）、（１，０，１）、（１，１，１）、（０，１，１）である。
【００１６】
図２（ｂ）に示すポリゴン構成データは、ポリゴンを構成する頂点座標が各ポリゴンの識別情報であるポリゴン番号と関連付けて格納される。この例ではポリゴンは６つあり、０番のポリゴンは頂点番号０，１，２，３の４つの頂点から成るポリゴン、つまり座標位置が（０，０，０）、（１，０，０）、（１，１，０）、（０，１，０）の４点からなる四角形ポリゴンである。この６つのポリゴンを３次元座標上に描画すると図３のようになる。つまり、図２に示すポリゴンデータは立方体を構成するポリゴンデータである。
【００１７】
３Ｄオブジェクト描画部１０１は、描画用データ記憶部１００に格納したデータに基づき、画面に出力する画像データの生成を行う。例えば、描画用データ記憶部１００に格納されたデータが図２の場合、生成される画像データは図３のようになる。生成した画像データはオブジェクト描画データ記憶部１０６に格納する。
【００１８】
光源系描画部１０２は、入力した光源位置データ及び物体データから影シャフトデータの生成を行う。影シャフトデータとは、光源位置を視点位置として描画処理を行い生成した画像データに、物体の識別情報と光源からの距離情報を関連付けたデータであり、陰影空間の表現処理に利用される。生成した影シャフトデータは影シャフトデータ記憶部１０３に格納する。影シャフトデータ記憶部１０３は、光源系描画部１０２の生成した影シャフトデータを格納する。格納した影シャフトデータは、影シャフトデータ処理部１０４により利用される。
【００１９】
影シャフトデータ処理部１０４は、影シャフトデータ記憶部１０３から光源系描画部１０２の生成した影シャフトデータを入力し、影境界データを生成する。生成した影境界データは、ポリゴン生成部１０５に出力される。ポリゴン生成部１０５は境界面生成部であり、影シャフトデータ処理部１０４から入力した影境界データに基づき、境界面データである影ポリゴンデータの生成を行う。生成した影ポリゴンデータは、影シャフトポリゴン描画部１０７へ出力する。
【００２０】
オブジェクト描画データ記憶部１０６は、３Ｄオブジェクト描画部１０１の生成した画像データの格納を行う。格納した画像データは、影シャフトポリゴン合成部１１０により合成処理が行われ、最終的な表示画像データとなる。影シャフトポリゴン描画部１０７は、ポリゴン生成部１０５から入力した影シャフトポリゴンデータに基づき、影シャフトポリゴン位置の半透明度の決定を行う。この決定の過程で奥行きデータの生成も行い、生成した奥行きデータも半透明度の決定に利用する。決定された半透明度は、半透明度データとして半透明度記憶部１０９に格納され影シャフトポリゴン合成部１１０に出力される。
【００２１】
奥行きデータ記憶部１０８は、影シャフトポリゴン描画部１０７の生成した奥行きデータを格納する。奥行きデータは、影シャフトポリゴン描画部１０７による半透明度の決定に利用される。半透明度記憶部１０９は、影シャフトポリゴン描画部１０７の生成した半透明度データの格納を行う。格納した半透明度データは、影シャフトポリゴン合成部１１０に出力され、半透明度データを反映した最終的な画像データが生成される。
【００２２】
影シャフトポリゴン合成部１１０は、オブジェクト描画データ記憶部１０６から入力した画像データに、半透明度記憶部１０９から入力した半透明度データを反映させて最終画像データの生成を行う。生成した最終画像データは、ディスプレイなどに出力され表示が行われる。
【００２３】
続いて、図４に示すフローチャートを用いて、本発明の実施の形態１における画像処理装置１の処理の流れについて説明する。まず、光源系描画部１０２が、入力した物体データ及び光源データから光源系描画処理を行い、影シャフトデータを生成する（Ｓ１０１）。
【００２４】
影シャフトデータの生成方法について具体的に説明する。入力した物体データは、ポリゴンデータであり、光源データは光源の座標データを有する。光源データは光源の座標データ以外にも色や明るさの情報も有するがここでは利用しない。光源系描画部１０２は、光源の座標位置を視点の座標位置に設定し、この座標位置から見た物体の描画処理を行う。この描画処理により生成される画像データは、影作成に利用される影シャフトデータの構成要素である。
【００２５】
図５は、描画処理により生成された画像データの一例である。この図の例では、画像データは、光源位置から見える物体１０３０が画像データとして格納されている。また、物体１０３０の境界から影ポリゴンデータを生成する頂点１０３１を検出することが可能である。頂点を検出し影ポリゴンデータを生成する方法については後に詳しく説明する。この時、光源系描画部１０２は、画像データに、物体の識別情報と光源からの距離情報を関連付けて影シャフトデータとして影シャフトデータ記憶部１０３に格納する。
【００２６】
次に、影シャフトデータ処理部１０４が、影シャフトデータ記憶部１０３に格納された影シャフトデータの画像データ及び画像データに関連付けられた物体の識別情報と光源からの距離情報から影境界データを生成する（Ｓ１０２）。影境界データの生成方法については後に詳しく説明する。影シャフトデータ処理部１０４は、生成した影境界データをポリゴン生成部１０５に出力する。
【００２７】
ポリゴン生成部１０５は、影シャフトデータ処理部１０４から入力した影境界データから影ポリゴンデータの生成を行う（Ｓ１０３）。図８（ａ）は、影境界データを示す図である。図８（ａ）に示された物体１０３０の境界上の点１０３１から２点ずつを１組として、影ポリゴンデータの生成を行う。図８（ｂ）は、影境界データの点から生成される影ポリゴンデータのイメージを示す図である。ポリゴン生成部１０５は、図８（ｂ）に示す影境界データの点１０３１の座標Ｃと光源の座標Ｌから影ポリゴンデータを生成する点Ｐを計算により求める。１組の点Ｃと対応する点Ｐの４点でポリゴンデータを構成する。
【００２８】
ポリゴン生成部１０５は、影シャフトデータ処理部１０４から入力した影境界データ全てについて、影ポリゴンデータの生成を行う。ここで生成された影ポリゴンデータが、物体と陰影空間の境界面データとなる。影ポリゴンデータの生成が終わると、ポリゴン生成部１０５は、生成した影ポリゴンデータを影シャフトポリゴン描画部１０７へ出力する。影シャフトポリゴン描画部１０７は、入力した影ポリゴンデータから陰影空間の明るさデータである半透明度データの生成を行う（Ｓ１０４）。半透明度データの生成方法については後に詳しく説明する。この半透明度データにより表示画像における物体の明るさが決定される。
【００２９】
最終画像データの生成が完了（Ｓ１０５）すると、画像処理装置１における処理の完了となる。この画像データは、表示装置に出力され画像として表示される。
【００３０】
このようにして、陰影空間の明るさを計算することにより、陰影空間の明るさを反映させた画像データを特別なハードウェア実装や計算量の多いプログラム実装をせずに行うことが可能となる。この方法は、特にハードウェア実装のコストや複雑な計算によるプロセッサ負荷を抑えたい場合に有効である。
【００３１】
影境界データの生成方法について具体的に説明する。図６は、本発明における影境界データ及び影ポリゴンデータ生成の処理の流れを示すフローチャートである。まず影シャフトデータ処理部１０４は、影シャフトデータ記憶部１０３に格納された影シャフトデータの検出を行う。影シャフトデータは、画素毎に物体の識別情報が関連付けて記録されているため、物体の識別情報の存在する画素の検出を行うことができる。
【００３２】
まず影シャフトデータ処理部１０４は、背景の識別情報を保存する（Ｓ２０１）。これは、先頭の画素には比較対象の識別情報がないからである。影シャフトデータの１番上のライン（Ｓ２０２）、及び左端の画素から（Ｓ２０３）１画素ごとに左方向に検出を行う（Ｓ２０４）。
【００３３】
検出は次のような手順で行う。影シャフトデータ処理部１０４は、当該画素の画像データに対応する物体の識別情報と事前に保存された物体の識別情報の比較を行う。比較の結果、識別情報が一致しなかった場合（Ｓ２０５）、当該画素が境界点であると判定する。図７は、影シャフトデータの検出方法を示す図である。影シャフトデータに含まれる画像データは画素であるピクセルＰにより構成される。この例の場合、ピクセルＰ１までは識別情報が一致する。ピクセルＰ２が事前に保存された物体の識別情報と異なる最初の画素である。この場合、影シャフトデータ処理部１０４は、当該画素の「右方向」「右斜め下方向」「下方向」「左斜め下方向」の画素の識別情報を調べることにより、当該画素と組になる画素の決定を行う（Ｓ２０６）。左上から検出を行っているのでその他の方向については調べなくてもよい。
【００３４】
画素の決定が完了、あるいは比較の結果、識別情報が一致した場合は、右隣の画素へ移動し（Ｓ２０７）、再び比較を行う。１ライン分検出が完了すると（Ｓ２０８）、下方向にラインを移動させ（Ｓ２０９）、再び左端の画素から右方向に検出を行う。
【００３５】
影シャフトデータ処理部１０４はこの作業を全画素について行い（Ｓ２１０）、検出した全ての組の画素の座標データを影境界データとしてポリゴン生成部１０５に出力する。この時の影境界データは１組見つかるごとに随時ポリゴン生成部１０５に出力してもよいし、全ての画素について検出を行った後にポリゴン生成部１０５に出力してもよい。
【００３６】
影ポリゴンデータの生成方法について詳しく説明する。図９に示すように光源をＬ(xl,yl,zl)、光源から描画を行うことにより生成した影シャフトデータ記憶部１０３に含まれる画像データの物体１０３０との境界点１０３１をＣ(xc0,yc0,zc0)とする。ポリゴン生成部１０５は、影境界データの各点Ｃに対して、延長点Ｐ(xp0,yp0,zp0)を求める。延長点Ｐは光源からの距離情報によりｚ座標値は取得できるので、ポリゴン生成部１０５は、距離情報の比を利用してｘ座標値とｙ座標値を求める。式で表すと数１のようになる。
【数１】
2006113909.tif 000003
影境界データの組の２点と、延長点の組の２点の４点が影ポリゴンデータを構成する頂点となる。
【００３７】
半透明度データの生成方法について詳しく説明する。まず影シャフトポリゴン描画部１０７は、視点位置から影ポリゴンデータの描画処理を行う。次に影シャフトポリゴン描画部１０７は、影ポリゴンデータに基づき、深さ方向の計算を行う。深さ方向の計算は、次のようにして行う。まず、視点位置からの方向をＺ方向とする。次に影シャフトポリゴン描画部１０７は、視点位置からＺ方向のベクトル（視線ベクトル）と交差するポリゴンを検出する。その後影シャフトポリゴン描画部１０７は、検出したポリゴンの法線ベクトルを計算する。ポリゴンは少なくとも３つ以上の頂点データを有するので、２つの異なる辺ベクトルに直交するベクトルを計算することができる。これが当該ポリゴンの法線ベクトルとなる。
【００３８】
影シャフトポリゴン描画部１０７は、視線ベクトルと交差する全てのポリゴンについて上述の作業を繰り返し、法線ベクトルを求める。法線ベクトルが求まると影シャフトポリゴン描画部１０７は、その法線ベクトルのＺ方向成分を計算する。Ｚ方向は、先に示したように視線ベクトルの方向のことをいう。影シャフトポリゴン描画部１０７は、生成したＺ方向成分を奥行きデータ記憶部１０８に格納する。全てのＺ方向成分が求まると影シャフトポリゴン描画部１０７は、その値から半透明度データを生成し、半透明度記憶部１０９に格納する。
【００３９】
図１０は、物体を構成するポリゴンと視線ベクトルとの交点における法線ベクトルの一例を示した図である。図１０の例では、視点Ｅから物体方向への視線ベクトルと物体を構成するポリゴンとは４箇所z0、z1、z2、z3で交わっており、それぞれの法線ベクトルは図１０に示すようになる。
【００４０】
このとき、影シャフトポリゴン描画部１０７は、４つの法線ベクトルを計算し、そのＺ方向成分を全て加算する。このとき、z0、z2における法線ベクトルのように視線ベクトルと法線ベクトルの向きからＺ方向成分は正負両方の値を取ることがあるが、負の値の場合は負の値として加算を行う。即ち、負の値の場合、実質的には減算となる。加算が終わると影シャフトポリゴン描画部１０７は、その値を予め定められた式に代入することにより最終的な半透明度値を計算する。
【００４１】
影シャフトポリゴン描画部１０７が、全ての半透明度値の計算が完了すると、半透明度データの完成となる。３Ｄオブジェクト描画部１０１が描画した画像データが図１１（ａ）の場合について考える。画像データは物体１０６０と投影された影１０６２の間に陰影空間１０６１がある。通常の描画では変化がない陰影空間１０６１の明るさに半透明度値を適応させる。半透明度データは図１１（ｂ）のように図１１（ａ）の陰影箇所１０６１に対応する位置１０９１の半透明度値となる。半透明度データ画像データのように画素毎の半透明度値で構成される。あるいは、「図１１（ｂ）に示す陰影箇所１０９１が半透明度0.7」のように領域情報とその領域情報に対応する半透明度値により半透明度データを構成してもよい。ただし、図１１（ｂ）は概略図であって、実際は陰影空間部分の半透明度は一様とは限らない。
【００４２】
影シャフトポリゴン描画部１０７が半透明度データの生成を完了すると、影シャフトポリゴン合成部１１０は、オブジェクト描画データ記憶部１０６から入力した画像データに、半透明度記憶部１０９から入力した半透明度データを反映させ、最終画像データの生成を行う。オブジェクト描画データ記憶部１０６には、３Ｄオブジェクト描画部１０１が描画した画像データが格納されている。最終画像データの生成は、オブジェクト描画データ記憶部１０６から入力した画像データに、半透明度記憶部１０９から入力した半透明度データの透過度を積算することにより行われる。更新前の透過度をCold、更新後の透過度をCnew、半透明度をαとすると、計算式は数２のようになる。
【数２】
2006113909.tif 000004
この時、Ｒｅｄ，Ｇｒｅｅｎ，Ｂｌｕｅの各成分について独立に計算が行われる。設定により、Ｒｅｄ，Ｇｒｅｅｎ，Ｂｌｕｅの各成分について透過度の値を変えることにより白色光源のみならず、色のついた光源による色のついた影にすることも可能である。最終画像データは図１２のようになる。
【００４３】
上述の例では、境界面を四角形ポリゴンとしたが、これを三角形ポリゴンにしてもよいし、五角形以上の多角形ポリゴンにしてもよい。また、曲面ポリゴンを利用してもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明における、画像処理装置の構成を示すブロック図である。
【図２】本発明における、ポリゴンデータの例を示す図である。
【図３】本発明における、画像データの例を示す図である。
【図４】本発明における、画像処理装置の処理の流れを示すフローチャートである。
【図５】本発明における、影シャフトデータの例を示す図である。
【図６】本発明における、影境界データ及び影ポリゴンデータ生成の処理の流れを示すフローチャートである。
【図７】本発明における、影シャフトデータの検出方法を示す図である。
【図８】本発明における、影境界データ及び影ポリゴンデータのイメージを示す図である。
【図９】本発明における、影ポリゴンデータの生成方法を示す図である。
【図１０】本発明における、物体を構成するポリゴンと視線ベクトルとの交点における法線ベクトルの一例を示した図である。
【図１１】本発明における、画像データの概略図である。
【図１２】本発明における、最終画像データの概略図である。
【符号の説明】
【００４５】
１        画像処理装置
１００    描画用データ記憶部
１０１    オブジェクト描画部
１０２    光源系描画部
１０３    影シャフトデータ記憶部
１０４    影シャフトデータ処理部
１０５    ポリゴン生成部
１０６    オブジェクト描画データ記憶部
１０７    影シャフトポリゴン描画部
１０８    データ記憶部
１０９    半透明度記憶部
１１０    影シャフトポリゴン合成部
１０３０  物体
１０３１  頂点
１０６０  物体
１０６１  陰影空間
１０６２  影
１０９１  陰影空間
【図１】
2006113909.tif 000005
【図２】
2006113909.tif 000006
【図３】
2006113909.tif 000007
【図４】
2006113909.tif 000008
【図５】
2006113909.tif 000009
【図６】
2006113909.tif 000010
【図７】
2006113909.tif 000011
【図８】
2006113909.tif 000012
【図９】
2006113909.tif 000013
【図１０】
2006113909.tif 000014
【図１１】
2006113909.tif 000015
【図１２】
2006113909.tif 000016