JP3712015B2 - 画像作成装置および方法 - Google Patents
画像作成装置および方法 Download PDFInfo
- Publication number
- JP3712015B2 JP3712015B2 JP27090695A JP27090695A JP3712015B2 JP 3712015 B2 JP3712015 B2 JP 3712015B2 JP 27090695 A JP27090695 A JP 27090695A JP 27090695 A JP27090695 A JP 27090695A JP 3712015 B2 JP3712015 B2 JP 3712015B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- texture
- coordinates
- patch
- data
- 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
Links
Images
Landscapes
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、画像作成装置および装置に関し、電子的な映像生成、コンピュータグラフィクス、またはCAD(Computer Aided Design)などにおいて用いて好適な、画像作成装置および方法に関する。
【0002】
【従来の技術】
近年、コンピュータグラフィクスの分野において、表現力豊かな映像を作成するため、形状の微細な凹凸を表現できるレンダリング方法が要求されている。また、微細な凹凸までをも表現した映像を、バーチャルリアリティーやゲームなどのリアルタイムアプリケーションに適用したいという要求も高まっている。
【0003】
これらの要求を満たすため、ディスプレースメントマッピング法が提案されている。このディスプレースメントマッピング法は、モデル表面に距離画像として表現した凹凸を張り付けることによってレンダリングを行う技術であり、この技術を用いることにより、比較的少ないパッチデータによって微細な凹凸のある形状をレンダリングすることが可能である。
【0004】
従来のディスプレースメントマッピング法は、微小ポリゴン分割法によって行われていた。これは、距離画像をマッピングしたパッチの表面上の点の座標を適切な間隔で計算し、表面上の点を辺で結んで多数の微小なポリゴン(パッチ)を作成し、これらを塗りつぶすことによってレンダリングを行う方法である。その場合、ポリゴンソーティング法などのように、手前のポリゴンを時間的に後から描くアルゴリズムが適用される。
【0005】
【発明が解決しようとする課題】
レンダリングに使うことができる時間が決まっているリアルタイムアプリケーションにおいては、 処理時間の予測は重要である。なぜならば、処理時間を正確に予測することにより、作成した映像に及ぼす悪影響が最も少ない方法によるレンダリングの省略が可能だからである。逆に、処理時間の予測が不正確であれば、レンダリングにおいて、時間の余剰によるシステムのストールや、時間の不足によるレンダリングの打ち切りの原因となる。
【0006】
しかしながら、従来の微小ポリゴン分割法によるディスプレースメントマッピング法においては、所要時間の正確な予測は困難である。なぜならばレンダリングの最終段階における微小ポリゴンの塗りつぶしの所要時間は、画面上における画素数に支配されるが、微小ポリゴン分割によって生じる極めて多数のポリゴンについて、画面上における画素数をレンダリングの初期段階であらかじめ求めておくことは困難だからである。
【0007】
特に、ポリゴンソーティング法などのように、手前のモデル(ポリゴン)を時間的に後から描くアルゴリズムをリアルタイムレンダリングに適用する場合、時間の不足による描画の打ち切りは、視点に最も近いパッチの欠損を引き起こし、最も目立つ部分において画像を著しく損なう原因となる。すなわち、リアルタイム用途でソーティング法を用いた従来の方法は、制限時間切れでレンダリングを打ち切っていた。このため、最後に処理される視点に近く、視覚上最も重要なパッチが、レンダリングされない場合があった。
【0008】
以上のことから、ディスプレースメントマッピング法によって、正確な時間予測に基づいた高品質の映像を作成するために、処理時間の予測が容易なレンダリング方法が望まれていた。
【0009】
本発明はこのような状況に鑑みてなされたものであり、ディスプレースメントマッピング法を用いた、処理時間の予測が容易なレンダリング方法を実現するとともに、予測した処理時間に対応して、レンダリング品質を制御し、欠損の目立たない画像を作成することができるようにするものである。
【0010】
【課題を解決するための手段】
請求項1に記載の画像作成装置は、平面パッチの座標を、テクスチャ座標上の座標に変換する座標変換手段と、テクスチャ座標上における平面パッチのスキャン単位、およびテクスチャ座標上における平面パッチの面積に基づいて、画像の描画時間を予測し、描画時間に従って画像の描画精度を調整する精度調整手段と、画像を構成する画素をスクリーン座標上へ描画する描画手段と、精度調整手段による画像の描画精度の調整結果に応じて、平面パッチをスキャンし、テクスチャ座標における距離画像に対応して、描画手段による画素のスクリーン座標上への描画位置を制御する描画位置制御手段とを備えることを特徴とする。
【0011】
請求項11に記載の画像作成方法は、平面パッチの座標を、テクスチャ座標上の座標に変換し、テクスチャ座標上における平面パッチのスキャン単位、およびテクスチャ座標上における平面パッチの面積に基づいて、画像の描画時間を予測し、描画時間に従って画像の描画精度を調整し、画像を構成する画素をスクリーン座標上へ描画するときに、画像の描画精度の調整の結果に応じて、平面パッチをスキャンし、テクスチャ座標における距離画像に対応して、画素のスクリーン座標上への描画位置を制御することを特徴とする。
【0012】
請求項1に記載の画像作成装置においては、座標変換手段により、平面パッチの座標がテクスチャ座標上の座標に変換され、精度調整手段により、テクスチャ座標上における平面パッチのスキャン単位、およびテクスチャ座標上における平面パッチの面積に基づいて、画像の描画時間が予測されて、描画時間に従って画像の描画精度を調整される。そして、描画手段により、画像を構成する画素がスクリーン座標上へ描画され、描画位置制御手段により、画像の描画精度の調整結果に応じて、平面パッチをスキャンし、テクスチャ座標における距離画像に対応して、描画手段による画素のスクリーン座標上への描画位置が制御される。従って、描画処理時間の予測を容易に行うことができる。
【0013】
請求項11に記載の画像作成方法においては、平面パッチの座標を、テクスチャ座標上の座標に変換し、テクスチャ座標上における平面パッチのスキャン単位、およびテクスチャ座標上における平面パッチの面積に基づいて、画像の描画時間を予測し、描画時間に従って画像の描画精度を調整し、画像を構成する画素をスクリーン座標上へ描画するときに、画像の描画精度の調整の結果に応じて、平面パッチをスキャンし、テクスチャ座標における距離画像に対応して、画素のスクリーン座標上への描画位置を制御する。従って、描画処理時間の予測を容易に行うことができる。
【0014】
【発明の実施の形態】
図1は、距離画像の組合せから成るデータによるレンダリング方法の処理概要を示している。図1に示したように、まず、距離画像などのテクスチャ画像の並び307と概略パッチの並び305に対して、視点630、光源632、および投影面619が決定される。次に、視点630から見える概略パッチ上のテクスチャ画素の補間やライティング計算などによって、描画する画素641が計算される。最後に、この画素641が画像データ8としてスクリーン座標上に描画されることによってレンダリングが行われる。
【0015】
図2は、図1に示した処理が実行されるときのデータの流れを示している。モデルデータ3および変換行列データ6は、レンダリング部5に入力され、レンダリング処理が施された後、画像データとして出力される。レンダリング部5は、後述する中央処理装置(CPU)12において実行される所定のアプリケーションプログラムによって構成される。
【0016】
図3は、本発明の画像作成装置の構成例を示している。この画像作成装置において、ディスク11は、モデルデータ3、変換行列データ6、およびアプリケーションプログラム等を記憶する。CPU12は、ディスク11から主記憶13にロードされたアプリケーションプログラムに従って動作し、ディスク11より供給されたデータに基づいて、レンダリング処理等を行うようになされている。
【0017】
ディスク14は、CPU12より供給されたレンダリング処理された結果を記録する。表示装置15は、CPU12より供給されたレンダリング処理された結果に対応する画像を表示するようになされている。
【0018】
モデルデータ3および変換行列データ6はCPU12に入力される。CPU12に供給されたモデルデータ3は、変換行列データ6を用いてレンダリング部5によりレンダリング処理が行われる。レンダリング部5において作成された画像データ8は、ディスク装置14に保存されるか、または表示装置15に供給されて表示される。レンダリング部5における処理の中間結果や入出力データは、必要に応じて主記憶装置13に一時的に保存され、CPU12により適宜読み出される。
【0019】
次に、モデルデータ3について説明する。上記実施例に入力されるデータは、例えば図4に示したような構成のモデルデータ3を、一枚の画像データをレンダリングするために必要なモデル全体について組み合わせたものである。モデルデータ3は、概略パッチデータ34の並び304、物体の形状と表面の状態を表すテクスチャ画像データ36の並び306、および補間制御データ30の並び300から構成されている。1個の概略パッチデータ34は、テクスチャ画像データ36、および補間制御データ30を1個ずつ参照している。
【0020】
概略パッチデータ34の並び304は、図1において、モデルの概略の形状を表す複数の概略パッチの並び305を表すデータであり、テクスチャ画像データ36の並び306は、物体の形状と表面の状態を表すテクスチャ画像の並び307を表すデータである。これらのデータはディスク装置11に記憶される。
【0021】
テクスチャ画像データ36は、後述するように、テクスチャ画素データ38を2次元状に並べたものであり、テクスチャ画素データ38は、オリジナルモデルの凹凸や表面の状態を表すデータから成る。テクスチャ画像の中の距離画像同士が接触するか、または重なることによって、所定のモデルの形状を表すモデルデータ3が構成される。
【0022】
次に、概略パッチデータ34について説明する。図5は、上記実施例に入力される概略パッチデータ34の構成例を示している。概略パッチデータ34は、モデル全体を取り囲むポリゴンのひとつを表している。
【0023】
MC頂点座標340は、モデルを記述するモデリング座標系(MC:Model Coordinate)におけるパッチの形状や大きさを表すデータである。ここでは、上記実施例におけるパッチは、オリジナルモデルを包囲する直方体の各面に対応しており、MC頂点座標340は、その形状および大きさを表すものとされている。TC頂点座標342は、テクスチャ画像データの格子に対応したテクスチャ座標系(TC:Texture Coordinate)において、パッチの各頂点に対応づけるテクスチャデータの位置や倍率を決定する。
【0024】
また、テクスチャ座標系からモデリング座標系への変換を行うための変換行列344は、モデリング座標系におけるパッチの頂点のモデリング座標と、このパッチ上にマッピングするテクスチャの分解能に基づく画素数から求められるテクスチャ座標系におけるパッチの頂点に対応するテクスチャ座標との間の変換行列である。この行列は、4頂点のモデリング座標系およびテクスチャ座標系のそれぞれの座標から求められる。また、テクスチャ画像データへの参照346は、概略パッチにマッピングするテクスチャ画像データ36を参照するためのポインタなどからなる。
【0025】
次に、テクスチャ画像データ36について説明する。図6は、上記実施例に入力されるテクスチャ画像データ36の例を示しており、図7は、上記実施例に入力されるテクスチャ画素データ38の例を示している。テクスチャ画像データ36は、テクスチャ座標をテクスチャ画素アドレスに変換するためのテクスチャ画素アドレス変換係数362と、テクスチャ画素データ38の2次元配列との組である。2次元配列テクスチャ画素アドレスsおよびテクスチャ画素アドレスtを要素番号としてアクセスすることができる。
【0026】
テクスチャ画素データ38は、テクスチャ画像を構成する画素データであり、以下の内容を含んでいる。すなわち、テクスチャ画素距離データ381は、パッチから垂直(パッチの法線方向に)にサンプリングした、パッチからオリジナルモデルまでの距離を表している。テクスチャ画素色データ383は、パッチ上のテクスチャ画素に投影したオリジナルモデル上の色を表している。また、テクスチャ画素法線データ385は、パッチ上のテクスチャ画素に投影したオリジナルモデル上の法線ベクトルを表している。テクスチャ画素アルファデータ387は、オリジナルモデルからパッチ上のテクスチャ画素に投影されたオリジナルモデルの有無を表している。
【0027】
次に、補間制御データ30について説明する。図8は、補間制御データ30の例を示しており、図9は、補間制御データ30を構成する画素間補間制御データ32の例を示している。補間制御データ30は、画素間補間制御データ32の2次元配列からなり、パッチ上の距離画像データの連続性を表している。
【0028】
画素間補間制御データ32は、s方向補間制御データ321およびt方向補間制御データ323から成る。s方向補間制御データ321およびt方向補間制御データ323は、パッチ上の隣接テクスチャ画素間において、モデルが連続しているかどうかを規定する。これらの画素間補間制御データ32は、テクスチャ画素に対応しており、テクスチャ画素アドレスsおよびtによりアクセスが可能である。
【0029】
テクスチャ画素アドレスが(s,t)の画素のs方向補間制御データ321が1であれば、テクスチャ画素アドレスが(s,t)および(s+1,t)の間において、モデルは不連続であることを意味し、0であれば連続であることを意味している。また、テクスチャ画素アドレスが(s,t)の画素のt方向補間制御データ323が1であれば、テクスチャ画素アドレスが(s,t)および(s,t+1)の間において、モデルが不連続であることを意味し、0であれば連続であることを意味している。
【0030】
次に、変換行列データ6について説明する。図10は、レンダリング部5に入力される変換行列データ6の例を示している。変換行列データ6は、例えばモデリング座標系(MC)から視点座標系(VC)への変換行列、およびその逆行列などの座標変換データ61、並びにライティングに関連するライティングデータ63からなる。
【0031】
座標変換データ61は、例えばモデリング座標系から視点座標系への変換行列611、視点座標系からモデリング座標系への変換行列612、およびモデリング座標系からスクリーン同次座標系(HSC)への変換行列613から成る。さらに、ライティングデータ63は、図1に示した視点630の位置を表す視点座標データ631、および光源632の位置を表す光源座標データ633から成る。
【0032】
上記実施例によりレンダリング処理された結果としての画像データ8は、画像を構成するR(赤),G(緑),B(青)の各画素値の2次元配列よりなる。
【0033】
図11は、CPU12が所定のアプリケーションプログラムを実行することにより構成されるレンダリング部5の構成およびデータの流れを示している。レンダリング部5を構成するモデルデータソーティング部51は、まず、モデルデータ3の中の概略パッチデータの並び304に対してソーティングを行い、視点から遠い順に、概略パッチデータ34pをひとつずつ取り出すようになされている。
【0034】
座標変換部53は、モデルデータソーティング部51より供給された概略パッチデータ34pに含まれる変換行列と、座標変換データ61に含まれる変換行列を乗じることにより、視点や視線に依存した変換行列群65を作成する。次に、視点座標や光源座標のテクスチャ座標系への座標変換を行う。テクスチャ座標計算部55(座標変換手段)は、概略パッチデータ34pの各頂点座標をテクスチャ座標系に変換し、テクスチャ座標系における概略パッチ上のテクスチャ座標を2次元的にスキャンすることにより、パッチ上でのテクスチャ座標データ64を一定の間隔で求め、出力するようになされている。
【0035】
テクスチャ画素計算部57は、概略パッチデータ34pとテクスチャ座標データ64から、テクスチャ画素データ38の読み出しと補間を行い、補間済みテクスチャ画素データ39pを作成する。最後に、画像描画部59(描画手段、描画位置制御手段、精度調整手段)は、補間済みテクスチャ画素データ39p、テクスチャ座標データ64、および変換行列群65から、画素値データ66と画素値データ66のそれぞれに対応するスクリーン座標データ68を計算し、レンダリング結果としての画像データ8を出力する。レンダリング部5より出力された画像データ8に対応する画像は、ディスク装置14に記録されたり、表示装置15に表示されるようになされている。
【0036】
以下、図11に示したレンダリング部5の動作について説明する。モデルデータソーティング部51には、モデルデータ3および変換行列データ6が入力される。次に、視点からパッチの重心までの視線方向に計った距離に基づき、モデルデータ3が含む概略パッチ全体に対してソーティングが行われる。最後に、ソート結果に基づいて、視点から遠い順に概略パッチデータ34pが1つずつ出力される。
【0037】
座標変換部53においては、モデルデータソーティング51より供給された概略パッチデータ34pに含まれる変換行列344と、座標変換データ61から取り出された変換行列を乗じることによって、視点や視線に依存した変換行列群65が作成されるとともに、視点座標データや光源座標データのテクスチャ座標系への座標変換が行われる。
【0038】
変換行列群65は、視点座標系からテクスチャ座標系への変換行列、テクスチャ座標系から視点座標系への変換行列、テクスチャ座標系からスクリーン同次座標系への変換行列、さらには視点座標データ631および光源座標データ633を、テクスチャ座標系に変換したテクスチャ座標系(TC)視点データ631tおよびテクスチャ座標系(TC)光源データ633tから成る。
【0039】
図12は、図1に示した概略パッチの並び305から、モデルデータソーティング部51でソートしたパッチのひとつ(概略パッチ35a)が取り出され、座標変換部53において視点座標データ631と光源座標データ633がテクスチャ座標系の視点座標データ631tと光源座標データ633tに変換された状態を示している。
【0040】
図13は、図12に示した概略パッチ35aに、テクスチャ座標計算部55における処理が施されたものである。テクスチャ座標計算部55は、図12におけるモデリング座標系の概略パッチ35aをテクスチャ座標系の概略パッチ35atに変換し、概略パッチ35at上のテクスチャ座標を2次元的にスキャンすることにより、概略パッチ35at上でのテクスチャ座標64pを一定の間隔で求め、順次出力する。
【0041】
まず、テクスチャ座標計算部55では、テクスチャ座標のスキャン単位が求められる。概略パッチ35at上の1テクスチャ画素に対応するスクリーン(投影面)619上における大きさの最小値を求め、この最小値に係数を乗じたものをスキャン単位とする。上記実施例における係数は、例えばs方向およびt方向についてそれぞれ1テクスチャ画素に対応するスクリーン画素上における大きさの0.5画素分としている。
【0042】
次に、テクスチャ座標のスキャン単位と、テクスチャ画像の面積比から、スキャン単位が計算された後の処理コストが求められる。その結果、制限時間以内にレンダリングが終了する見通しが立たない場合、例えばレンダリング品質を犠牲にしても制限時間内でのレンダリングを可能とするために、スキャン単位を大きくするなどの処理が行われる。
【0043】
次に、スキャンの初期値(スキャン開始点)、およびメジャースキャンの方向および増分、並びにマイナースキャンの方向および増分が決定される。まず、スキャン初期値641は、視点座標データ631tで表される視点630から最も遠いところに定められる。次に、スキャン初期値641から始まってパッチ35at全体をスキャンする方向を2種類定め、1単位のスキャンで視点に近づく距離が大きい方の方向をメジャースキャンとし、1単位のスキャンで視点に近づく距離が小さい方の方向をマイナースキャンとする。
【0044】
例えば図13においては、スキャン初期値641から始まってパッチ35at全体をスキャンする方向は、−t方向643、および−s方向645の2種類である。このうち、視点に近づく距離が大きい方の−t方向643をメジャースキャン、小さい方の−s方向645をマイナースキャンとする。
【0045】
最後に、テクスチャ座標のスキャン初期値641に、マイナー方向の増分(マイナー増分)を加えることで、テクスチャ座標64pを一定の間隔で順次求め、出力する。テクスチャ座標が概略パッチ35atをはみ出した場合、メジャー方向の増分(メジャー増分)をスキャン初期値541に加え、マイナー方向を初期化する(マイナー方向の座標をスキャン初期値641と同一の座標にする)。
【0046】
図14は、テクスチャ画素計算部57における画素の読み出しと補間の作用を示している。まず、テクスチャ座標データ64の整数部と、現在レンダリング中のパッチのテクスチャ画素アドレス変換係数362が、テクスチャ画素計算部57のテクスチャ画素読み出し部(図示せず)を介して入力され、テクスチャ画素のアドレスとテクスチャ座標の端数(小数部)が得られる。
【0047】
次に、テクスチャ画像データ36からテクスャ画素のアドレスで指示されるテクスチャ画素データ38と、その4連結のテクスチャ画素データ38が読み出され、テクスチャ画素補間部573に入力される。また、補間制御データ30から、テクスチャ画素のアドレスで指示される画素間補間制御データ32が読み出され、同様にテクスチャ画素補間部573に入力される。ここで、4連結のデータのうち、前回のマイナー増分を加える前に読み出されたものがあればそれを使うこともできる。
【0048】
読み込んだテクスチャ画素データ38と画素間補間制御データ32、およびテクスチャ座標の端数は、テクスチャ画素補間部573に入力され、距離画素値のバイリニア補間、色画素値のバイリニア補間、法線値のバイリニア補間および長さ1への正規化が行われる。その結果として、補間済み距離データ391p、補間済み色データ393p、補間・正規化済み法線データ395p、および補間済みアルファデータ397pなどからなる補間済みテクスチャ画素データ39pが得られる。
【0049】
ここで、読み出した画素のアルファデータが「0」、つまりモデルの不存在を指示している場合は描画を行わない。また、s方向補間制御データ321pが「1」、つまり不連続を指示している場合は、s方向に近い整数に丸められたsテクスチャ座標に対応するテクスチャ画素を使用してt方向だけのリニア補間が行われる。一方、t方向補間制御データ323pが「1」、つまり不連続を指示している場合は、t方向の近い整数に丸められたtテクスチャ座標に対応するテクスチャ画素を使用してs方向だけのリニア補間が行われる。
【0050】
図15は、図11に示した画像描画部59の動作を表している。画像描画部59においては、補間済みテクスチャ画素データ39p、テクスチャ座標64p、および変換行列群65から、ライティング計算部591(ライティング手段)を介して、表示する画素の画素値66とスクリーン座標68が計算され、レンダリング結果としての画像データ8が作成される。
【0051】
まず、ライティング計算部591において、補間・正規化済み法線データ395pと補間済み色データ393pに対して、TC視点データ631tおよびTC光源データ633tを使用したライティング計算が行われ、画素値66が求められる。このとき、ライティング計算部591においては、コンピュータグラフィクスで通常用いられる拡散反射、鏡面反射、またはこれらの組合せなどの任意のライティング計算アルゴリズムが使用可能である。
【0052】
次に、テクスチャ座標64pによって表される概略パッチ35上の点に、補間済み距離データ391pによって表される差分が、テクスチャ座標系69tにおけるu方向に加えられることにより、距離画像でずらしたテクスチャ座標64aが求められる。さらに、距離画像でずらしたテクスチャ座標64aにテクスチャ座標からスクリーン同次座標系への変換行列を乗じることにより、スクリーン同次座標が求められる。このスクリーン同次座標に対して、遠近を表す値w=1となるように正規化処理が施されることにより、視点に対して投影した投影スクリーン座標68sが求められ、これに適切な丸めを行うことにより整数スクリーン座標68が求められる。
【0053】
最後に、画素値の2次元配列で表される画像データ8の整数スクリーン座標68に対応する画素に、ピクセル値66を書き込むことにより、1画素の描画を行う。以上の操作をすべての入力に対して行うことにより、画像データ8の全体を生成する。
【0054】
以上のようにして、レンダリングを行うことができる。
【0055】
図16および図17は、スクリーン座標スキャン法によってレンダリングを行う場合の例を示している。
【0056】
上記実施例におけるディスプレースメントマッピング法によるパッチのレンダリングアルゴリズムは、スクリーン座標をスキャンしていく場合にも適用することができる。この方法は、図11に示した上記実施例のテクスチャ座標計算部55における処理を、以下の通りに変更することにより実現可能である。
【0057】
すなわち、図16において、図12におけるモデリング座標の概略パッチ35aを、テクスチャ座標系のパッチ35atに変換し、パッチ35atを投影面に投影して投影パッチ35projを作成する。次に、投影パッチ35proj上のスクリーン座標を一定の間隔でスキャンし、スキャンしたスクリーン座標をパッチ35atに逆投影して、逆投影した場所に対応するテクスチャ座標を求めるようにする。
【0058】
そのために、まず、テクスチャ座標のスキャン単位が求められる。概略パッチ35at上の1テクスチャ画素のスクリーン上における大きさの最小値が求められ、最小値に所定の係数を乗じたものがスキャン単位とされる。本実施例における係数は、x方向およびy方向(スクリーン座標系)についてそれぞれ0.5画素とされている。次に、テクスチャ座標のスキャン単位と、テクスチャ画像の面積比から、スキャン単位を計算した後の処理コストが求められる。その結果、制限時間以内にレンダリング処理が終了する見通しが立たない場合、例えばレンダリング品質を犠牲にしても制限時間内にレンダリング処理が終了するように、スキャン単位を大きくするなどの処理が行われる。
【0059】
次に、スキャン初期値641−2は、例えばy座標の値が最も大きい頂点とされ、メジャースキャンの方向はy方向、増分643−2は0.5画素、マイナースキャンの方向はx方向、増分645−2は0.5画素とされる。
【0060】
最後に、スクリーン座標のスキャン初期値にマイナー増分を加えることにより、スクリーン座標64sが順次求められる。スクリーン座標64sに対応するテクスチャ座標64pが概略パッチ35atをはみ出した場合、スクリーン座標上においてメジャー増分が加えられ、マイナー方向が初期化される。さらにそれぞれのスクリーン座標64sについて逆投影が行われ、テクスチャ座標64pが求められる。
【0061】
次に、陰面消去にZバッファ法を使用する場合について説明する。以上の実施例においては、パッチのソーティング、メジャスーキャン、およびマイナースキャンの描画方法を選ぶことによって、視点に対して奥の方から手前に向かって描画する方法を用いているが、モデルデータソーティング部51におけるソーティング処理を省略し、画像描画部59において奥行き比較を行うZバッファ法によっても、同様に陰線消去を行うことができる。
【0062】
次に、スキャン単位を変更した場合について説明する。以上の実施例で述べた、テクスチャ座標計算部55において求められるスキャン単位は一定であるが、例えば1次関数などによって動的に変化させることもできる。すなわち、例えば、プリミティブが視点に対して比較的遠い位置にある場合、スキャン単位を大きくし、プリミティブが視点に対して比較的近い位置にある場合、スキャン単位を小さくする。これにより、同一のプリミティブの遠近によるレンダリング品質のばらつきを小さくすることができる。
【0063】
次に、時間切れの際のレンダリングの他の省略方法について説明する。テクスチャ座標計算部55における処理コストの見積り結果によって、制限時間以内にレンダリングが終了する見通しが立たない場合、上記実施例において上述したように、スキャン単位を大きくする上記方法の他に、結果の品質を下げて高速化を行うための他の異なる処理を行うようにしても同等の効果が得られることは明らかである。
【0064】
例えば、現在レンダリングしようとしているパッチの重要度が低い場合、そのパッチ全体の描画を省略し、レンダリングの品質を下げることにより、描画処理を高速化する。あるいは、さらにパッチ数の少ない粗いモデルと交換することにより、レンダリングの品質を下げ、描画処理を高速化する。
【0065】
このようにして、レンダリングの品質を下げることにより、制限時間以内にレンダリングが終了するようにすることができる。
【0066】
以上のように、上記実施例においては、パッチ数を大幅に削減したモデルをレンダリングすることにより、パッチの座標変換に必要な高精度の浮動小数点演算の回数を大幅に削減することができる。また、パッチ数の減少に伴って、ソーティング法によるレンダリングにおいて必要とされるパッチ処理段階でのソーティングのコストをきわめて小さくすることができる。
【0067】
また、パッチ数の削減により、パッチのスクリーン上での面積を計算することによってレンダリングにかかる時間を予測することが極めて安価に可能となる。このため、リアルタイムでレンダリングを行うようなリアルタイム用途において、レンダリングの制限時間を越えないように、レンダリング品質とレンダリング時間のトレードオフを動的に変えることができる。
【0068】
ライティングは、視点から見える照明されたパッチの色を求める演算であるが、この演算は、視点とパッチ上の点を結ぶ視線と法線のなす角および光源とパッチ上の点を結ぶ光線と法線のなす角に基づいて行われる。これらの角を求めるためには、視線、光線、および法線の座標系を一致させる必要があり、座標系の一致は、テクスチャ座標系へ視点および光源の座標を変換する方法、またはテクスチャ法線データを視点および光源が定義されているグローバル座標系へ変換する方法により行われる。
【0069】
従来のマッピング法においては、1枚のテクスチャ画像およびテクスチャ法線データが、多数の平面パッチや曲面パッチにマッピングされる。このようなマッピング法においては、グローバル座標系からテクスチャ座標系への変換はパッチ毎に異なる。このため、テクスチャ法線データを使用したライティングにおいて、視線および光線をテクスチャ座標系に変換する方法によって座標系を一致させるためには、多数のパッチの全てについて異なる視線および光源の座標変換を行う必要がある。また、テクスチャ法線をグローバル座標系に変換する方法で座標系を一致させるためには、テクスチャ画像法線の全ての画素について、座標変換を行う必要がある。これらの方法は、いずれも座標変換に伴う計算コストを大量に要している。
【0070】
これに対して、上記実施例においては、1枚のテクスチャ画像を平面パッチにマッピングしているため、視線および光源と法線の座標系を揃えるためには、テクスチャ画像データ1枚に対して、視線および光源の座標をテクスチャ座標系に変換する座標変換を1回だけ行えば充分である。以上のことから、上記実施例においては、ライティングに伴う座標変換のコストを大幅に削減することができる。
【0071】
さらに、上記実施例においては、パッチに対応づけられた距離画像の分解能はほぼ一定であるため、モデルにおける不必要に細かい分解能の部分が自動的に省略される。このため、レンダリング結果として得られる画像において、モデルエリアシング(不自然さ)を生じ難くさせることができる。
【0072】
また、上記実施例においては、レンダリングにおいて、距離画像、法線、およびテクスチャ画像の3つが同じデータ構造をとるモデルデータを用いることにより、アドレス計算の回数の減少、アドレス出力のハードウエアのコストダウン、およびレンダリングにおけるデータフローの単純化などを行うことができる。特に、スクリーン座標スキャンによるディスプレースメントマッピング法は、スクリーン座標スキャンによる塗りつぶしを行う従来のグラフィクスシステムに容易に付加できる。したがって、ごく少数のパッチの接続によるモデル表現が、ディスプレースメントマッピング法の付加により、低コストで可能となる。
【0073】
また、上記実施例における、テクスチャ座標スキャンによるディスプレースメントマッピング法では、テクスチャ画像の読み出しがシーケンシャルに行われる。このため、テクスチャデータを格納するために従来使われていたランダム読み出し性能の高い高価な記憶装置を使わずに高性能を実現できる。
【0074】
さらに、上記実施例における、テクスチャ座標スキャンによるパッチの描画においては、同一パッチ内のスキャン順序および方向が、視点とパッチ頂点との前後関係に依存して動的に決定される。これにより、スキャン方向を固定する場合と比較して、レンダリングにおける演算コストが同じで、同一パッチ上の凹凸同士の前後関係がより正しく再現されるようにすることができる。
【0075】
なお、上記各実施例においては、概略パッチの並び305を直方体としたが、他の任意の形状とすることができる。
【0076】
【発明の効果】
請求項1に記載の画像作成装置、および請求項11に記載の画像作成方法によれば、平面パッチの座標を、テクスチャ座標上の座標に変換し、テクスチャ座標上における平面パッチのスキャン単位、およびテクスチャ座標上における平面パッチの面積に基づいて、画像の描画時間を予測し、描画時間に従って画像の描画精度を調整し、画像を構成する画素をスクリーン座標上へ描画するときに、画像の描画精度の調整の結果に応じて、平面パッチをスキャンし、テクスチャ座標における距離画像に対応して、画素のスクリーン座標上への描画位置を制御するようにしたので、描画処理時間の予測を容易に行うことができ、例えば、リアルタイム用途において、レンダリング品質とレンダリング時間のトレードオフを動的に変えることが可能となる。
【図面の簡単な説明】
【図1】レンダリングの手順を説明するための図である。
【図2】レンダリングを行う際のデータの流れを示す図である。
【図3】本発明の画像作成装置の構成例を示すブロック図である。
【図4】モデルデータの例を示す図である。
【図5】概略パッチデータの例を示す図である。
【図6】テクスチャ画像データの例を示す図である。
【図7】テクスチャ画素データの例を示す図である。
【図8】補間制御データの例を示す図である。
【図9】画素間補間制御データの例を示す図である。
【図10】変換行列データの例を示す図である。
【図11】レンダリング部の構成および動作を説明するための図である。
【図12】テクスチャ座標系に変換された視点座標および光源座標を示す図である。
【図13】テクスチャ座標系に変換されたパッチ35atを示す図である。
【図14】図11のテクスチャ画素計算部57の動作を説明するための図である。
【図15】図11の画像描画部59の動作を説明するための図である。
【図16】スクリーン座標スキャン法において、スクリーン座標をスキャンしている状態を示す図である。
【図17】スキャンしたスクリーン座標に対応するテクスチャ座標を示す図である。
【符号の説明】
3 モデルデータ
6 変換行列データ
5 レンダリング部
8 画像データ
11,14 ディスク装置
12 CPU
13 主記憶装置
15 表示装置
30 補間制御データ
32 画素間補間制御データ
34,34p 概略パッチデータ
35a 概略パッチ
35at テクスチャ座標系の概略パッチ
36 テクスチャ画像データ
38 テクスチャ画素データ
39p 補間済みテクスチャ画素データ
51 モデルデータソーティング部
53 座標変換部
55 テクスチャ座標計算部(座標変換手段)
57 テクスチャ画素計算部
59 画像描画部(描画手段、描画位置制御手段、精度調整手段)
61 座標変換データ
63 ライティングデータ
64 テクスチャ座標データ
64p テクスチャ座標
64a ずらしたテクスチャ座標
64s スクリーン座標
65 変換行列群
66 画素値データ
68 スクリーン座標データ
68s 投影スクリーン座標
69t テクスチャ座標系
300 補間制御データの並び
304 概略パッチデータの並び
306 テクスチャ画像データの並び
321,321p s方向補間制御データ
323,323p t方向補間制御データ
340 MC頂点座標
342 TC頂点座標
344 MCからTCへの変換行列
346 テクスチャ画像データへの参照
348 補間制御データへの参照
362 テクスチャ画素アドレス変換係数
381 テクスチャ画素距離データ
383 テクスチャ画素色データ
385 テクスチャ画素法線データ
387 テクスチャ画素アルファデータ
391p 補間済み距離データ
393p 補間済み色データ
395p 補間・正規化済み法線データ
397p 補間済みアルファデータ
573 テクスチャ画素補間部
591 ライティング計算部(ライティング手段)
611 MCからVCへの変換行列
612 VCからMCへの変換行列
613 MCからHSCへの変換行列
619 投影面
631 視点座標データ
631t テクスチャ座標系の視点
633 光源座標データ
633t テクスチャ座標系の光源
641,641−2 スキャン初期値
643,643−2 メジャー方向
645,645−2 マイナー方向
Claims (20)
- 平面パッチに、所定のモデル表面の凹凸に対応した距離情報からなるテクスチャ座標上の距離画像をマッピングし、前記モデルに対応する画像を作成し、前記画像をスクリーン座標上に描画する画像作成装置において、
前記平面パッチの座標を、前記テクスチャ座標上の座標に変換する座標変換手段と、
前記テクスチャ座標上における平面パッチのスキャン単位、および前記テクスチャ座標上における平面パッチの面積に基づいて、前記画像の描画時間を予測し、前記描画時間に従って前記画像の描画精度を調整する精度調整手段と、
前記画像を構成する画素を前記スクリーン座標上へ描画する描画手段と、
前記精度調整手段による前記画像の描画精度の調整結果に応じて、前記平面パッチをスキャンし、前記テクスチャ座標における前記距離画像に対応して、前記描画手段による前記画素の前記スクリーン座標上への描画位置を制御する描画位置制御手段と
を備えることを特徴とする画像作成装置。 - 前記描画位置制御手段は、前記座標変換手段により前記平面パッチの前記座標が変換された前記テクスチャ座標上において、前記平面パッチをスキャンし、スキャンした前記テクスチャ座標における前記距離画像に対応して、前記画像を構成する前記画素の前記スクリーン座標上への描画位置を制御する
ことを特徴とする請求項1に記載の画像作成装置。 - 前記描画位置制御手段は、前記座標変換手段により、前記テクスチャ座標に変換された前記平面パッチを前記スクリーン座標上に投影し、前記スクリーン座標上において前記平面パッチをスキャンし、スキャンした前記スクリーン座標に対応する前記テクスチャ座標における前記距離画像に対応して、前記画像を構成する前記画素の前記スクリーン座標上への描画位置を制御する
ことを特徴とする請求項1に記載の画像作成装置。 - 前記精度調整手段は、前記スキャン単位を変更することにより、前記画像の精度を調整する
ことを特徴とする請求項1に記載の画像作成装置。 - 前記描画手段は、前記距離画像に従って、前記平面パッチの所定のものと、前記平面パッチの他の所定のものを互いに接触させるかまたは一部若しくは全部が重なるように変形して描画する
ことを特徴とする請求項1に記載の画像作成装置。 - 視点座標および光源座標の少なくともいずれか一方をテクスチャ座標系に変換し、ライティング処理を行うライティング手段
をさらに備えることを特徴とする請求項1に記載の画像作成装置。 - 前記描画手段は、視点と、視点から最も離れた位置にある平面パッチの頂点との間の前後関係に基づいて決定し、前記平面パッチ内のスキャン開始点、スキャン順序、およびスキャン方向に従って、前記画像を描画する
ことを特徴とする請求項1に記載の画像作成装置。 - 前記描画手段は、Zバッファによる陰面消去によって、前記画像を構成する前記画素の描画の有無を決定する
ことを特徴とする請求項1に記載の画像作成装置。 - 前記描画手段は、前記モデルに付加された補間制御情報に従って、前記画像の局所的な補間の有無を決定する
ことを特徴とする請求項1に記載の画像作成装置。 - 前記画像を表示する表示手段
をさらに備えることを特徴とする請求項1に記載の画像作成装置。 - 平面パッチに、所定のモデル表面の凹凸に対応した距離情報からなるテクスチャ座標上の距離画像をマッピングし、前記モデルに対応する画像を作成し、前記画像をスクリーン座標上に描画する画像作成方法において、
前記平面パッチの座標を、前記テクスチャ座標上の座標に変換し、
前記テクスチャ座標上における平面パッチのスキャン単位、および前記テクスチャ座標上における平面パッチの面積に基づいて、前記画像の描画時間を予測し、前記描画時間に従って前記画像の描画精度を調整し、
前記画像を構成する画素を前記スクリーン座標上へ描画するときに、前記画像の描画精度の調整の結果に応じて、前記平面パッチをスキャンし、前記テクスチャ座標における前記距離画像に対応して、前記画素の前記スクリーン座標上への描画位置を制御する
ことを特徴とする画像作成方法。 - 前記平面パッチの前記座標が変換された前記テクスチャ座標上において、前記平面パッチをスキャンし、スキャンした前記テクスチャ座標における前記距離画像に対応して、前記画像を構成する前記画素の前記スクリーン座標上への描画位置を制御する
ことを特徴とする請求項11に記載の画像作成方法。 - 前記テクスチャ座標に変換された前記平面パッチを前記スクリーン座標上に投影し、前記スクリーン座標上において前記平面パッチをスキャンし、スキャンした前記スクリーン座標に対応する前記テクスチャ座標における前記距離画像に対応して、前記画像を構成する前記画素の前記スクリーン座標上への描画位置を制御する
ことを特徴とする請求項11に記載の画像作成方法。 - 前記スキャン単位を変更することにより、前記画像の精度を調整する
ことを特徴とする請求項11に記載の画像作成方法。 - 前記距離画像に従って、前記平面パッチの所定のものと、前記平面パッチの他の所定のものを互いに接触させるかまたは一部若しくは全部が重なるように変形して描画する
ことを特徴とする請求項11に記載の画像作成方法。 - 視点座標および光源座標の少なくともいずれか一方をテクスチャ座標系に変換し、ライティング処理をさらに行う
ことを特徴とする請求項11に記載の画像作成方法。 - 視点と、視点から最も離れた位置にある平面パッチの頂点との間の前後関係に基づいて決定し、前記平面パッチ内のスキャン開始点、スキャン順序、およびスキャン方向に従って、前記画像を描画する
ことを特徴とする請求項11に記載の画像作成方法。 - Zバッファによる陰面消去によって、前記画像を構成する前記画素の描画の有無を決定する
ことを特徴とする請求項11に記載の画像作成方法。 - 前記モデルに付加された補間制御情報に従って、前記画像の局所的な補間の有無を決定する
ことを特徴とする請求項11に記載の画像作成方法。 - 前記画像をさらに表示する
ことを特徴とする請求項11に記載の画像作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27090695A JP3712015B2 (ja) | 1995-10-19 | 1995-10-19 | 画像作成装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27090695A JP3712015B2 (ja) | 1995-10-19 | 1995-10-19 | 画像作成装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09114994A JPH09114994A (ja) | 1997-05-02 |
JP3712015B2 true JP3712015B2 (ja) | 2005-11-02 |
Family
ID=17492640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27090695A Expired - Fee Related JP3712015B2 (ja) | 1995-10-19 | 1995-10-19 | 画像作成装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3712015B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3639108B2 (ja) * | 1998-03-31 | 2005-04-20 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置および描画方法、並びに提供媒体 |
JP4610394B2 (ja) * | 2005-03-31 | 2011-01-12 | 株式会社エスアイエレクトロニクス | Zソート処理回路およびこれを用いた3次元画像描画装置 |
JP4617187B2 (ja) * | 2005-03-31 | 2011-01-19 | 株式会社エスアイエレクトロニクス | Zソート処理回路およびこれを用いた3次元画像描画装置 |
CN105894566A (zh) * | 2015-12-01 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 模型渲染方法及装置 |
-
1995
- 1995-10-19 JP JP27090695A patent/JP3712015B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09114994A (ja) | 1997-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5704024A (en) | Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map | |
US5856829A (en) | Inverse Z-buffer and video display system having list-based control mechanism for time-deferred instructing of 3D rendering engine that also responds to supervisory immediate commands | |
US6016150A (en) | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers | |
JP3478568B2 (ja) | 画像データ処理方法及び装置 | |
US6469700B1 (en) | Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps | |
US6064393A (en) | Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline | |
JP3359120B2 (ja) | 画像データ処理方法及び装置 | |
JPH07152923A (ja) | テクスチャ処理されたオブジェクトをレンダリングする方法及び装置 | |
US20040012563A1 (en) | Systems and methods of multi-pass data processing | |
JP3359119B2 (ja) | 画像データ処理方法及び装置 | |
KR19980702804A (ko) | 영상 생성 및 조작을 위한 하드웨어 아키텍처 | |
JPH04222071A (ja) | テキスチュア・マッピング方法及びその装置 | |
US6437781B1 (en) | Computer graphics system having per pixel fog blending | |
WO2005101320A1 (ja) | 画像生成装置および画像生成方法 | |
WO2006095481A1 (ja) | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 | |
US6552726B2 (en) | System and method for fast phong shading | |
US6583790B1 (en) | Apparatus for and method of converting height fields into parametric texture maps | |
JP3549871B2 (ja) | 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム | |
US6400370B1 (en) | Stochastic sampling with constant density in object space for anisotropic texture mapping | |
US20020089512A1 (en) | Reduced texture bandwidth method for providing filtering between texture mipmap levels | |
JP3712015B2 (ja) | 画像作成装置および方法 | |
JP3035571B2 (ja) | 画像処理装置 | |
JP2003504697A (ja) | 副標本化テクスチャ端縁部のアンチエイリアシング | |
US6326976B1 (en) | Method for determining the representation of a picture on a display and method for determining the color of a pixel displayed | |
KR100633029B1 (ko) | 풋프린트의 분석 및 수정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050629 |
|
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: 20050727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050809 |
|
LAPS | Cancellation because of no payment of annual fees |