JP4809480B2 - 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム - Google Patents

丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム Download PDF

Info

Publication number
JP4809480B2
JP4809480B2 JP2009525764A JP2009525764A JP4809480B2 JP 4809480 B2 JP4809480 B2 JP 4809480B2 JP 2009525764 A JP2009525764 A JP 2009525764A JP 2009525764 A JP2009525764 A JP 2009525764A JP 4809480 B2 JP4809480 B2 JP 4809480B2
Authority
JP
Japan
Prior art keywords
shading
normal
image
computer
computer graphics
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.)
Active
Application number
JP2009525764A
Other languages
English (en)
Other versions
JP2010501943A (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.)
Nvidia ARC GmbH
Original Assignee
Mental Images GmbH
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 Mental Images GmbH filed Critical Mental Images GmbH
Publication of JP2010501943A publication Critical patent/JP2010501943A/ja
Application granted granted Critical
Publication of JP4809480B2 publication Critical patent/JP4809480B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

関連出願の相互参照
本特許出願(代理人整理番号第MENT−202号)は、2006年8月23日に出願された米国特許仮出願第60/823,312号(代理人整理番号第MENT−202−PR号)に基づく優先権を主張するものであり、この米国特許仮出願第60/823,312号は、その全体が本明細書に記載されているかのように本明細書に組み込まれる。
発明の分野
本発明は、コンピュータグラフィックスの分野に関し、より詳細には、合成画像レンダリングのためのコンピュータベースシステム内において、多面体上の面取りされたエッジまたは丸みのある角の外観を生成するのを可能にする改善された方法およびシステムに関する。
発明の背景
コンピュータグラフィックスシステム、および、コンピュータグラフィックスシステムのためのソフトウェア、とりわけ、3次元画像を生成およびレンダリングするように適合されたそのようなシステムおよびソフトウェアは、動画産業およびその他の産業からの需要の増加とともに、爆発的な速度で成長し続けている。
これらの3次元画像をリアルにレンダリングするためのソフトウェアのユーザは、結果として得られる画像に最大限のリアリズムを要求する。それにもかかわらず、それらのユーザが自由に使用できるモデリングツールは、リアルでない数学的精度でモデル物体を生成する傾向があり、すべてのエッジは、きわめて鋭くかつ角のあるものである。「現実の世界」におけるエッジは、典型的には、わずかではあるにしても、丸みがあり、あるいは、摩耗している。
この問題の1つの解決策は、実際の3Dモデルにおいて、これらの丸みを面または面取として正確にモデリングすることであった。このアプローチは、より自然に見えるエッジをもたらすが、それと同時に、より大きな複雑さ、すなわち、ポリゴンの数の増加をもたらし、そして、はるかに複雑なモデルをもたらす。
処理の複雑さまたは記憶要件を著しく増大させることなく、丸みのある角または面取されたエッジの外観を備えたよりリアルな3次元画像をレンダリングすることのできる方法およびシステムを提供することは望ましいことである。
本発明の一態様は、画像をレンダリングしかつ画像にシェーディングを施すことのできるコンピュータグラフィックスシステムにおいて動作することができ、かつ、コンピュータグラフィックスシステムが、物体が丸みのある角の外観を有する画像を提供するのを可能にすることができる方法、システム、装置、機器、および/または、コンピュータプログラム/ソフトウェアコードプロダクトに関する。本発明の一態様においては、方法、システム、装置、機器、および/または、コンピュータプログラム/ソフトウェアコードプロダクトは、以下のことに関する。すなわち、画像をレンダリング中に、画像に含まれる物体の角の領域に存在するシェーディング法線を修正し、それによって、シェーディングが、画像に施されると、シェーディングされた画像は、画像に含まれる角を観察するときに、丸みのある角の外観または錯視(visual illusion)を観察者に提供することができ、ここで、前記修正は、
(1)所定の面取半径Rを有する外観をシミュレートするために、角の領域に存在する元々のシェーディング法線に施される修正の量を計算することを備え、その計算は、
(2)角の距離Rの範囲内に存在する表面においてそれらの表面のシェーディング法線を調査し、そして、元々の表面のシェーディング法線と調査された隣接する表面のシェーディング法線との重み付けされたブレンド(weighted blend)である新しい法線を計算することと、
(3)それによって、シェーディング法線を変化させることによって、シェーディング効果(shading effect)によって丸みをレンダリング時にシミュレートするために、物体が実際に丸められていれば有するであろう外観に合致する表面法線の変形を生成することと、
を備える。
本発明のさらなる態様においては、重み付けは、元々のシェーディング法線を十分に優遇する距離Rにおいて開始し、隣接面までの距離が事実上ゼロとなる点まで進み、重み関数が、この距離の関数として2つの法線のブレンド比を決定するのに使用される。異なる重み関数は、角のエッジの異なる見掛け上の輪郭を提供する。
本発明の一態様においては、シェーディング法線の重み付けされた修正は、両方の隣接面がレンダリングされるときに、角のそれらの両方の隣接面に対して同じように実行され、それによって、両方の表面のエッジ領域は、それぞれが他方に近づくにつれて視覚的に薄れる見掛け上のシェーディングを有する。
重み関数は、隣接面までの距離が事実上ゼロとなる角の実際の幾何学的エッジにおいて、重み関数が、2つの表面法線の実質的に50/50のブレンドによって、両方の面に対して同じ結果を提供するように選択されてもよく、それによって、実質的に、不連続性が、エッジのシェーディングにおいて視覚的に知覚されることはなく、かつ、観察者によって滑らかであると知覚されることが可能であり、それによって、丸みのある角の錯覚を可能にする。
本発明の別の態様においては、画像レンダリング処理を用いて画像をレンダリングすることができ、かつ、シェーディングモデルを用いて、レンダリングされた画像にシェーディングを施すことができ、そして、表面の点Pが、シェーディングされるときに、1つのシェーディング法線Nおよび1つの幾何学的法線Ngを有すると仮定されるコンピュータグラフィックスシステムにおいて、本発明の方法、システム、装置、機器、および/または、コンピュータプログラムコード/ソフトウェアプロダクトの態様は、画像に含まれる物体の角の領域に存在するシェーディング法線を修正することを提供し、それによって、画像に含まれる物体の角の領域は、シェーディングモデルを用いてシェーディングされるときに、丸みのあるエッジの外観を観察者に提供し、この修正することは、角の隣接領域において角の半径Rの範囲内に存在する隣接表面を調査することを備え、ここで、Rは、角の見掛け上の面取半径である。
本発明のさらなる態様においては、コンピュータグラフィックスシステムが、幾何学的プリミティブを含むシーン記述から構成された幾何学的表現にシェーディングモデルを適用することによって、画像をレンダリングすることができ、調査することが、角の半径Rの範囲内に存在する隣接表面を検出するのに使用することができる隣接情報をシーンに関連するデータ構造に問い合わせることを備える。
本発明の別の態様においては、調査することは、レイキャスティング処理(ray−casting process)を実行することを備え、そのレイキャスティング処理は、画像の現時点においてシェーディングされているプリミティブの幾何学的法線に対して接線方向にある2つのベクトルuおよびvによって定義される接平面を検出することを備えてもよく、ベクトルを検出することが、ベクトルuを検出するために、任意のベクトルを選択し、その任意のベクトルを幾何学的法線の平面内に投影し、そして、ベクトルvを検出するために、外積を使用することによって達成される。
レイキャスティングは、選択されたわずかな距離だけレイキャスティング処理のソース点を変位させることをさらに備えてもよく、ソース点が幾何学的法線ベクトルの負方向に沿って変位させられた場合、凸角が検出され、ソース点が正方向に沿って変位させられた場合、凹角が検出される。レイキャスティング処理は、ベクトルuおよびベクトルvによって定義される平面内に存在するn個からなる一組の実質的に等しい間隔を置いて配置されたレイを放射し、そして、表面ヒットを記録することをさらに備えてもよい。
本発明のさらなる態様においては、処理は、法線を修正することをさらに備え、キャスティングされたレイによるそれぞれのプリミティブヒットごとに、プリミティブのシェーディング法線Hが、ヒット点までの距離Dとともに、ヒット点において計算され、
D>Rであれば、ヒットは、無視されるが、D<Rであれば、

に基づいて、重み係数が計算され、そして、法線Hが、係数fによって重み付けされ、その結果が、現時点におけるシェーディング法線Nに加算される。n個のすべてのレイが、送出されたとき、シェーディング法線Nは、単位長さを有するように再正規化され、そして、新しいシェーディング法線が、画像をシェーディングするために、シェーディングモデルによって使用されてもよい。
新しいシェーディング法線は、画像をシェーディングするためにシェーディングモデルによって使用される前に、バンプマッピングによってさらに修正されてもよい。
レイキャスティングが、使用されず、その代わりに、隣接情報が、利用できる場合、わずかな変形が、使用されてもよく、処理は、法線を修正することをさらに備え、隣接情報を用いて検出されたそれぞれのプリミティブごとに、検出されたプリミティブのシェーディング法線Hが、検出されたプリミティブに対する最も近い垂直点Dにおいて計算され、さらに、点Dまでの距離が計算され、
D>Rであれば、点が、無視されるが、D<Rであれば、

に基づいて、重み係数が計算され、そして、法線Hが、係数fによって重み付けされ、その結果が、現時点におけるシェーディング法線Nに加算される。この場合にも、再正規化およびバンプマッピングが、使用されてもよい。
従来技術に基づいてレンダリングされた画像であり、異常に鋭いエッジを含む。 本発明の態様に基づいてレンダリングされた画像であり、丸みのある外観が、図1の画像における鋭いエッジの代わりに、生成されている。 従来技術に基づいたシェーディング技法を示す図である。 図3Aに示される技法を用いて生成された画像である。 従来技術に基づいてエッジを丸める技法を示す図である。 図3Cに示される技法を用いて生成された画像である。 本発明の態様に基づいて丸みのあるエッジの外観を生成する技法を示す図である。 図3Eに示される技法を用いて生成された画像である。 物体の一部分を示す図であり、隣接表面上のヒット点を検出するためにレイキャスティング技法を使用すること示している。 物体の一部分を示す図であり、隣接表面上のヒット点を検出するためにレイキャスティング技法を使用すること示している。 物体の一部分を示す図であり、本発明の態様のさらなる例を示している。 本明細書で説明される本発明の態様に基づく一般的な技法を説明する一連のフローチャートである。 本明細書で説明される本発明の態様に基づく一般的な技法を説明する一連のフローチャートである。 本明細書で説明される本発明の態様に基づく一般的な技法を説明する一連のフローチャートである。 本明細書で説明される本発明の態様に基づく一般的な技法を説明する一連のフローチャートである。 本明細書で説明される本発明の態様に基づく一般的な技法を説明する一連のフローチャートである。 本明細書で説明される本発明の態様に基づく一般的な技法を説明する一連のフローチャートである。 本発明の態様が配備されてもよい一般的なパーソナルコンピュータまたはそれに類似するコンピューティング装置の概略図である。 本発明の態様が配備されてもよい一般的なネットワークベースコンピューティングシステムおよびネットワーク装置を説明する概略図である。 本発明の態様が配備されてもよい一般的なネットワークベースコンピューティングシステムおよびネットワーク装置を説明する概略図である。
本明細書で説明されるシステムおよび技法は、丸みのあるエッジに合致するシェーディング効果を提供する。図1は、きわめて鋭いエッジ22を含む例としての画像20を示す。図2は、丸みのあるエッジ22’の視覚的印象を生成するための本明細書で説明されるシステムおよび技法に基づいて修正されたバージョンである画像20’を示す。以下でより詳細に説明されるように、図2においては、モデリングされた物体の基本的な形状は、修正されていない。
このように、本発明は、より大きな複雑さをほとんど伴うことなく、丸みのある角およびエッジを提供するためのシステムおよび技法を提供する。説明されるシステムおよび技法は、これらのエッジの生成をレンダリングの領域に移し、モデラーの負担を減少させ、丸みのある角または面取されたエッジの外観を提供するための適切なシェーディングを計算するためのレンダリング時における新しいアプローチを提供する。
本発明の明細書は、以下の章から構成される。
1.概論
2.レンダリング時に角を丸める例
2.1 接平面を検出する
2.2 ソース点を変位させる
2.3 レイをキャスティングする
2.4 法線を修正する
2.5 後処理
2.6 さらなる例
2.7 全体的な技法
3.本発明を実施することのできるディジタル処理環境
1.概論
コンピュータグラフィックスにおけるシェーディングは、典型的には、光の入射レイの方向と比較して、シェーディングされるそれぞれの表面上に存在するそれぞれの点ごとのシェーディング法線ベクトルの方向によって決定される。本明細書で説明されるシステムおよび技法は、モデリングされる物体の形状が実際に丸められていればその物体が有するであろう外観と合致するように物体の表面シェーディング法線を修正することに基づくものである。
図3Aは、物体100の一部分のシェーディングを例示する図である。物体100のシェーディングされる部分は、第1の表面102と、隣接する第2の表面104とを含む。2つの表面は、エッジ106において接する。シェーディングされる第1の表面102のそれぞれの点ごとに、シェーディング法線108が計算され、これらのシェーディング法線108は、幾何学的法線と必ずしも同じとは限らない。また同様に、シェーディングされる隣接する表面104のそれぞれの点ごとに、シェーディング法線110が計算される。画像が、レンダリングされるとき、シェーダーは、表面102および104のシェーディングを決定するのにシェーディング法線を使用する。図3Bは、物体100のレンダリングされた画像を示す。レンダリングされた物体100は異常に鋭いエッジ106および角107を有することが図3Bからわかる。
図3Cは、物体100のレンダリングされた画像における異常に鋭いエッジ106および角107の問題を解決するための従来の技法を例示する図である。図3Cにおいて、物体200の幾何学的モデルは、丸みのある遷移領域212を第1の表面202と第2の表面204との間に含むように修正されている。この例においては、丸みのある遷移領域212は、半径Rを備えた円214に対応する円形輪郭を有する。修正されたモデルを使用すれば、画像が、レンダリングされるとき、第1の組のシェーディング法線208が、第1の表面202に対して計算され、第2の組のシェーディング法線210が、第2の表面204に対して計算され、そして、第3の組のシェーディング法線216が、丸みのある遷移領域部分212に対して計算される。図3Dは、丸みのあるエッジ206および角207を備えた修正された物体200のレンダリングされた画像を示す。図3Cに例示されるアプローチは、よりリアルな画像をもたらすが、モデルの複雑さとモデラーの負担とを増大させる。
図3Eは、本発明の一態様による技法を例示する図である。このアプローチにおいては、物体300の表面302および304およびエッジ306の形状は、修正されていない。より正確には、丸みのある外観は、エッジ306の距離Rの範囲内に存在する表面シェーディング法線308および310を修正することによって、レンダリング中にシミュレートされる。修正されたシェーディング法線308および310は、一般的には、図3Cおよび図3Dに示される「真に」丸みのある場合のシェーディング法線216に対応する。表面302および304およびエッジ306の基本的な形状は、修正されていないにもかかわらず、シェーディング法線308’および310’の修正は、図3Fに示される物体300のレンダリングされた画像として示されるように、より自然な丸みのある外観をもたらす。このように、本明細書で説明される技法は、モデルの複雑さを増大させることなく、かつ、モデラーの負担を増大させることなく、丸みのあるエッジ306および角307を生成するのを可能にする。
指定された半径Rを備えた所定の面取の外観をシミュレートするために元々のシェーディング法線に施される修正の量を計算するために、距離Rの範囲内に存在する隣接する表面は、それらの表面のシェーディング法線を調査される。新しい法線が、生成され、その新しい法線は、元々の表面のシェーディング法線と調査された隣接する表面のシェーディング法線との重み付けされたブレンドである。
重み付けは、元々のシェーディング法線を十分に優遇するために距離Rにおいて開始し、隣接面への距離が事実上ゼロとなる点にまで至る。重み関数が、この距離の関数として2つの法線のブレンド比を決定するのに使用される。異なる重み関数は、エッジの異なる見掛け上の輪郭を提供する。
シェーディング法線のこの重み付けされたスキューイング(skewing)は、両方の面がレンダリングされるときにそれらの両方の面に対して同じように実行され、両方の表面のエッジ領域は、他方に近づくにつれて薄れるシェーディングを有することになる。
隣接面までの距離が事実上ゼロとなる実際の幾何学的エッジにおいて、重み関数が、両方の面に対して同じ結果、例えば、2つの表面法線の50%のブレンドを提供するように重み関数が選択されるとき、不連続性は、エッジのシェーディングにおいて認識されることはなく、「滑らか」であると知覚され、丸みのある角の完璧な視覚的印象を可能にする。
2.レンダリング時に角を丸める例
次に、本発明に基づいてレンダリング時に角を丸めることの例を説明する。以下で説明される例は、何らかの特別な事前に生成された情報を使用することはない。しかしながら、そのような拡張機能が、可能性としてわずかにより最適化されるかもしれない変形を提供するために、隣接する面の情報のための余分な記憶空間を犠牲にして追加されてもよい。より詳細には、以下で説明される例は、調査のためのレイキャスティング技法を使用するが、隣接情報を含むかまたは隣接情報を得ることができるデータ構造をプロセッサー/方法が利用できるならば、レイキャスティングは、必ずしも必要ではない。本明細書で使用される「隣接情報」という用語は、ここでは、典型的には、画像のそれぞれのポリゴンに関連して記憶された情報のような、所定のポリゴンに隣接するポリゴンを決定するのに使用されてもよい画像に関連して記憶された情報を指す。多くの一般的なコンピュータグラフィックスシステムにおいては、画像内に含まれるすべてのポリゴンは、他のどのポリゴンがそのポリゴンに「近い」かまたは他のどのポリゴンがそのポリゴンに隣接するかについての情報を含む。そのような情報が、利用できない場合、レイキャスティングは、隣接するポリゴンまたは表面を調査および決定するのに使用されてもよい1つの技法である。
当業者は、本明細書で説明される技法および/または例は、可能性としてわずかにより最適化されるかもしれない技法を提供するために、隣接する面の情報を記憶するのに必要な余分な記憶空間を犠牲にして、隣接情報を使用するように実施され、変更され、あるいは、拡張されてもよいことを理解および認識できるはずである。そのような情報を利用することができる場合、レイキャスティング処理によってヒットする点よりもむしろ、元々のプリミティブの平面と交差する隣接プリミティブ上の最も近い平面内垂直点(以下の例を参照)が、直接に使用されてもよい。しかしながら、すべての有効な方法において、隣接する表面上の点が検出されてしまえば、どの処理がその点を検出するのに使用されたとしても、処理の残りの部分は、ほぼ同じものである。
以下に例示される例を参照する。以下の例は、エッジの見掛け上の丸みの半径として入力パラメータRを使用する。ユーザかまたは幾何学的パイプラインからのさらなる入力は、必要とされない。しかしながら、必要であれば、さらなるパラメータが提供されてもよいことに注意されたい。
それぞれの表面点Pが、シェーディングされるとき、1つのシェーディング法線Nおよび1つの幾何学的法線Nを有すると仮定する。2つの法線NおよびNは、基本的な表面の特徴に依存して、同一であってもよく、あるいは、同一でなくてもよい。
目的は、シェーディング法線Nを修正することであり、それによって、その後に、物体が、周知のPhongシェーディングモデルのような適切なシェーディングモデルを用いてシェーディングされると、丸みのあるエッジの外観が、生成される。
Phongシェーディングは、コンピュータグラフィックスにおける補間法であり、Phong反射モデルによって生成されるような鏡面反射光の解像度を向上させるために、ポリゴンをラスタライズするときに表面法線の補間を用いる。Phongシェーディングという用語は、また、反射モデルを意味することもあり、あるいは、反射モデルと補間法との組み合わせを意味することもあり、Phongシェーディングおよびその他のシェーディング技法は、“Akenine−Moller&Haines,“Real−Time Rendering”2d ed.,A.K.Peters(2002)”に説明されており、この文献は、その全体が参照により本明細書に組み込まれる。
上述したように、また、以下でより詳細に説明するように、隣接情報が、利用できなければ、隣接領域が、半径Rの範囲内に存在する隣接表面に対して精査される。本発明のこの態様によれば、隣接領域のこの精査は、レイキャスティングステップまたはレイキャスティング処理を用いて実行される。
2.1 接平面を検出する
図4は、第1の表面402および隣接する第2の表面404を有する物体400の一部分を示す図であり、第1の表面および第2の表面は、エッジ406において接する。第1の表面402上の点Pに対する第1のシェーディング法線408が示され、そして、第2の表面404に対する代表的な第2のシェーディング法線410が示される。ここで、図4を参照すると、レイキャスティングは、現時点においてシェーディングされているプリミティブの幾何学的法線に対して接線方向にある2つのベクトルuおよびvを検出することによって開始する。これは、例えば、図4に示されるように、任意のベクトルの向きがベクトルuを検出するには幾何学的法線にあまりにも近すぎる縮退状態に注意しながら、かつ、ベクトルvを検出するために外積を用いて、任意のベクトルを取り出し、そして、そのベクトルを幾何学的法線の平面内に投影することによって達成されてもよい。
2.2 ソース点を変位させる
シェーディングされる点Pは、定義によって、現時点においてシェーディングされているプリミティブの平面内に存在する。コストがかかり面倒な自己交差を回避することは望ましいことである。この理由から、レイキャスティング処理の開始点は、正確な縮尺率で描写されていない図5に示されるように、わずかな距離δだけ変位させられる。この例においては、開始点は、幾何学的表面法線の方向に沿ってR/1000だけ変位させられ、以下の式(1)として表現される。
点が、幾何学的法線ベクトルの負方向に沿って変位させられる場合、凸角が、検出され、点が、正方向に沿って変位させられる場合、凹角が、検出される。
2.3 レイをキャスティングする
次のステップは、ベクトルuおよびベクトルvによって定義された平面内において、等しい間隔を置いて配置されたレイ416の組を放射し、表面ヒットを記録することである。経験によって、n=6が、許容できる結果を提供することが示されている。しかしながら、必要であれば、レイの数は、変化してもよい。
2.4 法線を修正する
これらのキャスティングレイによるそれぞれのプリミティブヒットごとに、ヒット点までの距離Dとともに、ヒット点のシェーディング法線Hが計算される。上述したように、シェーディング法線Hは、ヒット点の幾何学的法線と必ずしも同じとは限らない。
D>Rであれば、そのヒットは、棄却されるが、D<Rであれば、重み係数が、以下の式(2)を用いて計算される。
ヒット法線Hは、この係数fによって重み付けされる。そして、重み付けされたヒット法線fHは、現時点のシェーディング法線Nに加算され、以下の式(3)として表現される修正されたシェーディング法線N’が、生成される。
シェーディングされるそれぞれの点ごとに、上述した技法が、キャスティングレイのすべてに対して繰り返し実行される。上述したように、満足できる結果が、ソース点から放射される6つの等しい間隔を置いて配置されたレイを用いて得られた。それぞれのヒット点のシェーディング法線のそれぞれの重み付けされた寄与分は、以下の式(4)によって表現されるように、元々のシェーディング法線Nに加算される。
6つの等しい間隔を置いて配置されたレイの使用は、とりわけ、「立方体の角」の場合に、満足できる程度に実際にうまく動作した。
2.5 後処理
すべてのレイが、送出されると、修正されたシェーディング法線N’は、以下の式(5)によって表現されるように、単位長さを有するように再正規化されなければならない。
再正規化の後、修正されたシェーディング法線は、Phong、Ward、などのモデルのような一般的なシェーディングモデルに送り込まれる。
本発明のさらなる態様によれば、新しいシェーディング法線は、一般的なシェーディングモデルに送り込まれる前に、従来のバンプマッピングによってさらに修正されてもよい。バンプマッピングは、“J.F.Blinn,“Simulation of Wrinkled Surfaces”,Computer Graphics,Vol.12(3),pp.286−292,SIGGRAPH−ACM(Augusst 1978)”に説明されており、この文献は参照により本明細書に組み込まれる。
2.6 さらなる例
上述した技法のさらなる例が、図6に例示され、この図6は、元々の第1の表面502および隣接する第2の表面504を含むモデリングされた物体500の一部分を示す図であり、第1の表面および第2の表面は、丸みのある外観を生成することが望まれるエッジ506において接する。
システムユーザは、丸みのあるエッジに対する望ましい半径Rを入力として提供する。その結果として、概念的に説明すれば、入力された半径Rは、それぞれの点516および518において元々の表面502および隣接する表面504の両方に接する円514の半径である。本明細書で説明される技法は、モデリングされる物体500の形状を修正することなく、点516と点518との間に延びる曲面の視覚的印象を生成する。上述したように、本明細書で説明される技法は、点516とエッジ506との間の第1の表面502上およびエッジ506と点518との間の第2の表面上に存在するそれぞれのモデリングされる点のそれぞれのシェーディング法線を修正することによって、望ましい視覚的効果を生成する。
ここで、この技法が、元々の表面502上に存在する例としての点Pに関して説明される。点Pは、初期シェーディング法線Nを有する。
この例においては、隣接情報は、利用することができず、そのために、レイキャスティング技法が、隣接する表面上のヒット点を探索するのに使用されると仮定する。しかしながら、上述したように、隣接情報が、利用できるならば、ヒット点は、レイキャスティング技法を必要とせずに、簡単なルックアップ処理によって探索されてもよい。
隣接情報は利用できないと仮定すれば、レイキャスティング技法が、隣接する表面上のヒット点を探索するのに使用される。上述したように、レイは、点Pの幾何学的法線に対して接線方向にある平面に沿ってキャスティングされる。この説明のために、幾何学的法線は、シェーディング法線と同じものであり、かつ、表面102は、接平面上に存在すると仮定する。
自己交差を回避するために、点Pおよび接平面は、正確な縮尺率で描写されていない距離δだけ変位させられる。上述したように、δの適切な値は、R/1000である。変位させられた点P’は、レイキャスティング処理のソース点として使用され、変位させられた接平面に沿って延びるレイが、使用される。上述したように、満足できる結果が、ソース点P’から放射される6つの等しい間隔を置いて配置されたレイを使用することによって、得られた。
そして、ソース点P’とヒット点Hとの間の距離Dが計算される。また、ヒット点Hのシェーディング法線Hが計算される。そして、距離D、半径R、修正されていないシェーディング法線N、および、ヒット点シェーディング法線Hの値が、式(2)に組み込まれ、重み係数fの値が計算される。
重み係数fが計算された後、その重み係数は、ヒット法線シェーディングベクトルHに乗算され、重み付けされたベクトルf・Hが、生成される。そして、式(3)によって表現されるように、重み付けされたヒット法線シェーディングベクトルf・Hは、元々のシェーディング法線Nに加算され、修正されたシェーディング法線N’が、生成される。
上述したように、この処理は、ソース点から放射されるそれぞれのレイに対して繰り返し実行され、それぞれのさらなるヒット点の重み付けされた寄与分が、シェーディング法線に加算される。
繰り返しが、完了すれば、結果として得られる修正されたシェーディング法線は、長さ1を有するように正規化される。そして、正規化された修正シェーディング法線|N’|は、画像のレンダリング中に、シェーダーによって使用される。
2.7 全体的な方法
図7〜図11は、上述された本発明による方法のフローチャートである。
図7は、技法700に関するものであり、以下のステップを含む。
ボックス701:レンダリング中に、画像に含まれる物体の角の領域において、シェーディング法線を修正し、それによって、シェーディングが、その画像に施されると、シェーディングされた画像は、観察者が画像における角を観察するとき、丸みのある角の外観または錯視をその観察者に提供することができる。
ボックス702:所定の面取半径Rを有する外観をシミュレートするために、角の領域に存在する元々のシェーディング法線に施される修正の量を計算する。
ボックス703:角から距離Rの範囲内に存在する表面においてそれらの表面のシェーディング法線を調査する。(以下で説明される図9および図10は、ボックス703の様々な変形を示す)
ボックス704:元々の表面のシェーディング法線と調査された隣接する表面のシェーディング法線との重み付けされたブレンドである新しい法線を計算し、それによって、シェーディング法線を変化させることによって、シェーディング効果によって角の丸みをレンダリング時にシミュレートするために、物体が実際に丸められていれば有するであろう外観に合致する表面法線の変形を生成する。図面に示されるように、また、上述したように、本発明の一態様によれば、重み付けは、元々のシェーディング法線を十分に優遇する距離Rにおいて開始し、隣接する面までの距離が事実上ゼロとなる点まで進む。重み関数が、2つの法線のブレンド比を距離の関数として決定するのに使用される。異なる重み関数は、角のエッジの異なる見掛け上の輪郭を提供する。本発明の様々な態様においては、シェーディング法線の重み付けされた修正は、角の両方の隣接する面がレンダリングされるときにそれらの面に対して同じように実行され、それによって、両方の表面のエッジ領域は、それぞれが他方に近づくにつれて視覚的に薄れる見掛け上のシェーディングを有する。また、上述したように、本発明の一態様によれば、重み関数は、隣接面までの距離が事実上ゼロである角の実際の幾何学的エッジにおいて、その重み関数が、ブレンド比がほぼ50/50である2つの表面法線によって、それらの両方の面に対して同じ結果を提供するように選択され、それによって、不連続性は、エッジのシェーディングにおいて視覚的にほとんど知覚することができず、観察者は、エッジのシェーディングを滑らかなものであると知覚することができ、それによって、丸みのある角であるという錯覚を可能にする。
図8は、図7に示される技法700の変形である技法800を示し、この技法800は、以下のステップを含む。
ボックス801:画像に含まれる物体の角の領域が、シェーディングモデルを使用することによってシェーディングされるときに、丸みのあるエッジの外観を観察者に提供するように、画像に含まれる物体の角の領域に存在するシェーディング法線Nを修正する。
ボックス802:角の隣接領域において角の半径Rの範囲内に存在する隣接表面を調査し、ここで、Rは、角の見掛け上の面取半径である。
図9は、図7に示されるボックス703の変形900を示し、以下のステップを含む。
ボックス901:シーンに関連するデータ構造に問い合わせることによって、角の半径Rの範囲内に存在する隣接表面を検出するのに使用することのできる隣接情報を調査する。
図10は、図7に示されるボックス703の第2の変形1000を示し、この変形は、レイキャスティングを使用し、以下のステップを含む。
ボックス1001:レイキャスティングを実行することによって調査する。画像の現時点においてシェーディングされているプリミティブの幾何学的法線Nに対して接線方向にある2つのベクトルuおよびvによって定義される接平面を検出する。本発明の一態様または一例においては、ベクトル検出は、以下のステップを含んでもよい。すなわち、任意のベクトルを選択し、ベクトルuを検出するために、そのベクトルを幾何学的法線の平面に投影し、そして、ベクトルvを検出するために、外積を使用する。
ボックス1002:選択されたわずかな距離だけレイキャスティング処理のソース点を変位させる。ソース点が幾何学的法線ベクトルの負方向に沿って変位させられる場合、凸角が検出され、ソース点が正方向に沿って変位させられる場合、凹角が検出される。
ボックス1003:ベクトルuおよびベクトルvによって定義される平面内に存在するn個からなる一組のほぼ等しい間隔を置いて配置されたレイを放射し、表面ヒットを記録する。
ボックス1004:法線を修正する。キャスティングされたレイによってヒットしたそれぞれのプリミティブごとに、ヒット点までの距離Dとともに、ヒット点におけるプリミティブのシェーディング法線Hが計算される。
ボックス1005:D>Rであれば、ヒットは、無視されるが、D<Rであれば、重み係数が、

に基づいて計算される。
ボックス1006:係数fによって法線Hに重み付けし、その結果を現時点におけるシェーディング法線Nに加算する。
ボックス1007:n個のすべてのレイが、送出されると、単位長さを有するようにシェーディング法線Nを再正規化する。
ボックス1008:画像をシェーディングするために、新しいシェーディング法線をシェーディングモデルに使用する。
図10Aは、ボックス1008の変形を示し、以下のステップを含む。
ボックス1008a:バンプマッピングによって、新しいシェーディング法線をさらに修正する。
ボックス1008b:画像をシェーディングするために、修正されたシェーディング法線をシェーディングモデルに使用する。
図11は、隣接情報(レイキャスティングの代わりに)を使用する技法1100を示し、以下のステップを含む。
ブロック1101:法線を修正する。隣接情報を用いて検出されたそれぞれのプリミティブごとに、検出されたプリミティブのシェーディング法線Hが、検出されたプリミティブに対する最も近い垂直点Dにおいて計算され、また、点dまでの距離が計算される。
ブロック1102:D>Rであれば、点は、無視される。D<Rであれば、重み係数が、

に基づいて計算される。
ボックス1103:係数fによって法線Hに重み付けする。
ボックス1104:結果を現時点におけるシェーディング法線Nに加算する。
ボックス1105:単位長さを有するようにシェーディング法線Nを再正規化し、新しいシェーディング法線を提供する。
ボックス1106:画像をシェーディングするために、新しいシェーディング法線をシェーディングモデルに使用する。
図11は、ボックス1106の変形をさらに示し、以下のステップを含む。
ボックス1106a:バンプマッピングによって、新しいシェーディング法線を修正する。
ボックス1106b:そして、画像をシェーディングするために、修正された新しいシェーディング法線をシェーディングモデルに使用する。
3.本発明を実施することのできる典型的なディジタル処理環境
以下は、上述した本発明が具体化および実施されてもよい比較的に周知の典型的なディジタル処理構成および環境の説明であり、図12〜図14に関連して説明される。
上述したように、本発明は、丸みのある角およびエッジの外観を生成するのを可能にする方法、システム、装置、および、コンピュータプログラムプロダクトを提供し、また、コンピュータグラフィックスシステムにおけるその他のアクティビティーを提供することが当業者にはわかるはずであり、それらの出力は、典型的には、人が知覚することのできる(あるいは、ディジタル的に記憶および送信される)1つの画像または一連の画像であり、それらの画像は、例えば、アニメーション動画、コンピュータ支援設計表現、または、その他の典型的なコンピュータグラフィックス出力を備えてもよい。したがって、本発明は、ディスプレイ装置、キーボード、タブレット、および/または、マウスのようなユーザインタフェースエレメント、メモリー、記憶装置、および、その他の一般的なコンピュータグラフィックスシステムコンポーネントとともにコンピュータグラフィックスシステムの一部を構成するコンピュータのコンピュータソフトウェアまたはコンピュータハードウェアの一部として実施されてもよい。そのような種類の一般的なコンポーネントは、当業者には周知のものであり、そのために、ここではきわめて詳細に説明されなくてもよく、以下の概説は、コンピュータグラフィックスシステムにおけるそのようなコンポーネントとともに本発明をどのように実施することができるかを説明するものである。
より詳細には、当業者は、例えば、動画の表示またはその他の動的表示のために、本発明を画像の生成および合成に使用してもよいことを理解できるはずである。本明細書で説明される技法は、画像の画素ごとに画素値が生成されるコンピュータグラフィックスシステムの一部として実施されてもよい。画素値は、シミュレートされるカメラの画像平面上に記録されたシーンにおける点を表現するものである。その基本的なコンピュータグラフィックスシステムは、本発明による方法のような選択された方法を用いて、画像の画素値を生成するように構成されてもよい。
これまでの詳細な説明は、これらの技法に基づいた方法、構造、システム、および、コンピュータソフトウェアプロダクトの例を説明するものである。当業者は、説明された方法およびシステムは、スタンドアロン構成としてかまたはネットワークを介してMicrosoft Windows、Linux、または、Unixのような一般的なオペレーティングシステムに基づいて動作(または、エミュレート)するパーソナルコンピュータ(PC)またはそれと同等な装置のような一般的なコンピュータ装置を用いて、ソフトウェア、ハードウェア、または、ソフトウェアとハードウェアを組み合わせたものとして実施されてもよいことを理解できるはずである。したがって、本明細書で説明される様々な処理の態様および手段は、適切に構成されたディジタル処理装置またはネットワーク装置のソフトウェアエレメントおよび/またはハードウェアエレメントとして実施されてもよい。処理は、順々にまたは並列に実行されてもよく、また、特殊用途ハードウェアまたは再構成可能ハードウェアを用いて実施されてもよい。
1つの例として、ここに添付された図12は、そのようなコンピュータグラフィックス処理を実行することのできる例としてコンピュータシステム1200を描写している。図12を参照すると、一実施形態におけるコンピュータシステム1200は、プロセッサーモジュール1201と、キーボード1202Aおよび/またはマウス1202B(または、オペレータ入力エレメント1202として大まかに識別されるデジタイジングタブレットまたはその他の類似するエレメント)のようなオペレータ入力コンポーネントおよびビデオディスプレイ装置1203のようなオペレータ出力エレメントを備えたオペレータインタフェースエレメントとを含む。例としてのコンピュータシステム1200は、一般的なプログラム内蔵コンピュータアーキテクチャーを有してもよい。プロセッサーモジュール1201は、例えば、1つかまたはそれ以上のプロセッサー、メモリー、および、ディスクおよび/またはテープ記憶エレメントのような大容量記憶装置(個々には示されない)を含んでもよく、これらは、これらに提供されるディジタルデータに関連する処理および記憶操作を実行する。オペレータ入力エレメント1202は、処理のためにオペレータが情報を入力するのを可能にするように提供されてもよい。ビデオディスプレイ装置1203は、プロセッサーモジュール1201によって生成された出力情報を画面1204によってオペレータに表示するように提供されてもよく、その情報には、処理のためにオペレータが入力してもよいデータ、処理を制御するためにオペレータが入力てもよい情報、および、処理中に生成された情報が、含まれる。プロセッサーモジュール1201は、いわゆる「グラフィカルユーザインタフェース(「GUI」)」を用いて、ビデオディスプレイ装置1203によって表示される情報を生成してもよく、様々なアプリケーションプログラムのための情報が、様々な「ウィンドウ」を用いて表示される。
「メモリー」、「記憶装置」、および、「ディスク記憶装置」という用語は、コンピュータハードディスク、コンピュータフロッピーディスク、コンピュータ可読フラッシュドライブ、コンピュータ可読RAMエレメントまたはROMエレメント、または、ディジタル情報を符号化するその他何らかの公知の手段のようなあらゆるコンピュータ可読媒体を包含する。「アプリケーションプログラム」、「アプリケーション」、「プログラム」、「コンピュータプログラムプロダクト」、または、「コンピュータソフトウェアプロダクト」という用語は、媒体が、固定されたものまたは取り外し可能なもの、永久的なものまたは消去可能なもの、などであろうとなかろうと、コンピュータ可読媒体上に符号化されおよび/または記憶されたコンピュータ可読プログラム命令からなるあらゆるコンピュータプログラムプロダクトを包含する。上述したように、例えば、図14の概略図のブロック1322においては、アプリケーションおよびデータは、内部または外部であろうとなかろうと、ディスク、RAM、ROM、その他の取り外し可能なまたは固定された記憶装置に記憶されてもよく、また、この分野において周知の実施形態および技法に基づいて、ダウンロードまたはアップロードされてもよい。また、本明細書において説明されるように、本発明は、コンピュータ可読媒体上に記憶されたソフトウェアまたはコンピュータプログラムプロダクトの形態を有してもよく、あるいは、アップロードまたはダウンロードされてもよいコンピュータプログラムコードの形態であってもよく、あるいは、FPGA、ROM、または、その他の電子的構造体に消去不能に書き込まれてもよいコンピュータプログラムコードの形態であってもよく、あるいは、方法またはそのような方法を実行するシステムの形態を有してもよい。いずれの場合においても、本発明は、コンピュータまたはコンピュータシステムが画像またはシーンの画素ごとに画素値を計算するのを可能にすることができ、その画素値は、コンピュータグラフィックスシステムの他のエレメントによって使用されてもよく、それらのエレメントは、電気的または電子的な表示制御出力を生成するためのグラフィックスカード、ディスプレイコントローラ、または、LCDおよび/またはCRTのようなディスプレイエレメントのような一般的なエレメントであってもよく、そして、最終的に、本発明は、人が知覚できる形態で画像を表示し、および/または、後に表示および/または処理するために、そのような画像(または、そのような画像を指定するデータ)を記憶するのを可能にすることができる。
コンピュータシステム1200は、オペレータから入力情報を受け取るためのキーボード1202Aおよびマウス1202B、および、出力情報をオペレータに表示するためのビデオディスプレイ装置1203のような特定のコンポーネントを備えるように示されているが、コンピュータシステム1200は、図12に示されるものに加えて、あるいは、それらの代わりに、様々なコンポーネントを含んでもよいことがわかるはずである。
さらに、プロセッサーモジュール1201は、符号1205によって大まかに識別される1つかまたはそれ以上のネットワークポートを含んでもよく、それらのネットワークポートは、コンピュータシステム1200をコンピュータネットワークに接続する通信リンクに接続される。ネットワークポートは、コンピュータシステム1200が、ネットワーク内の他のコンピュータシステムおよび他の装置に情報を送信し、かつ、ネットワーク内の他のコンピュータシステムおよび他の装置から情報を受信するのを可能にする。例えば、クライアント−サーバーパラダイムに基づいて構成された典型的なネットワークにおいては、ネットワーク内に存在するある特定のコンピュータシステムが、サーバーに指定され、このサーバーは、他のクライアントコンピュータシステムによって処理されるデータおよびプログラム(大まかには「情報」)を記憶し、それによって、それらのクライアントコンピュータシステムが情報をうまく共有するのを可能にする。特定のサーバーによって保持されている情報にアクセスしなければならないクライアントコンピュータシステムは、サーバーがそのクライアントコンピュータシステムへネットワークを介して情報をダウンロードするのを可能にする。データを処理した後、クライアントコンピュータシステムは、記憶するために、処理されたデータをサーバーへ返送してもよい。また、コンピュータシステム(上述したサーバーおよびクライアントを含めて)に加えて、ネットワークは、例えば、プリンターおよびファクシミリ装置、ディジタルオーディオまたはビデオ記憶装置および配信装置などを含んでもよく、それらは、ネットワークに接続された様々なコンピュータシステム間で共有されてもよい。ネットワーク内に存在するコンピュータシステムを相互接続する通信リンクは、一般的なことではあるが、コンピュータシステム間で信号を伝達するための導線、光ファイバー、または、その他の媒体を含む何らかの都合のよい情報伝達媒体を備えてもよい。コンピュータシステムは、通信リンクを介して転送されるメッセージによって、ネットワークを介して情報を転送し、それぞれのメッセージは、情報と、メッセージを受信すべき装置を識別する識別子とを含む。
図面に示されるコンピュータシステム1200に加えて、本発明による方法、装置、または、ソフトウェアプロダクトは、スタンドアロン型、ネットワーク型、携帯または固定型であろうとなかろうと、一般的なPC1302、ラップトップ1304、ハンドヘルドコンピュータまたはモバイルコンピュータ1306を含む図13および図14に例として示されるような何らかの一般的に公知の様々なコンピューティング装置およびコンピューティングシステム(例えば、ネットワークシステム1300)上において、あるいは、インターネットまたはその他のネットワーク1308を介して、動作することができ、そして、それらのネットワークは、サーバー1310および記憶装置1312を含んでもよい。
一般的なコンピュータソフトウェア実施形態およびコンピュータハードウェア実施形態に従って、本発明に基づいて構成されたソフトウェアアプリケーションは、例えば、図13および図14に示されるようなPC1302内において動作してもよく、プログラム命令は、ROMまたはCD−ROM1316(図14)、磁気ディスクまたはその他の記憶装置1320から読み出されてもよく、そして、CPU1318によって実行するために、RAM1314へロードされてもよい。データは、一般的なキーボード、スキャナー、マウス、デジタイジングタブレット、または、その他のエレメント1303を含む何らかの公知の装置または手段を介して、システムへ入力されてもよい。図14に示されるように、描写されている記憶装置1320は、取り外し可能記憶装置を含む。図14にさらに示されるように、アプリケーションおよびデータ1322は、いくつかのまたはすべての固定または取り外し可能な記憶装置またはROMに配置されてもよく、あるいは、ダウンロードされてもよい。
当業者は、本明細書で説明される本発明の方法態様は、ASIC製造業者に公知のASIC製造技術を用いてここで説明された処理を実行するように特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)のようなハードウェアエレメントにおいて実行されてもよいことを理解できるはずである。多くの製造業者から様々な形態のASICを入手することができるが、現時点において入手できるASICは、本明細書において説明された機能を提供しない。そのような製造業者には、Intel Corporation、および、NVIDIA Corporationが含まれ、この両者は、Santa Clara,Californiaに存在する。一般的なASICまたはそれと同等な集積回路の実際の半導体素子は、本発明の一部ではなく、ここでは詳細には説明されない。
また、当業者は、ASICまたはその他の一般的な集積回路または半導体素子は、ここでより詳細に説明される本発明の教示を用いて、図1〜図11に示されるような上述した本発明の方法を実行するように実施されてもよいことを理解できるはずである。
また、当業者は、本発明の方法態様は、ワークステーションまたはパーソナルコンピュータ(PC)のオペレーティングシステムの集合コマンドおよび本発明に基づいて構成されたコンピュータプログラムプロダクト下において動作するワークステーションおよびPCのような市販されているディジタル処理システム内において実行されてもよいことを理解できるはずである。「コンピュータプログラムプロダクト」という用語は、コンピュータ可読媒体上に符号化された一組のコンピュータ可読プログラム命令を包含してもよい。コンピュータ可読媒体は、限定はされないが、ワークステーション、PC、または、その他のディジタル処理装置またはシステムにとって局所的または遠隔的なものであろうとなかろうと、コンピュータハードディスク、コンピュータフロッピーディスク、コンピュータ可読フラッシュドライブ、コンピュータ可読RAMまたはROMエレメント、または、ディジタル情報を符号化し、記憶し、または、提供するその他何らかの公知の手段を含めてあらゆる形態のコンピュータ可読エレメントを包含してもよい。様々な形態のコンピュータ可読エレメントおよび媒体が、コンピューティング分野において周知であり、それらの選択は実施者に委ねられる。いずれの場合においても、本発明は、コンピュータシステムが画素値を計算するのを可能にすることができ、その画素値は、コンピュータシステムのハードウェアエレメントによって使用されてもよく、そのハードウェアエレメントは、電子的な表示制御出力を生成するためのグラフィックスカードまたはディスプレイコントローラのような一般的なエレメントであってもよい。一般的なグラフィックスカードおよびディスプレイコントローラは、コンピューティング分野においては周知のものであり、本発明の一部を必ずしも構成するものではなく、それらの選択は、実施者に委ねられてもよい。
これまでの説明は、当業者が本発明を実施するのを可能にする細部を含むが、この説明は実質的に例としてなされたものであること、および、これらの教示を利用することのできる当業者はそれらの例の多くの変更および変形を考え出すことができることを認識すべきである。したがって、本明細書における発明は添付の特許請求の範囲によってのみ規定されること、および、その特許請求の範囲は従来技術が許す限りできるだけ広く解釈されることが意図される。

Claims (19)

  1. 画像をレンダリングすることができ、かつ、前記画像にシェーディングを施すことができるコンピュータグラフィックスシステムにおける方法であって、
    前記画像のレンダリング中に、前記シェーディングが前記画像に施される場合、シェーディングされる前記画像が前記画像における角を観察する際、丸みのある前記角の外観または錯視を観察者に提供できるように、前記画像に含まれる物体の前記角の領域に存在するシェーディング法線を修正するステップを備え、
    前記修正するステップが、
    前記角の領域に存在する元々のシェーディング法線に施される修正の量を計算して、所定の面取半径Rを有する外観をシミュレートする工程を備え、
    前記計算してシミュレートする工程が、
    前記角の距離Rの範囲内に存在する表面において当該表面のシェーディング法線を調査し、前記元々の表面のシェーディング法線と調査された隣接する表面のシェーディング法線との重み付けされたブレンドである新しい法線を計算することと、
    それによって、前記シェーディング法線を変化させることによって、シェーディング効果によって丸みをレンダリング時にシミュレートするために、前記物体が実際に丸められていれば有するであろう外観に合致する前記表面法線の変形を生成することと、
    を含む、コンピュータグラフィックスシステムにおける方法
  2. 前記重み付けが、前記距離Rにおいて開始し、隣接面までの距離がゼロとなる点まで進み、
    重み関数が、この距離の関数として前記2つの法線のブレンド比を決定するのに使用される、請求項1に記載のコンピュータグラフィックスシステムにおける方法
  3. 異なる重み関数が、前記角のエッジの異なる見掛け上の輪郭を提供する、請求項2に記載のコンピュータグラフィックスシステムにおける方法
  4. 前記シェーディング法線の前記重み付けされた修正が、両方の隣接面がレンダリングされるときに、角の前記両方の隣接面に対して同様に実行され、
    それによって、前記両方の隣接表面の前記エッジ領域が、それぞれが他方に近づくにつれて視覚的に薄れる見掛け上のシェーディングを有する、請求項2に記載のコンピュータグラフィックスシステムにおける方法
  5. 前記隣接面までの距離がゼロとなる前記角の実際の幾何学的エッジにおいて、前記重み関数が、前記2つの表面法線の50/50のブレンドによって、前記両方の面に対して同じ結果を提供するよう、前記重み関数は選択され、それによって、不連続性が、前記エッジのシェーディングにおいて視覚的に知覚されることはなく、かつ、観察者によって滑らかであると知覚されることが可能であり、それによって、丸みのある角の錯覚を可能にする、請求項4に記載のコンピュータグラフィックスシステムにおける方法
  6. 画像レンダリング処理を用いて画像をレンダリングすることができ、かつ、シェーディングモデルを用いて、レンダリングされる前記画像にシェーディングを施すことができ、表面の点Pが、シェーディングされるときに、1つのシェーディング法線Nおよび1つの幾何学的法線Nを有すると仮定される、コンピュータグラフィックスシステムにおける方法であって、
    前記画像に含まれる物体の角の領域が、前記シェーディングモデルを用いてシェーディングされるときに、丸みのあるエッジの外観を観察者に提供するように、前記画像に含まれる物体の角の領域に存在する前記シェーディング法線を修正するステップを備え、
    前記修正するステップが、前記角の隣接領域において前記角の半径Rの範囲内に存在する隣接表面を調査する工程を備え、Rが、前記角の見掛け上の面取半径である、コンピュータグラフィックスシステムにおける方法
  7. 前記コンピュータグラフィックスシステムが、幾何学的プリミティブを含むシーン記述から構成された幾何学的表現に前記シェーディングモデルを適用することによって、前記画像をレンダリングすることができ、
    前記調査するステップが、前記角の半径Rの範囲内に存在する前記隣接表面を検出するのに使用することができる隣接情報を前記シーンに関連するデータ構造に問い合わせる工程を備える、請求項6に記載のコンピュータグラフィックスシステムにおける方法
  8. 前記調査するステップが、レイキャスティング処理を実行する工程を備え、
    前記レイキャスティング処理が、画像の現時点においてシェーディングされているプリミティブの前記幾何学的法線に対して接線方向にある2つのベクトルuおよびvによって定義される接平面を検出するステップを備え、
    ベクトル検出が、任意のベクトルを選択し、その任意のベクトルを前記幾何学的法線の前記平面内に投影して、前記ベクトルuを検出し、そして、外積を使用して、前記ベクトルvを検出することによって達成される、請求項7に記載のコンピュータグラフィックスシステムにおける方法
  9. 前記レイキャスティング処理が、選択された距離だけレイキャスティング処理のソース点を変位させるステップをさらに備える、請求項8に記載のコンピュータグラフィックスシステムにおける方法
  10. 前記ソース点が前記幾何学的法線ベクトルの負方向に沿って変位させられた場合、凸角が検出され、前記ソース点が正方向に沿って変位させられた場合、凹角が検出される、請求項9に記載のコンピュータグラフィックスシステムにおける方法
  11. 前記レイキャスティング処理が、前記ベクトルuおよび前記ベクトルvによって定義される平面内に存在するn個からなる一組の等しい間隔を置いて配置されたレイを放射し、表面ヒットを記録するステップをさらに備える、請求項9に記載のコンピュータグラフィックスシステムにおける方法
  12. 前記レイキャステング処理が、前記法線を修正するステップをさらに備え、キャスティングされたレイによるそれぞれのプリミティブヒットごとに、前記プリミティブのシェーディング法線Hが、前記ヒット点までの距離Dとともに、ヒット点において計算され、
    D>Rであれば、前記ヒットが無視されるが、D<Rであれば、
    に基づいて、重み係数が計算され、
    次いで、前記法線Hが、係数fによって重み付けされ、その結果が、現時点におけるシェーディング法線Nに加算される、請求項11に記載のコンピュータグラフィックスシステムにおける方法
  13. n個のすべてのレイが、送出されたとき、前記シェーディング法線Nが、単位長さを有するように再正規化され、
    次いで、新しいシェーディング法線が、前記画像をシェーディングするために前記シェーディングモデルによって使用され得る、請求項12に記載のコンピュータグラフィックスシステムにおける方法
  14. 前記新しいシェーディング法線が、前記画像をシェーディングするために前記シェーディングモデルによって使用される前に、バンプマッピングによってさらに修正され得る、請求項13に記載のコンピュータグラフィックスシステムにおける方法
  15. 前記処理が、前記法線を修正するステップをさらに備え、前記隣接情報を用いて検出されたそれぞれのプリミティブごとに、前記検出されたプリミティブのシェーディング法線Hが、検出されたプリミティブに対する最も近い垂直点Dにおいて計算され、さらに、点Dまでの距離が計算され、
    D>Rであれば、前記点が、無視されるが、D<Rであれば、
    に基づいて、重み係数が計算され、
    次いで、前記法線Hが、係数fによって重み付けされ、その結果が、現時点におけるシェーディング法線Nに加算される、請求項7に記載のコンピュータグラフィックスシステムにおける方法
  16. 単位長さを有するように前記シェーディング法線Nを再正規化し、新しいシェーディング法線を提供するステップと、
    前記画像をシェーディングするために前記新しいシェーディング法線を前記シェーディングモデルにおいて使用するステップと、
    を備える、請求項15に記載のコンピュータグラフィックスシステムにおける方法
  17. 前記新しいシェーディング法線が、前記画像をシェーディングするために前記シェーディングモデルによって使用される前に、バンプマッピングによってさらに修正され得る、請求項16に記載のコンピュータグラフィックスシステムにおける方法
  18. 画像をレンダリングすることができ、かつ、前記画像にシェーディングを施すことができるコンピュータグラフィックスシステムにおけるコンピュータで動作することができ、コンピュータ可読媒体上に記憶されたコンピュータ可読プログラムコードを備えたコンピュータプログラムプロダクトであって、
    前記コンピュータ可読プログラムコードが、
    前記シェーディングが前記コンピュータグラフィックスシステムによって前記画像に施される場合に、シェーディングされる前記画像が、前記画像に含まれる角を観察する際に丸みのある角の外観または錯視を観察者に提供することができるように、前記画像をレンダリング中に、前記コンピュータが、前記画像に含まれる物体の前記角の領域に存在するシェーディング法線を修正するのを可能にするために該コンピュータによって実行可能なコンピュータプログラムコードを備え、
    前記コンピュータプログラムコードが、さらに、
    前記コンピュータが、所定の面取半径Rを有する前記外観をシミュレートするために、前記角の領域に存在する元々のシェーディング法線に施される修正の量を計算するのを可能にするために、コンピュータによって実行することのできるコンピュータプログラムコードを備え、
    前記計算が、
    前記角の距離Rの範囲内に存在する表面においてそれらの表面のシェーディング法線を調査し、そして、前記元々の表面のシェーディング法線と調査された隣接する表面のシェーディング法線との重み付けされたブレンドである新しい法線を計算するステップと、
    それによって、前記シェーディング法線を変化させることによって、シェーディング効果によって丸みをレンダリング時にシミュレートするために、前記物体が実際に丸められていれば有するであろう外観に合致する前記表面法線の変形を生成するステップと、を含む、コンピュータプログラムプロダクト。
  19. 画像をレンダリングすることができ、かつ、前記画像にシェーディングを施すことができるコンピュータグラフィックスシステムにおけるコンピュータで動作することができるシステムであって、
    前記シェーディングが前記コンピュータグラフィックスシステムによって前記画像に施される場合に、シェーディングされる前記画像が、前記画像に含まれる角を観察する際に丸みのある角の外観または錯視を観察者に提供することができるように、前記画像をレンダリング中に、前記コンピュータが、前記画像に含まれる物体の前記角の領域に存在するシェーディング法線を修正するのを可能にする手段を備え、
    前記コンピュータが前記シェーディング法線を修正するのを可能にする前記手段が、さらに、
    前記コンピュータが、所定の面取半径Rを有する前記外観をシミュレートするために、前記角の領域に存在する元々のシェーディング法線に施される修正の量を計算するのを可能にするための手段を備え、
    前記計算が、
    前記角の距離Rの範囲内に存在する表面においてそれらの表面のシェーディング法線を調査し、そして、前記元々の表面のシェーディング法線と調査された隣接する表面のシェーディング法線との重み付けされたブレンドである新しい法線を計算するステップと、
    それによって、前記シェーディング法線を変化させることによって、シェーディング効果によって丸みをレンダリング時にシミュレートするために、前記物体が実際に丸められていれば有するであろう外観に合致する前記表面法線の変形を生成するステップと、を含む、システム。
JP2009525764A 2006-08-23 2007-08-22 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム Active JP4809480B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82331206P 2006-08-23 2006-08-23
US60/823,312 2006-08-23
PCT/US2007/076563 WO2008024869A2 (en) 2006-08-23 2007-08-22 Computer graphics methods and systems for generating images with rounded corners

Publications (2)

Publication Number Publication Date
JP2010501943A JP2010501943A (ja) 2010-01-21
JP4809480B2 true JP4809480B2 (ja) 2011-11-09

Family

ID=39107658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009525764A Active JP4809480B2 (ja) 2006-08-23 2007-08-22 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム

Country Status (5)

Country Link
US (1) US8049753B2 (ja)
EP (1) EP2062223A2 (ja)
JP (1) JP4809480B2 (ja)
CA (1) CA2661177A1 (ja)
WO (1) WO2008024869A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984424B2 (en) * 2009-02-03 2015-03-17 Microsoft Technology Licensing, Llc Layout of user interface elements
US10159552B2 (en) 2012-05-01 2018-12-25 C.R. Bard, Inc. Self adhering implantable mesh prosthesis with reduced insertion profile
US9396565B2 (en) 2013-06-07 2016-07-19 Apple Inc. Rendering borders of elements of a graphical user interface
US10621763B2 (en) 2016-07-28 2020-04-14 Microsoft Technology Licensing, Llc. Sketch-effect hatching
WO2020240497A1 (en) * 2019-05-31 2020-12-03 Applications Mobiles Overview Inc. System and method of generating a 3d representation of an object
US12285916B2 (en) * 2020-01-29 2025-04-29 Peridot Print Llc Graphical element surface displacements based on distance functions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04361380A (ja) * 1991-06-07 1992-12-14 Sekisui Chem Co Ltd 成形品設計装置
US6163319A (en) * 1997-02-28 2000-12-19 Silicon Graphics, Inc. Method, system, and computer program product for shading
JP2003186925A (ja) * 2001-12-14 2003-07-04 Ricoh Co Ltd 3次元形状処理装置および曲面内挿プログラム
JP2006268103A (ja) * 2005-03-22 2006-10-05 Namco Bandai Games Inc プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966134A (en) * 1996-06-28 1999-10-12 Softimage Simulating cel animation and shading
GB2329810B (en) * 1997-09-29 2002-02-27 Science Res Foundation Generation and use of compressed image data
US6441816B1 (en) * 1999-12-29 2002-08-27 Intel Corporation Method for modeling and rendering complex surfaces using local height maps
US20070139408A1 (en) * 2005-12-19 2007-06-21 Nokia Corporation Reflective image objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04361380A (ja) * 1991-06-07 1992-12-14 Sekisui Chem Co Ltd 成形品設計装置
US6163319A (en) * 1997-02-28 2000-12-19 Silicon Graphics, Inc. Method, system, and computer program product for shading
JP2003186925A (ja) * 2001-12-14 2003-07-04 Ricoh Co Ltd 3次元形状処理装置および曲面内挿プログラム
JP2006268103A (ja) * 2005-03-22 2006-10-05 Namco Bandai Games Inc プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム

Also Published As

Publication number Publication date
CA2661177A1 (en) 2008-02-28
US8049753B2 (en) 2011-11-01
JP2010501943A (ja) 2010-01-21
WO2008024869A2 (en) 2008-02-28
WO2008024869A3 (en) 2008-12-11
US20080129733A1 (en) 2008-06-05
EP2062223A2 (en) 2009-05-27

Similar Documents

Publication Publication Date Title
Schott et al. A directional occlusion shading model for interactive direct volume rendering
US9916684B2 (en) Generating portable three-dimensional print-preview renderings of three-dimensional models
US8217939B1 (en) Method and system for calculating visually improved edge voxel normals when converting polygon data to voxel data
US7528831B2 (en) Generation of texture maps for use in 3D computer graphics
US9367943B2 (en) Seamless fracture in a production pipeline
EP3035291B1 (en) Rendering based generation of occlusion culling models
JP2002520749A (ja) 完全にテクスチャリングされた3次元モデルを発生する方法及びシステム
JP4809480B2 (ja) 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム
US12524951B2 (en) Direct volume rendering apparatus using segment lighting values
US8854392B2 (en) Circular scratch shader
US20180005432A1 (en) Shading Using Multiple Texture Maps
US9019268B1 (en) Modification of a three-dimensional (3D) object data model based on a comparison of images and statistical information
US9007393B2 (en) Accurate transparency and local volume rendering
CN119648881A (zh) 基于光线追踪与光栅化的渲染方法、装置、设备及介质
JP4209129B2 (ja) グラフィックスモデルを表す複数のポリゴンを含むメッシュをレンダリングする方法
US9665955B1 (en) Pose-space shape fitting
JP2009521062A (ja) 二次元画像のシェーディングによる対象物の三次元形状のモデル化
JPH09128562A (ja) 3次元形状表示方法
CN114882162B (zh) 纹理图像的贴图方法、装置、电子设备和可读存储介质
AU2017228700A1 (en) System and method of rendering a surface
Phothong et al. Quality improvement of 3D models reconstructed from silhouettes of multiple images
Claux et al. Crack‐free rendering of dynamically tesselated B‐rep models
Krösl et al. LiteMaker: Interactive Luminaire Development using Progressive Photon Tracing and Multi-Resolution Upsampling.
US20260094375A1 (en) Generating three-dimensional (3d) images from images using machine learning models
Pardo Photogrammetry Workflow for Obtaining Low-polygon 3D Models Using Free Software

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110616

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: 20110719

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: 20110818

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4809480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250