(57)【特許請求の範囲】
【請求項１】
環境マップ生成装置を備えた画像生成装置であって、環境マップ生成前に必要な環境マップ領域を求める環境マップ領域生成手段と、環境マップ領域格納手段とを備えた画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像生成方法および装置に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスで、鏡面反射効果をシミュレーションするには、通常、レイトレーシング手法を使用する必要がある。しかし、レイトレーシングは計算量が多く、リアルタイム描画処理ではほとんど使用されていない。そのため、鏡面反射効果を近似する方法として、環境マッピングを用いることが多い。
【０００３】
環境マッピングは環境マップをテクスチャとするテクスチャマッピングの一手法で、物体の頂点に付随するテクスチャ座標を用いてテクスチャにアクセスする代わりに、視点の動きと共に頂点ごとに決定される反射ベクトルを用いてテクスチャにアクセスすることで、鏡面反射効果をシミュレーションするものである。
【０００４】
環境マッピングは、テクスチャマッピングの一手法であるので、グラフィックスカードの機能としてサポートされていることが多く、リアルタイム描画処理に向いている手法である。
【０００５】
また、グラフィックスカードの高機能化により、鏡面反射効果だけでなく、屈折効果や、ノンフォトリアリスティックレンダリング(非特許文献１)といった、周辺環境からの影響を計算できる手法に対して表現できる。
環境マップの形式としては、正方形6面から構成されるキューブマップ、球面マップ、双対放物面マップなどが有名である(例えば、非特許文献２参照)が、ハードウェア化が用意な事や、数学的に扱いやすいため、通常キューブマップが用いられることが多い。
【０００６】
一方、ネットワーク接続された複数台のPCにおいて、各PCに接続されたディスプレイを同期させて、高解像度のリアルタイム画像生成する技術としては、Chromiumがある(非特許文献３参照)。
【０００７】
Chromiumは一般的なグラフィックス用API(Application Program Interface)であるOpenGLを基盤として、OpenGL命令をネットワーク上に流し、表示用PCはネットワークから受け取ったOpenGL命令を解釈し表示する。
【０００８】
この技術の下で、環境マッピングを利用するには、各PCで同じ環境マップを生成するか、1台のPCで環境マップを作成し他のPCに作成した環境マップを通信するか、複数台で一部の環境マップを作成し他のPCに環境マップを通信するか、いずれかの方法をとる必要がある。
【０００９】
【非特許文献１】
Gooch et al., ``Interactive technical illustration,'' Interactive 3D Graphics, 1999, pp. 31-38
【非特許文献２】
Tomas Moller, Real-Time Rendering, A K Peters, pp. 127-136
【非特許文献３】
Greg Humphreys, et al., ``Chromium: A Stream-Processing Framework for Interactive Rendering on Clusters'', SIGGRAPH 2002, pp. 693-702
【００１０】
【発明が解決しようとする課題】
かかる従来の方法においては、次のような問題がある。
【００１１】
幾何データが小さい場合や、円盤状の平たい幾何データ等の、幾何データの一部分に対して環境マッピングを実施する場合でも、全体の環境マップを生成する必要がある。
【００１２】
高画質・複数枚の環境マップを生成すると、計算量が多くなってしまい、リアルタイムに大画面、高精細な画像を生成するために環境マッピングを使用しようとしても、メモリ領域や計算速度に限界が来てしまう。
【００１３】
しかし、よりリアリティのあるコンピュータグラフィックスを生成するには、鏡面反射効果だけでなく屈折効果等の各種効果が必須であり、環境マッピングが使えることが不可欠である。
【００１４】
本発明は、環境マッピングを用いて高画質かつインタラクティブなコンピュータグラフィックスを生成することを目的とする。
また、本発明の別の目的は、環境マップ生成の計算量を減少させることを目的とする。
【００１５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、環境マップ生成器と、環境マップ用テクスチャ座標生成器と、テクスチャマッピング処理装置と、表示装置を設けた画像生成装置において、環境マップ生成処理の前に、環境マップ領域を生成する環境マップ領域生成器を設けていることを特徴とする。
【００１６】
さらに、環境マップ領域を環境マップの解像度よりも低解像度で求めておいて、環境マップ生成前に、補間近似処理を用いて環境マップと同じ解像度とする手段を設けていてもよい。
【００１７】
さらに、環境マップ用テクスチャ座標生成器では、鏡面反射効果だけでなく、屈折効果や、照明効果を表現するための手段を設けていてもよい。
【００１８】
さらに、複数台の画像生成装置をネットワークで接続し、表示装置間の画像生成領域を適切に分配することにより、高精細な画像を生成してもよい。その際、概画像生成装置間の同期機構を設けている。
【００１９】
各生成器と処理装置はハードウェアのみによるものである必要はなく、ハードウェアとそれを実行するソフトウェアとで構成されていてもよい。
【００２０】
【発明の実施の形態】
図1は、本発明における機能ブロック図を示している。
【００２１】
視点データ101と幾何データ102より、環境マップ領域生成器113において環境マップ領域データ105を生成する。
【００２２】
視点データ101と幾何データ102と環境マップ領域データ105とにより、環境マップ生成器112において環境マップデータ104を生成する。
【００２３】
視点データ101と幾何データ102とにより、環境マップ用テクスチャ座標生成器111において、テクスチャ座表付き幾何データ103を生成する。
【００２４】
テクスチャ座標付き幾何データ103と環境マップデータ104と環境マップ領域データ105とにより、テクスチャマッピング処理装置114においてテクスチャマッピング処理を実施し、表示装置115を通して表示する。
【００２５】
次に、各ブロックとデータについて詳しく説明する。
【００２６】
環境マップ領域データ105は、例えばステンシルバッファを用いる。
【００２７】
ステンシルビットが1である時には、環境マップが必要な領域で、ステンシルビットが0である時には環境マップが必要とされない領域である。ステンシルビットが0である領域では環境マップの生成を行わない。
【００２８】
環境マップ領域生成器113は、環境マップ用テクスチャ座標生成器111と同じように、視点データ101と幾何データ102より、テクスチャ座標を計算する機能をもち、テクスチャ座標として必要とされる領域では、ステンシルバッファのビットを1とし、それ以外では0とする方法をとる。
【００２９】
環境マップ生成器112では、ステンシルビットが1であるテクセルについて環境マップデータ104を求めればよい。
その他の各ブロックとデータについての詳細は、特開平10-195734を参照のこと。
【００３０】
次に、本発明がどのように時系列処理されるかについて詳しく説明する。
【００３１】
図2は本発明における処理手順を示している。
【００３２】
環境マップ領域生成器113において、環境マップ領域データ105を生成する(ステップ210)。
【００３３】
次に、環境マップ領域データ115を用いて、環境マップ生成器112において、環境マップ領域内の環境マップデータ104を生成する(ステップ220)。
【００３４】
さらに、テクスチャマッピング処理装置114で、環境マッピング処理を行う(ステップ230)。
【００３５】
最後に、処理結果を表示装置で表示(ステップ240)。
視点位置の変更や、幾何データの移動、回転、変形等で、環境マップ領域データ105に変更が生じる場合には、ステップ200から再び処理をおこなう。
【００３６】
図3に、視線ベクトル300と鏡面反射ベクトル302の関係を示す。
【００３７】
法線ベクトル(301)ｎと視線ベクトル(300)ｖの反対方向のベクトル−ｖとがなす角度θと、法線ベクトル(300)ｎと鏡面反射ベクトル(302)ｒは同じ角度θをなす。
【００３８】
また、各ベクトル間の関係式は以下のように表される(全てベクトルとして表記している)。
【００３９】
【数１】
ｒ＝２（ｎ・ｖ）ｎ−ｖ
また、物質成分が水やガラスのように透明や半透明な性質を場合は、物質表面では、光は反射せずに透過する。
【００４０】
透過する時には、物質の屈折率により、透過ベクトル400の方向が定まる。
【００４１】
図4に、視線ベクトル300と透過ベクトル400の関係を示す。
【００４２】
法線ベクトル(301)ｎと透過ベクトル400の反対方向がなすベクトルとがなす角度θ１と、法線ベクトル(301)の反対方向のベクトル−ｎと透過ベクトル(400)がなす角度θ２とのなす関係式は以下のように表される。
【００４３】
【数２】
ｎ１×ｓｉｎθ１ ＝ ｎ２×ｓｉｎθ２
以下、図5に、環境マップや環境マップ領域を求める際の、視点データとテクスチャ座標データとの関係を示す。
【００４４】
視点から幾何データであるドーナツ状の円盤501を見たときに、鏡面反射ベクトル方向に伸ばしたベクトルがキューブ環境マップ503と交差する領域が環境マップとして実際に使用される部分で、この部分を環境マップ領域502とする。
【００４５】
図の例では、実際に環境マップとして必要な領域はキューブ環境マップ503のごく一部の領域であることがわかる。
【００４６】
図6に、一般的なPC600の構成を示す。
【００４７】
表示装置115は、グラフィックスアクセラレータ604に接続されるが、表示装置115は一台である必要はなく、複数台の表示装置115がグラフィックスアクセラレータ604に接続されていてもよい。
【００４８】
表示装置115とPC600の組み合わせを表示装置115として扱う場合もある。
【００４９】
表示装置115自体に本発明の手段が組み込まれている場合もある。
【００５０】
図7に、ネットワークで接続された複数台の表示装置115の一般的な構成を示す。
【００５１】
各PCが、それぞれ、表示装置と接続されている。
【００５２】
ネットワーク同期機構を設けていれば、PCである必要はなく、例えば、レーザーディスクやDVDプレーヤ、ゲーム機、それらの複合機であってもよい。
【００５３】
【発明の効果】
本発明によれば、環境マップ生成に必要な計算量の削減を可能とする。また、並列表示環境で通信量の削減を可能とする。
【図面の簡単な説明】
【図１】本発明の機能ブロック図
【図２】フローチャート図
【図３】反射の原理図
【図４】透過の原理図
【図５】部分環境マップを示す図
【図６】一般的なPCの構成を示す図
【図７】分散並列表示の構成を示す図
【符号の説明】
101 視点データ
102 幾何データ
103 テクスチャ座標付き幾何データ
104 環境マップデータ
105 環境マップ領域データ
111 環境マップ用テクスチャ座標生成器
112 環境マップ生成器
113 環境マップ領域生成器
114 テクスチャマッピング処理装置
115 表示装置
300 視線ベクトル
301 法線ベクトル
302 反射ベクトル
400 透過ベクトル
500 視点
501 オブジェクト
502 環境マップ領域
503 キューブ環境マップ
600 PC
601 CPU
602 メモリ
603 HDD
604 グラフィックスアクセラレータ
605 キーボード
606 マウス
807 ネットワークコントローラ
608 LAN
【図１】
0004096710.tif 000002
【図２】
0004096710.tif 000003
【図３】
0004096710.tif 000004
【図４】
0004096710.tif 000005
【図５】
0004096710.tif 000006
【図６】
0004096710.tif 000007
【図７】
0004096710.tif 000008