JP3635359B2 - 透視投影計算装置および透視投影計算方法 - Google Patents

透視投影計算装置および透視投影計算方法 Download PDF

Info

Publication number
JP3635359B2
JP3635359B2 JP29094995A JP29094995A JP3635359B2 JP 3635359 B2 JP3635359 B2 JP 3635359B2 JP 29094995 A JP29094995 A JP 29094995A JP 29094995 A JP29094995 A JP 29094995A JP 3635359 B2 JP3635359 B2 JP 3635359B2
Authority
JP
Japan
Prior art keywords
perspective projection
coordinate
triangle
coefficient
dimensional space
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
Application number
JP29094995A
Other languages
English (en)
Other versions
JPH09134451A (ja
Inventor
伊智郎 飯村
康弘 中塚
潤 佐藤
崇 曽根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP29094995A priority Critical patent/JP3635359B2/ja
Priority to KR1019960051810A priority patent/KR100419052B1/ko
Priority to US08/745,858 priority patent/US6043820A/en
Priority to TW085114906A priority patent/TW425512B/zh
Publication of JPH09134451A publication Critical patent/JPH09134451A/ja
Priority to US09/536,757 priority patent/US6236404B1/en
Priority to US09/814,684 priority patent/US20010010517A1/en
Application granted granted Critical
Publication of JP3635359B2 publication Critical patent/JP3635359B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation

Description

【0001】
【発明の属するの技術分野】
本発明は、画像処理装置の図形発生方式に係り、特に、透視投影が施された3次元図形に対する幾何学的パラメータを補正する透視投影計算装置および透視投影計算方法に関する。
【0002】
【従来の技術】
透視投影された図形、例えば透視投影された三角形に陰影付けする場合には、一般に、透視投影後三角形の各頂点座標を用いてスパン毎に線形補間を行ない、透視投影後三角形の内部の各点について、陰影付けに必要かつ十分な幾何学的パラメータを近似的に求める。
【0003】
また、透視投影による臨場感を損なわないための方法としては、透視投影後三角形の各頂点座標を用いてスパン毎に2次補間を行ない、透視投影後三角形の内部の各点について、陰影付けに必要かつ十分な幾何学的パラメータを近似的に求める。
【0004】
さらに、例えば特開平3−198172号は、スパン毎の補間をせず、三次元空間での平面図形上で、陰影付けに必要かつ十分な幾何学的パラメータを演算して求める方法を記載しているが、補間に用いる補間係数の具体的な算出方法については示していない。
【0005】
面毎に補間を行なう方法として、 Juan Pineda : A Parallel Algorithm for Polygon Rasterization, Computer Graphics, Volume22, Number 4, August 1988, pp.17−20 が知られている。しかし、透視投影後の図形に対する処理に関しては言及していない。
【0006】
【発明が解決しようとする課題】
上記従来技術では、スパン毎に補間を行なうため、補間に必要な補間係数を算出する際、除算を含む演算をスパン毎に行なう必要があった。加えて、同一スパン上の補間であっても、補間の対象となる幾何学的パラメータが異なる場合は、除算を含む演算である補間係数計算をパラメータ毎に行なう必要があった。
【0007】
また、上記従来技術における透視投影の効果は、正確でなく、近似であった。
【0008】
本発明の目的は、陰影付けの際に必要な除算回数を減らし、面毎の正確な透視投影補正を高速に実行できる透視投影計算装置を提供することである。
【0009】
本発明他の目的は、陰影付けの際に必要な除算回数を減らし、面毎の正確な透視投影補正を高速に実行できる透視投影計算方法を提供することである。
【0010】
【課題を解決するための手段】
本発明は、上記目的を達成するために、3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理装置において、3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算する少なくとも一つの面勾配要素係数計算部と、前記面勾配要素係数計算部で計算された面勾配要素係数を共通に用いて前記三角形のテクスチャ座標の補間係数を計算する少なくとも一つの補間係数計算部と、前記補間係数を用いて透視投影補正を行なう少なくとも一つの補正部とを備えた透視投影計算装置を提案する。
【0011】
本発明は、また、3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理装置において、3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算する少なくとも一つの面勾配要素係数計算部と、前記面勾配要素係数計算部で計算された面勾配要素係数を共通に用いて前記三角形のテクスチャ座標,光源強度減衰率,頂点正規モデル座標の補間係数を計算する少なくとも一つの補間係数計算部と、前記補間係数を用いて透視投影補正を行なう少なくとも一つの補正部とを備えた透視投影計算装置を提案する。
【0013】
補間計算式は、奥行きに関する項を含むこともでき、より具体的には、奥行きに関する項として奥行き座標の逆数値を用いる。
【0014】
本発明は、上記他の目的を達成するために、3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理方法において、3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算し、前記面勾配要素係数を共通に用いて前記三角形のテクスチャ座標の補間係数を計算し、前記補間係数を用いて透視投影補正を行なう透視投影計算方法を提案する。
【0015】
本発明は、さらに、3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理方法において、3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算し、前記面勾配要素係数を共通に用いて前記三角形のテクスチャ座標,光源強度減衰率,頂点正規モデル座標の補間係数を計算し、前記補間係数を用いて透視投影補正を行なう透視投影計算方法を提案する。
【0017】
補間計算式は、奥行きに関する項を含むこともでき、より具体的には、奥行きに関する項として奥行き座標の逆数値を用いる。
【0018】
本発明においては、陰影付けをする際に必要な複数の幾何学的パラメータに対して共通に使用可能な3次元空間における面勾配要素係数を採用して除算回数を減らし、透視投影後図形の陰影付けに必要な複数の幾何学的パラメータを3次元空間で面毎に補間するため、正確な透視投影補正を高速に行なうことができる。
【0019】
【発明の実施の形態】
次に、図1〜図17を参照して、本発明による透視投影計算装置および透視投影計算方法の実施例を説明する。
【0020】
図1は、本発明による透視投影計算装置の一実施例を採用した画像処理システムの構成の一例を示すブロック図である。このシステムは、図形頂点情報入力部1000と、画像処理装置2000と、メモリモジュール3000と、表示部4000とからなる。画像処理装置2000は、透視投影補正計算部2100と、図形発生部2200とを含む。メモリモジュール3000は、フレームバッファ3100と、デプスバッファ3200とからなる。
【0021】
図2は、透視投影補正計算部2100の構成の一例を示すブロック図である。透視投影補正計算部2100は、透視投影の補正処理を実行する部分であって、面勾配要素係数計算部2310と、補間係数計算部2320と、画素アドレス計算部2400と、補正部2520とからなる。
【0022】
補間係数計算部2320は、奥行き座標補間係数計算部2321と、テクスチャ座標補間係数計算部2322とを含み、補正部2520は、奥行き座標補正部2521と、テクスチャ座標補正部2522とを含む。
【0023】
図3は、透視投影補正計算部2100の構成要素である面勾配要素係数計算部2310の構成の一例を示すブロック図である。面勾配要素係数計算部2310は、図形頂点情報入力部1000から図形頂点情報を得る。頂点座標行列構成器2310(a)は、図形頂点情報すなわち3次元空間で定義される三角形の頂点座標(v0頂点座標1111,v1頂点座標1112,v2頂点座標1113)を基に、マトリックスを構成する。逆行列計算器2310(b)は、そのマトリックスを基に、逆行列すなわち面勾配要素係数2310(1)を計算する。
【0024】
図4は、補間係数計算部2320の一構成要素である奥行き座標補間係数計算部2321の構成の一例を示すブロック図である。奥行き座標行列構成器2321(a)は、視点−前面クリップ面間距離からなるマトリックスを構成する。乗算器2321(c)は、面勾配要素計算部2310で計算された面勾配要素係数2310(1)と奥行き座標行列構成器2321(a)で構成された視点−前面クリップ面間距離からなるマトリックスとを乗算する。乗算器2321(d)は、その結果と符号変換行列2321(b)とを乗算し、奥行き座標補間係数2321(1)を算出する。ここで、符号変換行列2321(b)は、視点座標系1110cからrecZ座標系1180cへの変換を意味する。
【0025】
図5は、補間係数計算部2320の一構成要素であるテクスチャ座標補間係数計算部2322の構成の一例を示すブロック図である。テクスチャ座標補間係数計算部2322は、図形頂点情報入力部1000から図形頂点情報を得る。テクスチャ座標行列構成器2322(a)は、図形頂点情報すなわち3次元空間で定義される三角形の頂点テクスチャ座標(v0頂点テクスチャ座標1121,v1頂点テクスチャ座標1122,v2頂点テクスチャ座標1123)を基に、マトリックスを構成する。乗算器2322(b)は、そのマトリックスと面勾配要素計算部2310で計算された面勾配要素係数2310(1)とを乗算し、テクスチャ座標補間係数2322(1)を算出する。テクスチャ座標補間係数2322(1)は、テクスチャ座標s成分補間係数と、テクスチャ座標t成分補間係数とからなる。
【0026】
図6は、補正部2520の一構成要素である奥行き座標補正部2521の構成の一例を示すブロック図である。乗算器2521(a)は、奥行き座標補間係数2321(1)のx成分と、画素アドレス計算部2400により発生されたアドレスのx成分とを乗算する。加算器2521(c)は、その結果と奥行き座標補間係数2321(1)のコンスタント成分とを加算する。一方、乗算器2521(b)は、奥行き座標補間係数2321(1)のy成分と、画素アドレス計算部2400により発生されたアドレスのy成分とを乗算する。最後に、加算器2521(d)は、加算器2521(c)の出力と乗算器2521(b)の出力とを加算し、補正後奥行き座標2520(1)を算出する。
【0027】
図7は、補正部2520の一構成要素でありテクスチャ座標補正部2522のs成分であるテクスチャ座標s成分補正部2522sの構成の一例を示すブロック図である。テクスチャ座標s成分補正部2522sの乗算器2522s(a)は、画素アドレス計算部2400により発生されたアドレスのx成分と補正後奥行き座標2520(1)より計算される値−near/recZとを乗算する。乗算器2522s(b)は、その結果とテクスチャ座標s成分補間係数2322(1)sのx成分とを乗算する。乗算器2522s(c)は、画素アドレス計算部2400により発生されたアドレスのy成分と補正後奥行き座標2520(1)より計算される値−near/recZとを乗算する。乗算器2522s(e)は、その結果とテクスチャ座標s成分補間係数2322(1)sのy成分とを乗算する。さらに、乗算器2522s(d)は、テクスチャ座標s成分補間係数2322(1)sのz成分と補正後奥行き座標2520(1)より計算される値−near/recZとを乗算する。加算器2522s(f)は、その結果と乗算器2522s(b)の出力とを加算する。最後に、加算器2522s(g)は、その結果と2522s(e)の出力とを加算し、補正後テクスチャs成分座標2520(2)sを算出する。
【0028】
図8は、図2の透視投影補正計算部2100の構成を拡張した一例を示すブロック図である。すなわち、奥行き座標および頂点テクスチャ座標の他に、頂点光源強度等の3次元空間で定義された平面上で線形性が保たれる幾何学的パラメータを取り扱うように拡張した透視投影補正計算部2100の一例である。3次元空間で定義された平面上で線形性が保たれる幾何学的パラメータであれば、奥行き座標および頂点テクスチャ座標と同様の処理により、透視投影補正が可能となる。
【0029】
ここでは、輝度計算に必要な光源強度減衰率を同様の構成で透視投影補正を行なう。また、法線ベクトル1130,光源方向ベクトル1140,視点方向ベクトル1190,光源反射ベクトル1150に関しては、3次元空間での平面上で線形性を保つような空間において、透視投影補正を行なう。その空間を(u,v,w)空間と呼び、座標系を正規化モデル座標系と呼ぶ。
【0030】
図8における頂点座標および頂点テクスチャ座標の処理手順は、図2の処理手順と同じである。また、拡張された幾何学的パラメータである光源強度減衰率および頂点正規モデル座標は、図2の頂点テクスチャ座標と同様に処理する。
【0031】
さらに説明すると、図8では、輝度計算に必要な法線,奥行き座標,頂点テクスチャ座標,光源,視点等の幾何学的パラメータについて、図2と同様の構成で透視投影補正を行なう。具体的には、光源と図形内各点との位置関係により決定する光源強度減衰率1160と、面の向きを示す法線ベクトル1130と、光源の方向を示す光源方向ベクトル1140と、視点の方向を示す視点方向ベクトル1190と、光源の反射方向を示す光源反射ベクトル1150である。法線ベクトル1130,光源方向ベクトル1140,視点方向ベクトル1190,光源反射ベクトル1150に関しては、3次元空間での平面上で線形性を保つような空間において透視投影補正を行なう。その空間を(u,v,w)空間と呼び、座標系を正規化モデル座標系と呼ぶ。すなわち、実際の透視投影補正は、それらベクトルが線形に補間できる正規化モデル座標系での値(u,v,w)に変換したものを用いる。例えば、3次元空間で定義された三角形頂点の正規化モデル座標系での座標値は、頂点正規モデル座標と呼ばれる。
【0032】
図9は、画素アドレス計算部と補正部2520とともに図形発生部2200を構成している輝度計算部2510の構成の一例を示すブロック図である。テクスチャ色取得部2510(a)は、補正後テクスチャ座標2520(2)を基に、テクスチャの色であるC=(R,G,B)を取得する。光源による減衰無し環境/拡散/鏡面成分輝度計算部2510(b)は、そのテクスチャ色と補正後光源強度減衰率とを基に、光源による減衰無しの環境/拡散/鏡面成分の輝度を求める。スポット角減衰率計算器2510(c)は、補正後正規モデル座標を基に、逆向きの光源ベクトル11A0と光源方向ベクトル1140との内積(−Ldir・Li)のLconc乗を求める。光源入射角照度計算器2510(d)は、法線ベクトル1130と光源方向ベクトル1140との内積(L・N)を求める。
【0033】
鏡面反射減衰率計算器2510(e)は、視点方向ベクトル1190と光源反射ベクトル1150との内積(V・R)のSconc乗を算出する。ここで、Lconcとは、スポット光源強度指数であり、Sconcとは、鏡面反射指数である。次に、乗算器2510(f)は、光源による減衰無し環境/拡散/鏡面成分輝度計算部2510(b)の出力とスポット角減衰率計算器2510(c)の出力とを乗算する。乗算器2510(g)は、その結果と光源入射角照度計算器2510(d)の出力とを乗算する。乗算器2510(h)は、乗算器2510(f)の出力と鏡面反射減衰率計算器2510(e)の出力とを乗算する。
【0034】
以上の一連の処理を光源数分だけ実行する。全光源分の環境成分計算器2510(j),全光源分の拡散成分計算器2510(k),全光源分の鏡面成分計算器2510(l)は、それぞれを光源数分だけ加算する。最後に、輝度合成用加算器2510(o)は、自然界環境成分と放射成分の輝度計算器2510(i)の出力と、全光源分の環境成分計算器2510(j)の出力と、全光源分の拡散成分計算器2510(k)の出力と、全光源分の鏡面成分計算器2510(l)の出力とを加算して、画素輝度2510(l)を算出する。
【0035】
図10〜図17を参照して、このような構成の透視投影計算装置の動作を説明する。
【0036】
図10は、表示部4000に表示された三角形1100を示す図である。これは、3次元空間で定義される三角形が2次元空間に透視投影された三角形である。その下の図表は、表示部4000に表示された三角形1100の頂点におけるpdc座標1170,rzc座標1180,vrc座標1110,テクスチャ座標1120,光源強度減衰率1160,正規モデル座標11B0を示している。ここで、pdc座標1170は、表示部4000に表示された三角形の座標であり、rzc座標1180は、透視投影後の座標であり、vrc座標1110は、透視投影前の座標であり、テクスチャ座標1120は、上記三角形にマッピングされるテクスチャ画像との対応を示す座標であり、光源強度減衰率1160は、光源と図形内各点との位置関係により決定されるスカラ値であり、正規モデル座標11B0は、法線ベクトル1130,光源方向ベクトル1140,視点方向ベクトル1190,光源反射ベクトル1150が3次元空間での平面上で線形性を保つ空間である正規モデル座標系における座標値である。
【0037】
なお、pdc1170cは“Physical Device Coordinates”(物理デバイス座標系)、rzc1180cは“recZ Coordinates”(recZ座標系)、vrc1110cは“View Reference Coordinates”(視点座標系)の略である。ただし、recZ1180zは、vrc上で奥行き座標の逆数と比例関係にある。
【0038】
図11は、それらの幾何学的パラメータと表示対象三角形との関係を示す図である。vrc1110c上の三角形内のある点(xv,yv,zv)1110には、透視投影のための補正が必要な幾何学的パラメータとして、奥行き座標1180z,テクスチャ座標1120,光源強度減衰率1160,正規モデル座標11B0が複数存在する。vrc1110c上の三角形内のある点(xv,yv,zv)1110は、透視投影により、投影面上にマッピングされ、rzc1180c上の点(xr,yr,zr)1180となる。マッピングされたrzc1180c上の点は、表示部4000におけるpdc1170c上の点(x,y,z)1170になる。
【0039】
図12は、前記三種類の座標系とvrc1110c/rzc1180c/pdc1170cとの相互関係を示す図である。vrc1110cは、視点が原点にある。表示しようとする図形モデルは、この座標系において定義される。rzc1180cは、vrc1110cに対して、人間の視覚システムと類似の視覚効果を作り出す透視投影を施した後の座標系である。rzc1180c上に描画された図形は、pdc1170cに変換され、表示部4000に表示される。
【0040】
図13は、補正部2520内で処理される補間計算式の代表的なものとして、奥行き座標2521(e)およびテクスチャ座標のs成分2522s(h)に関する補間計算式を示す図である。補間後のrzc1180cにおける奥行き座標recZ2520(1)は、
recZ=recZx×xr+recZy×yr+recZc
で求められる。ここで、(xr,yr)は、補間対象点のrzc座標1180であり、(recZx,recZy,recZc)は、補間係数計算部2320で求められた奥行き座標補間係数2321(1)である。
【0041】
テクスチャ座標1120は、(s,t)という二成分を有する。その一成分であるs成分の補間後の座標s2520(2)sは、
s=(Sx×xr+Sy×yr+Sz)×zv
で求められる。ここで、(xr,yr)は、補間対象点のrzc座標1180であり、(Sx,Sy,Sc)は、補間係数計算部2320で求めたテクスチャ座標s成分補間係数2322(1)sであって、zvは、補間対象点の奥行きvrc座標1110であり、補間後のrzc1180cにおける奥行き座標recZ2520(1)から求められる。本実施例における計算式は、zv=−near/recZである。ただし、nearは、vrc1110cにおける視点と前クリップ面との距離である。ここで、補間対象点のrzc座標1180は、pdc座標1170から線形な関係式より算出できる。なお、他の複数の幾何学的パラメータに関する補間計算式は、前記テクスチャ座標1120のs成分の場合と同様に求めることができる。
【0042】
図14は、輝度計算部2510で処理される輝度計算式を示す図である。画素の各色成分Cは、自然界に存在する環境光により照らされる図形の色Caと、図形そのものが放つ放射光の色Ceと、光源により照らされる図形の環境反射光成分色Caiと、光源により照らされる図形の拡散反射光成分色Cdiと、光源により照らされる図形の鏡面反射光成分色Csiとの和で表される。すなわち、
C=Ca+Ce+Σ(Cai+Cdi+Csi)
で求められる。ここで、Cは(R,G,B)の三成分からなり、iは光源番号を表す。Cai,Cdi,Csiは、以下のように求められる。
Cai=Ka×Lai×Ctel×Latti×(−Ldiri・Li)^Lconc
Cdi=Kd×Ldi×Ctel×Latti×(−Ldiri・Li)^Lconc×(N・Li)
Csi=Ks×Lsi×Ctel×Latti×(−Ldiri・Li)^Lconc×(V・Ri)^Sconc
ただし、(−Ldiri・Li),(N・Li),(V・Ri)は内積である。ここで、(Ka,Kd,Ks)は、材質の反射係数、(La,Ld,Ls)は、光源の色、Ctelは、テクスチャ色、Lattは、光源強度減衰率1160、Ldirは、光源ベクトル11A0、Lは光源方向ベクトル1140、Nは法線ベクトル1130、Vは、視点方向ベクトル1190、Rは、光源反射ベクトル1150、Lconcは、スポット光源強度指数、Sconcは、鏡面反射指数である。
【0043】
図15は、表示しようとする三角形の視点からの奥行きとその逆数との関係をz値および1/z値をパラメータとするグラフ3210により示す図である。このグラフの横軸は、奥行きであるz値を表し、縦軸は、その逆数の1/z値を表している。
【0044】
図16は、いくつかの1/z値に対するz値を示す図である。z値と1/z値との対応表3240は、1/z値(0.1から1.0まで)を等間隔に刻んだ場合のz値を示している。z値数直線3220および1/z値数直線3230は、z値および1/z値対応表3240を数直線表現したものである。
【0045】
図17は、z値をデプスバッファ3200に格納した場合と、1/z値をデプスバッファ3200に格納した場合との関係を示す図である。例えば、1mmから106mmすなわち1000mまでのz値を解像度1mmでデプスバッファ3200に格納した場合のz値格納デプスバッファ3250について考える。この場合は、デプスバッファ3200を最低106分割する必要があることは容易に分かる。ここで、1m+1mmと1m+2mmの差と、100m+1mmと100m+2mmの差では、1mmの重要度が異なることは明らかである。すなわち視点に近い位置では、正確な奥行き値を必要とするが、視点から遠い位置では1mmの差は重要ではなくなる。そこで、視点に近い付近の解像度を上げるためにデプスバッファ3200に1/z値を格納したものが、1/z値格納デプスバッファ3260である。1/z値をデプスバッファ3200に格納すると視点に近い付近の解像度が上がるのは、図15および図16から明らかである。例えば、1/z値をデプスバッファ3200に格納する際の条件として、視点からの距離が103mmすなわち1m以内の奥行き値に関しては、解像度1mmを保証するとすると、デプスバッファ3200を103分割すれば十分である。この例では、1mmから106mmすなわち1000mまでの奥行き値をデプスバッファに格納する際、単純にz値をデプスバッファに格納した場合と比べて、1/z値を格納した場合の方がデプスバッファのサイズを1/1000(=103/106)に圧縮できることを示している。その結果、例えば、z値を24bit/pixelでデプスバッファ3200に格納した場合と比べて、1/z値をデプスバッファ3200に格納すれば、16bit/pixelで済むことになる。
【0046】
これらのことを踏まえ、図形の例として三角形を採り、奥行き座標およびテクスチャ座標1120の正確な透視投影補正の処理について説明する。
【0047】
まず、図形頂点情報入力部1000は、透視投影補正計算部2100内の面勾配要素係数計算部2310に、三角形頂点のvrc座標1110を送り、一方、テクスチャ座標補間係数計算部2322に、三角形の頂点に対応するテクスチャ座標1120を送る。
【0048】
面勾配要素係数計算部2310は、与えられた三頂点分のvrc座標1110からなる行列の逆行列を求め、面勾配要素係数2310(1)とする。三角形1100の各頂点をそれぞれv0、v1、v2とし、対応するpdc座標1170を(x0,y0,z0),(x1,y1,z1),(x2,y2,z2)とし、rzc座標1180を(xr0,yr0,zr0),(xr1,yr1,zr1),(xr2,yr2,zr2)とし、vrc座標1110を(xv0,yv0,zv0),(xv1,yv1,zv1),(xv2,yv2,zv2)とすると、vrc座標1110からなる行列Mは、数式1となる。面勾配要素係数2310(1)はMの逆行列であるから、数式2となる。
【0049】
【数1】
Figure 0003635359
【0050】
【数2】
Figure 0003635359
面勾配要素係数2310(1)は、3次元空間で定義される三角形の面勾配を意味する係数であって、複数の幾何学的パラメータに共通に使用できる。さらに、面勾配要素係数2310(1)と、以下に算出手順を説明する補間係数および補間係数からなる補間計算式は、三角形内で共通に使用可能である。
【0051】
奥行き座標補間係数計算部2321は、面勾配要素係数2310(1)を基に、奥行き座標補間係数2321(1)を算出し、テクスチャ座標補間係数計算部2322は、先ほど与えられた情報および面勾配要素係数2310(1)を基に、テクスチャ座標補間係数2322(1)を算出する。
【0052】
具体的な算出方法の内、まず、奥行き座標補間係数2321(1)について述べる。視点と投影面との距離をvrc上で1とすると、透視投影が、数式3で表され、透視投影後座標は1/zvに比例することが分かる。ここでは、recZ=near/(−zv)と定義する。ただし、nearは、視点と前クリップ面との距離である。したがって、数式4を満たすAを求めれば、このAが奥行き座標補間係数2321(1)となる。すなわち、数式5となる。
【0053】
【数3】
Figure 0003635359
【0054】
【数4】
Figure 0003635359
【0055】
【数5】
Figure 0003635359
次に、テクスチャ座標補間係数2322(1)について述べる。テクスチャ座標は、透視投影の影響を正確に反映させるために、3次元空間での補正を行なう。数式6を満たすBを求めれば、このBが、テクスチャ座標補間係数2322(1)となる。すなわち、数式7となる。
【0056】
【数6】
Figure 0003635359
【0057】
【数7】
Figure 0003635359
画素アドレス計算部2400により発生された透視投影補正すべき座標および先ほど求められた奥行き座標補間係数2321(1)から、補間計算式
recZ=recZx×xr+recZy×yr+recZc2521(e)
により、補正後の奥行き座標2520(1)が求められる。奥行きに関する実際の処理においては、奥行き座標そのものは用いず、奥行き座標の逆数値を取り扱っている。また、画素アドレス計算部2400により発生させた透視投影補正すべき座標と先ほど求めたテクスチャ座標補間係数2322(1)と補正後の奥行き座標2520(1)とから、補間計算式
s=(Sx×xr+Sy×yr+Sz)×zv2522s(h)
により、テクスチャのs成分に関する補正後のテクスチャ座標2520(2)sが求められる。このように、幾何学的パラメータは、3次元空間で補間され、陰影付けに関して透視投影による効果を正確に表現できる。
【0058】
なお、奥行き座標およびテクスチャ座標1120以外の複数の幾何学的パラメータに関しては、前記テクスチャ座標1120と同様の手順で処理すると、透視投影補正を実現できる。その構成は、図8に示した通りである。
【0059】
さて、画素アドレス計算部2400で発生させた透視投影補正すべき座標における複数の幾何学的パラメータの補正が済んだので、輝度計算部2510において、補正後幾何学的パラメータを基に輝度計算を行なう。輝度計算方法は、前述の通りである。
【0060】
輝度計算部2510で計算された色は、表示制御部2600に送られ、補正後の奥行き座標2520(1)は、デプス比較部2530に送られる。その際、デプスバッファ3200の圧縮を考慮し、補間計算式
recZ=recZx×xr+recZy×yr+recZc2521(e)
により得られる奥行き座標の逆数値そのものを、デプス比較部2530に送る。デプスバッファ3200に格納されている奥行き座標と補正後の奥行き座標2520(1)とを比べ、条件が成立した際には、補正後の奥行き座標2520(1)がデプスバッファ3200に渡される。表示制御部2600では、輝度計算部2510,デプス比較部2530,フレームバッファ3100からの情報を基に、フレームバッファ3100に色を書き込み(書き込まない場合もある)、表示部4000に表示する。これら一連の処理を三角形内の全ての点について実行すると、一つの三角形に対する処理が完結する。
【0061】
本実施例では、正確な透視投影補正を行なったテクスチャマッピング付きフォンシェーディングについて述べたが、幾何学的パラメータとして三角形の頂点における色を採用すると、正確な透視投影補正を行なったグーロシェーディングも可能である。
【0062】
幾何学的パラメータとして、奥行き座標とテクスチャ座標1120と光源強度減衰率1160と正規モデル座標11B0との四種類を挙げたが、3次元空間内の平面上で線形性が保たれる幾何学的パラメータであれば、どのようなものであっても、上記と同様の透視投影補正を実行できる。
【0063】
本実施例では、デプスバッファ3200に奥行き座標の逆数である1/z値すなわちrecZを格納したが、単に奥行き座標であるz値を格納してもよい。また、視点に近い付近の奥行き値の解像度が高くなるような非線形な奥行き値に代わる値を格納することも可能である。
【0064】
【発明の効果】
本発明においては、補間の対象となる複数の幾何学的パラメータに対して共通に使用可能な3次元空間で定義される三角形の面勾配を意味する係数を計算する面勾配要素係数計算部と、面勾配要素係数計算部で得られた面勾配要素係数より補間係数を計算する補間係数計算部と、補間係数計算部で得られた補間係数を用いて正確な透視投影補正を行なう補正部とを備えているので、除算回数の増加を避けながら、透視投影補正を面毎に正確かつ高速処理できる透視投影計算装置が得られる。
【図面の簡単な説明】
【図1】本発明による透視投影計算装置の一実施例を採用した画像処理システムの構成の一例を示すブロック図である。
【図2】透視投影補正計算部の構成の一例を示すブロック図である。
【図3】透視投影補正計算部の構成要素である面勾配要素係数計算部の構成の一例を示すブロック図である。
【図4】補間係数計算部の一構成要素である奥行き座標補間係数計算部の構成の一例を示すブロック図である。
【図5】補間係数計算部の一構成要素であるテクスチャ座標補間係数計算部の構成の一例を示すブロック図である。
【図6】補正部の一構成要素である奥行き座標補正部の構成の一例を示すブロック図である。
【図7】補正部の一構成要素でありテクスチャ座標補正部のs成分であるテクスチャ座標s成分補正部の構成の一例を示すブロック図である。
【図8】図2の透視投影補正計算部の構成を拡張した一例を示すブロック図である。
【図9】画素アドレス計算部と補正部とともに図形発生部を構成している輝度計算部の構成の一例を示すブロック図である。
【図10】表示部に表示された三角形を示す図である。
【図11】幾何学的パラメータと表示対象三角形との関係を示す図である。
【図12】三種類の座標系とvrc1110c/rzc1180c/pdc1170cとの相互関係を示す図である。
【図13】補正部内で処理される補間計算式の代表的なものとして、奥行き座標およびテクスチャ座標のs成分に関する補間計算式を示す図である。
【図14】輝度計算部で処理される輝度計算式を示す図である。
【図15】表示しようとする三角形の視点からの奥行きとその逆数との関係をz値および1/z値をパラメータとするグラフにより示す図である。
【図16】いくつかの1/z値に対するz値を示す図である。
【図17】z値をデプスバッファに格納した場合と、1/z値をデプスバッファに格納した場合との関係を示す図である。
【符号の説明】
1000 図形頂点情報入力部
1100 pdc上図形(三角形)
1110 vrc座標
1110c 視点座標系
1111 第一頂点vrc座標
1112 第二頂点vrc座標
1113 第三頂点vrc座標
1120 テクスチャ座標
1121 第一頂点テクスチャ座標
1122 第二頂点テクスチャ座標
1123 第三頂点テクスチャ座標
1130 法線ベクトル
1140 光源方向ベクトル
1150 光源反射ベクトル
1160 光源強度減衰率
1170 pdc座標
1170c 物理デバイス座標系
1171 第一頂点pdc座標
1172 第二頂点pdc座標
1173 第三頂点pdc座標
1180 rzc座標
1180c recZ座標系
1180z rzc座標z成分
1190 視点方向ベクトル
11A0 光源ベクトル
11B0 正規モデル座標
2000 画像処理装置
2100 透視投影補正計算部
2200 図形発生部
2300 CPU(中央処理装置)
2310 面勾配要素係数計算部
2310(a) 頂点座標行列構成器
2310(b) 逆行列計算器
2310(1) 面勾配要素係数
2320 補間係数計算部
2321 奥行き座標補間係数計算部
2321(a) 視点と前クリップ面との距離から構成される行列構成器
2321(b) 符号変換行列
2321(c) 符号変換前奥行き座標補間係数計算用乗算器
2321(d) 符号変換用乗算器
2321(1) 奥行き座標補間係数
2322 テクスチャ座標補間係数計算部
2322(a) テクスチャ座標行列構成器
2322(b) テクスチャ座標補間係数計算用乗算器
2322(1) テクスチャ座標補間係数
2322(1)s テクスチャ座標補間係数のs成分
2326 光源強度減衰率補間係数計算部
2327 正規モデル座標補間係数計算部
2400 画素アドレス計算部
2500 グラフィックスプロセッサ
2510 輝度計算部
2510(a) テクスチャ色取得部
2510(b) 光源による減衰無し環境/拡散/鏡面成分輝度計算部
2510(c) スポット角減衰率計算器
2510(d) 光源入射角照度計算器
2510(e) 鏡面反射減衰率計算器
2510(f) 環境成分輝度計算用乗算器
2510(g) 拡散成分輝度計算用乗算器
2510(h) 鏡面成分輝度計算用乗算器
2510(i) 自然界環境成分と放射成分の輝度計算器
2510(j) 全光源分の環境成分計算器
2510(k) 全光源分の拡散成分計算器
2510(l) 全光源分の鏡面成分計算器
2510(m) 自然界環境成分,放射成分と環境成分の輝度計算用加算器
2510(n) 拡散成分と鏡面成分の輝度計算用加算器
2510(o) 輝度合成用加算器
2510(1) 画素の輝度
2520 補正部
2520(1) 補正後奥行き座標
2520(2) 補正後テクスチャ座標
2520(2)s 補正後テクスチャ座標のs成分
2520(6) 補正後光源強度減衰率
2520(7) 光源ベクトル
2520(8) 補正後正規モデル座標
2521 奥行き座標補正部
2521(a) 奥行き座標補間計算式x成分計算用乗算器
2521(b) 奥行き座標補間計算式y成分計算用乗算器
2521(c) 奥行き座標補間計算式のx成分とコンスタント成分の計算用加算器
2521(d) 補正後奥行き座標計算用加算器
2521(e) 奥行き座標補間計算式
2522 テクスチャ座標補正部
2522s テクスチャ座標s成分補正部
2522s(a) 透視投影前x座標計算用乗算器
2522s(b) テクスチャ座標s成分補間計算式x成分計算用乗算器
2522s(c) 透視投影前y座標計算用乗算器
2522s(d) テクスチャ座標s成分補間計算式z成分計算用乗算器
2522s(e) テクスチャ座標s成分補間計算式y成分計算用乗算器
2522s(f) テクスチャ座標s成分補間計算式x成分とz成分計算用加算器2522s(g) 補正後テクスチャs成分座標計算用加算器
2522s(h) テクスチャs成分座標補間計算式
2526 光源強度減衰率補正部
2527 正規モデル座標補正部
2530 デプス比較部
2600 表示制御部
3000 メモリモジュール
3100 フレームバッファ
3200 デプスバッファ
3210 z値と1/z値とのグラフ
3220 z値数直線
3230 1/z値数直線
3240 z値と1/z値との対応表
3250 z値格納デプスバッファ
3260 1/z値格納デプスバッファ
4000 表示部

Claims (6)

  1. 3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理装置において、
    3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算する少なくとも一つの面勾配要素係数計算部と、
    前記面勾配要素係数計算部で計算された面勾配要素係数を共通に用いて前記三角形のテクスチャ座標の補間係数を計算する少なくとも一つの補間係数計算部と、
    前記補間係数を用いて透視投影補正を行なう少なくとも一つの補正部とを備えたことを特徴とする透視投影計算装置。
  2. 3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理装置において、
    3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算する少なくとも一つの面勾配要素係数計算部と、
    前記面勾配要素係数計算部で計算された面勾配要素係数を共通に用いて前記三角形のテクスチャ座標,光源強度減衰率,頂点正規モデル座標の補間係数を計算する少なくとも一つの補間係数計算部と、
    前記補間係数を用いて透視投影補正を行なう少なくとも一つの補正部とを備えたことを特徴とする透視投影計算装置。
  3. 請求項1または2に記載の透視投影計算装置において、
    前記補間計算式が、奥行きに関する項を含み、前記奥行きに関する項として奥行き座標の逆数値を用いることを特徴とする透視投影計算装置。
  4. 3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理方法において、
    3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算し、
    前記面勾配要素係数を共通に用いて前記三角形のテクスチャ座標の補間係数を計算し、
    前記補間係数を用いて透視投影補正を行なうことを特徴とする透視投影計算方法。
  5. 3次元空間で定義される三角形を2次元空間に透視投影して2次元空間での三角形を陰影付けする画像処理方法において、
    3次元空間で定義される三角形の頂点座標からなる行列の逆行列を面勾配要素係数として計算し、
    前記面勾配要素係数を共通に用いて前記三角形のテクスチャ座標,光源強度減衰率,頂点正規モデル座標の補間係数を計算し、
    前記補間係数を用いて透視投影補正を行なうことを特徴とする透視投影計算方法。
  6. 請求項4または5に記載の透視投影計算方法において、
    前記補間計算式が、奥行きに関する項を含み、前記奥行きに関する項として奥行き座標の逆数値を用いることを特徴とする透視投影計算方法。
JP29094995A 1995-11-09 1995-11-09 透視投影計算装置および透視投影計算方法 Expired - Fee Related JP3635359B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP29094995A JP3635359B2 (ja) 1995-11-09 1995-11-09 透視投影計算装置および透視投影計算方法
KR1019960051810A KR100419052B1 (ko) 1995-11-09 1996-11-04 투시투영계산장치및투시투영계산방법
US08/745,858 US6043820A (en) 1995-11-09 1996-11-08 Perspective projection calculation devices and methods
TW085114906A TW425512B (en) 1995-11-09 1996-12-03 Perspective projection calculating device and method therefor
US09/536,757 US6236404B1 (en) 1995-11-09 2000-03-28 Perspective projection calculation devices and methods
US09/814,684 US20010010517A1 (en) 1995-11-09 2001-03-15 Perspective projection calculation devices and methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29094995A JP3635359B2 (ja) 1995-11-09 1995-11-09 透視投影計算装置および透視投影計算方法

Publications (2)

Publication Number Publication Date
JPH09134451A JPH09134451A (ja) 1997-05-20
JP3635359B2 true JP3635359B2 (ja) 2005-04-06

Family

ID=17762575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29094995A Expired - Fee Related JP3635359B2 (ja) 1995-11-09 1995-11-09 透視投影計算装置および透視投影計算方法

Country Status (4)

Country Link
US (3) US6043820A (ja)
JP (1) JP3635359B2 (ja)
KR (1) KR100419052B1 (ja)
TW (1) TW425512B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7119809B1 (en) * 2000-05-15 2006-10-10 S3 Graphics Co., Ltd. Parallel architecture for graphics primitive decomposition
JP2002008060A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd データ処理方法、記録媒体及びデータ処理装置
GB2372188B (en) * 2001-02-08 2005-07-13 Imagination Tech Ltd Volume clipping in computer 3-D Graphics
JP3702269B2 (ja) * 2002-12-06 2005-10-05 コナミ株式会社 画像処理装置、コンピュータの制御方法及びプログラム
US7403201B2 (en) * 2003-01-20 2008-07-22 Sanyo Electric Co., Ltd. Three-dimensional video providing method and three-dimensional video display device
WO2005010827A1 (en) * 2003-07-31 2005-02-03 National University Of Singapore Trapezoidal shadow maps
JP4487188B2 (ja) * 2004-10-25 2010-06-23 ソニー株式会社 情報処理装置および方法、プログラム、並びにナビゲーション装置
KR100640063B1 (ko) * 2005-02-18 2006-10-31 삼성전자주식회사 외부조도를 고려한 영상향상방법 및 장치
US7324113B1 (en) * 2005-03-09 2008-01-29 Nvidia Corporation Perspective correction computation optimization
JP2006252423A (ja) * 2005-03-14 2006-09-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
EP1860614A1 (en) 2006-05-26 2007-11-28 Samsung Electronics Co., Ltd. 3-Dimensional Graphics Processing Method, Medium and Apparatus Performing Perspective Correction
WO2008120298A1 (ja) * 2007-03-28 2008-10-09 Fujitsu Limited パース補正回路、画像処理装置及び画像処理プログラム
KR100919236B1 (ko) * 2007-05-22 2009-09-30 한국전자통신연구원 병렬 프로세서를 이용한 3차원 그래픽 기하 변환 방법
US8234564B2 (en) * 2008-03-04 2012-07-31 Apple Inc. Transforms and animations of web-based content
GB2461912A (en) * 2008-07-17 2010-01-20 Micron Technology Inc Method and apparatus for dewarping and/or perspective correction of an image
US8774556B2 (en) 2011-11-30 2014-07-08 Microsoft Corporation Perspective correction using a reflection
US9710957B2 (en) * 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Graphics processing enhancement by tracking object and/or primitive identifiers
CN104897130B (zh) * 2015-06-18 2017-11-14 广西壮族自治区气象减灾研究所 天基遥感分块插值计算太阳高度角的方法
US20170337728A1 (en) * 2016-05-17 2017-11-23 Intel Corporation Triangle Rendering Mechanism
US20210134049A1 (en) * 2017-08-08 2021-05-06 Sony Corporation Image processing apparatus and method
US10922884B2 (en) * 2019-07-18 2021-02-16 Sony Corporation Shape-refinement of triangular three-dimensional mesh using a modified shape from shading (SFS) scheme

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03198172A (ja) * 1989-12-27 1991-08-29 Japan Radio Co Ltd 透視変換三角形のシェーディング方式
US5415549A (en) * 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
JP2682559B2 (ja) * 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
FR2714503A1 (fr) * 1993-12-29 1995-06-30 Philips Laboratoire Electroniq Procédé et dispositif de traitement d'image pour construire à partir d'une image source une image cible avec changement de perspective.
WO1997018667A1 (fr) * 1995-11-14 1997-05-22 Sony Corporation Dispositif pour effets speciaux, procede de traitement d'images et procede de generation d'ombres

Also Published As

Publication number Publication date
TW425512B (en) 2001-03-11
US6236404B1 (en) 2001-05-22
US20010010517A1 (en) 2001-08-02
KR970029140A (ko) 1997-06-26
KR100419052B1 (ko) 2004-06-30
US6043820A (en) 2000-03-28
JPH09134451A (ja) 1997-05-20

Similar Documents

Publication Publication Date Title
JP3635359B2 (ja) 透視投影計算装置および透視投影計算方法
US5808619A (en) Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US5742749A (en) Method and apparatus for shadow generation through depth mapping
US5377313A (en) Computer graphics display method and system with shadow generation
US6690372B2 (en) System, method and article of manufacture for shadow mapping
JP5111638B2 (ja) パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法
US6621925B1 (en) Image processing apparatus and method and information providing medium
US20020060679A1 (en) Apparatus for and method of rendering 3D objects with parametric texture maps
JPH07152923A (ja) テクスチャ処理されたオブジェクトをレンダリングする方法及び装置
KR20160130433A (ko) 가변 렌더링 및 래스터화 파라미터 하에서 가변 뷰포트에 대하여 오브젝트를 효율적으로 리렌더링하는 방법
US20060114262A1 (en) Texture mapping apparatus, method and program
US6552726B2 (en) System and method for fast phong shading
JPH0771936A (ja) 画像処理装置及びその方法
WO2006095481A1 (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
US6583790B1 (en) Apparatus for and method of converting height fields into parametric texture maps
JPH0434159B2 (ja)
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
KR100559127B1 (ko) 화상처리장치
KR101118597B1 (ko) 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템
EP0974935B1 (en) Spotlight characteristic forming method and image processor using the same
JP3341549B2 (ja) 3次元形状データ処理装置
US5821942A (en) Ray tracing through an ordered array
JP2952585B1 (ja) 画像生成方法
JP2000057372A (ja) 画像処理装置、画像処理方法及び記憶媒体
JP2004054634A (ja) 画像処理装置およびその方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees