JPWO2002023484A1 - テクスチャマッピング方法及びレンダリング装置 - Google Patents
テクスチャマッピング方法及びレンダリング装置 Download PDFInfo
- Publication number
- JPWO2002023484A1 JPWO2002023484A1 JP2002527455A JP2002527455A JPWO2002023484A1 JP WO2002023484 A1 JPWO2002023484 A1 JP WO2002023484A1 JP 2002527455 A JP2002527455 A JP 2002527455A JP 2002527455 A JP2002527455 A JP 2002527455A JP WO2002023484 A1 JPWO2002023484 A1 JP WO2002023484A1
- Authority
- JP
- Japan
- Prior art keywords
- texture
- polygon
- vertices
- amount
- coordinates
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013507 mapping Methods 0.000 title claims abstract description 47
- 238000009877 rendering Methods 0.000 title claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000014509 gene expression Effects 0.000 claims description 17
- 238000007667 floating Methods 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 25
- 230000000694 effects Effects 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005286 illumination Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- VTTONGPRPXSUTJ-UHFFFAOYSA-N bufotenin Chemical compound C1=C(O)C=C2C(CCN(C)C)=CNC2=C1 VTTONGPRPXSUTJ-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
この発明はテクスチャマッピング方法及びレンダリング装置に関し、特に、シェーディングとテクスチャマッピングの表示結果を一致させることができるテクスチャマッピング方法及びレンダリング装置に関する。
背景技術
近年のコンピュータ演算能力の急速な発展にともない、人間の操作に応答できるだけの十分な描画速度が必要とされる実時間CG(Computer Graphics)の分野においても非常に高度な表現が可能になってきた。実時間CGでは、リアリティのある高度な表現と、それを算出するための計算量のトレードオフが常に問題となる。特にバーチャルリアリティなどの応用技術分野ではこの両方に対する要求が厳しく、解決されるべきいくつかの問題点が残っている。
はじめに、現在広く普及している実時間3DCGの画像生成(レンダリング)工程について概要をまとめる。
・3次元空間情報にもとづく計算処理(Transform&Lighting)
3DCGにおけるオブジェクトは、多数の頂点によって貼られる多角形平面(Polygon)の集合によって表されるのが一般的である。レンダリングは、立体モデルの各頂点の位置・結線情報、材質に関するデータなどをもとにして行う。
このデータに対して、視界範囲内の要素のみを抽出し(カリング)、各頂点が2次元画像上のどの位置に描画されるかを計算する(座標変換)。ここで立体モデルとそれを照らす光源との位置関係から、各頂点ごとの明るさを計算する(照光処理)。ここまでが3次元空間情報にもとづく計算処理(Transform&Lighting)である。
・2次元画像上の各画素(ピクセル)ごとの計算処理(ラスタライズ)
続いて、2次元画像上の各画素(ピクセル)ごとの計算処理(ラスタライズ)を行う。各描画ピクセルの視点位置からの距離に応じて前後関係を判定し(陰面処理)、各頂点ごとの色や明るさを補間してその頂点で貼られるPolygonの色を滑らかに陰影付けする(シェーディング)。こうして得られた3次元オブジェクトの表面に2次元画像などを貼り付けることで擬似的に細部を表現する方法をテクスチャマッピングという。
現在広く普及している実時間3D−CGの代表的な計算・表現技術について簡単に説明する。
(1)シェーディング
多角形(Polygon)で構成された3次元オブジェクトの表面を、光源とオブジェクトの形状に基づいて陰影付けする方法をシェーディングという。物理的に正確なシェーディング計算を行うのは非常に困難であり計算畳も膨大なものになるため、これを軽減すべく様々な計算方法が考案されてきた。一般的に高品質な画質の得られるシェーディングほど計算量が多くなる。
シェーディングの種類として、Flatシェーディング、Gouraudシェーディング、Phongシェーディングがある。
Flatシェーディングは、表面を構成する多角形の各面ごとに法線をたて、これと光源ベクトルの内積から面の色を決定する手法である。シェーディングの単位が面ごとであるため滑らかな曲面は表現できないが、計算量は少なく高速に表示できる。
Gouraudシェーディングは、表面を構成する多角形の各頂点ごとに法線をたて、これと光源ベクトルの内積から各頂点での色を決定する手法である。頂点間はそれぞれの頂点の色を線形補間して色付けする。比較的高速で滑らかな曲面も擬似的に表現できるが、曲率の高い曲面やハイライトの表現が不自然になる。
Phongシェーディングは、表面を構成する多角形の各頂点ごとに法線をたて、次に頂点間の描画される結果画像のビクセルごとに各頂点での法線ベクトルから線形補間した法線をたて、これをもとに光源と法線の内積からピクセルごとに色を決定する手法である。高品質な結果が得られるがピクセルごとの計算量が多いため、現在の実時間3D−CGで使用されることは稀である。
(2)テクスチャマッピング
テクスチャマッピングとは、3次元オブジェクトの表面に画像を張り付けることで質感を向上させる手法である。貼り付けるテクスチャ画像にu,v座標系をとり、このu,v座標値を各頂点に割り当てることで張りかた(マッピング方法)を決定する。
現在の実時間3D−CGでは一般的に、Gouraudシェーディングとテクスチャマッピングを併用することで画像を生成している。
上記実時間3D−CGの表現技術を用いることにより、定義されたオブジェクトの頂点位置はすべて正確に3次元空間内で計算され表示される。例えば平面のみで構成されるオブジェクトを正確にモデリングした場合には、任意の視点から見た完全に正しい形状を得ることができる。
これに照光による陰影表現、すなわちシェーディングを適用する。得られる画像品質と演算処理能力とのトレードオフから、Gouraudシェーディングが現在もっとも広く利用されている。これによって、正確な位置の頂点で張られる平面上に擬似的な陰影をつけることになる。
このようにして得られたオブジェクトにテクスチャマッピングを適用する。テクスチャ座標はオブジェクトの頂点ごとに定義され、その間を線形補間することで引き延ばされて張り付けられる。オブジェクトの平面に適用されたテクスチャは、任意の視点から見て完全に正しく表現されることになる。
平面のみで構成されるオブジェクトであれば、以上の方法でおよそ問題のない結果を得られるが、同様にして曲面を表現しようとした場合にはいくつかの問題が生じる。
曲面は細かい多角形の平面の集合に分割することで擬似的に表現されるが、この際に多くの頂点や平面が必要となり、計算量が著しく増加する。ここでは画像品質と計算量のトレードオフによって曲面の分割数が決定されるが、任意の視点からの画像を得られるという実時間3D−CGの利点から考えると、細部を表示する場合にどうしても曲面が荒くなってしまうのは問題である。
シェーディングに関しては、Gouraudシェーディングによっておよそ滑らかな陰影をもつ擬似曲面表現が得られる。しかし頂点位置でのみ色を計算し陰影の変化を線形補間で近似しているため、マッハバンドなどの不自然な陰影が生じてしまう。
テクスチャマッピングを適用した場合、問題はさらに顕著になる。頂点間のテクスチャ座標が線形補間されることにより、テクスチャ画像中の直線部分は、曲面上でも曲がることなく平面的に張り付けられる。これはGouraudシェーディングがグラデーションによって曲面上の陰影を視覚的にごまかしているのに対し、テクスチャ画像中には形状を知覚する手がかりが多く、視覚的にこのようなごまかしができないためである。
これらを原因として、とくに以下のような場合に疑似曲面表現が破綻する。これらはバーチャルリアリティなどの応用的な実装を考える際に深刻な問題になってくる。
(1)動くオブジェクトの表現
動きのあるオブジェクトを表示すると、曲面を擬似的に表現していることに起因する問題点は明確にあらわれる。オブジェクトが回転する際の不自然な外形の変化やテクスチャ画像の平面的な回転は、曲面の擬似的な表現を損なってしまう。
(2)立体視での融像
立体視を行う際、人間は左右の目から得られた画像中から適当な対応点を抽出し、これをもとに自己と対応点の距離を推測している。シェーディングのみによる疑似曲面を提示した場合には、グラデーションの濃淡によって曲面上の対応点はあいまいになるので、あまり違和感は生じない。しかしこれにテクスチャマッピングを適用した場合には、テクスチャ画像中のパターンはすべて明確な対応点となり、結果として曲面として表現したいものが平面的に融像してしまう。これに影響されてシェーディングによる疑似曲面表現も損なわれてしまう。
前述のように、実時間3D−CGではオブジェクトを2次元画像上に投影し、照光による陰影付け(Shading)、オブジェクト表面への画像パターンの貼り付け(テクスチャマッピング)などの過程を経て、近似的に結果画像を生成する。
しかし、同様の手法によりオブジェクトの曲面部分を描画しようとする場合に、シェーディングとテクスチャマッピングの近似表示結果が食い違ってくるという問題がある。この問題は従来議論されていなかったものであり、本発明者により初めて見出されたものである。
曲面において従来のテクスチャマッピングがシェーディングによる疑似曲面表現を損なっている、という点以外に、「両眼立体視を行なった場合に従来のシェーディング・テクスチャ処理では曲面表現が明瞭に破綻する。これを現状のハードウェア技術上の処理で効果的に解決できる」という点も同様かそれ以上に重要である。テクスチャがシェーディング表現を損ねる問題はこれまで「やむをえない」として許容もされてきたが、今後当然普及していくであろう両眼立体視環境ではこの問題がはるかに顕著に表れる。そのため、この解決手段を提示することは非常に意義があることである。
発明の開示
本発明は、係る新規な問題、すなわち、疑似曲面へのテクスチャマッピングの際に生じるシェーディングとテクスチャマッピングの表示結果の食い違いという問題を解決するためになされたものであり、両者を一致させることができるテクスチャマッピング方法及びレンダリング装置を提供することを目的とする。
この発明に係るテクスチャマッピング方法は、三次元座標においてひとつ又は複数のポリゴンにより構成される対象を用意するステップと、
前記ポリゴンの複数の頂点に対応づけられたテクスチャを用意するステップと、
前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行うステップと、
前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、前記テクスチャに基づき描画するステップと、
前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を、前記複数の頂点の間で線形補間することにより求めるステップと、
三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θを求めるステップと、
三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを求めるステップと、
前記角度θおよび前記平面上の各点における浮き上がり量dに基づき、前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるステップと、
前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するステップと、
補正されたテクスチャ座標および前記テクスチャに基づきテクスチャマッピングを行うステップとを備えるものである。
この発明に係るレンダリング装置は、三次元座標においてひとつ又は複数のポリゴンにより構成される対象を記憶する三次元モデル記憶部と、前記ポリゴンの複数の頂点に対応づけられたテクスチャを記憶するテクスチャ記憶部と、前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行う透視変換部と、前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、前記テクスチャに基づき描画する描画部と、前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を前記複数の頂点の間で線形補間することにより求める線形補間部と、三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θ及び三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを受け、これらに基づき前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるテクスチャ座標シフト量計算部と、前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するテクスチャ座標補正部とを備え、補正されたテクスチャ座標に基づき前記テクスチャ記憶部のテクスチャデータが読み出され、このデータに基づき描画されることを特徴とするレンダリング装置。
発明を実施するための最良の形態
前述の問題に対して、この発明の実施の形態において、テクスチャマッピング処理時にこの問題のための補正を行う「テクスチャ内シフト」手法を提案する。すなわち空間中に曲面形状を生成するのではなく、最終的にレンダリングされる画像中での想定する曲面形状を逆算して、歪めたテクスチャ画像を動的に生成して貼り付けることで、同等の効果を得るという手法である。
テクスチャ画像を動的に生成する方法はImage−based Renderingの分野で研究されてきている(Oliveira,Manuel M.Relief Texture Mapping.Ph.D.Dissertation,University of North Carolina,2000)が、今回のような目的で実時間内の計算量に抑えるにはさらに様々な工夫が必要になってくる。このテクスチャ画像生成処理を、実際にテクスチャ画像を歪めるのではなく、テクスチャマッピング処理時に各描画ピクセルのテクスチャ画像参照位置をずらしてやることで実現する。
これは従来のPolygon細分化に対し、前述のテクスチャマッピング処理のうち後半のものの計算量増加だけですむという利点がある。またラスタライズ時の処理であるため、主な計算は最終的に描画されるピクセルのみについて選択的に行われ、視界の外や他のオブジェクトに隠された部分については計算が省かれる。さらに、この処理は常に描画ピクセル単位で行われるため、Polygon細分化では粗さが見える程度まで拡大された場合にも有効である。
この発明の実施の形態に係る装置/方法について図を用いて具体的に説明する。
この装置/方法は、コンピュータにより実現される。周知のように、コンピュータは、中央処理装置(CPU、メモリを含む)、外部記憶装置(ハードディスク、CD−ROMドライブ、フロッピーディスクドライブを含む)、入力装置(キーボード、ポインティングデバイスを含む)、出力装置(CRTディスプレイ、液晶ディスプレイを含む)、通信装置(モデム、ターミナルアダプタを含む)を備える。
図1は、この発明の実施の形態に係る装置の要部を示すブロック図である。この図は、例えば、この装置/方法に係るプログラムがインストールされたコンピュータにおける主要部を示す機能ブロック図である。説明の便宜上、必要な部分のみを示しており、この装置/方法は、必要に応じて図示されない他の部分を含んでもよい。
図1において、符号1は三次元座標においてひとつ又は複数のポリゴンにより構成される対象を記憶する三次元モデル記憶部、符号2は前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行う透視変換部、符号3は前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、テクスチャに基づき描画する描画部、符号4は前記ポリゴンの複数の頂点に対応づけられたテクスチャを記憶するテクスチャ記憶部、符号5は前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を、前記複数の頂点の間で線形補間することにより求める線形補間部、符号6は三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θ及び三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを受け、これらに基づき前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるテクスチャ座標シフト量計算部、符号7は前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するテクスチャ座標補正部である。
図2はこの発明の実施の形態にかかる処理のフローチャートである。
次に動作について説明する。
実時間3D−CG技術において、頂点単位での座標変換計算を終えた後、結果画像として各ピクセルを描画する過程をラスタライズと呼ぶ。Gouraudシェーディングでは、この段階で頂点を結果画像上に投影した位置や色、テクスチャ座標を元に、その間を線形補間して描画する。この際、補間計算されたテクスチャ座標をもとにテクスチャ画像中から対応する色を取得し、描画する各ピクセルの色を決定するのである。疑似曲面へのテクスチャの適用が問題となるのは、テクスチャ座標が頂点単位で定義されており、頂点間すなわち面上の点はすべて線形補間により計算されているためである。そこで、この発明の実施の形態の装置は、テクスチャ座標シフト量計算部6及びテクスチャ座標補正部7を備え、擬似曲面に合わせてテクスチャ座標をシフトする。これによりスムーズで自然なテクスチャ表現が可能になる。
テクスチャ座標シフト量計算部6及びテクスチャ座標補正部7は、ラスタライズ時にテクスチャ座標の参照位置を計算する。ラスタライズではピクセルごとの描画計算が行われるため、ピクセル単位での曲面計算が行えれば、常に非常に詳細な曲面表示が行える。これはシェーディングにおけるGouraudシェーディングとPhongシェーディングの違いに相当する。当然この分の計算量が増加するが、同一平面上のテクスチャ参照座標を求める計算は比較的簡単である。以下、この方法をテクスチャ座標シフトによる疑似曲面表現と呼ぶ。この処理を行う際に留意すべき点は
・実時間で実行可能な計算量に抑える
・可能な限りデータ量を増やさない
・可能な限り既存の技術上で実装する
ことである。
まず、動作原理について説明する。単位ベクトルu,vで張られるuv座標系で、図3のようなテクスチャ座標を頂点に持つ長方形の面を考える。この面の法線ベクトルをn、面を見る視線方向ベクトルをeとする。この平面は疑似曲面の一部をなし、平面上の各点で法線方向にd(u,v)だけ平面から浮き上がっているとする。これをu,n平面に投影したものが図4である。
euはこの平面上に視線方向ベクトルeを射影したものである。ここで、この平面が曲面であればAに存在するべき点が平面上の点Bになってしまうため、e方向から見た場合に平面と曲面の違いが生じる。これを補正するには、平面内のピクセルごとのテクスチャ座標をシフトし、Cの位置にBのテクスチャ座標を割り当てる。すなわちCを描画するためにテクスチャ座標値uを計算する際、線形補間により求められたu値からnとenのなす角をθとしてdtanθuだけずれた値を用いればよい。これをテクスチャ座標値Vの計算においても同様に行うことで、ラスタライズで各ピクセルを描画する際に、曲面を想定したテクスチャマッピンク結果を得ることができる。
ここで、ラスタライズでCを描画する際にBのテクスチャ座標値が必要であり、そのためにはdtanθu、すなわちBでの平面上の各点における浮き上がり量dが必要である。このdを求めるにはやはりBのテクスチャ座標値が必要である。そこで、想定する曲面が十分に滑らかであり、平面の法線と視線ベクトルのなす角βが十分に小さい(tanθが小さい)ことを仮定し、d(B)≒d(C)であると近似する。
ここで必要となるnとeのなす角θは、ピクセルごとではなく平面1枚につきひとつ求めてやればよい。また視線方向ベクトルと法線ベクトルとのなす角はシェーディングの際の照光計算でも求める必要があり、この種の計算はグラフィックチップ上で高速に行うことができる。
次に、平面から想定する曲面までの浮き上がり量d(u,v)を求める。これは各頂点の位置や法線ベクトルなどから近似的に求める方法も可能であるが、ラスタライズ時に各ピクセルごとにこの計算を行うと計算量が非常に多くなってしまう。ここではこれを省くための方法を考える。
まず、求めるべき浮き上がり量はテクスチャ画像上の各点において異なるが、描画のたびに変化しない静的な値であることに注目する。これらの値はあらかじめ計算し、各面ごとに保持しておけばよい。ここでは浮き上がり量d(u,v)を濃淡としたテクスチャ画像を用意し、ラスタライズ時にテクスチャ画像の各ピクセルの値を参照するのと同様にこれを参照することにする。
例えば、通常の色情報を含んだ画像の他に、もう一枚濃淡で浮き上がり量を表した画像を用意する。3DCGの描画時に、1枚のテクスチャだけでなく2枚のテクスチャの色を混合したりしながら張りつける技術は、「マルチテクスチャ技術」として一般的である。たとえば、DirectXなどのAPIにいて利用可能な機能になっている。ここでは2枚目の画像テクスチャを浮き上がり量テーブルとして用い、混合の代わりに「テクスチャ座標をシフト」させる処理を行なうことで、「マルチテクスチャ技術」「EMBM技術」などの現状のハードウェア技術上でもリアルタイム処理可能な実装方法を提供できる。
浮き上がり量をテクスチャ画像として用意するには、いくつかの方法が考えられる。
まずひとつは、テクスチャ画像中にRGB値の色とともにα値(通常透明度を表す)を持たせ、浮き上がり量をα値とする方法である。一般的にテクスチャ画像に色情報RGBとα値の計4チャンネルを持たせることで、色と透明度を表現する。
この方法ではそれぞれのテクスチャ画像に合った浮き上がり量を設定でき、任意の曲面形状を表現できる。しかし多数の平面にわたって1枚のテクスチャ画像を適用するため、浮き上がり量のu,v方向の解像度が荒くなってしまうことが難点である。また、すべてのテクスチャにそれぞれの浮き上がり量データを持たせることは不必要なデータ量の増加につながる。
もう一つの方法は、一般的な浮き上がり量のテクスチャ画像を別に用意し、ラスタライズ時には2枚のテクスチャ画像を元に計算を行う方法(Multi−texture)である。図5に示すように、頂点ごとに適切なテクスチャ座標を設定してやることで、一枚の浮き上がり量テクスチャ画像を様々な曲面に適用できる。この方法では、各面ごとに浮き上がり量をスケーリングするパラメータを用意すると、一枚の浮き上がり量テクスチャ画像で任意の曲率を表現できるようになる。
ここで、透明度が不要な場合にはαチャンネル内に浮き上がり量テーブルを持たせることができ、また透明度が必要な場合には別途浮き上がり量テクスチャ画像を用意すれば良い。また、浮き上がり量テーブルはもっと広義に高さを表す高度テーブルとしても利用できる。これにより多種多様な応用、例えば、滑らかな曲面の表現だけでなく、地形や人の顔など任意の形状をわずかなポリゴンで表現するような場合などにも適用できる。
計算されたテクスチャ座標シフト量をもとに、ラスタライズの段階でテクスチャ画像の参照位置を補正する。
補正されたテクスチャ座標に基づきテクスチャマッピングを行う。実際の処理には公知の手法を用いることができる。たとえば、Microsoft社によって提唱されたMultimedia API、DirectX中の実時間3D−CG描画用APIであるDirect3D(商標)を用いることができる。Direct3D(商標)の1998年のVersion6の仕様において、Environment−Mapped Bump−Mapping(EMBM)と呼ばれる機能がサポートされた。これは本来、環境マッピングを併用したバンプブマッピングという特殊効果のために提案された機能であるが、これを利用することで濃淡テクスチャ画像をシフト量としたピクセル単位でのテクスチャ画像設定が可能である。またこの機能は一部のグラフィックカード上でハードウェア的に実装されており、実時間内での処理が可能である。
この発明の実施の形態による装置/方法に係る、テクスチャ座標シフトによる疑似曲面の処理結果の例を図6に示す。図6(c)は処理対象である対象を示す。この対象は上半分が32角柱、下半分が8角柱である。図6(b)は通常のテクスチャマッピングを適用したもの、図6(a)はテクスチャ座標シフトによる疑似曲面処理を行ったものである。図から分かるように、正面に近い部分ではテクスチャの曲率を持った歪みがおよそ正しく表現されている。またこの効果は、立体視においても実現されていることが確認できた。これらの表示はEMBM等の機能を持つ既存のグラフィックカード上にて実時間で処理できる。
一方、面の法線と視線方向とのなす角が大きくなる側面付近では、円柱との表示結果に相違が見られる。また、テクスチャ座標シフトによって補正できない形状のシルエットは円柱の場合と異なる。
本発明の実施の形態に係るテクスチャ座標シフトによる疑似曲面表現手法では、1枚の平面内にほぼ任意の凹凸形状を表現できるので、バンプマッピンクと併用することでオブジェクト表面に様々なデイテールを付加することができる。
本発明の実施の形態によれば、実時間3D−CGにおける疑似曲面表現でシェーディングとテクスチャマッピンクの近似表示が食い違うという問題(発明者が発見した新規な課題)を解決することができる。本発明の実施の形態によれば実時間での処理が十分可能である。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
また、本明細書において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウェアによって実現される場合も包含する。さらに、一つの手段の機能が、二つ以上の物理的手段により実現されても、若しくは、二つ以上の手段の機能が、一つの物理的手段により実現されてもよい。
【図面の簡単な説明】
図1は、この発明の実施の形態に係る装置のブロック図である。
図2は、この発明の実施の形態に係る処理のフローチャートである。
図3は、この発明の実施の形態の動作説明図である。
図4は、この発明の実施の形態の動作説明図である。
図5は、この発明の実施の形態の動作説明図である。
図6は、この発明の実施の形態の処理結果の例である。
Claims (10)
- 三次元座標においてひとつ又は複数のポリゴンにより構成される対象を用意するステップと、
前記ポリゴンの複数の頂点に対応づけられたテクスチャを用意するステップと、
前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行うステップと、
前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、前記テクスチャに基づき描画するステップと、
前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を、前記複数の頂点の間で線形補間することにより求めるステップと、
三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θを求めるステップと、
三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを求めるステップと、
前記角度θおよび前記平面上の各点における浮き上がり量dに基づき、前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるステップと、
前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するステップと、
補正されたテクスチャ座標および前記テクスチャに基づきテクスチャマッピングを行うステップとを備えるテクスチャマッピング方法。 - 前記テクスチャ座標シフト量は、式:d・tanθにより与えられることを特徴とする請求項1記載のテクスチャマッピング方法。
- 前記テクスチャ座標シフト量は、浮き上がり量の倍率をkとしたとき、式:k・d・tanθにより与えられることを特徴とする請求項1記載のテクスチャマッピング方法。
- 三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの浮き上がり量を前記ポリゴンそれぞれについて予め記憶する浮き上がり量テーブルを用意するステップを備えることを特徴とする請求項1記載のテクスチャマッピング方法。
- 三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの浮き上がり量を前記ポリゴンそれぞれについて予め記憶する浮き上がり量テーブルを用意するステップを備え、
前記浮き上がり量テーブルは、浮き上がり量を濃淡とするテクスチャ画像であり、前記テクスチャ画像は、色情報とともにパラメータ値αを含み、前記パラメータ値αは前記テクスチャ画像ごとに異なる値に設定されることを特徴とする請求項1記載のテクスチャマッピング方法。 - 三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの浮き上がり量を前記ポリゴンそれぞれについて予め記憶する浮き上がり量テーブルを用意するステップを備え、
前記浮き上がり量テーブルは、浮き上がり量を濃淡とするテクスチャ画像であり、
前記テクスチャマッピングおよび前記浮き上がり量テーブルに基づきテクスチャマッピングを行うことを特徴とする請求項1記載のテクスチャマッピング方法。 - 面ごとに前記浮き上がり量をスケーリングするパラメータを用意することにより任意の曲率を表現することを特徴とする請求項5記載のテクスチャマッピング方法。
- 三次元座標においてひとつ又は複数のポリゴンにより構成される対象を記憶する三次元モデル記憶部と、前記ポリゴンの複数の頂点に対応づけられたテクスチャを記憶するテクスチャ記憶部と、前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行う透視変換部と、前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、前記テクスチャに基づき描画する描画部と、前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を前記複数の頂点の間で線形補間することにより求める線形補間部と、三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θ及び三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを受け、これらに基づき前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるテクスチャ座標シフト量計算部と、前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するテクスチャ座標補正部とを備え、
補正されたテクスチャ座標に基づき前記テクスチャ記憶部のテクスチャデータが読み出され、このデータに基づき描画されることを特徴とするレンダリング装置。 - コンピュータに、
三次元座標においてひとつ又は複数のポリゴンにより構成される対象を用意するステップと、
前記ポリゴンの複数の頂点に対応づけられたテクスチャを用意するステップと、
前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行うステップと、
前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、前記テクスチャに基づき描画するステップと、
前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を、前記複数の頂点の間で線形補間することにより求めるステップと、
三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θを求めるステップと、
三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを求めるステップと、
前記角度θおよび前記平面上の各点における浮き上がり量dに基づき、前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるステップと、
前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するステップと、
補正されたテクスチャ座標および前記テクスチャに基づきテクスチャマッピングを行うステップとを備えるテクスチャマッピング方法を実行させるためのプログラムを記憶した記録媒体。 - コンピュータに、
三次元座標においてひとつ又は複数のポリゴンにより構成される対象を用意するステップと、
前記ポリゴンの複数の頂点に対応づけられたテクスチャを用意するステップと、
前記ポリゴンの複数の頂点をそれぞれスクリーン座標上に投影することにより前記対象の透視変換を行うステップと、
前記ポリゴンの複数の頂点に対応する前記スクリーン座標上の画素を、前記テクスチャに基づき描画するステップと、
前記スクリーン座標上における前記ポリゴンの複数の頂点の間の画素に対応するテクスチャ座標を、前記複数の頂点の間で線形補間することにより求めるステップと、
三次元空間における視線方向と前記ポリゴンの面法線とのなす角度θを求めるステップと、
三次元空間における前記ポリゴンを構成する面から予め定められた曲面までの平面上の各点における浮き上がり量dを求めるステップと、
前記角度θおよび前記平面上の各点における浮き上がり量dに基づき、前記視線方向から見たときの前記ポリゴンの面と前記曲面の間に生じる誤差量であるテクスチャ座標シフト量を求めるステップと、
前記テクスチャ座標を前記テクスチャ座標シフト量に基づき補正するステップと、
補正されたテクスチャ座標および前記テクスチャに基づきテクスチャマッピングを行うステップとを備えるテクスチャマッピング方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002527455A JP4714919B2 (ja) | 2000-09-13 | 2001-09-13 | レンダリング装置及び記録媒体並びにプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000278045 | 2000-09-13 | ||
JP2000278045 | 2000-09-13 | ||
JP2002527455A JP4714919B2 (ja) | 2000-09-13 | 2001-09-13 | レンダリング装置及び記録媒体並びにプログラム |
PCT/JP2001/007936 WO2002023484A1 (fr) | 2000-09-13 | 2001-09-13 | Procede de mappage de texture et dispositif de rendu d'image |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2002023484A1 true JPWO2002023484A1 (ja) | 2004-04-08 |
JP4714919B2 JP4714919B2 (ja) | 2011-07-06 |
Family
ID=18763269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002527455A Expired - Fee Related JP4714919B2 (ja) | 2000-09-13 | 2001-09-13 | レンダリング装置及び記録媒体並びにプログラム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP4714919B2 (ja) |
AU (1) | AU2001286216A1 (ja) |
WO (1) | WO2002023484A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4641831B2 (ja) * | 2005-03-14 | 2011-03-02 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成システム |
JP4662260B2 (ja) * | 2005-09-21 | 2011-03-30 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成システム |
WO2019049289A1 (ja) | 2017-09-07 | 2019-03-14 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置および画像生成方法 |
JP2023011505A (ja) * | 2022-06-16 | 2023-01-24 | 任天堂株式会社 | 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10302079A (ja) * | 1997-04-23 | 1998-11-13 | Sharp Corp | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 |
JPH11203498A (ja) * | 1998-01-16 | 1999-07-30 | Nec Corp | 法線ベクトルを用いたテクスチャ座標生成方法および装置 |
JP2000504453A (ja) * | 1996-11-21 | 2000-04-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータグラフィックス画像を発生する方法および装置 |
JP2002074389A (ja) * | 2000-08-23 | 2002-03-15 | Nintendo Co Ltd | グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 |
-
2001
- 2001-09-13 JP JP2002527455A patent/JP4714919B2/ja not_active Expired - Fee Related
- 2001-09-13 AU AU2001286216A patent/AU2001286216A1/en not_active Abandoned
- 2001-09-13 WO PCT/JP2001/007936 patent/WO2002023484A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000504453A (ja) * | 1996-11-21 | 2000-04-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータグラフィックス画像を発生する方法および装置 |
JPH10302079A (ja) * | 1997-04-23 | 1998-11-13 | Sharp Corp | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 |
JPH11203498A (ja) * | 1998-01-16 | 1999-07-30 | Nec Corp | 法線ベクトルを用いたテクスチャ座標生成方法および装置 |
JP2002074389A (ja) * | 2000-08-23 | 2002-03-15 | Nintendo Co Ltd | グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4714919B2 (ja) | 2011-07-06 |
WO2002023484A1 (fr) | 2002-03-21 |
AU2001286216A1 (en) | 2002-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102663B2 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
KR102701851B1 (ko) | 큐브 맵을 텍스쳐링하기 위한 LOD(level of detail)를 결정하는 방법 및 장치 | |
CN102708585B (zh) | 一种渲染模型轮廓边缘的方法 | |
JP3294149B2 (ja) | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 | |
Welsh | Parallax mapping with offset limiting: A per-pixel approximation of uneven surfaces | |
US8059119B2 (en) | Method for detecting border tiles or border pixels of a primitive for tile-based rendering | |
US20050068333A1 (en) | Image processing apparatus and method of same | |
US20080198163A1 (en) | Drawing Method, Image Generating Device, And Electronic Information Apparatus | |
US7889208B1 (en) | Z-texture mapping system, method and computer program product | |
US6184893B1 (en) | Method and system for filtering texture map data for improved image quality in a graphics computer system | |
US20050068326A1 (en) | Image processing apparatus and method of same | |
US7508390B1 (en) | Method and system for implementing real time soft shadows using penumbra maps and occluder maps | |
US8179399B2 (en) | Rasterizing method | |
JP3821880B2 (ja) | 色に奥行き指示を与える装置 | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
JP4714919B2 (ja) | レンダリング装置及び記録媒体並びにプログラム | |
KR100559127B1 (ko) | 화상처리장치 | |
US11989807B2 (en) | Rendering scalable raster content | |
JPH07282292A (ja) | テクスチャマッピング方法及び画像処理装置 | |
KR100848687B1 (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
Ragragui et al. | Revolution mapping with bump mapping support | |
US6188409B1 (en) | 3D graphics device | |
CN115578496A (zh) | 一种用于医学图形的局部gpu加速实时渲染方法 | |
JP3745152B2 (ja) | 画像表示装置 | |
KR20240140624A (ko) | 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080818 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110114 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110309 |
|
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: 20140408 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |