説明

描画データ作成方法、描画データ作成装置及び描画データ作成プログラム

【課題】3次元コンピュータグラフィックス描画データ作成処理の高速化を図ることができる描画データ作成方法を提供する。
【解決手段】3次元モデルデータ記憶手段19から、対象となる3次元の物体の三角形ポリゴンを1つ抽出する(P1)。次に、三角形ポリゴンのモデリング座標系の頂点座標に対してモデルビュー変換を行い、三角形ポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に変換する(P2)。次に、三角形ポリゴンが隠面ポリゴンであるか否かの判定を行う(P3)。即ち、三角形ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元コンピュータグラフィックス(3-Dimensional Computer Graphics)を描画する場合に使用して好適な描画データ作成方法、描画データ作成装置及び描画データ作成プログラムに関する。具体的には、3次元コンピュータグラフィックス描画データ作成処理の高速化技術に関する。
【背景技術】
【0002】
3次元の物体を、計算により2次元平面に投影して描画した画像/映像である3次元コンピュータグラフィックスでは、例えば、図6に示すように、対象となる3次元の物体(この例では、球)10をポリゴン(多角形)11の組み合わせにより表現する。一般的には、計算のしやすさから、ほとんどの場合、ポリゴンとして三角形ポリゴンが使用される。そして、3次元の物体を構成する三角形ポリゴンの各頂点座標に対して、対応する2次元平面上の座標値を計算で求めることによって、3次元の物体が2次元平面に投影される。
【0003】
図7はディスプレイに3次元コンピュータグラフィックスを描画する場合に使用される従来の描画データ作成方法の一例を示すフローチャートである。図7中、12は3次元コンピュータグラフィックスの対象となる3次元の物体を構成する三角形ポリゴンのモデリング座標系(対象となる3次元の物体に固有の座標系)での各頂点座標を記憶する3次元モデルデータ記憶手段である。
【0004】
図7に示す従来の描画データ作成方法では、まず、3次元モデルデータ記憶手段12から、対象となる3次元の物体の三角形ポリゴンを1つ抽出する(ステップS1)。次に、対象となる3次元の物体の移動/回転/拡大/縮小を行うために、処理対象の三角形ポリゴンのモデリング座標系の頂点座標に対してモデルビュー変換を行い、処理対象の三角形ポリゴンのモデリング座標系の頂点座標を、視点を原点とする視点座標系の頂点座標に変換する(ステップS2)。
【0005】
図8は3次元の物体のモデリング座標系から視点座標系への変換を示す図であり、図8(A)は3次元の物体10をモデリング座標系で表現した場合を示し、図8(B)は図8(A)に示すモデリング座標系で表現されている3次元の物体10を視点座標系に変換した場合を示している。図8中、XM、YM、ZMはモデリング座標系の座標軸、XE、YE、ZEは視点座標系の座標軸である。
【0006】
次に、視点座標系の視界空間を辺の長さが2の立方体に正規化するために、視点座標系に対して射影変換を行い、クリップ座標系に変換し(ステップS3)、更に、透視除算(W除算)を行い、NDC(Normalized Device Coordinates)座標系に変換する(ステップS4)。
【0007】
図9は3次元の物体の視点座標系からNDC座標系への変換を示す図であり、図9(A)は3次元の物体10の視点座標系での表現例を示し、図9(B)は図9(A)に示す3次元の物体10をNDC座標系に変換した場合を示している。図9中、13は視点座標系における3次元の物体10の視界空間、XD、YD、ZDはNDC座標系の座標軸である。
【0008】
次に、NDC座標系を実際の表示デバイス(ディスプレイ)の画面サイズに変換するために、ビューポート変換を行い、スクリーン座標系に変換する(ステップS5)。図10はスクリーン座標系での3次元の物体10を示している。
【0009】
次に、3次元の物体を構成する三角形ポリゴンのうち、隠れた三角形ポリゴン(視点からは見えない側の三角形ポリゴン)の描画データを作成する無駄な処理を省略して、3次元グラフィックス描画データ作成処理を高速化するために、処理対象としている三角形ポリゴンが隠面ポリゴンであるか否かの判定を行う(ステップS6)。
【0010】
図11は3次元の物体の隠面を説明するための図である。図11中、14は3次元の物体、15は視点、16は視界空間であり、この例では、3次元の物体14の面17は隠面の一つとなる。ここで、ステップS6における隠面ポリゴン判定は、スクリーン座標系での三角形ポリゴンの符号付き面積を計算し、符号が正の場合には隠面ポリゴンではないと判定し、符号が負の場合には隠面ポリゴンであると判定する(これとは逆に、符号が負の場合に隠面ポリゴンではないと判定し、符号が正の場合に隠面ポリゴンであると判定する方法もある)ことにより行われる。
【0011】
隠面ポリゴン判定において、処理対象の三角形ポリゴンは隠面ポリゴンではないと判定した場合(ステップS6でNOの場合)には、レンダリング処理を行い(ステップS7)、三角形ポリゴンのスクリーン座標系の各頂点座標から生成される三角形ポリゴンの描画データをグラフィックスメモリ(描画データ記憶メモリ)に格納すると共に、描画データ作成処理は、ステップS1に戻り、次の三角形ポリゴンについての描画データ作成処理を開始する。
【0012】
これに対して、三角形ポリゴンは隠面ポリゴンであると判定した場合(ステップS6でYESの場合)には、レンダリング処理は実行せず、描画データ作成処理は、ステップS1に戻り、次の三角形ポリゴンについての描画データ作成処理を開始する。
【0013】
ここで、三角形ポリゴンのモデリング座標系の頂点座標を(Xm、Ym、Zm、Wm)、モデルビュー行列をM、三角形ポリゴンの視点座標系の頂点座標を(Xe、Ye、Ze、We)とすると、三角形ポリゴンの視点座標系の頂点座標(Xe、Ye、Ze、We)は、数5に示すように、三角形ポリゴンのモデリング座標系の頂点座標(Xm、Ym、Zm、Wm)にモデルビュー行列Mを掛けることで求めることができる。
【0014】
【数5】

【0015】
また、射影行列をP、三角形ポリゴンのクリップ座標系の頂点座標(Xc、Yc、Zc、Wc)とすると、三角形ポリゴンのクリップ座標系の頂点座標(Xc、Yc、Zc、Wc)は、数6に示すように、三角形ポリゴンの視点座標系の頂点座標(Xe、Ye、Ze、We)に射影行列Pを掛けることで求めることができる。
【0016】
【数6】

【0017】
また、三角形ポリゴンのNDC座標系の頂点座標を(Xd、Yd、Zd)とすると、三角形ポリゴンのNDC座標系の頂点座標(Xd、Yd、Zd)は、数7に示すように、三角形ポリゴンのクリップ座標系の頂点座標(Xc、Yc、Zc、Wc)に対して透視除算を行うことで求めることができる。
【0018】
【数7】

【0019】
また、三角形ポリゴンのスクリーン座標系の頂点座標を(Xs、Ys、Zs)とすると、三角形ポリゴンのスクリーン座標系の頂点座標(Xs、Ys、Zs)は、数8に示す計算式で求めることができる。
【0020】
【数8】

【0021】
但し、ScaleX、ScaleY、ScaleZは「ビューポートスケール」と呼ばれるパラメータ、OffsetX、OffsetY、OffsetZは「ビューポートオフセット」と呼ばれるパラメータである。これらビューポート変換パラメータのうち、ScaleX、ScaleY、OffsetX、OffsetYは、NDC座標系をスクリーン座標系に変換したときの「スクリーン(表示領域)のピクセル数」によって決定されるパラメータである。
【0022】
図12はScaleX、ScaleY、OffsetX、OffsetYの具体例を説明するための図であり、図12(A)はNDC座標系、図12(B)はスクリーン座標系を示している。ここで、スクリーン座標系の原点が画面左下で、スクリーン18の幅がWピクセル、高さがHピクセル、スクリーン18の中心座標が(Ox、Oy)の場合、ScaleX、ScaleY、OffsetX、OffsetYは数9に示す値をとる。
【0023】
【数9】

【0024】
即ち、ScaleXはスクリーン18の横ピクセル数の1/2、ScaleYはスクリーン18の縦ピクセル数の1/2、OffsetXはスクリーン18の中心のスクリーン座標系での横位置、OffsetYはスクリーン18の中心のスクリーン座標系での縦位置を示す。
【0025】
また、ScaleZ、OffsetZは、デプスバッファが取り得るZ座標の範囲(スクリーン深度範囲)によって決定されるパラメータであり、デプスバッファが取り得るZ座標の範囲が[MinZ、MaxZ]の場合、数10に示す値をとる。即ち、ScaleZはスクリーン深度範囲の1/2、OffsetZはスクリーン深度範囲の中心位置を示す。
【0026】
【数10】

【0027】
また、スクリーン座標系における三角形ポリゴンの符号付き面積Aは、三角形ポリゴンの3頂点のスクリーン座標を(X1s、Y1s、Z1s)、(X2s、Y2s、Z2s)、(X3s、Y3s、Z3s)とすると、数11で計算することができる。
【0028】
【数11】

【0029】
図13は数11に示す面積計算式の導出過程を説明するための図である。図13に示すように、三角形ポリゴンP1P2P3の頂点P1、P2、P3のスクリーン座標系でのX座標、Y座標を(X1s、Y1s)、(X2s、Y2s)、(X3s、Y3s)、四角形BEDCの面積をS、三角形EP3P2の面積をT1、三角形CP1Dの面積をT2、三角形BP2P1の面積をT3とすると、三角形ポリゴンP1P2P3の面積Aの計算式は、数12に示すように導出することができる。
【0030】
【数12】

【0031】
ここで、1つの三角形ポリゴンについて、モデルビュー変換後の射影変換(ステップS3)、透視除算(ステップS4)、ビューポート変換(ステップS5)及び隠面ポリゴン判定(ステップS6)に必要な計算コストは、乗算:72回、加減算:50回、除算:3回となる。
【特許文献1】特開2001−297334号公報
【発明の開示】
【発明が解決しようとする課題】
【0032】
図7に示す従来の描画データ作成方法では、三角形ポリゴンについて、スクリーン座標系の頂点座標を計算した後に、隠面ポリゴン判定(ステップS6)を行うとしているので、描画しない隠面ポリゴンについても、射影変換(ステップS3)、透視除算(ステップS4)、ビューポート変換(ステップS5)を実行する必要があり、これが、計算処理量を大きくし、3次元コンピュータグラフィックス描画データ作成処理の高速化を妨げていた。
【0033】
本発明は、かかる点に鑑み、3次元コンピュータグラフィックス描画データ作成処理の高速化を図ることができるようにした描画データ作成方法、描画データ作成装置及び描画データ作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0034】
本発明の描画データ作成方法は、3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に自動変換するモデルビュー変換工程を有する描画データ作成方法であって、前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を自動的に行う隠面ポリゴン判定工程を有するというものである。
【0035】
本発明の描画データ作成装置は、3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に変換するモデルビュー変換回路を有する描画データ作成装置であって、前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定回路を有するというものである。
【0036】
本発明の描画データ作成プログラムは、コンピュータに、3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に変換するモデルビュー変換工程と、前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定工程を実行させるプログラムを含むというものである。
【発明の効果】
【0037】
本発明の描画データ作成方法によれば、3次元の物体を構成するポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定工程を有するので、描画しない隠面ポリゴンについては、射影変換、透視除算、ビューポート変換を行う必要がない。
【0038】
本発明の描画データ作成装置によれば、3次元の物体を構成するポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定回路を有するので、描画しない隠面ポリゴンについては、射影変換、透視除算、ビューポート変換を行う必要がない。
【0039】
本発明の描画データ作成プログラムによれば、コンピュータに、3次元の物体を構成するポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定工程を実行させることができるので、描画しない隠面ポリゴンについては、射影変換、透視除算、ビューポート変換を行う必要がない。
【0040】
したがって、本発明によれば、計算処理量を減らし、3次元コンピュータグラフィックス描画データ作成処理の高速化を図ることができる。特に、リアルタイムレンダリングが要求されるシステムにおいては、描画速度が重要になるため、本発明による効果は非常に大きい。
【発明を実施するための最良の形態】
【0041】
(本発明の描画データ作成方法の一実施形態)
図1は本発明の描画データ作成方法の一実施形態を示すフローチャートであり、本発明の描画データ作成方法の一実施形態は、本発明の描画データ作成装置の第1実施形態又は第2実施形態で実行することができる。即ち、本発明の描画データ作成方法の一実施形態の各工程は、本発明の描画データ作成装置の第1実施形態又は第2実施形態により自動的に実行することができる。
【0042】
図1中、19は3次元コンピュータグラフィックスの対象となる3次元の物体を構成する各三角形ポリゴンのモデリング座標系(対象となる3次元の物体に固有の座標系)での頂点座標を記憶する3次元モデルデータ記憶手段である。本発明の描画データ作成方法の一実施形態においては、まず、3次元モデルデータ記憶手段19から、対象となる3次元の物体の三角形ポリゴンを1つ抽出する(ステップP1)。
【0043】
次に、対象となる3次元の物体の移動/回転/拡大/縮小を行うために、処理対象の三角形ポリゴンのモデリング座標系の頂点座標に対してモデルビュー変換を行い、処理対象の三角形ポリゴンのモデリング座標系の頂点座標を、視点を原点とする視点座標系の頂点座標に変換する(ステップP2)。
【0044】
次に、対象である3次元の物体を構成する三角形ポリゴンのうち、隠れた三角形ポリゴン(視点からは見えない側のポリゴン)の描画データを作成する無駄な処理を省略して、3次元グラフィックス描画データ作成処理を高速化するために、処理対象としている三角形ポリゴンが隠面ポリゴンであるか否かの判定を行う(ステップP3)。
【0045】
ここに、処理対象の三角形ポリゴンが隠面ポリゴンであると判定した場合(ステップP3でYESの場合)には、隠面ポリゴンである三角形ポリゴンについては、その後の処理は行わず、描画データ作成処理は、ステップP1に戻り、次の三角形ポリゴンについての描画データ作成処理を開始する。
【0046】
これに対して、処理対象の三角形ポリゴンは隠面ポリゴンではないと判定した場合(ステップP3でNOの場合)には、視点座標系の視界空間を辺の長さが2の立方体に正規化するために、視点座標系に対して射影変換を行い、クリップ座標系に変換し(ステップP4)、更に、透視除算(W除算)を行い、NDC座標系に変換する(ステップP5)。
【0047】
次に、NDC座標系を実際の表示デバイス(ディスプレイ)の画面サイズに変換するために、ビューポート変換を行い、スクリーン座標系に変換する(ステップP6)。次に、レンダリング処理を行い(ステップP7)、三角形ポリゴンのスクリーン座標系の各頂点座標から生成される三角形ポリゴンの描画データをグラフィックスメモリ(描画データ記憶メモリ)に記憶すると共に、描画データ作成処理は、ステップP1に戻り、次の三角形ポリゴンについての描画データ作成処理を開始する。
【0048】
<隠面ポリゴン判定式>
本発明の描画データ作成方法の一実施形態においては、隠面ポリゴン判定は、数13に示す隠面ポリゴン判定式Σdi・Diの値Bの符号の正負によって行う。即ち、数13に示す隠面ポリゴン判定式Σdi・Diの値Bの符号が正の場合には、三角形ポリゴンは隠面ポリゴンではないと判定し、負の場合には、三角形ポリゴンは隠面ポリゴンであると判定する。
【0049】
【数13】

【0050】
ここで、d1〜d4、D1〜D4は、数14に示す通りである。
【0051】
【数14】

【0052】
但し、detは行列の行列式を算出することを意味する。また、PSは射影行列Pから3行目を除いて得た3×4型の行列である。つまり、
【0053】
【数15】

【0054】
とするとき、
【0055】
【数16】

【0056】
である。更に、(X1e、Y1e、Z1e、W1e)、(X2e、Y2e、Z2e、W2e)、(X3e、Y3e、Z3e、W3e)は、視点座標系における三角形ポリゴンの各頂点の座標値である。つまり、視点座標系における三角形ポリゴンの頂点をV1e、V2e、V3eとするとき、
【0057】
【数17】

【0058】
である。
【0059】
<d1・D1の計算>
ここで、d1は、
【0060】
【数18】

【0061】
である。したがって、行列式の性質から、d1・D1は、
【0062】
【数19】

【0063】
となる。但し、(X1c、Y1c、Z1c、W1c)、(X2c、Y2c、Z2c、W2c)、(X3c、Y3c、Z3c、W3c)はクリップ座標系における三角形ポリゴンの各頂点の座標値である。つまり、クリップ座標系における三角形ポリゴンの各頂点をV1c、V2c、V3cとするとき、それぞれ、
【0064】
【数20】

【0065】
である。
【0066】
<d2・D2の計算>
また、d2は、
【0067】
【数21】

【0068】
である。したがって、行列式の性質から、d2・D2は、
【0069】
【数22】

【0070】
となる。
【0071】
<d3・D3の計算>
また、d3は、
【0072】
【数23】

【0073】
である。したがって、行列式の性質から、d3・D3は、
【0074】
【数24】

【0075】
となる。
【0076】
<d4・D4の計算>
また、d4は、
【0077】
【数25】

【0078】
である。したがって、行列式の性質から、d4・D4は、
【0079】
【数26】

【0080】
となる。
【0081】
<Σdi・Diの計算:その1>
d1・D1の計算結果(数19)、d2・D2の計算結果(数22)、d3・D3の計算結果(数24)、d4・D4の計算結果(数26)から、隠面ポリゴン判定式Σdi・Diの値Bは、数27、数28に示すように計算することができる。
【0082】
【数27】

【0083】
【数28】

【0084】
このように、隠面ポリゴン判定式Σdi・Diの値Bは、三角形ポリゴンの各頂点のクリップ座標値で表現することができる。
【0085】
<Σdi・Diの計算:その2>
NDC座標系における三角形ポリゴンの頂点をV1d、V2d、V3dとすると、各頂点の座標値は、それぞれ、
【0086】
【数29】

【0087】
である。ここで、数27、数28の計算結果から、隠面ポリゴン判定式Σdi・Diの値Bは、数30に示すように、三角形ポリゴンの各頂点のNDC座標値で表現することができる。
【0088】
【数30】

【0089】
ここで、各頂点のクリップ座標値W1c、W2c、W3cは正であるから、
【0090】
【数31】

【0091】
である。したがって、符号に関して、隠面ポリゴン判定式Σdi・Diの値Bを
【0092】
【数32】

【0093】
と同一視することができる。
【0094】
<Σdi・Diの計算:その3>
スクリーン座標系における三角形ポリゴンの頂点をV1s、V2s、V3sとすると、各頂点の座標値は、それぞれ、
【0095】
【数33】

【0096】
である。したがって、隠面ポリゴン判定式Σdi・Diの値Bは、数34に示すように、三角形ポリゴンの各頂点のスクリーン座標値で表現することができる。
【0097】
【数34】

【0098】
ここで、ScaleX、ScaleYはそれぞれ正の数であるから、「隠面ポリゴン判定式Σdi・Diの値Bの符号」=「スクリーン座標系における三角形ポリゴンの面積の符号」である。したがって、隠面ポリゴン判定式Σdi・Diの値Bの符号を求めることにより、三角形ポリゴンが隠面であるか否かを判定することができる。
【0099】
以上のように、モデルビュー変換後に隠面ポリゴン判定を行う場合には、隠面ポリゴン判定に要する計算コストは、乗算:52回、加減算:23回となり、特に除算を必要としない。但し、これには、d1〜d4の値の算出にかかる計算コストは含まれていない。d1〜d4の値は固定値と考えてよいので、最初に1度計算しておけばよいためである。
【0100】
また、この計算コストは、射影変換に使用する射影行列を限定しない場合の計算コストである。しかし、一般的な3次元コンピュータグラフィックス描画データ作成処理では、射影変換に使用する射影行列は限定されており、正射影行列もしくは透視射影行列のいずれかが使用される。
【0101】
ここで、正射影行列は数35に示す形をしている。
【0102】
【数35】

【0103】
但し、Tx、Ty、Tzは、数36に示す通りである。
【0104】
【数36】

【0105】
また、透視射影行列は数37に示す形をしている。
【0106】
【数37】

【0107】
但し、A、B、C、Dは、数38に示す通りである。
【0108】
【数38】

【0109】
ここで、「right」、「left」、「top」、「bottom」、「near」、「far」は、視界空間を定義するパラメータである。即ち、「right」は視界空間の前面の右上の点の横位置、「left」は視界空間の前面の左下の点の横位置、「top」は視界空間の前面の右上の点の縦位置、「bottom」は視界空間の前面の左下の点の縦位置、「near」は視点から視界空間の前面までの距離、「far」は視点から視界空間の後面までの距離である。
【0110】
例えば、図2に示す正射影の視界空間では、「right」は正射影の視界空間20の前面21の右上の点の横位置、「left」は前面21の左下の点の横位置、「top」は前面21の右上の点の縦位置、「bottom」は前面21の左下の点の縦位置、「near」は視点22から前面21までの距離、「far」は視点22から後面23までの距離である。
【0111】
また、図3に示す透視射影の視界空間では、「right」は透視射影の視界空間24の前面25の右上の点の横位置、「left」は前面25の左下の点の横位置、「top」は前面25の右上の点の縦位置、「bottom」は前面25の左下の点の縦位置、「near」は視点26から前面25までの距離、「far」は視点26から後面27までの距離である。
【0112】
ここで、正射影行列もしくは透視射影行列を利用した3次元コンピュータグラフィックス描画データ作成処理を行う場合において、d1〜d4を計算すると、表1に示すようになる。
【0113】
【表1】

【0114】
したがって、数13に示す隠面ポリゴン判定式Σdi・Diの値Bの算出に必要な計算は、正射影の場合には数14に示すd3の値の計算のみで良く、透視射影の場合には数14に示すd4の値の計算のみで良い。この結果、射影行列として、正射影行列あるいは透視射影行列を使用した場合には、隠面ポリゴン判定に要する計算コストは、乗算:12回、加減算:5回となり、除算は不必要となる。
【0115】
そこで、本発明の描画データ作成方法の一実施形態では、射影行列として、正射影行列あるいは透視射影行列を使用するものとする。表2は、隠面ポリゴン判定に要する計算コストを、図7に示す従来の描画データ作成方法の場合と本発明の描画データ作成方法の一実施形態の場合とを比較して示したものである。
【0116】
【表2】

【0117】
以上のように、本発明の描画データ作成方法の一実施形態によれば、3次元の物体を構成する三角形ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う(ステップP3)としているので、描画しない隠面ポリゴンについては、射影変換(ステップP4)、透視除算(ステップP5)、ビューポート変換(ステップP6)を行う必要がない。したがって、計算処理量を減らし、3次元コンピュータグラフィックス描画データ作成処理の高速化を図ることができる。
【0118】
(本発明の描画データ作成装置の第1実施形態)
図4は本発明の描画データ作成装置の第1実施形態を使用する3次元コンピュータグラフィックス描画装置の概略的構成図である。図4中、19は前述した3次元モデルデータ記憶手段、28は3次元モデルデータ記憶手段19から3次元モデルデータを入力して3次元コンピュータグラフィックス用の描画データを作成する本発明の描画データ作成装置の第1実施形態である。
【0119】
29は本発明の描画データ作成装置の第1実施形態28が作成した3次元コンピュータグラフィックス用の描画データを入力して3次元コンピュータグラフィックスを表示するディスプレイである。
【0120】
また、本発明の描画データ作成装置の第1実施形態28において、30はポリゴン抽出回路であり、3次元モデルデータ記憶手段19から、3次元コンピュータグラフィックスの対象である3次元の物体を構成する三角形ポリゴンのうち、未処理の三角形ポリゴンを1つずつ取り出す回路である。
【0121】
31はモデルビュー変換回路であり、ポリゴン抽出回路30が3次元モデルデータ記憶手段19から取り出した三角形ポリゴンのモデリング座標系の各頂点座標を、数5に示す計算式に従ってモデルビュー変換し、視点座標系の頂点座標に変換するための回路である。
【0122】
32は隠面ポリゴン判定回路であり、数13に示す隠面ポリゴン判定式Σdi・Diに従い、処理対象としている三角形ポリゴンが隠面ポリゴンであるか否かの判定を行う回路である。33は射影変換回路であり、モデルビュー変換回路31により得られた三角形ポリゴンの視点座標系の頂点座標を、数6に示す計算式に従って射影変換し、クリップ座標系の頂点座標に変換するための回路である。
【0123】
34は透視除算回路であり、数7に示す計算式に従い、処理対象の三角形ポリゴンのクリップ座標系の頂点座標を透視除算し、NDC座標に変換する回路である。35はビューポート変換回路であり、処理対象の三角形ポリゴンのNDC座標系の頂点座標を、数8に示す計算式に従ってビューポート変換し、スクリーン座標系の頂点座標に変換するための回路である。
【0124】
36はレンダリング処理回路であり、ビューポート変換回路35から出力される三角形ポリゴンのスクリーン座標系の頂点座標から生成される三角形ポリゴンの描画データをグラフィックスメモリ(描画データ記憶メモリ)37に描画(格納)する回路である。38は画面表示回路であり、グラフィックスメモリ37に記憶された描画データに基づいて3次元の物体をディスプレイ29に表示する回路である。
【0125】
このように構成された本発明の描画データ作成装置の第1実施形態28においては、ポリゴン抽出回路30により、3次元モデルデータ記憶手段19から、3次元コンピュータグラフィックスの対象である3次元の物体を構成する三角形ポリゴンのうち、未処理の三角形ポリゴンの1つが取り出される。
【0126】
次に、モデルビュー変換回路31により、ポリゴン抽出回路30が3次元モデルデータ記憶手段19から取り出した三角形ポリゴンのモデリング座標系の各頂点座標が視点座標系の頂点座標に変換される。
【0127】
次に、隠面ポリゴン判定回路32により、処理対象としている三角形ポリゴンが隠面ポリゴンであるか否かの判定が行われる。ここに、三角形ポリゴンが隠面ポリゴンであると判定した場合には、隠面ポリゴンである三角形ポリゴンのその後の処理は行われず、3次元モデルデータ記憶手段19から、次の三角形ポリゴンの取り出しが行われる。
【0128】
これに対して、隠面ポリゴン判定回路32において、処理対象の三角形ポリゴンは隠面ではないと判定した場合には、射影変換回路33により、三角形ポリゴンの視点座標系の頂点座標がクリップ座標系の頂点座標に変換される。次に、透視除算回路34により、処理対象の三角形ポリゴンのクリップ座標系の頂点座標の透視除算が行われ、処理対象の三角形ポリゴンのクリップ座標系の頂点座標がNDC座標系の頂点座標に変換される。
【0129】
次に、ビューポート変換回路35により、透視除算回路34が出力する三角形ポリゴンのNDC座標系の頂点座標がスクリーン座標系の頂点座標に変換される。次に、レンダリング処理回路36により、ビューポート変換回路35が出力する三角形ポリゴンのスクリーン座標系の頂点座標から生成される三角形ポリゴンの描画データがグラフィックスメモリ37に描画(格納)される。
【0130】
以上の動作が未処理の三角形ポリゴンがなくなるまで繰り返して実行され、未処理の三角形ポリゴンがなくなると、グラフィックスメモリ37に格納されている描画データ(画像)が画面表示回路38に転送され、3次元の物体がディスプレイ29に描画される。
【0131】
以上のように、本発明の描画データ作成装置の第1実施形態28によれば、本発明の描画データ作成方法の一実施形態を実施することができる。したがって、計算処理量を減らし、3次元コンピュータグラフィックス描画データ作成処理の高速化を図ることができる。
【0132】
(本発明の描画データ作成装置の第2実施形態)
図5は本発明の描画データ作成装置の第2実施形態を使用する3次元コンピュータグラフィックス描画装置の概略的構成図である。図5中、19は前述した3次元モデルデータ記憶手段、39は3次元モデルデータ記憶手段19から3次元モデルデータを入力して3次元コンピュータグラフィックス用の描画データを作成する本発明の描画データ作成装置の第2実施形態である。
【0133】
40は本発明の描画データ作成装置の第2実施形態39が作成した3次元コンピュータグラフィックス用の描画データを入力して3次元コンピュータグラフィックスを表示するディスプレイである。
【0134】
本発明の描画データ作成装置の第2実施形態39はコンピュータを利用してなるものであり、本発明の描画データ作成装置の第2実施形態39において、41は演算・制御手段をなすCPU(central processing unit)、42はCPU41が使用する主記憶、43は操作者が使用するコンピュータの操作盤、44はグラフィックスメモリ(描画データ記憶メモリ)、45は画面表示装置、46は3次元コンピュータグラフィックス描画プログラム記憶手段である。
【0135】
3次元コンピュータグラフィックス描画プログラム記憶手段46において、47〜54は3次元コンピュータグラフィックス描画プログラム記憶手段46が記憶するプログラムである。47はポリゴン抽出プログラムであり、3次元モデルデータ記憶手段19から、3次元コンピュータグラフィックスの対象である3次元の物体を構成する三角形ポリゴンのうち、未処理の三角形ポリゴンを1つずつ取り出すためのプログラムである。
【0136】
48はモデルビュー変換プログラムであり、ポリゴン抽出プログラム47により3次元モデルデータ記憶手段19から取り出した三角形ポリゴンのモデリング座標系の各頂点座標を、数5に示す計算式に従ってモデルビュー変換し、視点座標系の頂点座標に変換するためのプログラムである。
【0137】
49は隠面ポリゴン判定プログラムであり、数13に示す隠面ポリゴン判定式Σdi・Diに従い、処理対象としている三角形ポリゴンが隠面ポリゴンであるか否かの判定を行うためのプログラムである。50は射影変換プログラムであり、モデルビュー変換プログラム48により得られた三角形ポリゴンの視点座標系の頂点座標を、数6に示す計算式に従って射影変換し、クリップ座標系の頂点座標に変換するためのプログラムである。
【0138】
51は透視除算プログラムであり、数7に示す計算式に従い、処理対象の三角形ポリゴンのクリップ座標系の頂点座標を透視除算し、NDC座標に変換するためのプログラムである。52はビューポート変換プログラムであり、三角形ポリゴンのNDC座標系の頂点座標を、数8に示す計算式に従ってビューポート変換し、スクリーン座標系の頂点座標に変換するためのプログラムである。
【0139】
53はレンダリング処理プログラムであり、ビューポート変換プログラム52により得られる三角形ポリゴンのスクリーン座標系の頂点座標から生成される三角形ポリゴンの描画データをグラフィックスメモリ44に描画(格納)するためのプログラムである。54は画面表示プログラムであり、グラフィックスメモリ44に記憶された描画データに基づいて3次元の物体をディスプレイ40に表示するプログラムである。
【0140】
このように構成された本発明の描画データ作成装置の第2実施形態39においては、操作盤43の操作により、主記憶42に3次元コンピュータグラフィックス描画プログラムがロードされて3次元コンピュータグラフィックスの描画処理が開始される。
【0141】
まず、ポリゴン抽出プログラム47が実行され、3次元モデルデータ記憶手段19から、3次元コンピュータグラフィックスの対象である3次元の物体を構成する三角形ポリゴンのうち、未処理の三角形ポリゴンの1つが取り出される。次に、モデルビュー変換プログラム48が実行され、ポリゴン抽出プログラム47により3次元モデルデータ記憶手段19から取り出した三角形ポリゴンのモデリング座標系の各頂点座標が視点座標系の頂点座標に変換される。
【0142】
次に、隠面ポリゴン判定プログラム49が実行され、処理対象としている三角形ポリゴンが隠面ポリゴンであるか否かの判定が行われる。ここに、三角形ポリゴンは隠面ポリゴンであると判定された場合には、隠面ポリゴンである三角形ポリゴンのその後の処理は実行されず、3次元モデルデータ記憶手段19から、次の三角形ポリゴンの取り出しが実行される。
【0143】
これに対して、隠面ポリゴン判定において、処理対象の三角形ポリゴンは隠面ではないと判定された場合には、射影変換プログラム50が実行され、モデルビュー変換プログラム48により得られた三角形ポリゴンの視点座標系の頂点座標がクリップ座標系の頂点座標に変換される。次に、透視除算プログラム51が実行され、処理対象の三角形ポリゴンのクリップ座標系の頂点座標の透視除算が行われ、処理対象の三角形ポリゴンのクリップ座標系の頂点座標がNDC座標系の頂点座標に変換される。
【0144】
次に、ビューポート変換プログラム52が実行され、透視除算プログラム51により算出された三角形ポリゴンのNDC座標系の頂点座標がスクリーン座標系の頂点座標に変換される。次に、レンダリング処理プログラム53が実行され、ビューポート変換プログラム52により得られた三角形ポリゴンのスクリーン座標系の頂点座標がグラフィックスメモリ44に描画(格納)される。
【0145】
以上の動作が未処理の三角形ポリゴンがなくなるまで繰り返して実行され、未処理の三角形ポリゴンがなくなると、画像表示プログラム54が実行され、グラフィックスメモリ44に格納されている描画データ(画像)が画面表示装置45に転送され、ディスプレイ40に3次元の物体が描画される。
【0146】
以上のように、本発明の描画データ作成装置の第2実施形態39によれば、本発明の描画データ作成方法の一実施形態を実施することができる。したがって、計算処理量を減らし、3次元コンピュータグラフィックス描画データ作成処理の高速化を図ることができる。
【0147】
なお、特許文献1には3次元画像構成装置が記載されているが、これは、1つの画素に1つの点を描くという技術を前提とするものであり、本発明のように3次元の物体をポリゴンの組み合わせにより表現するという技術を前提とするものではない。
【0148】
ここで、本発明を整理すると、本発明には、少なくとも、以下の描画データ作成方法、描画データ作成装置及び描画データ作成プログラムが含まれる。
【0149】
(付記1)3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に自動変換するモデルビュー変換工程を有する描画データ作成方法であって、前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を自動的に行う隠面ポリゴン判定工程を有することを特徴とする描画データ作成方法。
【0150】
(付記2)前記ポリゴンは三角形ポリゴンであり、前記隠面ポリゴン判定は、数13に示す隠面ポリゴン判定式の値の正負により行うことを特徴とする付記1記載の描画データ作成方法。
【0151】
(付記3)3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に変換するモデルビュー変換回路を有する描画データ作成装置であって、前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定回路を有することを特徴とする描画データ作成装置。
【0152】
(付記4)前記ポリゴンは三角形ポリゴンであり、前記隠面ポリゴン判定は、数13に示す隠面ポリゴン判定式の値の正負により行うことを特徴とする付記3記載の描画データ作成装置。
【0153】
(付記5)コンピュータに、3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に変換するモデルビュー変換工程と、前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定工程を実行させるプログラムを含むことを特徴とする描画データ作成プログラム。
【0154】
(付記6)前記ポリゴンは三角形ポリゴンであり、前記隠面ポリゴン判定は、数13に示す隠面ポリゴン判定式の値の正負により行うことを特徴とする付記5記載の描画データ作成プログラム。
【図面の簡単な説明】
【0155】
【図1】本発明の描画データ作成方法の一実施形態を示すフローチャートである。
【図2】正射影の視界空間を定義するパラメータを示す図である。
【図3】透視射影の視界空間を定義するパラメータを示す図である。
【図4】本発明の描画データ作成装置の第1実施形態を使用する3次元コンピュータグラフィックス描画装置の概略的構成図である。
【図5】本発明の描画データ作成装置の第2実施形態を使用する3次元コンピュータグラフィックス描画装置の概略的構成図である。
【図6】3次元コンピュータグラフィックスにおける3次元の物体の表現例を示す図である。
【図7】ディスプレイに3次元コンピュータグラフィックスを描画する場合に使用される従来の描画データ作成方法の一例を示すフローチャートである。
【図8】3次元の物体のモデリング座標系から視点座標系への変換を示す図である。
【図9】3次元の物体の視点座標系からNDC座標系への変換を示す図である。
【図10】スクリーン座標系での3次元の物体を示す図である。
【図11】3次元の物体の隠面を説明するための図である。
【図12】ビューポートスケールScaleX、ScaleY及びビューポートオフセットOffsetX、OffsetYの具体例を説明するための図である。
【図13】数11に示す面積計算式の導出過程を説明するための図である。
【符号の説明】
【0156】
10…三次元の物体、11…ポリゴン、12…3次元モデルデータ記憶手段、13…視界空間、14…3次元の物体、15…視点、16…視界空間、17…隠面、18…スクリーン(表示領域)、19…三次元モデルデータ記憶手段、20…視界空間、21…視界空間の前面、22…視点、23…視界空間の後面、24…視界空間、25…視界空間の前面、26…視点、27…視界空間の後面、28…本発明の描画データ作成装置の第1実施形態、29…ディスプレイ、30…ポリゴン抽出回路、31…モデルビュー変換回路、32…隠面ポリゴン判定回路、33…射影変換回路、34…透視除算回路、35…ビューポート変換回路、36…レンダリング処理回路、37…グラフィックスメモリ、38…画面表示回路、39…本発明の描画データ作成装置の第2実施形態、40…ディスプレイ、41…CPU、42…主記憶、43…操作盤、44…グラフィックスメモリ、45…画面表示装置、46…3次元コンピュータグラフィックス描画プログラム記憶手段、47…ポリゴン抽出プログラム、48…モデルビュー変換プログラム、49…隠面ポリゴン判定プログラム、50…射影変換プログラム、51…透視除算プログラム、52…ビューポート変換プログラム、53…レンダリング処理プログラム、54…画面表示プログラム


【特許請求の範囲】
【請求項1】
3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に自動変換するモデルビュー変換工程を有する描画データ作成方法であって、
前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を自動的に行う隠面ポリゴン判定工程を有することを特徴とする描画データ作成方法。
【請求項2】
前記ポリゴンは三角形ポリゴンであり、
前記隠面ポリゴン判定は、
【数1】

の値の正負により行うことを特徴とする請求項1記載の描画データ作成方法。
但し、PSを射影行列から3行目を除いた3×4型行列、前記三角形ポリゴンの視点座標系の3頂点の座標を(X1e、Y1e、Z1e、W1e)、(X2e、Y2e、Z2e、W2e)、(X3e、Y3e、Z3e、W3e)とすると、d1〜d4、D1〜D4は、
【数2】

である。
【請求項3】
3次元の物体を構成するポリゴンのモデリング座標系の頂点座標を視点座標系の頂点座標に変換するモデルビュー変換回路を有する描画データ作成装置であって、
前記ポリゴンの視点座標系の頂点座標を用いて隠面ポリゴン判定を行う隠面ポリゴン判定回路を有することを特徴とする描画データ作成装置。
【請求項4】
前記ポリゴンは三角形ポリゴンであり、
前記隠面ポリゴン判定は、
【数3】

の値の正負により行うことを特徴とする請求項3記載の描画データ作成装置。
但し、PSを射影行列から3行目を除いた3×4型行列、前記三角形ポリゴンの視点座標系の3頂点の座標を(X1e、Y1e、Z1e、W1e)、(X2e、Y2e、Z2e、W2e)、(X3e、Y3e、Z3e、W3e)とすると、d1〜d4、D1〜D4は、
【数4】

である。
【請求項5】
コンピュータに、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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate