説明

3次元図形表示方法および3次元描画装置

【課題】雲など、固有形状を持たないテクスチャを、ポリゴン平面に貼り付けて2次元表示すると、3次元図形との交差部に直線が表われ画質が低下する。
【解決手段】ジオメトリ処理部21はCPU1からの3次元データをポリゴンの集合からなる2次元図形データに変換する。例えば、雲のテクスチャを描画する場合、ジオメトリ処理部21で透明のポリゴン平面の座標を出力し、レンダリング部22はこのポリゴン面上にテクスチャメモリ24から読み出した雲のテクスチャをマッピングする。テクスチャメモリ24は、雲など非定形のテクスチャの場合、2次元イメージデータと共に画素毎の奥行きオフセット値を有し、テクスチャ奥行き算出部231はこの奥行きオフセット値だけポリゴン面から離れた各画素の奥行きを求め、テクスチャ奥行き処理部232で視点方向からみた奥行き値(Z値)に換算する。書き込み処理部は223は、この奥行き値とテクスチャ色データによる3次元テクスチャをフレームメモリ25に書き込む。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は3次元描画装置に関し、特に、雲のような非定形物体をテクスチャ方式によってリアルに表現するコンピュータグラフィックスに関する。
【0002】
【従来の技術】3次元コンピュータグラフィックスにおいて、雲などのように特定の形状を持たず、空間に分布する非定形物体を表現するには、非定形物体をリアルに表現できるボリュームレンダリング方式と、リアルではないが簡単かつ高速に表現できるテクスチャ方式がある。
【0003】ボリュームレンダリング方式は、描画対象となる空間を複数の小空間に分割し、視線が小空間を通過する様子を各小空間における輝度変化を積分することによって求め、雲などの非定形物体をリアルに表現する。この方式の公知例として、特開平5−314241号や特開平11−102448号がある。ここでは、描画対象である雲の分布を観測位置からの距離の関数とすることによってハードウェア化し、ボリュームレンダリング方式の高速化を図っている。
【0004】また、テクスチャ方式は、雲などの2次元イメージデータをテクスチャとして、透明または半透明のポリゴン平面に貼付け、その正面が常に視点方向を向くように制御して、描画している。
【0005】
【発明が解決しようとする課題】従来のボリュームレンダリング方式では、雲などの非定形物体をリアルに表現するのに膨大な演算が必要で、関数を実現する回路や積分回路などのハードウェアが複雑、かつ高価になる問題があった。
【0006】一方、テクスチャ方式では、例えば、テクスチャで雲を貼り付けたポリゴンと航空機など、他の3次元図形のポリゴンが交差して表示される場合に、雲を表現している平面ポリゴン上に直線状の交線が浮かび上がってしまう。このため、平面上に描画された雲であることが否応無く強調され、コンピュータグラフィックス映像の品質を著しく低下させていた。
【0007】本発明の目的は、上記した従来技術の問題点を克服し、雲などの非定形物体をリアル、かつ高速に表示できる3次元図形表示方法および3次元描画装置を提供することにある。
【0008】
【課題を解決するための手段】上記目的は、テクスチャの画素毎に奥行き情報を持たせ、3次元テクスチャを表示可能としたことにより達成できる。すなわち、従来は透明または半透明のポリゴン面に貼り付けていたテクスチャデータに画素毎の奥行き情報を付加し、この奥行き情報だけポリゴン面から前または後に離れた位置にテクスチャ画素をマッピング(配置)する3次元描画方式によって達成できる。これにより、画素毎に異なった奥行き方向の値を持つ3次元テクスチャを簡単に実現することができるので、雲のような非定形オブジェクトのリアルな表現が可能となる。
【0009】また、透明のポリゴン平面を基準にしてマッピングされた画素位置(x,y)のテクスチャ画素をフレームメモリのピクセルに描画する場合に、当該ピクセルに描画される他の物体の画素の奥行き値(Z値)と比較し、テクスチャ画素が視点側(前方)にあるときに描画する。このとき、雲などのテクスチャと他の物体の交差部は、前記奥行き情報に応じて交差線が曲折するので、リアル感のある3次元表示が得られる。
【0010】また、前記奥行き情報がポリゴン面の法線方向(垂直)に対する相対距離で設定され、ポリゴン面が視線方向と直交する面に対して傾斜角を有している場合に、前記奥行き情報は前記傾斜角に応じて補正ポリゴン面と視線方向とが交わる角度に応じて補正する。この補正により、ポリゴン面が視線方向と直交するときは前記相対距離がそのまま前記奥行き情報となる。一方、水平に交わるときは視線方向からみた相対距離は0になるので、前記奥行き情報も0となる。これによれば、テクスチャの奥行き値が視点方向に向けて補正されるので、より、リアル感を向上できる。
【0011】また、本発明におけるテクスチャの描画は、予め与えられたテクスチャデータに基づいて行われるので、従来のボリュームレンダリング方式に比べて処理が簡単で、高速化が可能になる。なお、非定形オブジェクトのテクスチャデータは、従来と同様に画像メモリに格納し、CPUが必要時にテクスチャメモリに転送する。
【0012】
【発明の実施の形態】以下、本発明の一実施例を図面を用いて詳細に説明する。図1は、本発明の一実施例による3次元コンピュータグラフイックス(3次元描画装置)のシステム構成である。CPU1はメモリ3に格納されたプログラムを実行し、メモリ3に格納されている2次元イメージデータを参照し、データバス4経由でテクスチャメモリ24に対して転送する。また、メモリ3に格納されている3次元図形の座標データを参照、更新することによって、データバス4経由で描画処理装置2に対して描画処理命令を発行したり、3次元図形の座標データを転送したりする。
【0013】この描画処理装置2では従来と同様に、3次元空間で定義された複数の物体(オブジェクト)をフレーム毎にジオメトリ処理やラスタライズ処理を行って、定義されたオブジェクトの3次元構造データから2次元画像データに変換して3次元図形表示を行う。ここでは、オブジェクトはポリゴンの集まりとして定義され、ポリゴンは三角形に分解し、その3頂点を用いて定義する。一方、テクスチは2次元イメージデータを有して指定されたポリゴン面に貼り付ける従来技術をベースとし、さらにテクスチャ奥行きデータを有して3次元表示を可能にしている。
【0014】描画処理装置2で受取った3次元座標データは、まずジオメトリ処理部21で3次元座標系から2次元座標系への座標変換及び輝度計算処理が施された後、レンダリング処理部22へ転送される。レンダリング処理部22は、受取った2次元座標系上に展開された図形の頂点データから図形内部の各画素の輝度値算出と奥行き方向の算出を行い、テクスチャメモリ24上に格納されている奥行き方向のオフセット値を持つ2次元イメージデータと画素毎の合成処理を行い、1画素単位での奥行き方向の比較、フィルタリング処理を行った後、フレームメモリ25への画素値の書込みを行う。フレームメモリ25に保持された値はディジタル・アナログ変換器26で周期的にアナログ信号に変換され、最終的にディスプレイ5で表示される。
【0015】図2は、一実施例によるレンダリング処理部22の機能を詳細に示したものである。図形の頂点毎のデータを処理するスパン画素算出処理部221とテクスチャ色合成処理部222、テクスチャ奥行き分布算出処理部231と図形内部の画素毎のデータを処理するテクスチャ奥行き合成処理部232、及び、書込み処理部223からなる。ここで、テクスチャ奥行き分布算出処理部231とテクスチャ奥行き合成処理部232は、本実施例の特徴をなすテクスチャ奥行き処理部23の内部処理である。
【0016】スパン画素算出処理部221は、ジオメトリ処理部21で生成した2次元座標系上の頂点座標データとテクスチャ座標データ、頂点輝度データを受取り、テクスチャメモリ24上に格納されている2次元イメージデータの色情報を参照することにより、図形内部の画素毎の輝度値とテクスチャ色値の算出を行う。テクスチャ色合成処理部222は、スパン画素算出処理部221で生成した図形内部の画素毎の輝度値とテクスチャ色値の合成処理を行い、合成色情報(Rp,Gp,Bp,Ap)を生成する。
【0017】スパン画素算出処理部221とテクスチャ色合成処理部222の処理は、従来からの照光処理とテクスチャマッピング処理を実現する処理であり、この照光処理とテクスチャマッピング処理については、例えばオープンGLプログラミングガイド「OpenGL Programing Guide(OpenGL ARB,ISBN4−7952−9645−6 C3055)」等の文献に詳しく説明されている。
【0018】本実施例のテクスチャマッピングは、ジオメトリ処理部21で生成した2次元座標系上の図形、つまりポリゴン(ここでは、三角形)に、テクスチャ座標データ(Tx,Ty)を対応づける。ただし、テクスチャをポリゴン面へ貼り付ける2次元マッピングではなく、ポリゴン面から法線方向(垂直方向)に、テクスチャ画素毎に設定されている相対距離(奥行きオフセット値)だけ離れた奥行きを持つ、3次元図形としてマッピングされる。以下では説明を簡単にするために、雲のテクスチャが1枚の透明(または、半透明)のポリゴン平面にマッピングする例によって説明する。なお、1つのテクスチャが複数のポリゴンにマッピングされてもよい。
【0019】テクスチャ奥行き分布算出処理部231は、ジオメトリ処理部21で生成した2次元座標系上の頂点座標データとテクスチャ座標データを受取り、テクスチャメモリ24上に格納されている2次元イメージデータの画素毎のテクスチャ奥行きをポリゴン面からの相対値として設定している奥行きオフセット値TZOFを参照することにより、図形(ここでは、テクスチャマッピングの基となる透明ポリゴン)内部の画素毎のテクスチャ奥行き分布値TZDRpの算出を行う。
【0020】テクスチャ奥行き合成処理部232は、スパン画素算出処理部221で算出した図形内部の画素毎の奥行き方向の値(テクスチャ画素が対応するポリゴンの奥行き値PZp)と、テクスチャ奥行き分布算出処理部231で算出したテクスチャ画素毎のテクスチャ奥行き分布値TZDRpとの合成処理を行う。これら処理ブロックの詳細な処理内容については後述する。
【0021】書込み処理部223は、テクスチャ色合成処理部222で生成した合成色情報(Rp,Gp,Bp,Ap)と、テクスチャ奥行き合成処理部232で生成した合成奥行き情報(Zp)をフレームメモリ24に書き込む処理を画素毎に行う。
【0022】図4は、本実施例でテクスチャメモリ上に展開される2次元イメージデータの構成を示したものである。図示の太枠で囲んだテクスチャデータ401は、テクスチャメモリ24に展開された1つの2次元イメージデータを示している。テクスチャメモリ24には複数の2次元イメージデータが格納される。
【0023】1ピクセル分のデータ402は、テクスチャデータ401を構成する1画素当りの構成要素を示したものである。403、404、405及び406はそれぞれ赤、緑、青の色情報及び透明度を表す情報(α)を表す8ビットの値である。407は、奥行き方向のオフセット値を表す32ビットの値で、テクスチャ奥行き分布算出処理部231で使用される。ここで、奥行き方向のオフセット値407は、テクスチャデータ401のテクスチャ画素毎に、基準となる透明のポリゴン面からの相対距離(法線方向)を表し、従来のテクスチャにはない本実施例に特有なデータである。
【0024】図5は、本実施例でフレームメモリ上に描画される画像データを示したものである。フレームメモリ25は1画面分の画像データを保持するメモリで、書込み処理部223で使用される。1ピクセル分のデータ501は、フレームメモリ25を構成する1画素当りの構成要素を示したものである。502、503、504及び505はそれぞれ赤、緑、青の色情報及び透明度を表す情報(α)を表す8ビットの値である。
【0025】奥行き値506はZ値と呼ばれる値で、ここではテクスチャ奥行き処理部23で算出した合成奥行き情報Zpで、32ビットの値である。ただし、当該ピクセルに描画される他の図形がある場合、その図形についてジオメトリ処理で算出したポリゴン奥行き値PZpと比較し、視点側から見て近い(または遠い)値が色データとともに書き込まれる。
【0026】次に、本実施例のテクスチャ奥行き処理部23の処理内容を詳細に説明する。図3はテクスチャ奥行き処理部の処理内容を示すフローチャートである。図6はDDA処理とラスタライズ処理の説明図で、テクスチャ奥行き分布算出処理を実現する。また、図7はテクスチャ奥行き処理の模式的な説明図で、雲のテクスチャのマッピングの基となるポリゴン平面701と視線方向(視線ベクトル)705の関係を、Y軸方向から見た図である。
【0027】テクスチャ奥行き分布算出処理部231は、ジオメトリ処理部21から2次元座標系上の図形(ここでは、ポリゴン701)の3頂点データとテクスチャ座標(TXv、TYv)を受け取って処理を開始する。この3頂点データとは、3次元ジオメトリ処理により、ポリゴン701の3次元座標のデータから2次元に変換された三角形の頂点座標(図6の604,605,606)と法線データである。
【0028】まず、受け取った3頂点分のテクスチャ座標(TXv、TYv)より構成される三角形内部の各画素についてテクスチャ画素位置(TXp、TYp)を算出する(s101)。そして、算出したテクスチャ画素のテクスチャ奥行きオフセット値(TZOFp)407をテクスチャメモリ24から読み出す(s102)。
【0029】次に、受け取った3頂点分の法線データ(NXv,NYx,NZv)より、三角形内部の各画素について法線ベクトル(NXp,NYp,NZp)を算出し(s103)、法線ベクトルと視線ベクトル(IX,IY,IZ)とのなす角度Θpを求め、テクスチャ画素毎の奥行き傾き率(TZRp)を数1により算出する(s104)。なお、テクスチャの基準となるポリゴンが図7のように1つの平面の場合は、各画素の奥行き傾き率は同じになる。
【0030】
【数1】TZRp=cosΘp次に、テクスチャ画素毎に算出した奥行き傾き率TZRpとテクスチャ奥行きオフセット値TZOFpから、テクスチャ奥行き分布値(TZDRp)704を数2により算出する(s105)。
【0031】
【数2】TZDRp=TZOFp×TZRp=TZOFp×cosΘp図7に示すように、画素位置の法線ベクトル方向のテクスチャ奥行きオフセット値TZOFp(点線)と、法線ベクトルと視線ベクトルのなす角Θpの余弦値(cosΘp)を乗算して、テクスチャ画素毎に視線方向の奥行き分布値TZDRp(実線)を求めている。つまり、基礎となるポリゴン701の傾きΘpに応じて、テクスチャ画素の奥行きを補正している。
【0032】以上がテクスチャ奥行き分布算出処理部231によるDDA処理とラスタライズ処理によって実現される。すなわち、図6に示す3頂点604、605、606を結ぶ線分の画素の位置と法線ベクトルを算出し、次に、ラスタ方向(X軸602方向)に画素の位置と法線ベクトル算出を行うラスタライズ処理により、図形内部に存在する画素の位置と法線ベクトル(NXp,NYp,NZp)を逐次算出する。
【0033】最後に、テクスチャ奥行き合成処理部304は画素毎のテクスチャ奥行き情報の合成を行う(s106)。すなわち、スパン画素算出処理部221で生成した画素毎のポリゴン奥行き値PZpとテクスチャ奥行き分布算出処理部303で生成した画素毎のテクスチャ奥行き分布値TZDRpを受取り、視点からみた奥行き方向の値Zp、いわゆるZ値を数3により求め。
【0034】
【数3】Zp=PZp−TZDRp図8は、テクスチャ奥行き合成処理部304での処理内容を模式的に示す説明図である。テクスチャマッピングの基礎となるポリゴン平面701面の奥行き値PZpから画素毎にテクスチャ奥行き分布値TZDRpを減算することにより、テクスチャ画素801の奥行きZpはポリゴン701面より手前になる。ここでは、テクスチャ画素801周辺の部分的な画素についてのみ示しているが、実際はポリゴン701上のすべての画素について行われる。
【0035】このように、テクスチャの画素毎に、マッピングの基準となるポリゴン平面701と視点と間の奥行きZpを、テクスチャの色情報に付加する。つまり、色情報のみのテクスチャに奥行き情報を与えることで、従来のポリゴン平面上に貼り付けた2次元表現のテクスチャを、奥行き情報をもつ3次元表現のテクスチャとして描画できる。従って、雲などの非定形のガス状物体のテクスチャを描画する場合に、基準となる透明ポリゴン面の前後に分布して3次元描画される。また、別の3次元物体と交差するときに、その交差線はテクスチャ画素の奥行きに応じて曲折するので、リアル感のある画像を提供できる。
【0036】さらに、分布値はポリゴンの傾きに応じて補正されるので、視点からの奥行き(Z値)となり、より、リアルなテクスチャ表示が可能となる。
【0037】次に、本実施例による3次元描画システムの効果を従来方式と対比して説明する。図9は従来の表示例を示すもので、(a)は正面から奥行き方向(Z軸方向)を見た図、(b)は上面から下向き(Y軸方向)にみた図である。雲の2次元イメージデータをテクスチャとして、平面ポリゴン701に貼付けて表現したものである。
【0038】この雲のポリゴン701に対し、3次元の飛行機のポリゴン901が交差すると、その境界となる平面701上に直線状の交線902が描かれる。これは、奥行きを持たないテクスチャを上から見ると、(b)のように1本の線としてしか表現されないためである。この不自然な交線902の表示は見る者に違和感を与え、3次元表示画面上の雲が実は平面上に描かれたものに過ぎないことを一目瞭然隣にさせる。
【0039】図10は、本実施例による表示例で、図9と同一場面を示している。雲のテクスチャが透明のポリゴン701を基準にして、テクスチャ画素毎に奥行き値Zpを付加して3次元表示されている。従って、3次元の飛行機のポリゴン901との交差部も3次元的に描画され、奥行き値Zpに応じて曲折する交線902となり、リアル感のある立体的な雲などのテクスチャ表現が可能となる。
【0040】
【発明の効果】本発明によれば、テクスチャの画素毎に2次元座標とともに、対象ポリゴンに対する相対奥行き値を与えておき、対象ポリゴン面の前後にテクスチャ画素が分布するようにマッピングするので、テクスチャの3次元表示が簡単、かつ高速に実現でき、リアル感のある3次元表示を提供できる効果がある。また、テクスチャ画像と他の3次元画像とが交差する場合に、その境界線の違和感がなくなり、品質のよい3次元表示を提供できる効果がある。
【図面の簡単な説明】
【図1】本発明の3次元描画装置の一実施例を示す構成図。
【図2】一実施例によるレンダリング処理部の機能を示すブロック図。
【図3】一実施例によるテクスチャ奥行き処理部の処理手順を示すフロー図。
【図4】一実施例によるテクスチャメモリの構成図。
【図5】一実施例によるフレームメモリの構成図。
【図6】テクスチャ奥行き処理部によるDDA処理及びラスタライズ処理の説明図。
【図7】透明ポリゴン上にテクスチャマッピングされるテクスチャ(雲)の奥行き処理の説明図。
【図8】奥行き処理されたテクスチャを模式的に示す説明図。
【図9】従来のポリゴン上に貼り付けた雲のテクスチャと他物体の画像が交差する場面の3次元表示を示す説明図。
【図10】本発明を適用して図9と同じ場面の3次元表示を示す説明図。
【符号の説明】
1…CPU、2…描画処理装置、3…メモリ、4…データバス、5…ディスプレイ、21…ジオメトリ処理部、22…レンダリング処理部、23…テクスチャ奥行き処理部、24…テクスチャメモリ、25…フレームメモリ、26…デジタル/アナログ変換器、221…スパン画素算出処理部、222…テクスチャ色合成処理部、231…テクスチャ奥行き分布算出処理部、232…テクスチャ奥行き合成処理部、223…書き込み処理部、701…雲のポリゴン、901…飛行機のポリゴン、902…交線。

【特許請求の範囲】
【請求項1】 3次元空間でポリゴンにより定義されたオブジェクトを2次元図形データに変換して表示する3次元図形表示方法において、雲のような非定形オブジェクトを2次元イメージのテクスチャとして定義すると共に前記テクスチャの画素毎に奥行き情報を付加しておき、透明または半透明のポリゴン上に前記非定形オブジェクトをテクスチャマッピングするときに、各テクスチャ画素をその奥行き情報だけ対象ポリゴン面から離してマッピングすことを特徴とする3次元図形表示方法。
【請求項2】 請求項1において、前記奥行き情報が対象ポリゴン面の法線方向の相対距離として与えられ、かつ対象ポリゴン面が視線方向と直交する面に対して傾斜角を有している場合に、前記奥行き情報は前記傾斜角に応じて補正されることを特徴とする3次元図形表示方法。
【請求項3】 3次元空間でポリゴンにより定義されるオブジェクトを2次元図形データに変換する描画処理装置を備える3次元描画装置において、雲のような非定形オブジェクトがテクスチャ画素毎の色データと奥行き情報をもつテクスチャとして格納されるテクスチャメモリと、ジオメトリ処理で変換された2次元図形の頂点座標を受け取り、図形内部の各画素の輝度値と奥行き値(Z値)を算出し、これと同時にテクスチャ座標を受け取ると、前記テクスチャメモリに格納されている該当テクスチャを参照して前記2次元図形と画素毎の合成を行い、かつ前記奥行き値と前記奥行き情報の比較結果にしたがってフレームメモリへの書き込みを行うレンダリング処理部を設けたことを特徴とする3次元描画装置。
【請求項4】 請求項3において、前記レンダリング処理部は、透明または半透明の平面図形の頂点座標と前記非定形オブジェクトのテクスチャ座標を受け取り、前記平面図形上の画素毎にテクスチャ画素を対応付け、かつ前記奥行き情報だけ前記平面図形から離してマッピングするテクスチャ奥行き処理部を設けることを特徴とする3次元描画装置。
【請求項5】 3次元図形データを格納する図形メモリと、描画処理命令を発行し前記図形メモリからフレーム毎に1または複数の図形の座標データを転送するCPUと、CPUから転送される3次元図形データを2次元図形データに変換する描画処理装置と、描画された図形をD/A変換して表示する表示装置を備える3次元描画装置において、前記描画処理装置は、テクスチャの画素毎の色データと奥行き情報の格納を可能にし、雲のような非定形オブジェクトのテクスチャに対し前記奥行き情報を含めて格納するテクスチャメモリと、フレーム内の図形の画素毎の色データと奥行き値を格納するフレームメモリと、3次元図形データを2次元座標系への座標変換及び輝度計算処理を行うジオメトリ処理部と、2次元座標系上に展開される図形データを受け取って図形内部の輝度値及び奥行き値(Z値)の算出と、テクスチャメモリに格納されているテクスチャを参照して前記図形の輝度値と画素毎に合成処理を行い、また、前記テクスチャが前記奥行き情報を持つ場合は前記図形の奥行き値を基準に前記テクスチャの奥行き情報だけ離間して画素毎に合成処理を行い、合成処理された輝度値と奥行き値をフレームメモリに書き込むレンダリング処理部を設けたことを特徴とする3次元描画装置。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【公開番号】特開2001−202527(P2001−202527A)
【公開日】平成13年7月27日(2001.7.27)
【国際特許分類】
【出願番号】特願2000−14062(P2000−14062)
【出願日】平成12年1月19日(2000.1.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】