JP4394122B2 - 物体表面の反射特性をサンプリングして行う実時間レンダリングの方法及びテクスチャサイズを変換する方法 - Google Patents
物体表面の反射特性をサンプリングして行う実時間レンダリングの方法及びテクスチャサイズを変換する方法 Download PDFInfo
- Publication number
- JP4394122B2 JP4394122B2 JP2006514640A JP2006514640A JP4394122B2 JP 4394122 B2 JP4394122 B2 JP 4394122B2 JP 2006514640 A JP2006514640 A JP 2006514640A JP 2006514640 A JP2006514640 A JP 2006514640A JP 4394122 B2 JP4394122 B2 JP 4394122B2
- Authority
- JP
- Japan
- Prior art keywords
- viewpoint
- texture
- btf
- illumination
- index
- 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
- 238000000034 method Methods 0.000 title claims description 82
- 238000009877 rendering Methods 0.000 title claims description 55
- 238000005070 sampling Methods 0.000 title description 73
- 230000006870 function Effects 0.000 claims description 116
- 238000005286 illumination Methods 0.000 claims description 70
- 230000008859 change Effects 0.000 claims description 63
- 238000012545 processing Methods 0.000 claims description 24
- 230000014509 gene expression Effects 0.000 claims description 16
- 238000005316 response function Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 description 57
- 230000004044 response Effects 0.000 description 44
- 239000013598 vector Substances 0.000 description 32
- 238000005259 measurement Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 11
- 239000000463 material Substances 0.000 description 9
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000000513 principal component analysis Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 244000025254 Cannabis sativa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000010426 asphalt Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
本発明の方法を用いれば、BTFに基づいた任意の形状モデルのレンダリングを実時間で行うことができる。本発明は、その要素技術として、視点に依存したテクスチャの複数個のサンプルから、プログラマブルシェーダを利用して視点に関する補間を効率的に行う方法を含む。
測定物体の表面の形状は、レーザレンジスキャナなどの形状測定装置を利用することで、ある程度詳細に測定することができる。
一方、測定物体の表面の材質感をデータとして測定、表現する方法には、様々な問題があり、CGの分野における重要課題となっている。
測定物体の表面の材質感を表す情報のうち、非常に重要な情報が、様々な方向から物体表面に光を当て、様々な方向から観測したとき、物体の見え方が、光源の方向、観測する方向によってどのように変化するか、という情報である。以降、この情報を、その測定物体の「表面反射特性」と表記する。
表面の見え方や質感の表面反射特性を一般的に表現するための形式として、双方向反射分布関数(Bidirectional Reflectance Distribution Function、以降「BRDF」と表記する)がある。BRDFは、通常のモデリングソフト等においても採用されるな、普及が進んできているが、物体表面がテクスチャを持ち、材質感が場所によって変化するときには、BRDFは表面上の点の位置によって変化する。このような場合に、BRDFを表現する手法は、未だ研究段階である。また、物体の表面が、例えば微細な凸凹(bump)や、布における織り目など、視認可能な大きさの微細な形状(以降「メゾスコピック形状」と表記する)を持つ場合、その見え方の変化を表現するには、BRDFのみでは不十分である。
前記のような場合に関して、BRDFの代わりにBTF(非特許文献2)を利用することが提案されている。BTFは、視点方向、光源方向を連続的に変化させたときの、物体表面の見え方の変化を、視点方向、光源方向をパラメータとした画像を表す関数として定式化したものである。
メゾスコピック形状を物体表面が持つ場合、BTFは、BRDFの単なる拡張であるばかりでなく、表面の微細な形状による見え方の変化をもモデリング、レンダリングするのに役立つ。応用例としては、細かい凹凸を持つ布などのテクスチャ、芝目やアスファルトなどの表現などがある。BTFにより、従来の手法では表現しきれない、多くの種類の物体を表現することが可能である。
近年、一般的なパーソナルコンピュータに搭載されるビデオボードに、プログラム可能な頂点シェーダ、プログラム可能なピクセルシェーダ(以降、単に「頂点シェーダ」「ピクセルシェーダ」と表記し、また、これらをまとめて「プログラマブルシェーダ」と表記する)の機能が搭載されるようになった。これらの機能を使うことで、ビデオボード上の画像処理装置であるGPUの内部で行われる処理、例えば、物体の形状データの頂点位置の座標変換処理や、ピクセル毎のテクスチャマッピングなどの処理を、ユーザがプログラムによって制御することができるようになっている。
頂点シェーダ、ピクセルシェーダの機能を利用して、BRDFやBTFで表された質感を形状モデルに適用して、実時間レンダリングを行うことが試みられるようになってきている。しかし、完全なBTFを実時間でレンダリングすることは未だ研究途上である。また、対象が立体物である場合については、ほとんど手が付けられていない。
また、BTFを素材の質感を表現するために利用する場合、同じような特徴を持つパターンで平面を敷き詰める手法が実用上重要である。通常の画像として表現されるテクスチャに対しては、このための手法として、有限の大きさのテクスチャ標本から、画像の小片を切り出して、平面に敷き詰める手法が提案されており、「Image Quilting」と呼ばれる(非特許文献12)。Image Quiltingは、小さなテクスチャ標本から、任意の大きさのテクスチャを得る手法であり、一種の「圧縮」と考えることもできる。
また、立体形状を持った、実在する物体を計測し、任意の視点方向、光源方向に関してレンダリングを行うことは、実在物体をリアルに表現するために重要な課題である。
本発明は、上記のようなレンダリングを、実時間で行う方法である。
本発明では、頂点シェーダ、ピクセルシェーダの機能を利用して、BTFを形状データに適用してレンダリングする。テクスチャを形状データに貼り付けてレンダリングすることを、一般に、そのテクスチャの形状データへの「マッピング」と呼ぶことから、BTFを形状データに適用してレンダリングすることも、以降「マッピング」と表記する。
本発明では、BTFのデータを、実在する測定物体を撮影するか、データで表された測定物体の画像をCGによって合成することで得る。このとき、光源方向、視点方向を変化させながら、対象物体の実際の画像または合成画像を、撮影または生成する。この処理を、「BTFのサンプリング」と呼ぶ。
実在する測定物体をサンプリングすることは、測定物体の写真を、膨大な種類の条件下で撮影する必要がある。本発明では、実在する測定物体のサンプリングは、特許文献1で説明したようなサンプリング装置(以降「BTFサンプリング装置」と表記する)などを利用して、なされているものとする。
サンプリングされたBTFのデータ(以降「BTFサンプル画像集合」と表記する)は、離散的な光源方向、視点方向でのみ取得されたものである。BTFを、任意の光源方向、視点方向で形状データにマッピングするためには、連続な光源方向、視点方向でBTFを定義する必要がある。
また、ピクセルシェーダが読み取ることのできるデータ領域のうち、大きなデータを格納できる場所は、ビデオボード上のテクスチャメモリのみである。よって、BTFを頂点シェーダ、ピクセルシェーダによって効率的にレンダリングするには、BTFのデータをテクスチャデータとして表現することが必要となる。本発明では、これらの条件を満たすために、BTFサンプル画像集合を近似、圧縮し、テクスチャメモリに格納可能な複数のテクスチャデータとして表現する。
BTFの変化には、光源方向の変化によるものと、視点方向の変化によるものがある。光源方向の変化によるBTFの変化は、各照明方向に位置する点光源に対する放射輝度の応答関数であり、これを「BTFの照明応答」或いは「BTFの光源依存変化」と表記し、視点方向の変化によるBTFの変化を「BTFの視点依存変化」と表記する。
本発明において、BTFの照明応答は、照明応答を表す球面関数のパラメータとして保存される。球面関数を表すパラメータとしては、非特許文献4のように、球面調和関数を基底としたときの係数ベクトルなどを利用することができる。本発明では、このパラメータを、画素値として2次元の画像データとして格納する。これにより、テクスチャメモリにもデータを格納することができ、テクスチャと同様に扱うことができる。なお、通常のデータとしてメインメモリに格納しても良い。
また、BTFの視点依存変化の近似は、複数の視点のテクスチャデータを加重平均することで、それらの視点のデータを補間することで行われる。つまり、任意の視点に対し、その視点に近い方向の視点(以降「近傍視点」と表記する)に対応するサンプルの値に、任意の視点の位置で決まる重みを掛け、和をとった値を利用する。このとき、近傍視点の選択と、各近傍視点の重みの計算を高速化するために、各視点方向に対応する近傍視点のインデックスと、各近傍視点の重みをキューブテクスチャ(「キューブマップ」とも呼ばれる。非特許文献1)として表現する。これらのキューブテクスチャで表される球面関数を、それぞれ「近傍視点インデックス関数」及び「近傍視点重み関数」と呼ぶ。
近傍視点インデックス関数及び近傍視点重み関数を表すキューブテクスチャは、テクスチャメモリに格納しても、主メモリに格納しても良い。テクスチャメモリに格納した場合、近傍視点の選択と、近傍視点の重みの計算は、頂点シェーダまたはピクセルシェーダによって行う。主メモリに格納した場合、近傍視点の選択と、近傍視点の重みの計算は、中央演算処理装置(以降「CPU」と表記する)によって行う。場合によっては、これらのテクスチャを、テクスチャメモリと主メモリの両方に格納し、プログラマブルシェーダとCPUの両方で、近傍視点のインデックスと重みを参照することもある。
BTFを、素材の質感を表現するために利用する場合、有限の大きさのBTFから、任意の大きさのBTFを得られれば、実用上の価値が高い。そのために、「Image Quilting」(非特許文献12)の手法を応用し、有限の大きさのBTFから、BTFの小片を継ぎ合わせることで、任意の大きさに拡大されたBTFを得る。
レンダリングをCPUで行うこともできるが、プログラマブルシェーダを用いて行うことで、処理効率の大幅な向上が可能である。近傍視点インデックス関数、近傍視点重み関数を参照して、補間に利用する視点(近傍視点)のインデックスと重みを決定する。また、形状データの表面上の点とBTFとの対応を表すテクスチャ座標(形状テクスチャ座標)を、形状データ及び近傍視点におけるカメラ情報などから必要に応じて求める。
レンダリング時の照明は、非特許文献4で述べられているように、球面関数とみなし、それを球面調和関数で展開した係数として表現する。
形状テクスチャ座標と近傍視点のインデックスから、視点依存照明応答をテクスチャ読み取りによって参照する。これと、照明を表す係数との内積を画素の値として出力する。
また、Image QuiltingによりBTFを表現する場合、有限の大きさのBTFによって、拡大されたBTFを表現するために、Quilting Mapと呼ばれる座標変換テーブルを利用する。これにより、簡単な処理により、拡大されたBTFを任意の表面にマッピングすることができる。
本発明の方法により、任意の光源方向、視点方向に対するテクスチャの画素値を高速に生成することができる。これによって、任意の光源方向、視点方向で、形状データにBTFをマッピングしながら、効率的に、また実時間でレンダリングを行うことができる。
立体形状を持つ物体、或いは平面的な物体に関して、その物体の見え方、物体表面の模様、凹凸、材質感、反射特性を、複数の視点方向及び光源方向に対応する画像(CG画像または写真)の集合(データA)として記録し、記録した画像に、補間、圧縮などの処理を加えて保存し、保存したデータ(データB)から、任意の光源方向及び視点方向に関しての物体の見え方等を、画像として再生することが可能である場合、保存したデータBを、「BTF」と呼び、最初に記録したデータAを、「BTFサンプル画像集合」と呼ぶ。
本発明の効果は、BTFサンプル画像集合が与えられたとき、(1)それらのデータを圧縮または補間し、BTFとして保存し、(2)保存したBTFをテクスチャ画像または数表として、3次元表示ハードウェアの支援を受けられる形でコンピュータ内部に表現し、(3)BTFを任意の形状モデルに貼り付けて、CGレンダリングを行うことができ、(4)実時間レンダリングを実現できる、という点である。
これにより、物体の材質感を、光源方向、視点方向の移動による見え方の変化を含めて表現し、効率的に、或いは実時間で再現することが可能となる。
表現可能な物体は、表面に細かい凹凸がある物体や、毛や細かい繊維などを表面に持つ物体を含む。
また、本発明は、その要素技術として、視点に依存したテクスチャの複数個のサンプルから、プログラマブルシェーダを利用して視点に関するテクスチャの補間を効率的に行う方法を含む。
このうち、カメラの情報からは、対象物体に関して固定された座標系(以降「物体座標系」と表記する)と、物体座標で表された点が射影される画像上の点の位置との変換式を導出できる必要がある。
BTFサンプル画像集合は、視点方向、光源方向の両方を変化させながら生成或いは撮影することが望ましい。実物体に関して、この条件を満たすように画像を撮影し、さらにカメラの情報や光源の位置情報を記録するためには、特許文献1で説明したようなBTFサンプリング装置を利用する。
BTFサンプル画像集合から、各画像に対応するカメラの位置を、物体座標系で表された、物体座標系原点からの方向ベクトルとして表したもの(視点方向)の集合が得られる。この集合を「視点サンプリング点集合」と呼ぶ。視点サンプリング点集合は離散的な集合であり、V*と表記する。以降、本発明において、離散的な値を表す記号には、”○*”のように右肩に星印を付けて区別する。V*の要素を「視点サンプリング点」と呼ぶ。ivでインデックスした有限集合V*の要素(すなわち、視点サンプリング点)をv*(iv)と書く。V*において視点サンプリング点を指し示すインデックスを「視点インデックス」と呼ぶ。
また、BTFサンプル画像集合から、各画像に対応する視点方向と、光源方向を、物体座標系で表された、物体座標系原点からの方向ベクトルの対として表したとき、固定された視点方向v*(iv)と対になる光源方向ベクトルの集合が得られる。この集合を「光源サンプリング点集合」と呼ぶ。光源サンプリング点集合は視点方向のインデックスivに依存するので、L*(v*(iv))或いはL*(iv)と表記する。有限集合L*(v*(iv))の要素をilでインデックスしたものを「光源方向サンプリング点」と呼び、l*(il;iv)∈L*(v*(iv))と表記する。
ここで、l*(il;iv)の表記は、この式を、ilを変数とする関数とみなし、ivを定数とみなすことを表す。このとき、この関数を、l*(...;iv)と表記することもある。以降、本発明において、関数の変数を”;”で区切った場合、”;”の左側の記号を関数の変数、”;”の右側の記号を固定された変数とみなす。
以降、サンプリングによって近似しようとするBTFを「目的BTF」と呼ぶ。目的BTFのサンプルとして、視点方向と光源方向のパラメータを付与されたテクスチャ画像を「BTFサンプルテクスチャ」と呼ぶ。サンプルテクスチャの集合を「BTFサンプルテクスチャ集合」と呼ぶ。
BTFサンプル画像集合を処理することで、BTFサンプルテクスチャ集合が得られる。BTFサンプル画像集合とBTFサンプルテクスチャ集合の違いは、BTFサンプル画像集合が、サンプリングされた画像のままなのに対し、BTFサンプルテクスチャ集合は、目的BTFの、ある視点サンプリング点、光源方向サンプリング点において目的BTFを近似するサンプルになっていることである。
サンプルテクスチャ集合は、離散的なテクスチャの集合であり、これを連続なBTFとして扱うには補間を行う必要がある。BTFサンプルテクスチャ集合を元にして、実際に補間、近似され、生成された連続なBTFを「近似BTF」と表記する。
BTFサンプル画像集合から、BTFサンプルテクスチャ集合を生成する方法は、大きく2種類に分かれる。
1つ目は、撮影された画像に座標変換を施し、BTFサンプルテクスチャ集合の全ての画像において、同一の座標における画素が同一の物理的な点にほぼ対応するように画像を変形させる方法である。測定物体が平面物体である場合、BTFサンプリング装置に取り付けられた各カメラの内部パラメータ及び外部パラメータを利用して、斉次変換と呼ばれる画像変換を行うことで、このような画像を得ることができる。カメラの内部パラメータ及び外部パラメータは、サンプリング時の視点方向に依存するので、この処理は視点方向毎に違ったパラメータを使って行う。以降、この処理を「レクティフィケーション」と呼ぶ。
レクティフィケーションによってテクスチャサンプリングを行う場合、BTFサンプルテクスチャに付与される視点方向、光源方向は、接空間座標系で表現される。このとき、得られる近似BTFでは、同一の座標における画素が常に同一の物理的な点に対応する。このような近似BTFは、通常のテクスチャ画像と同様に、テクスチャ座標を持った任意の曲面に対してマッピングし、レンダリングに利用することができる。テクスチャサンプリングにレクティフィケーションを使う方法を「テクスチャサンプリング法A」と呼ぶ。
2つ目の方法は、BTFサンプル画像集合内の画像に座標変換を施さずに、そのままの画像、或いはその画像の一部をBTFサンプルテクスチャとして使用する方法である。この方法は、測定物体が立体物体である場合に利用する。このようにして作成されたBTFサンプルテクスチャ集合から得られる近似BTFは、同一の座標における画素が、視点方向パラメータによって異なる物理的な点に対応する。BTFサンプルテクスチャに付与される視点方向、光源方向は、物体座標系で表現される。
このような近似BTFは、通常のテクスチャとは違い、レンダリングする形状とテクスチャとのマッピングを、視点方向によって変化させる必要がある。このような近似BTFをレンダリングに使用する場合、レンダリング対象であるポリゴンメッシュとしては、測定物体の形状を近似したものを使用し、ポリゴンメッシュの各頂点に対応するテクスチャ座標をレンダリング時に計算する。テクスチャ座標の計算には、視点毎に用意されたカメラの内部パラメータ、外部パラメータを使用する。テクスチャサンプリングにレクティフィケーションを使わない方法を「テクスチャサンプリング法B」と呼ぶ。
BTFは「視点方向v、光源方向l、テクスチャ座標(s,t)、色チャネルcでインデックスされた、放射輝度値の無限集合」である。テクスチャサンプリング法Aを使う場合、v,lは、物体表面の接空間座標系で表される。テクスチャサンプリング法Bを使う場合、v,lは、物体座標系で表される。
v,lは、球面座標(spherical coordinates)を用いて、下記の数式1で表現される。
目的BTFは、v,l,s,t,cを変数とする関数として、下記の数式2で表される。
物体の見かけの放射輝度は、放射輝度の点光源に対する応答関数(以後「放射輝度応答関数」)と光源を表す関数との球面積分で表される。放射輝度応答関数と、光源を表す関数を、正規直交基底である球面調和関数の線形和で表すと、放射輝度応答関数と光源を表す関数との球面積分が、基底に対する係数ベクトルの内積で計算されるため、効率良くグローバルイルミネーションに対応することが可能になる(非特許文献4を参照)。本発明形態においても、放射輝度応答関数に関しては、球面調和関数展開による近似を利用する。
以降、本発明において、光源方向、色チャネル、テクスチャ座標を固定し、視点方向のみを変化させたときの、BTF或いはBTFサンプルテクセル値の変化を「視点依存変化」と呼ぶ。また、視点方向、色チャネル、テクスチャ座標を固定し、光源方向のみを変化させたときの、BTF或いはBTFサンプルテクセル値の変化を「光源依存変化」或いは「放射輝度応答」と呼ぶ。光源依存変化に関する補間手法と、視点依存変化に関する補間手法とを違うものにしたのは、BTFサンプルテクセル値の光源依存変化と視点依存変化の性質が異なるからである。
BTFサンプルテクセル値を表す関数T*において、視点方向iv、テクセル位置(is,it)、色チャネルcのインデックスを固定し、光源方向のインデックスilを変化させるとき、T*の値は、被測定対象においてほぼ同一の物理的な点における放射輝度値を表すことが、高い精度で保証される。
これは、同じ視点方向v*(iv)に対するBTFサンプルテクスチャが、固定されたカメラ位置、ターンテーブル位置で撮影されるためである。このため、BTFサンプルテクセル値を表す関数T*の光源依存変化は、同一の材質に対する光源方向を変化させたときの放射輝度値の変化にのみ起因する。
既に多くの文献で言及されているように、多くの種類の材質において、放射輝度値の光源依存変化は、比較的緩やかであり、少数の球面調和関数基底を利用することでよく近似できる。目的BTFであるTの光源依存変化も同様に緩やかであり、球面調和関数による近似が効果的であると考えられる。
一方、同一のテクセル位置(is,it)と色チャネルcで、異なる視点インデックスivを指定したときのBTFサンプルテクセル値T*の値は、測定物体の同一の物理的な点の放射輝度値に対応するとは限らない。テクスチャサンプリング法Bを利用した場合、視点方向パラメータが異なると、同一のテクセル位置(is,it)に対応する測定物体上の点は異なる。テクスチャサンプリング法Aを利用した場合であっても、物体表面のメゾスコピックな形状変化や、カメラパラメータの誤差などの影響により、レクティフィケーションの処理に誤差が発生する。そのため、この場合でも、同一のテクセル位置が異なった物理的な点に対応することがある。
このため、材質の反射特性の変化が激しい物体や、メゾスコピックな形状を表面に持つ物体を扱う場合、BTFサンプルテクセル値を表す関数T*の視点依存変化は、物理的な点の位置の変化に起因する放射輝度値の急激な変化を含むことがある。このような変化を低次元の球面調和関数で近似すると、高周波数成分が削除され、テクスチャの重要な特徴が損なわれてしまう恐れがある。
この考えから、本発明では、BTFサンプルテクセル値の視点依存変化をベクトル量子化によって圧縮、保存し、目的BTFの視点依存変化の近似を、BTFサンプルテクセル値の重み付け和によって行っている。サンプル値に掛ける重みは、重心座標(barycentric coordinates)の値をそのまま重みとして利用するものと、重心座標の有理関数をとり、より滑らかな重み変化を実現したものの2種類が、実装し易く効果が高い。
(鏡面反射成分及び自己影の分離)前述した手順に関し、BTFの近似をするときに問題になる点として、物体表面の鏡面反射と、物体の形状により物体自身に落とされる影(以降「自己影」と表記する)がある。
鏡面反射及び自己影が画像に含まれる場合、これらの成分の光源依存変化は、光源方向の移動に対して急激に変化することがある。このような場合、光源依存変化を低次元の球面調和関数で近似すると、高周波数成分が削除され、鏡面反射や自己影が消えてしまうことがある。よってこれらの成分は、BTFサンプルテクスチャ集合から予め分離しておくことが望ましい。
BTFサンプルテクスチャ集合から鏡面反射と自己影を分離する手法を述べる。物体表面の各点における反射モデル(拡散反射と鏡面反射を含むもの)を、BTFサンプルテクスチャ集合のデータに当てはめて鏡面反射を求める。また、自己影の分離に関しては、モデルの形状と光源位置から予想される自己影の位置を求め、その位置における値の変化をとることで、自己影による値の変化の大きさを求めることができる。
BTFサンプルテクスチャ集合から鏡面反射と自己影を分離する別の手法も述べる。まず、そのまま光源依存変化を低次元の球面調和関数で近似し、逆に近似した値と元のBTFサンプルテクスチャ集合との画素値の差を求め、差の大きい場所を求める。差の大きい場所のうち、BTFサンプルテクスチャの値の方が大きい場所は、鏡面反射のモデルに当てはめ、各表面上の点における鏡面反射の強さを決める。逆にBTFサンプルテクスチャの値の方が小さい場所は、自己影とみなす。
鏡面反射及び自己影は、レンダリング時にBTFとは別にレンダリングすることができる。鏡面反射のレンダリングには、既存の反射モデルによる手法を使う。例えば、トランス・スパロー(Torrance Sparrow)のモデル(非特許文献3)を利用して、鏡面反射をレンダリングすることができる。
自己影についても、既存のレンダリング手法を使ってレンダリングできる。それぞれのレンダリング結果は、最後にBTFのレンダリング結果と合成する。鏡面反射は、値の足し算または掛け算によって、自己影の値は、掛け算によってBTFのレンダリング結果と合成する。
(BTFの光源依存変化の近似)目的BTFの光源依存変化は、BTFの各画素において、点光源の方向を変えたときの放射輝度値の応答関数と見ることができる。物体を任意の光源環境に置いた場合、各点における放射輝度値は、その点から各方向への照明の強度を球面関数として表すとき、放射輝度値の応答関数と光源を表す関数との球面積分で表される。放射輝度値の応答関数と光源を表す関数とを正規直交基底である球面調和関数の線形和で表すと、放射輝度伝達関数と光源を表す関数との球面積分が、基底に対する係数ベクトルの内積で計算されるため、効率良くグローバルイルミネーションに対応することが可能になる(非特許文献4)。また、球面調和関数による展開係数に、主成分分析を適用すると、さらに効率的な正規直交基底を算出することができる。そこで、ここでは実施形態として、球面調和関数によって求めた展開係数を主成分分析したものを、放射輝度値の応答関数と光源を表す関数との正規直交基底として利用する。
まず、BTFサンプルテクスチャ集合から、固定された視点インデックスiv、テクセル位置(is,it)、色チャネルcにおけるBTFサンプルテクセル値の集合である、下記の数式8を取り出し、球面関数のサンプル集合とする。
光源依存変化サンプル集合のそれぞれの要素は、光源方向を表す、下記の数式9により、単位球面上の点に対応する。この単位球面を、L*(iv)の要素に対応する各点を頂点として、ポリゴンメッシュに分割することができる。以降、ポリゴンメッシュを「光源サンプリングメッシュ」と呼ぶ。
照明応答を近似するキューブテクスチャを、球面調和関数展開によって近似する。球面調和関数による級数展開の係数は、球面積分により得られる。球面積分は、キューブテクスチャのテクセル値と、対応する光源方向における球面調和関数の基底関数の値と、テクセルが占める立体角の大きさとの積を、各テクセルについて足し合わせた値で近似される。
得られる係数を、下記の数式10と表す。ここでNshは球面調和関数の最大次数とする。Nsh次までの基底を利用する場合、Nsh 2個の係数が得られる。
結果として得られた係数を、iv,is,itでインデックスされた、3Nsh 2次のベクトルとみなす。ベクトルの数は、‖V*‖WtHtである。
得られたベクトルの集合を、主成分分析(Principal Component Analysis、以降「PCA」と表記する)の手法を用いて近似する。この方法は、前計算放射輝度伝達(PRT)の手法と同様である。RGB3チャネルで3Nsh 2個の係数を、ベクトルとして、PCAによって近似し、K個の3Nsh 2次元主成分ベクトルと、主成分得点を表す‖V*‖WtHt個のK次のベクトルに分解する。以下、3Nsh 2次元主成分ベクトルを「基底ベクトル」、主成分得点を表すK次のベクトルを「重みベクトル」と表記する。
基底ベクトルの計算には特異値分解(singular value decomposition、以降「SVD」と表記する)などを用いるが、全てのベクトルを基底ベクトルの計算に利用するのは多くの計算量が必要となるので、‖V*‖WtHt個のベクトルから一部をサンプリングし、得られた少数のサンプルに対してSVDを実行し、基底ベクトルを計算しても良い。
あとで重みベクトルをテクスチャとして表現する必要性から、各基底に対応する重みベクトルの成分は、一定の値の範囲になるように正規化しておくことが望ましい。したがって、重みベクトルの各成分について、絶対値の最大値を求め、その値で全重みベクトルの各成分の値を割り、対応する基底ベクトルにその値を掛ける。この正規化の方法は、前計算放射輝度伝達(PRT)の手法と同様である。
PCAにより計算されたK個の基底ベクトルは、球面調和関数の係数として表されたBTFの照明応答の基底である。これを、本発明においては「照明応答基底」と呼ぶことにする。基底ベクトルのインデックスをk(0≦k≦K−1)とし、kで示された係数の基底を、C(c;l,m,k)で表す。cは色チャネルのインデックスで、0,1,2のいずれかの値をとる。照明応答基底Lb(...;k)を下記の数式12で定義する。
(BTFの視点依存変化の近似)既に述べたBTFの光源依存変化近似関数Tlaは、光源方向lの変化に対しては連続関数であり、視点方向vの変化に関しては、vが視点サンプリング点集合V*の要素である場合にのみ値を持つ離散関数である。BTFの視点依存変化の近似は、V*から複数の視点方向vを選択し、それらの視点方向でのTlaの値を重み付けした和をとることで行う。
視点サンプリング点集合V*={v*(iv)|0≦iv≦‖V*‖}の要素は、光源サンプリング点の場合と同じように単位球面上に対応させることができる。視点サンプリング点集合の球面上での対応点を頂点とする三角ポリゴンメッシュによって、単位球面上を分割する。このポリゴンメッシュを「視点サンプリングメッシュ」と呼ぶ。
これにより、任意の視点方向vは、視点サンプリングメッシュに含まれる1つの三角ポリゴンに対応する。vの対応点が三角ポリゴンの内部にある場合には三角ポリゴンが、vの対応点がメッシュの辺や頂点にある場合には、辺または頂点に接続する三角ポリゴンに対応するようにする。この三角形をvの「近傍視点三角形」と呼び、下記の数式14と表記する。
近傍視点三角形△N(v)の3個の頂点は、視点サンプリング点集合の要素である。これらをvの「近傍視点」と呼び、三角形局所インデックスの順に、下記の数式15で表す。
数Taは、重み関数である下記の数式17で加重平均をとった関数として、下記の数式18の形で与えられる。
関数Gを下記の数式19と定義すると、下記の数式20となる。G(...;k)は視点依存照明応答を補間した視点位置の関数である。G(...;k)を「補間された照明応答」と呼ぶ。
iv N(v;0)がメッシュの辺、頂点において、vに対して連続でないため、H(v;0)は、一般に連続でない。H(v;1)、H(v;2)も同様である。Q(v,v*(iv))は、vの関数とみなした場合、v*(iv)を頂点とする三角形の内部でのみ0でない値を持つ視点サンプリングメッシュにおける補間フィルタである。
視点方向vと、その近傍視点三角形△N(v)との交点を、△N(v)に関する重心座標、下記の数式24で表すとする。ただし、重心座標は、三角形局所インデックスの順に記述する。
コード化するデータは、視点依存照明応答W*(iv,is,it;k)、近傍視点インデックス関数iv N(v;n)、近傍視点重み関数H(v;n)、n∈{0,1,2}である。
レンダリング時に対象となる物体を照らす照明環境は、予めキューブマップなどで表現し、球面調和関数の係数に変換する。この変換には、視点依存照明応答を求めた場合と同様の手法を利用することができる。照明環境を球面調和関数の係数で表現したものは、通常世界座標で表されているので、これをレンダリング時のメッシュの各頂点で決められた接空間座標、或いは物体全体で共通な物体座標に変換する。変換の方法は、非特許文献4に述べられているものを用いる。変換された係数を、照明応答基底に対する重みとして表したものを、「照明応答基底による照明の表現」と呼び、Lb(c,k)で表すことにする。この表現は、変換された係数と照明応答基底との内積をとり、スケーリングを施すことで計算できる。
W*(iv,is,it;k)は、ivを固定するとWt×Htのサイズのテクスチャ画像とみなすことができる。これを「視点依存照明応答テクスチャ」と呼び、ivはそのテクスチャのインデックスとみなせる。MtNt≧‖V*‖として、(MtWt)×(NtHt)のサイズのテクスチャを用意する。このテクスチャに、視点依存照明応答テクスチャをインデックスivの順でタイル状に並べる。kを色チャネルとしてコード化する。ARGB4個のチャネルを用いると、W*は下記の数式28で表される枚数のテクスチャを消費する。
プログラマブルシェーダによるレンダリングアルゴリズムは以下のようになる。頂点シェーダによる処理と、ピクセルシェーダによる処理とに分かれる。頂点シェーダによる処理は、単に、メッシュの各頂点において、接空間基底を計算し、接空間で表現された視点、光源方向v,lを計算するのみである。頂点シェーダには、他に、テクスチャ座標pも渡される。v、l、pは頂点間で補間され、ピクセルシェーダに渡される。また、Lb(c,k)の計算は、照明を球面調和関数展開の係数で表したものを回転し、照明応答基底との内積をとることで行われるが、この処理は頂点シェーダで行うのが望ましい。ただし、現在のハードウェアの頂点シェーダでこれを行うことができない場合等には、CPUでこれを行っても良い。
ピクセルシェーダにおける処理を以下に示す。PIXはピクセル値を保存する変数を、IVは近傍視点インデックスを、WVは近傍視点重み関数の値を、WLは補間された照明応答の値を表す。それぞれの関数の値は、対応するテクスチャを参照することで得られる。また、照明応答基底による照明の表現Lb(c,k)をLB(c,k)で、視点インデックスiv、テクスチャ内部でのテクスチャ座標(s,t)、基底番号kにおける視点依存照明応答テクスチャのテクセル値をLWTEX(iv,s,t;k)で、視点方向v、三角形局所インデックスNにおける近傍視点インデックステクスチャ及び近傍視点重みテクスチャのテクセル値を、それぞれIVTEX(v;N)及びWVTEX(v;N)で表す。
実際の実装でのステップ4の繰り返しは、k=0,1,...,kにおけるLWTEX(...;k)、LB(c,k)のデータを、kをARGB4要素の各色チャネルに割り当てることで、繰り返し数を下記の数式28とすることができる。
例えば、Microsoft社のDirectXで利用されているHLSL、及びnVIDIA社のcg言語として規格化されているシェーダ記述用言語では、ps_2_x以上のピクセルシェーダがその機能を備えている。
テクスチャメモリの消費が大きいのは、視点依存照明応答テクスチャである。この情報を圧縮することで、テクスチャメモリの消費を抑えることができる。
(視点依存照明応答テクスチャの圧縮)3次元離散関数W*(iv,is,it;k)は通常、テクスチャ座標であるis,itに関して、原点の周りで高い自己相関を持つ。また、視点方向を表すインデックスivに関しても、ivの差が視点方向の差を反映するようにインデックスを定義すれば(つまり、ivが近い値を持つとき、視点方向も近くなるならば)、やはりW*(iv,is,it;k)は原点の周りで高い値を持つ。このことから、W*(iv,is,it;k)を3次元画像とみなして、直方体のブロックに分割し、ブロック毎にベクトル量子化などの圧縮を適用することで、W*(iv,is,it;k)を効果的に圧縮することができる。
本発明では、W*(iv,is,it;k)をBv×Bs×Btの大きさの、直方体のブロックに分割する。
下記の数式29とすると、ブロックの数はSv×Ss×St個である。このブロック毎にコードブックをNc個用意し、コードインデックスを収めたテクスチャを用意することで、W*(iv,is,it;k)の圧縮を行う。
視点方向を表すインデックスivを固定した場合、3次元離散関数W*(iv,is,it;k)は、各テクセルが照明に関する応答を表すようなテクスチャ画像を表す。このテクスチャ画像に対して、Image Quiltingを適用する。適用する方法は2種類ある。一つは、各視点方向インデックスivに対して、それぞれ個別にImage Quiltingを適用する方法である。もう一つは、全ての各視点方向でのW*(iv,is,it;k)をまとめて一つの画像とみなし、まとめてImage Quiltingを適用する方法である。後者の方法では、視点方向インデックスivを、テクセルのチャネルを指定するインデックスの一つと見なす。
Image Quiltingの手法の概略を述べる。入力画像は与えられた画像であり、出力画像は任意の大きさを指定できる。出力画像は、方形の格子で分割される。隣り合った格子の間には、一定の幅を持った「重なり領域」を設ける。次に、出力画像の各格子と、その格子に隣接した重なり領域に対して、入力画像の部分画像を割り当てる。隣り合った格子の重なり領域では、双方の格子に対応した部分画像が、乱数を利用して割り当てられる。このとき、部分画像に割り当てられた複数の部分画像に対して、それらの画像の差が一定以下になるようにする。その上で、重なり領域において格子の分割線を生成し、それぞれの格子を分割する。格子の分割線は、その線上の画素全体に対しての双方の格子に対応した部分画像の差を加えた和が最小値をとるように生成される。このような線を、「最小コストパス」と呼ぶ。最小コストパスは、動的計画法により求めることができる。最小コストパスにより分割された各格子ごとに、入力画像から出力画像へ部分画像をコピーすることで、出力画像を得る。
Image QuiltingをBTFに適用する場合、入力画像を入力BTFと呼び、出力画像を「出力BTF」と呼ぶことにする。Image Quiltingを適用するためには、重なり領域において、複数の格子に対応した入力BTFの、部分画像の差を評価する必要がある。各視点方向に対して個別にImage Quiltingを適用する場合、各テクセル値は、照明に対する応答を表す球面関数の基底に対する係数である。このときの差の評価値として、各係数の2乗に、球面関数基底による重みを掛け、それらの和をとったものを利用する。最小コストパスの生成にも、同じ方法で差を評価した値を利用する。
全ての視点方向でのBTFをまとめて同一の画像とみなし、Image Quiltingを適用する場合、各テクセル値は、照明に対する応答を表す球面関数の各基底に対する係数である。このときの差の評価値は、各係数の2乗に、球面関数基底及び視点インデックスに依存する重みを掛け、それらの和をとったものを利用する。最小コストパスの生成にも、同じ方法で差を評価した値を利用する。
本発明では、出力BTFを表現するために、Quilting Mapと呼ばれる座標変換テーブルを利用する。まず、全ての視点方向でのBTFをまとめて同一の画像とみなす場合を考える。このとき、出力BTFを表現するためには、出力BTFのテクスチャ座標を入力BTFのテクスチャ座標に変換する座標変換テーブルを用意すれば良い。この座標変換テーブルをテクスチャとして表現すると、ピクセルシェーダを利用することで出力BTFを効率的にレンダリングできる。また、各視点方向に対して個別にImage Quiltingを適用する場合、各視点インデックスに対して個別の座標変換テーブルを作成することで、出力BTFを表現することができる。
Image Quiltingによって作成されたBTFをレンダリングする場合には、物体の形状モデルの各頂点で与えられたテクスチャ座標を、Quilting Mapによって変換するだけで良い。Quilting Mapをテクスチャとして表現した場合、この変換をピクセルシェーダによって効率的に行うことができる。
(照明応答基底による照明の表現の前計算)照明応答基底による照明の表現Lb(c,k)の計算は、照明を球面調和関数展開の係数で表したものを回転し、照明応答基底との内積をとることで行われる。この処理を頂点シェーダで行うことができるなら、効率の点で望ましいが、現在の頂点シェーダの機能では、それは困難である。
照明が、点光源や、円状の光源のように、光源の中心を固定した回転で不変な場合には、光源の回転は2変数のみで表現できる。この対応は、光源の方向を、球面に対応させることで簡単に実現できる。そこで、各光源方向に対するLb(c,k)を予め計算し、これをキューブマップなどに格納しておくことで、CPUによる回転の計算を頂点シェーダ内で行うことができる。これを、「前計算された照明の表現」と呼ぶ。
(近傍視点重み関数の連続関数化)近傍視点重み関数H(v;n)(n∈{0,1,2})は、BTFの視点依存変化の補間を行うための重み関数であり、3チャネルのキューブテクスチャで表現することができる。この関数は、視点方向vの変化に対して滑らかに変化することが望ましい。このために、H(v;n)のキューブテクスチャの読み取りのとき、双線形補間をかけることが考えられるが、この方法には深刻な問題がある。
H(v;n)は一般には視点サンプリングメッシュのポリゴンの辺において連続でない部分を持つ。このため、双線形補間をかけると、ポリゴンの辺の付近における重みの値に誤差が生じ、望ましくないアーティファクトを生じる。
この問題の解決法としては、近傍視点インデックス関数 及び近傍視点重み関数H(v;n)を表すキューブテクスチャの解像度を一致させ、キューブテクスチャのテクセルの読み取りに最近傍補間を行うことが考えられる。この方法の欠点は、多くのメモリを消費して高解像度のキューブテクスチャを利用しないと、視点の変化に対して重みが滑らかに変化せず、グラデーション状のアーティファクトが生じる場合があることである。
本発明では、視点サンプリングメッシュの辺の位置における不連続性が生じないようにH(v;n)を定義することで、この問題を解決する。以下の命題が成立する。
命題:視点サンプリングメッシュにおいて、どこでも連続であるようにH(v;n)、n∈{0,1,2}を定義できない場合が存在する。
証明:視点サンプリングメッシュ全体で連続なH(v;n),n∈{0,1,2}があるとする。このとき、視点サンプリングメッシュの頂点viでは、H(vi;0)=1、H(vi;1)=1、H(vi;2)=1のいずれかが成立する。
H(vi;n)=1のとき、頂点viを数字nに写像する関数をX(vi)とする。隣り合った頂点vi,vjについてX(vi)≠X(vj)である。なぜなら、X(vi)=X(vj)であるなら、vが近傍視点三角形△N(vi)を通ってvjに近づく場合、下記の数式30となり矛盾するからである。
N=4の場合には、視点サンプリングメッシュに対するN色問題には常に解がある。このとき、視点サンプリングメッシュ全体で連続なH(v;n)、n∈{0,1,2,3}を定義し、隣り合った頂点vi,vjについて、下記の数式31が成り立つようにすることができる。
テクスチャサンプリング法Aを用いてサンプリングを行い、BTFを平面に貼り付け、視点が無限遠にあると仮定した場合、或いは、テクスチャサンプリング法Bを用いてサンプリングを行い、物体を変形させずにBTFをマッピングして、視点が無限遠にあると仮定した場合など、接空間、或いは物体座標系で表した視点方向が、レンダリング時に一定である場合がある。
このような場合、近傍視点重み関数、近傍視点インデックス関数を、キューブテクスチャとしてテクスチャ保持する必要はなく、CPUで参照して、結果をプログラマブルシェーダに渡すだけで良い。
条件:インデックスが1つだけ違う2つの視点サンプリング点v*(iv)とv*(iv+1)は、視点サンプリングメッシュにおいて、常に辺で接続されている。
この場合、視点インデックスとして浮動小数点値を使うことで、視点依存照明応答W*(iv,is,it;k)の視点による補間の一部を、テクスチャ参照フィルタで代用することができる。
この場合、異なる複数の近傍視点におけるBTFサンプルテクスチャにおいて、同一の物理的点に対応する点を、凹凸による視差の効果を加えて計算することができる。これにより、同一の物理的点に対応する点同士が滑らかに移り合うように、テクスチャにモーフィングをかけることで、より精度の高いBTFを得ることができる。
テンプレートマッチングに用いる画素値としては、元のBTFサンプルテクスチャのRGB値や、各画素の光源依存変化サンプル集合を球面調和関数展開したときの係数列や、球面調和関数の係数をPCAで近似したときの重みベクトルなどを利用できる。
このとき、BSSDRF(非特許文献10)などのサブサーフェスモデルを考慮した透過光の強度を計算すれば、より正確なレンダリングが可能である。また、完全な透明物体に関しては、背景にパターンを配置し、その観測パターンを計測すれば、非特許文献11などの手法を用いることで、本発明をそのまま適用することができる。
Claims (8)
- 複数の視点方向からのテクスチャのサンプルを視点に関するインデックス(以後「視点インデックス」)により参照可能な形で格納するメモリ領域と、視点の補間に用いるテクスチャを指す1乃至複数の前記視点インデックスを任意の視点方向に関して参照可能なメモリ領域と、視点の補間に用いる該テクスチャに対する重みを任意の視点方向に関して参照可能なメモリ領域とを有し、与えられた視点方向に対応する前記視点インデックスと前記重みをメモリ参照によって決定する処理と、得られた前記視点インデックスに対応する画素値をメモリ参照によって決定する処理と、得られた前記画素値と前記重みから実際に表示する画素値を視点に関して補間する処理とからなり、任意の視点方向から見た画像の生成を実現することを特徴とし、特に視点の補間に用いるテクスチャを指す視点インデックスと、視点の補間に用いるテクスチャに対する重みをメモリに保持することで、ハードウェアによる支援を容易にすることを特徴とする、実時間レンダリングの方法。
- 複数の視点方向でサンプリングされた、任意の照明方向に対する放射輝度の応答関数(以後「照明応答関数」)のパラメータの集合を、視点に関するインデックス(以後「視点インデックス」)によって参照可能な形で格納する第1メモリ領域と、視点の補間に用いるパラメータ値を指す1または複数の前記視点インデックスを任意の視点方向に関して参照可能な第2メモリ領域と、視点の補間に用いる該パラメータ値に対する重みを任意の視点方向に関して参照可能な第3メモリ領域と、与えられた視点方向に対応する前記視点インデックスと前記重みをメモリ参照によって決定する処理と、得られた前記視点インデックスに対応するパラメータ値をメモリ参照によって決定する処理と、得られた前記パラメータ値と前記重みから、実際の照明応答関数のパラメータを得る処理と、物体の座標系で各方向での照明の強度を表す関数のパラメータを得る処理と、得られた前記照明応答関数と前記照明の強度を表す関数との積分をとって実際に表示する画素値とする処理とからなり、任意の視点方向及び任意の照明方向並びに照明強度における画像の生成を実現することを特徴とする、実時間レンダリングの方法。
- 請求項1に記載の実時間レンダリングの方法において、視点の補間に用いるテクスチャを指す視点インデックスを任意の視点方向に関して参照可能なメモリ領域、及び視点の補間に用いる該テクスチャに対する重みを任意の視点方向に対して参照可能なメモリ領域について、それぞれ各画素に関して4次元以上の値を利用することで、3次元の全方向についてそれらの値の変化を連続にし、値の補間による誤差の発生を抑制したことを特徴とする、実時間レンダリングの方法。
- 請求項2に記載の実時間レンダリングの方法において、視点の補間に用いるテクスチャを指す視点インデックスを任意の視点方向に関して参照可能なメモリ領域、及び視点の補間に用いる該テクスチャに対する重みを任意の視点方向に対して参照可能なメモリ領域について、それぞれ各画素に関して4次元以上の値を利用することで、3次元の全方向についてそれらの値の変化を連続にし、値の補間による誤差の発生を抑制したことを特徴とする、実時間レンダリングの方法。
- 請求項2に記載の実時間レンダリングの方法において、照明環境が照明の方向のみで決まる場合に、各照明方向に関して、その照明強度を表す物体の座標系での関数のパラメータを予め計算しておき、それらのパラメータをメモリ領域に保持することで、実装の効率を高めることを特徴とする、実時間レンダリングの方法。
- 請求項2に記載の実時間レンダリングの方法において、前記第1メモリ領域内の照明応答関数のパラメータを多次元の画素値とする画像と見なして、Image Quiltingの手法により前記画像を拡大することを特徴とする、テクスチャサイズを変換する方法。
- 請求項6に記載のテクスチャサイズを変換する方法において、サイズを変更されたテクスチャの表現形式としてテクスチャ座標を変換する変換テーブルを有し、前記変換テーブルの内容を決定する処理を行うことを特徴とする、テクスチャサイズを変換する方法。
- 請求項2に記載の実時間レンダリングの方法において、サイズの違うテクスチャの間でテクスチャ座標を変換するためのテーブルを入力として加え、レンダリング時にテクスチャ座標の変換を行う処理を有し、任意の視点方向及び任意の照明方向並びに照明強度において、テクスチャサイズを変換して画像の生成を行うことができることを特徴とする、実時間レンダリングの方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/008770 WO2005124691A1 (ja) | 2004-06-16 | 2004-06-16 | 物体表面の反射特性をサンプリングして行う実時間レンダリングの方法及びテクスチャサイズを変換する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005124691A1 JPWO2005124691A1 (ja) | 2008-04-17 |
JP4394122B2 true JP4394122B2 (ja) | 2010-01-06 |
Family
ID=35509930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006514640A Expired - Fee Related JP4394122B2 (ja) | 2004-06-16 | 2004-06-16 | 物体表面の反射特性をサンプリングして行う実時間レンダリングの方法及びテクスチャサイズを変換する方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4394122B2 (ja) |
WO (1) | WO2005124691A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101885090B1 (ko) * | 2010-12-09 | 2018-08-03 | 삼성전자주식회사 | 영상 처리 장치, 조명 처리 장치 및 그 방법 |
JP5926626B2 (ja) * | 2012-06-11 | 2016-05-25 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
JP7404030B2 (ja) * | 2019-10-28 | 2023-12-25 | 国際航業株式会社 | 強調画像モデル作成システム |
CN111240736B (zh) * | 2020-01-17 | 2023-03-10 | 网易(杭州)网络有限公司 | 模型配置的方法、装置、设备及存储介质 |
EP4172945A1 (en) * | 2020-06-29 | 2023-05-03 | BASF Coatings GmbH | Uses of a bi-directional texture function |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6765573B2 (en) * | 2000-10-26 | 2004-07-20 | Square Enix Co., Ltd. | Surface shading using stored texture map based on bidirectional reflectance distribution function |
-
2004
- 2004-06-16 JP JP2006514640A patent/JP4394122B2/ja not_active Expired - Fee Related
- 2004-06-16 WO PCT/JP2004/008770 patent/WO2005124691A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2005124691A1 (ja) | 2008-04-17 |
WO2005124691A1 (ja) | 2005-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Müller et al. | Acquisition, synthesis, and rendering of bidirectional texture functions | |
Chen et al. | Light field mapping: Efficient representation and hardware rendering of surface light fields | |
US6803910B2 (en) | Rendering compressed surface reflectance fields of 3D objects | |
US6888544B2 (en) | Apparatus for and method of rendering 3D objects with parametric texture maps | |
JP3972784B2 (ja) | 画像処理装置およびその方法 | |
Liu et al. | Synthesis and rendering of bidirectional texture functions on arbitrary surfaces | |
US20030001859A1 (en) | Interactive horizon mapping | |
US20030234784A1 (en) | Accelerated visualization of surface light fields | |
Merlo et al. | 3D model visualization enhancements in real-time game engines | |
Ma et al. | Level-of-detail representation of bidirectional texture functions for real-time rendering | |
JP4335589B2 (ja) | 3dオブジェクトをモデル化する方法 | |
US20050083340A1 (en) | Bi-scale radiance transfer | |
Meseth et al. | Reflectance field based real-time, high-quality rendering of bidirectional texture functions | |
JP4394122B2 (ja) | 物体表面の反射特性をサンプリングして行う実時間レンダリングの方法及びテクスチャサイズを変換する方法 | |
Müller et al. | Special relativistic visualization by local ray tracing | |
JP2004252603A (ja) | 三次元データ処理方法 | |
KR101286653B1 (ko) | 복잡한 재질감 정보 처리 장치 및 방법 | |
Mavridis et al. | Global Illumination using Imperfect Volumes. | |
KR100951121B1 (ko) | 간접 조명 효과를 위한 렌더링 방법 | |
Ho et al. | Unicube for dynamic environment mapping | |
Schneider | Real-time BTF rendering | |
Vanhoey et al. | Simplification of meshes with digitized radiance | |
Rushmeier | 3D capture for computer graphics | |
Vyatkin et al. | Combined method of visualization of functionally defined surfaces and three-dimensional textures | |
Löw et al. | HDR light probe sequence resampling for realtime incident light field rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090805 |
|
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: 20090929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091014 |
|
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: 20121023 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131023 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |