(57)【要約】  【課題】  人間の肌、蝋、大理石他、表面下散乱を有する材質の物体のリアルタイム・レンダリングを提供する。  【解決手段】  メモリ（１０２）から物体の多角形メッシュのそれぞれの頂点について、曲率指標を読み込み、または、物体の多角形メッシュのそれぞれの頂点について、曲率指標を計算し、ラスタライズ処理中、多角形の曲率指標を補間する。ここで、「曲率指標」は最大主曲率方向単位ベクトルｔ1と、二つのパラメータＫとＭであり、Ｋは主曲率の二乗の合計の半数値であり、Ｍは主曲率の二乗の差異の半数値であり、前記多角形の曲率指標を補間する工程は、多角形のプリミティブである三角形を線形補間することで実施される。  【選択図】  図１
2008250577.tif 000002
【特許請求の範囲】
【請求項１】
メモリから物体の多角形メッシュのそれぞれの頂点について、曲率指標を読み込むか、または、物体の多角形メッシュのそれぞれの頂点について、曲率指標を計算する工程と、
ラスタライズ処理中に、多角形の曲率指標を補間する工程と、
を含む、三次元コンピュータ・グラフィックスのための三次元物体のレンダリング方法。
【請求項２】
前記曲率指標が、最大主曲率方向単位ベクトルｔ1と、二つのパラメータＫとＭであり、Ｋは主曲率の二乗の合計の半数値であり、Ｍは主曲率の二乗の差異の半数値である、請求項１に記載の方法。
【請求項３】
多角形のプリミティブである三角形を線形補間することで、前記多角形の曲率指標を補間する工程を実施する請求項１に記載の方法。
【請求項４】
曲率指標を含む頂点毎の物体データを保存するためのメモリと、
前記曲率指標を含む頂点毎の物体データを処理するための頂点プロセッサと、
多角形において、頂点毎のデータを線形補間することで、曲率指標、法線、光ベクトル及び視線ベクトルを含む頂点毎のデータをラスタライズするためのライスタライザーと、
を有する、三次元コンピュータ・グラフィックスのためのシステム。
【請求項５】
前記曲率指標が最大主曲率方向単位ベクトルｔ1と、二つのパラメータＫとＭであり、Ｋは主曲率の二乗の合計の半数値であり、Ｍは主曲率の二乗の差異の半数値である、請求項４に記載のシステム。
【請求項６】
前記「多角形における曲率指標の補間」は、多角形のプリミティブである三角形の線形補間によって実行される請求項４に記載のシステム。
【請求項７】
補間された曲率指標を用いて、ピクセル毎のシェイディングを計算し、画像のピクセル毎の色データを求めるピクセル・シェイダーと、画像のピクセル毎の色データをディスプレイに転送するまでの間保存するためのフレーム・バッファーと、をさらに有する、請求項４に記載のシステム。
【請求項８】
三次元物体の実時間レンダリングのための集積回路として実現される、請求項４に記載のシステム。
【請求項９】
請求項８の集積回路を搭載したグラフィックス・カード。
【請求項１０】
請求項９のグラフィックス・カードを搭載したビデオ・ゲーム機、パーソナル・コンピュータ、または手のひらサイズの機器。
【請求項１１】
（ａ）それぞれの光源の入射角θのコサインを、法線及び光源に向かう単位ベクトルである光ベクトルωのドット積として計算する工程と、
（ｂ）接平面におけるωの射影と最大主要曲率方向との間の角である角φのコサインを、接平面における光ベクトルωの射影と最大主要曲率方向単位ベクトルｔ1のドット積を用いて計算する工程と、
（ｃ）ｃｏｓθ，ｃｏｓφ及び補間された曲率指標ＫとＭを用いて、シェイディング関数の値を計算する工程と、
（ｄ）シェイディング関数の値と光強度を乗算する工程と、
（ｅ）上記工程（ａ）から（ｄ）を、それぞれの光源について繰り返し、結果を合計する工程と、
（ｆ）法線と視線ベクトルθ’の間の角のコサインを、前記二つのベクトルのドット積として計算する工程と、
（ｇ）ｃｏｓθ’を用いて、メモリからフレネル透過関数を選択し、ｃｏｓθ’を用いて、フレネル透過関数の値Ｆｔ（ｃｏｓθ’）を計算する工程と、
（ｈ）Ｆｔ（ｃｏｓθ’）と工程（ｅ）の合計を乗算する工程と、
を含む、三次元コンピュータ・グラフィックスのための物体の放射輝度値の算出方法。
【請求項１２】
前記「補間された曲率指標」を、
メモリから物体の多角形メッシュのそれぞれの頂点において曲率指標を読み込む、または、物体の多角形メッシュのそれぞれの頂点において曲率指標を算出する工程と、
ラスタライズ中、多角形における曲率指標を補間する工程と、
によって算出する請求項１１に記載の方法。
【請求項１３】
前記「曲率指標」が、最大曲率主要方向単位ベクトルｔ1と主要曲率を含む、請求項１１の方法。
【請求項１４】
シェイディング関数がＬＵＴ（ルックアップ・テーブル）としてメモリに保存され、シェイディング関数の値が前記ＬＵＴのエントリである、請求項１１に記載の方法。
【請求項１５】
フレネル透過関数が第二のＬＵＴ（ルックアップ・テーブル）としてメモリに保存され、フレネル透過関数値が前記第二のＬＵＴのエントリである、請求項１１に記載の方法。
【請求項１６】
（ａ）それぞれの光源の入射角θのコサインを、法線及び光源に向かう単位ベクトルである光ベクトルωのドット積として計算する工程と、
（ｂ）ｃｏｓθを用いて、メモリからシェイディング関数を選択し、ｃｏｓθと物体のサイズ「ｓ」を用いて、シェイディング関数値を算出する工程と、
（ｃ）シェイディング関数値と光強度を乗算する工程と、
（ｄ）上記工程（ａ）から（ｃ）の工程をそれぞれの光源において繰り返し、結果を合計する工程と、
（ｅ）法線と視線ベクトルθ’の間の角のコサインを、前記二つのベクトルのドット積として計算する工程と、
（ｆ）ｃｏｓθ’を用いて、メモリからフレネル透過関数を選択し、ｃｏｓθ’を用いて、フレネル透過関数値Ｆｔ（ｃｏｓθ’）を計算する工程と、
（ｇ）Ｆｔ（ｃｏｓθ’）と工程（ｄ）の合計を乗算する工程と、
を含む、三次元コンピュータ・グラフィックスのための物体の放射輝度値の算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型三次元コンピュータ・グラフィックスに関する。すなわち、本発明は、半透明の材質を有する三次元オブジェクト（すなわち、光がかなりの量のサブサーフェイス・スキャタリング（表面下散乱）を起こし透過する物体。）のリアルタイム画像レンダリングに関する。
【背景技術】
【０００２】
コンピュータは、三次元（３Ｄ）場面からの二次元（２Ｄ）イメージ生成（この過程はしばしば「レンダリング」と呼ばれる。）により広く利用されるようになった。レンダリングが一秒に数十個のイメージ（フレーム）の速度で実行される場合、「リアルタイム・レンダリング」と呼ぶことができる。このようなレンダリングは、大抵、専門的なグラフィックス・ハードウェアによってサポートされる。近年では、携帯電話やパーソナル・デジタル・アシスタント（ＰＤＡ）のような手のひらサイズの機器も、リアルタイム・レンダリングを実行することができるようになってきた。
【０００３】
人間の肌、大理石、蝋燭、チーズ、果物などの半透明の材質の外観を得ようとすると、コンピュータ・グラフィックスには問題となる。なぜなら、上記半透明の材質はかなりの量のサブサーフェイス・ライト・スキャタリングを有しているからである。そのような外観は、ランバーチン（Lambertian）やフォン（Phong）モデル等のシェイディング・モデルのような伝統的な方法では模造しにくい。上記半透明の材質に、規則的な双方向性反射率分布関数（ＢＲＤＦ）を利用したレンダリング方法を使用しても、本物のようには見えない。ＢＲＤＦの方法は、光が入射したまさにその箇所から反射することになっているからである。サブサーフェイス・スキャタリングは、光を、有効な光の散乱範囲ｌｄによって特定される距離だけ入射ポイントからそらして伝播させる。
【０００４】
人間の肌のような半透明の材質に対する光の反射を説明する最適な方法の一つはは、双方向散乱面反射率分布関数（ＢＳＳＲＤＦ：Bidirectinal Surface Scattering Distribution Function）である。双極子源ＢＳＳＲＦモデルは、H. Jensen他の論文（Jensen H. W., Marschner S. R., Levoy M., Hanrahan P., “A Practical Model
for  Subsurface
Light Transport, Proceedings of SIGGRAPH 2001,” ACM Press, pp. 511-518）において提言されている。このモデルを使用することによって、ＢＳＳＲＦのための簡単な公式が導かれる。しかしながら、ＢＳＳＲＦを積分するにあたって、モンテカルロ法に基づいた、時間的にもメモリの面でも非常に高価なアプローチをしている。Jensen及びBuhlerによる（Jensen
H. W., Buhler J., “A Rapid Hierarchical Rendering Technique for Translucent
Materials,” Proceedings of SIGGRAPH 2002, ACM Press, pp. 576-581）は、放射輝度（ラジアンス）に対する単一散乱事象の貢献は、多重散乱事象よりかなり少ないことを示している。半透明の材質のモデル化のための階層性拡散作用近似値を使用することで、速度は増したが、依然として、複雑な照明環境では時間がかかる。
【０００５】
Sloan他（P. Sloan, J. Hall, J. Hart, and J. Snyder, Clustered principal
components for pre-computed radiance transfer, Proceedings of SIGGRAPH, ACM
Transactions on Graphics, 22（３）, July 2003, pp. 382-391）は、事前計算済み放射輝度伝播（pre-computed radiance transfer）に、JensenとBuhlerの階層性拡散方法を組み込んだ（P. Sloan, J. Kautz and  J. Snyder, Pre-computed Radiance Transfer for Real-Time Rendering in
Dynamic, Low-Frequency Lighting Environments, SIGGRAPH 2002, 527-536）。照明はインタラクティブに変化させることができ、物体に任意の動きを持たせることも可能だが、階層的散乱方法によるサブサーフェイス・スキャタリング項の計算を含む放射輝度伝播ベクトルの事前計算は、長時間を必要とする。事前計算は、いかなる形状についても実行する必要があり、従って、物体をインタラクティブに変形することはできない。
【０００６】
Hao他（X. Hao, T. Baby and A. Varshney, Interactive Subsurface Scattering
for Translucent Meshes ACM Symposium on Interactive 3D Graphics 2003, pp. 75−82）は、ＢＳＳＲＤＦにかかる時間を短縮した。サブサーフェイス・スキャタリングは、全域に影響するものであるが、指数関数的減少のため、概して局所的であることを指摘した。従って、局所的照度モデルを修正することで、サブサーフェイス・スキャタリングに類似させることが可能であり、それによって、インタラクティブにサブサーフェイス・スキャタリング・レンダリングを行なうという目的に近づくことができるはずである。ハオ（Hao）らは、ＢＳＳＲＤＦの中心部分の計算−すなわち、表面下拡散（彼らの式におけるｑとＱを参照）から、レンダリング操作を分離することで、上記目的達成に一歩近づいた。比較的単純な物体に関しては、彼らのレンダリングはインタラクティブとなる。しかしながら、光源は指向性であり（しかし、方向は変化しうる）、メッシュ（幾何学的）は固定していると仮定している。すなわち、全体として、全物体の回転と平行移動のみが可能である（このような回転は、光源方向の回転と同等であるからである。）。
【０００７】
【非特許文献１】Jensen H. W.,Marschner S. R., Levoy M., Hanrahan P., “A Practical Model for Subsurface LightTransport, Proceedings of SIGGRAPH 2001,” ACM Press, pp. 511-518.
【非特許文献２】Jensen H.W., Buhler J., “A Rapid Hierarchical Rendering Technique for TranslucentMaterials,
【非特許文献３】Proceedingsof SIGGRAPH 2002,” ACM Press, pp. 576-581.
【非特許文献４】Schey H.M., Div, Grad, Curl, and All That：An Informal Text on VectorCalculus, Norton W. W. and Company, Inc., 1996.
【非特許文献５】X. Hao, T.Baby and A. Varshney, Interactive Subsurface Scattering for Translucent MeshesACM Symposium on Interactive 3D Graphics 2003, pp. 75 &#8211; 82.
【非特許文献６】T. Mertens,Efficient Rendering of Local Subsurface Scattering, COMPUTER GRAPHICS forum, 24（2005）, number 1, pp. 41&#8211;49.
【非特許文献７】C. Schlick, An inexpensive BRDF modelfor physically-based rendering, Proceeding of the International ConferenceEurograhics ’94, 13（３）, 1994, 233-234.
【非特許文献８】P. Sloan,J. Kautz and J. Snyder, Precomputed Radiance Transfer for Real-Time Renderingin Dynamic, Low-Frequency Lighting Environments, SIGGRAPH 2002, 527-536.
【非特許文献９】P. Sloan,J. Hall, J. Hart, and J. Snyder, Clustered principal components for precomputedradiance transfer, Proceedings of SIGGRAPH, ACM Transactions on Graphics, 22（３）,July 2003, pp. 382-391.   上記開示文献は、すべてここに参照することによって組み込まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
双極子源ＢＳＳＲＤＦモデル（Jensen
H.W.,  Marschner S. R., Levoy M., Hanrahan P., “A
Practical Model for Subsurface Light Transport, Proceedings of SIGGRAPH 2001,”
ACM Press, pp. 511-518参照）は、静的なフォトリアリスティック・イメージやアニメーションに対してはうまく利用されている。上記モデルに基づいたレンダリング・システムは、映画制作に使用されている。上記モデルによると、ＢＳＳＲＤＦは、入射輝度Ｌｉに対し、点ｘｏからωｏの方向へ発射する放射輝度Ｌｏを以下のように関連づけている。
【０００９】
【数１】
2008250577.tif 000003
【００１０】
上記式において、ＮｉとＮｏは入射点ｘｉと現在位置ｘｏにおいて、それぞれ表面に対する法線である。ωｉは入射方向であり、Ｓは点ｘｏ周辺の物体表面を意味し、Ω＋(ｘｉ)はそのような方向ωｉの集合（Ｎｉ・ωｉ>0）であり、Ｆｔはフレネル透過率、Ｒｄは拡散性サブサーフェイス・スキャタリング反射である（これに関する双極子の表現は、例えば、Jensen H.  W.,
Marschner S. R., Levoy M., Hanrahan P., “A Practical Model for Subsurface Light
Transport, Proceedings of SIGGRAPH 2001,” ACM Press, pp. 511-518 に記述されているが、表面曲率を考慮したものを含む他の公式も使用可能である）。ドット積Ｎ0ω0は法線Ｎｏと視線方向ωｏとの間の角度のコサインである。ハードウェアにおいて、シュリック近似値（C.Schlick,
An inexpensive BRDF model for physically-based rendering, Proceeding of the
International Conference Eurograhics ’94, 13(3), 1994, 233-234参照）のフレネル反射への利用が有効であり、シュリック近似値がコサインを使用するため、フレネル透過率Ｆｔを、角度の関数よりむしろ、コサインの関数として考える。
【００１１】
リアルタイムで物体を変形させたり、光を変化させるため、サブサーフェイス・スキャタリング行なうには、リアルタイムで上記積分を計算することが必要であり、これは、現在のハードウェア（すなわち、ＰＣやコンソール型ゲーム）では、現実的ではない。
【課題を解決するための手段】
【００１２】
本発明は、上記積分を事前に計算可能な関数まで減らし、ひとつ又は数個の二次元検索一覧表として保存することによって、上記問題を解決する。
【００１３】
拡散サブサーフェイス・スキャタリング反射Ｒｄ（ｘｉ,ｘｏ）は、有効な光の散乱範囲ｌｄだけ離れた位置で、大幅に減少する。我々の数的実験結果によると、表面積分定義域は、明らかな精度の低下なしにｌｄの長さの10倍のサイズまで減らすことが可能である。このサイズは、光源までの距離よりずっと小さいと考える。これにより、事前計算済み放射輝度伝播方法（the  paper P. Sloan, J. Kautz and J. Snyder, 2002. Pre-computed Radiance
Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting
Environments, SIGGRAPH 2002, 527-536参照）と同じように、Ｌｉを、表面点から見える放射輝度よりむしろ離れた光または環境から、対象に向かってくる放射輝度と解釈することができる。そして、積分式（１）のＬｉを積Ｌｉ（ｘｉ，ωｉ）Ｖ（ｘｉ，ωｉ）で置き換えることができる。ここでＶ（ｘｉ，ωｉ）は、表面または値１の周囲の部分（「周囲」とは、ｌｄの数倍の距離内、すなわち、上記積分定義域内によって、点ｘｉがωｉの方向に隠れた場合値０を取り、それ以外の場合は値１を取る可視感度関数である。
【００１４】
積分定義域が、半球 Ω＋（ｘｉ）から球Ωに変化できるよう、式（１）における Ｎｉ・ωｉを関数Ｈ（ｘｉ，ωｉ）＝ｍａｘ（Ｎｉ・ωｉ，0）ωｉに置き換える。ここで、以下を導くために、積分式の順を変えることができる（表面の積分式は、事象の方向の積分式より前にくる）。
【００１５】
【数２】
2008250577.tif 000004
【００１６】
式（２）の前後にある関数Ｖ（ｘｉ，ωｉ）と（ｘｉ，ωｉ）におけるｘｉとωｉには、「入射」を意味する下付き文字“ｉ”が付いている。Ｈ（ｘｉ，ωｉ）をＮｉ・ωｉに置き換え、ｘｉ積分定義域の的確な変換のあと、以下が導かれる。
【００１７】
【数３】
2008250577.tif 000005
【００１８】
上記式において、Ｓ＋（ωｉ）は、Ｎｉ・ωｉ>0である表面部分となる。
【００１９】
物体の表面は、局部的に滑らかな曲線の関数で表されるものとする（もしそうでなければ、何らかの許容可能な精度の範囲の表現で近似するものとする。）。ｘｏが原点（0，0，0）となり、平面（ｘ1，ｘ2）は、（0，0，0）において、物体表面に接する空間座標のアフィン変換を行なう。この時、外向きの放射輝度は、次の式で表される。
【００２０】
【数４】
2008250577.tif 000006
【００２１】
ここでは、簡潔にするため、ｘｏ=（0，0，0）と、ｘｉ＝（ｘ1，ｘ2，ｘ3）、ωｉ、及びＮｉにおける下付き文字“ｉ”を省略した。また、ηに対するＦｔの従属関係も以下明記しない。
【００２２】
前記のとおり、表面積分ドメインは、ｌｄの数倍の大きさを持つと考えられる。式ｘ3=ｆ（ｘ1，ｘ2）で表される物体表面は、以下を意味すると考える。
【００２３】
【数５】
2008250577.tif 000007
【００２４】
以下の二つの式より、（詳しくは、Schey H. M., Div,  Grad,
Curl, and All That：An Informal Text on Vector Calculus,
Norton W. W. and Company, Inc., 1996を参照）
【００２５】
【数６】
2008250577.tif 000008
【００２６】
と
【００２７】
【数７】
2008250577.tif 000009
【００２８】
から、次のような放射輝度の公式が導かれる。
【００２９】
【数８】
2008250577.tif 000010
【００３０】
ここで、ω1，ω2，ω3はωの構成要素であって、ｔ1，ｔ2がｘ1，ｘ2の方向に向かう単一ベクトルであるときω1=ｔ1・ω，ω2=ｔ2・ω，ω3=Ｎｏ・ωとなるものである。ここで、積分ドメインＳ＋（ω）は、以下のように表される範囲として説明できる。
【００３１】
【数９】
2008250577.tif 000011
【００３２】
点（0，0，0）において、平面（ｘ1，ｘ2）は物体表面に対して正接となるので、ｆ（ｘ1，ｘ2）におけるテイラーの級数展開は二次項から始まる。ｔ1とｔ2 が主要曲率方向の単一ベクトルとなるよう、上記方向に向かってｘ1及びｘ2軸を取ると、以下のような局所表面の表現が得られる。
【００３３】
【数１０】
2008250577.tif 000012
【００３４】
ここで、ｋ1，ｋ2は主要曲率であり、ｋ1>ｋ2と推測する。式（５）はｘ1，ｘ2において二次精度となるが、さらなるテイラーの展開が以下のように考慮されうる。
【００３５】
長さｌｄは多くの場合、レンダリングされる物体の寸法に比べて小さい。例えば、人間の肌（細胞）の長さｌｄは、数ミリメートル以上であることはない。従ってｌｄは、曲率半径のような物体の特性寸法より小さいとする。言い換えれば、各点における曲率半径ｋ1−1と ｋ2−1は、有効な光放射範囲ｌｄよりかなり大きいということである。これは以下のとおり表される。
【００３６】
【数１１】
2008250577.tif 000013
【００３７】
さらに、光源への距離はｌｄよりかなり大きいと考える。従って、数個のｌｄ の大きさである積分ドメインにおけるＬｉの変動は無視し、点ｘｏにおけるＬｉ（ｘ，ω）の値でＬｉ（ｘ，ω）を置き換える。下記のとおり、Ｌｉ（ｘ0，ω）をＬｉ（ω）と指定する。小さなパラメーターｋ1ｌｄ，ｋ2ｌｄおける一次精度の放射輝度は、以下のように表される。
【００３８】
【数１２】
2008250577.tif 000014
【００３９】
Ｓ＋（ω）は、ここではω３−ω１ｋ１ｘ１−ω２ｋ2ｘ2＞０であることを条件として定義される。
【００４０】
可視感度関数Ｖ（ｘ１，ｘ２,ω）を計算するために、点（ｘ１，ｘ２，ｘ３）から ω,（ｘ1＋ω１ｔ，ｘ２＋ω２ｔ，ｘ３＋ω３ｔ）の方向へ向かう光線の式を求める。この時、正のｔの位置で表面と交わることから、点（ｘ1，ｘ2，ｘ３）は影になることを意味する。このようにして、可視感度関数は、ｋ1ω12＋ｋ2ω22＞0である時０となり（ω３−ω１ｋ１ｘ１−ω２ｋ２ｘ２＞０であることを考慮して）、逆の場合、１に等しくなる。よって、表面が凸状の場合（ｋ１とｋ２は負）、影にはならない。可視感度関数Ｖ（ｘ１，ｘ２，ω）は、どこでも、どのωに対しても１に等しくなり、上記式の積分では省略することができる。表面が凸状ではない場合（ｋ1か,ｋ2のいずれか一方または両方が正）、ｋ1ω12＋ｋ2ω22＞0によって定義されるすべてのωの方向（ｋ1，ｋ2共に正の場合）或いはいくつかのωの方向（ｋ1＞０＞ｋ2の場合）からは、表面は全く光が当たらない。これは現実的ではない。実際には、表面のごく一部のみが式（５）によって表されるからである。実験により、現実的な打開策は、Ｌｏ（ωｏ）の上記式において、正の曲率（ｋ1もしくはｋ2或いは両方の内、正となったもの）を０に置き換えることだと判明した。よって、自己遮蔽効果を概算することができ、積分から可視感度関数を除くことが可能になる。従って、以降可視感度関数Ｖ（ｘ1，ｘ2，ω）を省略し、ｋ1とｋ2がそれぞれｍｉｎ（ｋ1，０）、ｍｉｎ（ｋ2，０）に置き換えられるとする。角αにおいて、以下のように座標系を回転させることによって、
【００４１】
【数１３】
2008250577.tif 000015
【００４２】
以下が求められる。
【００４３】
【数１４】
2008250577.tif 000016
【００４４】
ｘ1，ｘ2 以上である接平面の積分は、前もって算定できる。Ｉ（ａ,ｂ）を以下のように定義すると、
【００４５】
【数１５】
2008250577.tif 000017
【００４６】
放射輝度の式は、以下のように単純化される。
【００４７】
【数１６】
2008250577.tif 000018
【００４８】
ここで、法線Ｎｏと視線方向ωｏの間の角をθ’を導入したが、ｃｏｓθ’=Ｎｏ・ωｏである。
【００４９】
オープンＧＬのようなグラフィカル・アプリケーション・プログラミング・インターフェイス（ＡＰＩｓ）によって定義された、点・方向・円錐状などの複数の光源から照明される場合を考える。以下のように、ωの積分は光源の合計となる。
【００５０】
【数１７】
2008250577.tif 000019
【００５１】
ここで、Ｌｊはｊ番目の光源の明るさとなる（点または円錐状の光源の場合は、減衰の要因も含む）。
【００５２】
【数１８】
2008250577.tif 000020
【００５３】
加えて、ｊ番目の光源が入射角θｊとなるよう、それぞれの光源の入射角θ=ｃｏｓ−1（ω3）=ｃｏｓ−1（Ｎｏ・ω）を導入する。ω1=ｓｉｎθ・ｃｏｓφ，ω2=ｓｉｎθ・ｓｉｎφ，ω3=ｃｏｓθとなるよう、角φは、接面におけるωの射影と主要方向ｔ1との間の角度を測ることによって求められる。
【００５４】
Ｒｄ をJensen H. W., Marschner S. R., Levoy M., Hanrahan  P.著による文献“A Practical Model for Subsurface Light Transport,
Proceedings of SIGGRAPH 2001,” ACM Press, pp. 511-518の表現に置き換えれば、限界値ｋ1, ｋ2 → 0（平面）において、次の式が得られる。
【００５５】
【数１９】
2008250577.tif 000021
【００５６】
ここで、Ｒは Jensen H. W.,  Marschner S. R., Levoy
M., Hanrahan P., “A Practical Model for Subsurface Light Transport, Proceedings
of SIGGRAPH 2001,” ACM Press, pp. 511-518のセクション2.4の公式によって導かれる。
【００５７】
ピクセル毎の放射輝度を計算するには、まず、それぞれの頂点毎にＫとＭのパラメーターを求める。これは、中央記憶装置（ＣＰＵ）か、頂点プロセッサ１０１（図１参照）のオンチップのどちらかで行うことができる。レンダリング中、ＫとＭを、法線や光ベクトルや視線ベクトルといったその他の必要なパラメータと共に、多角形（三角形）内で補間し、式（８）を採用して、これらをピクセル毎のシェイディングに使用する。関数Ｉは、先に計算しておき、二次元の参照表として保存しておくことが可能である。
【００５８】
照明が、連続的な遠距離の環境（たとえば、高度なダイナミック・レンジ画像を使った環境地図によって模擬実験を行った場合など）によって作られた場合、下記のように球状調和基軸Ｓｉにおいて以下のように表すことができる。
【００５９】
【数２０】
2008250577.tif 000022
【００６０】
この式において、式（６）で表される積分は、ドット積になる。
【００６１】
【数２１】
2008250577.tif 000023
【００６２】
極座標システムθ，φにおける積分に書き換えることで、
【００６３】
【数２２】
2008250577.tif 000024
【００６４】
が導かれる。ここで、
【００６５】
【数２３】
2008250577.tif 000025
【００６６】
である。Ｎは、放射輝度の計算に必要である、事前計算した関数ｇｉ（Ｋ，Ｍ）の数である。
【００６７】
別々の光源の集合の場合と同様に、それぞれの頂点におけるＫとＭのパラメータを計算する。そして、ＫとＭを、法線や視線ベクトルといったその他の必要なパラメータと共に、多角形（三角形）内で補間し、式（１０）を採用して、これらをピクセル毎のシェイディングに利用する。関数ｇｉ（Ｋ，Ｍ）は、物体の形に左右されず、（Ｒｄ関数を介して）材質の特性に依存する。関数ｇｉ（Ｋ，Ｍ）は、事前計算しておき、二次元の参照表として保存しておくことが可能である。
【００６８】
本発明の方法は、より高次の表面導関数として一般化することができる。たとえば、関数ｆ（ｘ1，ｘ2）にテイラー級数の第三項を追加し、下記のように表面を表すことができる。
【００６９】
【数２４】
2008250577.tif 000026
【００７０】
そして、上記論理は繰り返され、式（７）、（１０）に類似した表現へと導かれるが、対応する関数は、2つではなく6つの引数を持つ。
【００７１】
可能性があるもうひとつの一般化方法として、我々の論理は概算であり、従って、許容されうる表面の概算はいずれも式（３）において、ｆ（ｘ1，ｘ2）として使用することができる。楕円に近い形の物体（たとえば、葡萄など）をレンダリングしたいとする。この場合、物体メッシュのそれぞれの頂点において、主要曲率と方向を算出し、頂点で同じ主要曲率と方向を持った楕円形の表面に合わせる。式（４）における積分は、二つの表面に関して計算しなければならない。すなわち、楕円の上半分と下半分である。より一般的に言うと、式（４）の積分に、もうひとつ表面（問題の頂点の対面の物体表面）を追加することができる。こうすることによって、物体が裏側から照らされている場合であっても、ゼロ以外の放射輝度を求めることができる。これは、物体のその部分が薄い（ｌｄのオーダーの薄さ）の場合、必要になる。
【００７２】
本発明の第一の態様は、メモリから物体の多角形メッシュのそれぞれの頂点について、曲率指標を読み込む、または、物体の多角形メッシュのそれぞれの頂点について、曲率指標を計算する工程と、ラスタライズ処理中、多角形の曲率指標を補間する工程と、を有する、三次元コンピュータ・グラフィックスのための三次元物体のレンダリング方法に関する。
【００７３】
ラスタライズに曲率指標を使用することで、本発明はリアルタイム・レンダリングを可能にする。
【００７４】
第一の態様の好ましい実施形態は、「曲率指標」が最大主要曲率方向単位ベクトルｔ1と、二つのパラメータであるＫとＭであり、Ｋは主要曲率の二乗の合計の半分Ｋ=（ｋ12＋ｋ22）／２、Ｍは主要曲率の二乗の差の半分Ｍ=（ｋ12−ｋ22）／２である、上記に基づく方法である。
【００７５】
上記のように、ＫとＭを補間することが望ましい。でなければ、ＫとＭをそれぞれ各点のｋ1とｋ2から算出しなければならなくなる。したがって、ＫとＭを使用した「曲率指標」はレンダリング作業を加速させる。さらに、本発明は、ＫとＭの代わりに物体に対して常に一定であるパラメータを使用して計算することができる（式（１１）の「ｓ」参照）。「パラメータＫとＭ」は「曲率指標」の例である。これは、光ベクトル、視線ベクトル、または法線などの基本的なベクトルのドット積のような標準的な方法によって算出される。
【００７６】
第一の態様の好ましい実施形態は、多角形のプリミティブである三角形を線形補間することで、前記多角形の曲率指標を補間する工程が実施できる、上記に基づく方法である。
【００７７】
本発明の第二の態様は、曲率指標を含む頂点毎の物体データを保存するメモリと、曲率指標を含む頂点毎の物体データを処理する頂点プロセッサーと、多角形の頂点毎のデータを線形補間することで、曲率指標、法線、光ベクトル、視線ベクトルを含む頂点毎のデータをラスタライズするラスタライザーと、を有する、三次元コンピュータ・グラフィックスのためのシステムに関する。
【００７８】
ラスタライズに曲率指標を使用することで、本発明はリアルタイム・レンダリングを可能にする。
【００７９】
第二の態様の好ましい実施形態は、「曲率指標」が最大主要曲率方向単位ベクトルｔ1と、二つのパラメータであるＫとＭであり、Ｋは主要曲率二乗の合計の半分Ｋ=（ｋ12＋ｋ22）／２であり、Ｍは主要曲率の二乗の差の半分Ｍ=（ｋ12−ｋ22）／２）である、上記に基づくシステムである。
【００８０】
第二の態様の好ましい実施形態は、多角形のプリミティブである三角形を線形補間することで、前記多角形の曲率指標を補間する工程が実施できる、上記に基づく方法である。
【００８１】
第二の態様の好ましい実施形態は、補間された曲率指標を用いて、ピクセル毎のシェイディングを計算し、画像のピクセル毎の色データを求めるピクセル・シェイダーと、画像のピクセル毎の色データをディスプレイに転送するまでの間保存するためのフレーム・バッファーと、をさらに有する、上記に基づくシステムである。
【００８２】
第二の態様の好ましい実施形態は、システムが、三次元物体のリアルタイム・レンダリングのための集積回路として実現される、上記に基づくシステムである。第二の態様の好ましい実施形態は、上記の集積回路を搭載したグラフィックス・カードである。
【００８３】
第二の態様の好ましい実施形態は、上記の集積回路を搭載したビデオ・ゲーム機、パーソナル・コンピュータ、または手のひらサイズの機器である。
【００８４】
本発明の第三の態様の好ましい実施形態は、
（ａ）それぞれの光源の入射角θのコサインを、法線及び光源に向かう単位ベクトルである光ベクトルωのドット積として計算する工程と、
（ｂ）接平面におけるωの射影と最大主要曲率方向との間の角である角φのコサインを、接平面における光ベクトルωの射影と最大曲率主要方向単位ベクトルｔ1のドット積を用いて計算する工程と、
（ｃ）ｃｏｓθ，ｃｏｓφ及び補間された曲率指標ＫとＭを用いて、シェイディング関数の値を計算する工程と、
（ｄ）シェイディング関数の値と光強度を乗算する工程と、
（ｅ）上記工程（ａ）から（ｄ）を、それぞれの光源について繰り返し、結果を合計する工程と、
（ｆ）法線と視線ベクトルθ’の間の角のコサインを、両ベクトルのドット積として計算する工程と、
（ｇ）ｃｏｓθ’を用いて、メモリからフレネル透過関数を選択し、ｃｏｓθ’を用いてフレネル透過関数の値Ｆｔ（ｃｏｓθ’）を計算する工程と、
（ｈ）Ｆｔ（ｃｏｓθ’）と工程（ｅ）の合計を乗算する工程と、
を有する、三次元コンピュータ・グラフィックスのための物体の放射輝度値を算出する方法に関する。
【００８５】
第三の態様の好ましい実施形態は、「補間された曲率指標」を、メモリから物体の多角形メッシュのそれぞれの頂点において曲率指標を読み込む、または、物体の多角形メッシュのそれぞれの頂点において曲率指標を算出する工程と、ラスタライズ中に、多角形における曲率指標を補間する工程と、によって算出する上記に基づく方法である。
【００８６】
第三の態様の好ましい実施形態は、「曲率指標」が最大主要曲率方向単位ベクトルｔ1と主曲率を含む、上記に基づく方法である。
【００８７】
第三の態様の好ましい実施形態は、シェイディング関数がＬＵＴ（ルックアップテーブル）としてメモリに保存され、シェイディング関数の値がＬＵＴのエントリである、上記に基づく方法である。
【００８８】
第三の態様の好ましい実施形態は、フレネル透過関数が第二のＬＵＴ（ルックアップテーブル）としてメモリに保存され、フレネル透過関数の値が第二ＬＵＴのエントリである、上記方法に基づいた方法。
【００８９】
本発明の第四の態様は、
（ａ）それぞれの光源の入射角θのコサインを、法線と光源に向かっている単位ベクトルである光ベクトルωのドット積として計算する工程と、
（ｂ）ｃｏｓθを用いて、メモリからシェイディング関数を選択し、ｃｏｓθと物体のサイズ「ｓ」を用いて、シェイディング関数値を計算する工程と、
（ｃ）シェイディング関数の値と光強度を乗算する工程と、
（ｄ）上記工程（ａ）から（ｃ）をそれぞれの光源について繰り返し、結果を合計する工程と、
（ｅ）法線と視線ベクトルの間の角θ’のコサインを、両ベクトルのドット積として計算する工程と、
（ｆ）ｃｏｓθ’を用いて、メモリからフレネルの透過関数を選択し、ｃｏｓθ’を用いて、フレネル透過関数値Ｆｔ（ｃｏｓθ’）を計算する工程と、
（ｇ）Ｆｔ（ｃｏｓθ’）と工程（ｄ）の合計を乗算する工程と、
を有する、三次元コンピュータ・グラフィックスのための物体の放射輝度値の計算方法に関する。
【００９０】
単純なパラメータ「ｓ」を使用することで、システムは容易に実行され、より速いレンダリングが可能になる。
【発明を実施するための最良の形態】
【００９１】
本発明は、人間の肌、蝋、大理石他、サブサーフェイス・スキャタリングを有する材質の物体のオンチップ・レンダリングを目的としている。このため、本発明は、解析方法において、主曲率や主方向を使った描写のような、物体表面の局所表現を使用する。高次表面微分や他の局所表面表現も可能である。これらすべての場合に共通して見られる点は、物体表面は、一組のパラメータによって特定される解析的局所表現を持っている。このパラメータを「曲率指標」と呼び、主曲率と主方向を使った場合を、本発明の主要な実施形態とする。
【００９２】
曲率指標は、中央演算処理装置（ＣＰＵ）、または頂点プロセッサ１０１によって計算することができる。発明の最良の形態としては、（ゲームの動くキャラクターのように）物体が形を変えることがあるので、曲率指標はＣＰＵによって計算される。
【００９３】
図１にあるように、典型的な実施例として、本発明を実施するシステムは、以下のモジュールによって構成される。
シェイディング関数（すなわち、「課題を解決する手段」で説明したＩ（ａ,ｂ））のルックアップ・テーブルと曲率指標、法線、光ベクトル、視線ベクトルを含む頂点毎の物体データとを保存しておくためのメモリ１０２、
曲率指標を含む頂点毎の物体データを処理するための、頂点プロセッサ１０１、
曲率指標、法線、光ベクトル、視線ベクトルを含む頂点毎のデータをラスタライズするためのラスタライザー１０５、
補間された曲率指標、法線、光ベクトル、視線ベクトルを用いて、ピクセル毎のシェイディングを計算するためのピクセル・シェイダー１０８、
ピクセル毎の画像データを画面に写す前に保存するためのフレーム・バッファー１１０。
【００９４】
このシステムは、ホストＣＰＵやホスト・メモリのような他のユニットと情報交換するが、簡略化と発明の趣旨を重視する目的のため、詳細を図１に示してはいない。
【００９５】
式（６）によって求められる関数Ｉ（ａ,ｂ）と、フレネル透過関数Ｆｔは、ＣＰＵにおいて、それぞれの物体に関して計算され、メモリ１０２に、2種類のルックアップテーブル（一方は二次元、他方は一次元）として保存される。ＣＰＵは、最大主要曲率指標方向単位ベクトルｔ1及び式（９）によって求められるパラメータＫとＭである曲率指標を算出し、メモリ１０２へ、そして、頂点プロセッサ１０１へと転送する。
【００９６】
トライアングル・アセンブリ・ブロック１０４は、頂点プロセッサ１０１から受け取ったデータを基に、三角形を形成し、物体表面に対する法線や光源に向かうベクトルである光ベクトルなどのデータの中から、三角形の頂点に対して曲率指標を割り当てる。トライアングル・アセンブリ・ブロック１０４は、このデータをライスタライザー１０５へ転送する。
【００９７】
ラスタライザー１０５は、三角形において、曲率指標ｔ1，Ｋ及びＭを線形補間し、ｔ1，Ｋ及びＭの補間後の値をピクセル・シェイダー１０８に転送する。ラスタライザー１０５は、物体表面に対する法線、光ベクトル、及び光源に向かうベクトルなどの、シェイディング計算に必要な他のパラメータも線形補間する。
【００９８】
ピクセル・シェイダー１０８は、式（８）に基づき、ピクセル毎のシェイディングを実行する。ピクセル・シェイダー１０８によって算出された色は、フレーム・バッファー１１０へ転送される。
【００９９】
ピクセル・シェイダー１０８は、上述ピクセル毎のシェイディングを、
１．それぞれの光源の入射角θのコサインを、法線及び光源に向かう単位ベクトルである光ベクトルωのドット積として計算する工程と、
２．接平面におけるωの射影と最大主要曲率方向との間の角である角φのコサインを、接平面における光ベクトルωの射影と最大主要曲率方向単位ベクトルｔ1のドット積を用いて計算する工程と、
３．式（８）に基づき、ルックアップ・テーブルＩ（ａ,ｂ）からサンプル抽出するための第二引数を計算する工程と、
４．入射角θのコサインを第一引数として用い、式（８）に基づく上記第二引数を用いて、メモリ１０２におけるルックアップ・テーブルＩ（ａ,ｂ）からサンプル抽出する工程と、
５．上記工程１から５を、それぞれの光源について繰り返し、式（８）の合計値で示されるように、合計を求める工程と、
６．法線と視線ベクトルの間の角のコサインを、これらの二つのベクトルのドット積として計算する工程と、
７．引数として、法線と視線ベクトルの間の角θ’のコサインを用いて、ルックアップ・テーブルＦｔからサンプル抽出する工程と、
８．結果を、工程６にて計算した合計値と乗算する工程、
によって、実行する。
【０１００】
本発明の最良の形態の場合、式（８）にあるようなπによる除算は必ずしも必要ではないことに注意したい。これは、式において、光強度が因数として存在し、定数による除算は、全ての光強度の再設計に相当するからである。定数１／πは単なる規格化因子であって、オープンＧＬのようなグラフィクスＡＰＩｓには使われない。上記のシェイディング計算は全三色のチャネルについて行なわれる。結果として得られる色データはフレーム・バッファ１１０に転送される。
【０１０１】
この分野において経験のある人ならだれでも、本発明の基本概念から、他の様々な変形例（たとえば、何かを簡略化するなどして）を生み出すことができる。たとえば、式（８）におけるＩの第二引数の角φに対する従属性を無視して、平方根内のすべての式を、レンダリングする物体の標準的な値に置き換えることができる。すると、放射輝度の式
【０１０２】
【数２５】
2008250577.tif 000027
【０１０３】
は、ｓが物体の平均的または標準的なサイズである時、上記のように求められる。これは、可能な限り良質なレンダリング処理を必要とする、物体部分のサイズであってもよい。
このように簡略化することで、半透明物体のレンダリング方法とシステムの簡略化した実施例は下記のようになる。
式（６）で求められる関数Ｉ（ａ,ｂ）と、フレネル透過率Ｆｔは、ＣＰＵにおいて、物体それぞれに関して計算され、メモリ１０２にルックアップ・テーブルとして保存される（一方は二次元、他方は一次元）。メモリには、標準的な物体サイズｓも記録される。
トライアングル・アセンブリ・ブロック１０４は頂点プロセッサ１０１から受信するデータによって、三角形を形成し、物体表面に対する法線や光源に向かうベクトルである光ベクトルなどのシェイディング計算に必要となるパラメータを三角形の頂点に割り当てる。トライアングル・アセンブリ・ブロック１０４は、このデータをラスタライザー１０５へ転送する。ラスタライザー１０５は、物体表面に対する法線や光ベクトルのような、シェイディング計算に必要となるパラメータを線形補間する。
【０１０４】
ピクセル・シェイダー１０８は、式（８）に基づき、ピクセル毎のシェイディングを実行する。ピクセル・シェイダー１０８によって算出される色は、フレーム・バッファー１１０へ転送される。
【０１０５】
ピクセル・シェイダー１０８は、上記ピクセル毎のシェイディングを、
１．各光源における入射角θのコサインを、法線及び光源に向かう単位ベクトルである光ベクトルωのドット積として計算する工程と、
２．式（１１）に基づき、ルックアップ・テーブルＩ（ａ,ｂ）からサンプル抽出するための第二引数を計算する。すなわち、入射角のサインの絶対値を、ｓで割る工程と、
３．式（８）に基づき、入射角θのコサインを第一引数として用い、上記第二引数を用いて、メモリ１０２におけるルックアップ・テーブルＩ（ａ,ｂ）からサンプル抽出する工程と、
４．式（８）に基づき、ルックアップ・テーブルから抽出したサンプルと光強度を乗算する工程と、
５．上記工程１から４を、それぞれの光源について繰り返し、式（８）の合計値に習って、結果を合計する工程と、
６．法線と視線ベクトルの間の角θ’のコサインを、これらの二つのベクトルのドット積として計算する工程と、
７．法線と視線ベクトルの間の角のコサインを引数として使用し、ルックアップ・テーブルＦｔからサンプル抽出する工程と、
８．結果を、工程５で算出された合計値と乗算する工程と、
によって、実行する。
【０１０６】
本発明の最良の形態の場合、式（１１）にあるようなπによる除算は必ずしも必要ではないことに注意したい。これは、式において、光強度が因数として存在し、定数による除算は、全ての光強度の再設計に相当するからである。
【０１０７】
上記のシェイディング計算は全三色のチャネルについて行なわれる。結果として得られる色データはフレーム・バッファ１１０に転送される。図２は、発明の開示で使用されるベクトル及び角度を示したものである。なお、見やすくするため、法線Ｎについての下付文字「ｏ」は省略されている。図３は、本発明の最良の形態における曲率ベースのレンダリング方法のブロック図を示したものである。同図に示す如く、曲率ベースのレンダリング方法は基本的に三つのステップを有する。第１のステップでは、Ｎ，ωｉ，及びω1をロードし、頂点におけるＫ，Ｍ，及びｔ1をロードまたは計算する。第２のステップは、Ｎ，ωｉ及びω1，並びに曲率指標Ｋ，Ｍ，及びｔ1を三角形に補間するステップである。第３ステップは、曲率指標Ｋ，Ｍ，及びｔ1，ドット積Ｎ・ωｉ及びＮ・ω1，並びに接平面におけるωの投影と最大主要曲率方向単位ベクトルｔ1の間の角である角度φを用いてピクセル毎の光反射を計算するステップである。
【０１０８】
図４は、曲率指標を解説するための図面である。図４にあるように、平面曲線Ｃについて、任意の点Ｐにおける曲率は、接触円（任意の点において、曲線に「キスする」または近接する円）の半径の逆数に等しい大きさを持ち、円の中心方向を指すベクトルとなる。接触円の半径ｒが小さいほど、曲率（１／ｒ）の大きさはより大きくなるので、曲線が「ほぼ直線」であれば、曲率はゼロに近づき、曲線が急カーブとなる時は、曲率の大きさは大きくなる。三次元の空間に埋め込まれた二次元の表面については、表面と、法線ベクトル及びある点における接線ベクトルのひとつを含む平面との交差を考慮する。この交差は平面曲線であり、曲率を持つ。これが、法曲率であり、どの接線ベクトルを選ぶかによって変化する。ある点における法曲率の最大値と最小値は、主曲率ｋ1及びｋ2と呼ばれ、対応する接線ベクトルの方向は、主方向と呼ばれる（ウィキペディアを参照）。すなわち、「主方向」は、最大曲率及び最小曲率の方向なのである。この二つの方向は、互いに垂直であることに注意したい。これは、自明の事実ではないが、数学において証明されている。        
【０１０９】
略語一覧
ｌｄ：光散乱範囲
Ｌｉ：入射輝度
Ｌｏ：出射輝度
Ｎｉ：入射点ｘｉにおける表面に対する法線
Ｎｏ：出射点ｘｏにおける表面に対する法線（下付文字“ｏ”は、見やすくするため、図２においては省略） 
ｘｉ：入射点
ｘｏ：出射点
ωｉ：光の入射方向に沿った単位ベクトル（下付文字“ｉ”は、本書類中では省略）
ωｏ：視線方向に沿った単位ベクトル 
Ｓ：点ｘｏ周辺における物体表面 
Ω＋（ｘｉ）：Ｎｉ・ωｉ＞0となる一組の方向ωｉ 
Ｓ＋（ωｉ） ：Ｎｉ・ωｉ＞0である表面部分
Ｆｔ：フレネルの透過関数
Ｒｄ：拡散したサブサーフェイス・スキャタリングの反射率
Ｎｏ・ωｏ：法線Ｎｏ と視線方向ωｏの間の角のコサイン 
θ’：法線Ｎｏ と視線方向ωｏの間の角 
Ｌｊ：ｊ番目の光源の光強度
θｊ：ｊ番目の光源の入射角
ｋ1，ｋ2：レンダリングされる物体の点における主曲率
ｋ1：レンダリングされる物体の点における最大曲率
ｋ2：レンダリングされる物体の点における最小曲率
Ｋ：（ｋ12＋ｋ22）／２
Ｍ：（ｋ12−ｋ22）／２
ｔ1：最大主要曲率方向に沿った単位ベクトル 
ｔ2：最小主要曲率方向に沿った単位ベクトル 
φ：接平面におけるωｉ の投影と最大主要曲率方向単位ベクトルｔ1の間の角 
ｃｏｓθ’＝Ｎｏ・ωｏ
ｃｏｓθ＝Ｎｏ・ωｉ
θ＝ｃｏｓ−1（Ｎｏ・ωｉ）
ω1＝ｓｉｎθ・ｃｏｓφ
ω2＝ｓｉｎθ・ｓｉｎφ
ω3＝ｃｏｓθ 
Ｉ（ａ,ｂ）：式（６）に定義されるシェイディング関数
【産業上の利用可能性】
【０１１０】
本発明に基づいた、曲率ベースレンダリング方法と装置は、人間の肌や大理石、蝋など半透明の物質でできた物体をリアルタイム・レンダリング処理するための、インタラクティブ三次元コンピュータ・グラフィックスの分野において、活用できる。
【図面の簡単な説明】
【０１１１】
【図１】図１は、曲率ベースのレンダリング・システムの構成を示す。
【図２】図２は、「発明の開示」において使用されたベクトル及び角を示す。（図面を見やすくするため、法線Ｎの下付文字“ｏ”を省略した。）
【図３】図３は、「本発明の最良の形態」における曲率ベースのレンダリング方法のブロック図を示す。
【図４】図４は、曲率の概念を示す。
【符号の説明】
【０１１２】
１０１  頂点プロセッサ
１０２  メモリ
１０３  曲率指標
１０４  トライアングル・アセンブリ・ブロック
１０５  ラスタライザー
１０６  ピクセル・シェイディング計算用ピクセル・データ
１０７  ピクセル・シェイディング計算用ルックアップ・テーブルのサンプル
１０８  ピクセル・シェイダー
１０９  カラー・ピクセル・データ
１１０  フレーム・バッファー
【図１】
2008250577.tif 000028
【図２】
2008250577.tif 000029
【図３】
2008250577.tif 000030
【図４】
2008250577.tif 000031