(57)【要約】  システムは、形状のレンダリングにおいて２Ｄおよび３Ｄモデリングを組み合わせ、また、選択された形状パラメータまたは特徴の３Ｄモデルを生成するための３Ｄモデリングファクトリと、２Ｄテキストおよびテキスト効果ならびにいくつかの２Ｄ形状効果を生成するための前面ファクトリと、形状の基平面上にレンダリングされる効果を生成する基平面ファクトリと、前面ファクトリ、基平面ファクトリ、および３Ｄモデリングファクトリによって生成された２Ｄ効果および３Ｄ効果を合成するためのラスタライザ／合成エンジンとを含む。
2009508236.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄ形状のパラメータを選択するためのユーザインターフェースを提供するステップを有し、前記ユーザインターフェースは、前記３Ｄ形状に関する１つまたは複数の対応する２Ｄパラメータを選択するための１つまたは複数の制御を含むことを特徴とする形状をレンダリングする方法。
【請求項２】
前記２Ｄパラメータは前記３Ｄ形状に関する塗り潰しの色を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記塗り潰しの色の見た目は、前記３Ｄ形状の向きの変化に応じて実質的に一定のままであることを特徴とする請求項２に記載の方法。
【請求項４】
前記塗り潰しの色の見た目は、前記３Ｄ形状の照明の変化に応じて実質的に一定のままであることを特徴とする請求項２に記載の方法。
【請求項５】
前記２Ｄパラメータは前記３Ｄ形状に関する前記塗り潰しの色のグラデーションを含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記２Ｄパラメータは前記３Ｄ形状に関する線の色を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記２Ｄパラメータは前記３Ｄ形状に関する線の太さを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記２Ｄパラメータは２つ以上の形状がディスプレイ上にレンダリングされる順序を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ユーザインターフェースは、選択された３Ｄ形状が少なくとも１つのその他の形状の前にあるように見えるようにするためのユーザが選択可能な制御を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記ユーザインターフェースは、選択された３Ｄ形状が少なくとも１つのその他の形状の後ろにあるように見えるようにするためのユーザが選択可能な制御を含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ユーザインターフェースは、ディスプレイ上にレンダリングされている２つ以上の３Ｄ形状をグループ化するためのユーザが選択可能な制御を含むことを特徴とする請求項１に記載の方法。
【請求項１２】
２つ以上のグループ化された３Ｄ形状のグループ化を解除するためのユーザが選択可能な制御をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
３Ｄ形状のパラメータを選択するためのユーザインターフェースを提供ための手段を備え、前記ユーザインターフェースは、前記３Ｄ形状に関する１つまたは複数の対応する２Ｄパラメータを選択するための手段を提供するための手段を含むことを特徴とする形状をレンダリングするためのシステム。
【請求項１４】
前記２Ｄパラメータは前記３Ｄ形状に関する塗り潰しの色を含むことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記塗り潰しの色の見た目は、前記３Ｄ形状の向きの変化、または前記３Ｄ形状の照明の変化、またはそれらの変化の両方に応じて実質的に一定のままであることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記２Ｄパラメータは、前記３Ｄ形状に関する塗り潰しの色のグラデーションと、前記３Ｄ形状に関する線の色と、前記３Ｄ形状に関する線の太さと、２つ以上の形状がディスプレイ上にレンダリングされる順序とを含む群から選択される１つまたは複数のパラメータを含むことを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記ユーザインターフェースは、選択された３Ｄ形状が少なくとも１つのその他の形状の前にあるように見えるようにするための手段を含むことを特徴とする請求項１３に記載のシステム。
【請求項１８】
前記ユーザインターフェースは、選択された３Ｄ形状が少なくとも１つのその他の形状の後ろにあるように見えるようにするための手段を含むことを特徴とする請求項１３に記載のシステム。
【請求項１９】
前記ユーザインターフェースは、ディスプレイ上にレンダリングされている２つ以上の３Ｄ形状をグループ化するためのユーザが選択可能な手段を含むことを特徴とする請求項１３に記載のシステム。
【請求項２０】
２つ以上のグループ化された３Ｄ形状のグループ化を解除するためのユーザが選択可能な手段をさらに含むことを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２Ｄビットマップ上で３Ｄ効果をシミュレートする３Ｄグラフィックスのための２Ｄ編集メタファに関する。
【背景技術】
【０００２】
今日、ユーザがプレゼンテーションなどの本格的なビジネスグラフィックスを作成することを可能にするいくつかのツールが存在している。形状および画像を洗練するためのアプローチは３Ｄ技術を適用することである。通常、これは２つのやり方でなされる。すなわち、１つは２Ｄビットマップにおいてシミュレートされた３Ｄ効果の使用であり、このシミュレートされた３Ｄ効果の使用は実際の３Ｄモデルなしで３Ｄに見える形状および画像をもたらす。結果として得られるシミュレートされた３Ｄグラフィックスは、一部のユーザに対しては十分に３Ｄに見えない可能性がある。もう一方のアプローチは完全な３Ｄモデルを使用することである。このとき、ユーザは、表示されるべきアイテムの３Ｄモデルを構築する。概して、このアプローチは、ユーザが３Ｄモデリングと３Ｄモデリングツールを使用することとに習熟していることを必要とする。この「背景技術」情報は、特許請求の範囲に記載された主題によって対処されなければならない問題を特定するように意図されていない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のシミュレートされた３Ｄアプローチおよび３Ｄモデリングアプローチに関連する問題は、それらのアプローチが典型的なビジネスユースに関して十分でないことである。例えば、ユーザは、それらのユーザが３Ｄパースペクティブに効果的に持ち込みたい２Ｄ効果（例えば、グラデーション）を有する形状、またはそれらのユーザがその３Ｄモデルに対して画像のテクスチャマップ、グラデーション効果、または単純な影を使用したい複雑な３Ｄモデルを有する可能性がある。シミュレートされた３Ｄアプローチおよび３Ｄモデリングアプローチは、上記のシナリオの例に対する解決策の一部のみを別々に提供する。
【０００４】
以下で提示される実施形態は、１つのパイプラインに合成された３Ｄ効果および２Ｄ効果の両方の使用を可能にし、このことは本格的に見えるビジネスグラフィックスを生成する。ユーザは、システムの実施形態を使用するために（通常のビジネスユーザの間にあると思われる）３Ｄモデリングの詳細な理解を有する必要がない。
【課題を解決するための手段】
【０００５】
この「課題を解決するための手段」は、「発明を実施するための最良の形態」のセクションにおいて以下でさらに説明される概念の選択を簡素化された形態で導入するために提供される。この「課題を解決するための手段」は、特許請求の範囲に記載された主題の重要な特徴または必須の特徴を特定するように意図されておらず、特許請求の範囲に記載された主題の範囲を決定する助けとして使用されるように意図されてもいない。
【０００６】
記載される種々の実施形態の態様によれば、形状のレンダリングにおいて２Ｄおよび３Ｄモデリングを組み合わせるシステム。一態様において、システムは、選択された形状パラメータまたは特徴の３Ｄモデルを生成するための３Ｄモデリングファクトリ（ｆａｃｔｏｒｙ）と、２Ｄテキストおよびテキスト効果ならびにいくつかの２Ｄ形状効果（例えば、塗り潰し効果）を生成するための前面（ｆｒｏｎｔ  ｆａｃｅ）ファクトリと、形状の基平面（ｇｒｏｕｎｄ  ｐｌａｎｅ）上にレンダリングされる効果を生成する基平面ファクトリと、前面ファクトリ、基平面ファクトリ、および３Ｄモデリングファクトリによって生成された２Ｄおよび３Ｄ効果を合成するためのラスタライザ／合成エンジンとを含む。
【０００７】
前面ファクトリは、任意の２Ｄテキスト効果（例えば、影、グロー、反射）と、任意の２Ｄ形状効果と、任意の２Ｄ表面効果（例えば、塗り潰し、グラデーションによる（ｇｒａｄｉｅｎｔ）塗り潰し、画像など）と、形状の２Ｄジオメトリ（ｇｅｏｍｅｔｒｙ）とをレンダリングし、形状の前面に対してレンダリングされた２Ｄテキスト効果および２Ｄ表面効果を使用してテクスチャマップを生成する。これらの２Ｄ効果は、３Ｄ形状に適用されるときに維持される２Ｄメタファの一部である。基平面ファクトリは、（もしあれば）２Ｄ形状効果に関する基平面を生成する。さらに、テキストが３Ｄ効果を適用される場合、基平面ファクトリは、２Ｄテキスト効果に関する基平面を生成する。３Ｄモデリングファクトリは、形状の押し出し（ｅｘｔｒｕｓｉｏｎ）および面取り特性を定義することによって２Ｄ形状のジオメトリから３Ｄモデルを生成する。次に、３Ｄモデリングファクトリは、３Ｄモデルの前面にテクスチャをマッピングするための座標を生成する。次に、ラスタライザ／合成エンジンが、３Ｄモデリングファクトリからの（すなわち、３Ｄジオメトリと２Ｄテクスチャマップを伴う）結果として得られる形状を基平面ファクトリからの（１つまたは複数の）基平面と合成する。ラスタライザ／合成エンジンは、テクスチャ座標を使用してテクスチャを３Ｄモデルにマッピングする。
【０００８】
別の態様において、ユーザによって選択された形状の（１つまたは複数の）色が、形状の照明および／または向きとは無関係に維持される。
【０００９】
さらに別の態様において、３Ｄシーンにおいてパースペクティブ（ｐｅｒｓｐｅｃｔｉｖｅ）を制御するために形状がグループ化されることができる。例えば、グループ化されていない３Ｄ形状は、それらの３Ｄ形状がそれぞれ別個の消失点を有するように見えるようにレンダリングされる可能性がある。対照的に、グループ化された３Ｄ形状は、それらの３Ｄ形状が同じ消失点を有するように見えるようにレンダリングされることができる。したがって、ユーザは、馴染みのあるグループの２Ｄの編集の概念を使用することができ、２Ｄグラフィックスを編集することからの知識を３Ｄ世界に適用することができる。グループ化は直感的に正しいことを行い、したがって、ユーザが３Ｄ編集可能な新しい世界に適応することを容易にする。
【００１０】
さらに別の態様において、システムは、形状がレンダリングされる順序をユーザが制御することを可能にする。１つの実装において、システムは、形状が３Ｄ空間内でどのように並べられて見えるのかをユーザが制御することを可能にするために、一部の２Ｄツールにおいて使用される「前に送る」、「後ろに送る」などの２Ｄのメタファを使用する。例えば、ユーザは、特定のパースペクティブにおいて形状Ａが形状Ｂの「前に」あるが、形状Ｃの「後ろに」あることを指定することができる。また、形状をその他の形状の前または後ろに順序付けするために２Ｄ形状をｚ順序付けする馴染みのある概念が、３次元空間内の３Ｄ形状を順序付けすることに適用されることができる。
【００１１】
別の態様において、システムは、２Ｄコマンドが３Ｄとの関連で適用されることができるように、それらの２Ｄコマンドを送り、再利用するユーザインターフェースを提供する。
【００１２】
実施形態は、コンピュータプロセスとしてか、（モバイルハンドヘルドコンピューティング装置を含む）コンピュータシステムとしてか、またはコンピュータプログラム製品などの製品として実装されることができる。コンピュータプログラム製品は、コンピュータシステムによって読み取り可能であり、コンピュータプロセスを実行するための命令からなるコンピュータプログラムを符号化するコンピュータ記憶媒体であってよい。コンピュータプログラム製品は、コンピューティングシステムによって読み取り可能であり、コンピュータプロセスを実行するための命令からなるコンピュータプログラムを符号化する搬送波上の伝搬信号であってもよい。
【００１３】
別途指定されない限り様々な図を通じて同様の参照番号が同様の部分を示す以下の図面を参照して、非限定的で非網羅的な実施形態が説明される。
【発明を実施するための最良の形態】
【００１４】
本明細書の一部を形成し、種々の実施形態を実施するための具体的な例示的実施形態を示す添付の図面を参照して、種々の実施形態が以下でより完全に説明される。しかし、その他の実施形態は多くの異なる形態で実施されることができ、本明細書で説明される実施形態に限定されると解釈されるべきでなく、むしろ、これらの実施形態は本開示が綿密で完全になるように提供される。実施形態は方法、システム、または装置として実施されることができる。したがって、実施形態は、ハードウェア実装、完全なソフトウェア実装、またはソフトウェアの態様とハードウェアの態様とを組み合わせる実装の形態を取ることができる。したがって、以下の詳細な説明は限定的な意味に取られるべきでない。
【００１５】
種々の実施形態の論理操作は、（１）コンピューティングシステム上で動作する一連のコンピュータによって実行されるステップとして、および／または（２）コンピューティングシステム内の相互接続された機械モジュールとして実装される。この実装は、実施形態を実装するコンピューティングシステムの性能要件に応じた選択の問題である。したがって、本明細書において説明される実施形態を構成する論理操作は、代替的に、操作、ステップ、またはモジュールと呼ばれる。
【００１６】
例示的な２Ｄ／３Ｄ合成レンダリングシステム
図１は、形状のレンダリングにおいて２Ｄおよび３Ｄモデリングを組み合わせる例示的なシステム１００を示す。この実施形態において、システム１００は、２Ｄ／３Ｄエンジン１０２と、図１においてアプリケーション１０４−１から１０４−Ｎとして示される１つまたは複数のアプリケーションプログラムとを含む。アプリケーション１０４−１から１０４−Ｎは２Ｄ／３Ｄエンジンを使用して、アプリケーション１０４−１から１０４−Ｎのユーザによって入力された２Ｄ形状および形状効果に３Ｄ効果を与える。さらに、２Ｄ／３Ｄエンジン１０２は、形状に関連するテキストに３Ｄ効果を与えることもできる。一実施形態によれば、２Ｄ／３Ｄエンジン１０２は２Ｄ形状の入力を受け取り、その２Ｄ形状のいくつかの部分の３Ｄモデルを生成し、その結果、レンダリングの出力は２Ｄ形状および効果（ならびに、もしあれば２Ｄテキストおよび効果）から生成される部分と３Ｄモデルから生成される部分とを含む。この組み合わされたアプローチは、（３Ｄモデルを含まない）上述のシミュレートされた３Ｄアプローチおよび純粋な３Ｄモデリングアプローチとは異なる。２Ｄ／３Ｄエンジン１０２の実装例が、図２に関連して以下で説明される。
【００１７】
「共用の」２Ｄ／３Ｄエンジンの実施形態が上述されたが、代替実施形態において、３Ｄ形状を生成することができる各アプリケーションは、別個の２Ｄ／３Ｄエンジン１０２とは対照的に組み込みの２Ｄ／３Ｄエンジンを有することができる。
【００１８】
２Ｄ／３Ｄエンジンの例示的なコンポーネント
図２は、一実施形態による２Ｄ／３Ｄエンジン１０２（図１）の例示的なコンポーネントを示す。この実施形態において、２Ｄ／３Ｄエンジン１０２は、３Ｄモデリングファクトリ２０２と、前面ファクトリ２０４と、基平面ファクトリ２０６と、ラスタライザ／合成エンジン２０８とを含む。３Ｄモデリングファクトリは、選択された形状パラメータまたは特徴の３Ｄモデルを生成する。前面ファクトリ２０４は、２Ｄテキストおよびテキスト効果ならびにいくつかの２Ｄ形状効果（例えば、塗り潰し効果）を生成する。基平面ファクトリ２０６は、形状の基平面上にレンダリングされる効果を生成する。ラスタライザ／合成エンジン２０８は、前面ファクトリ２０４、基平面ファクトリ２０６、および３Ｄモデリングファクトリ２０２によって生成された２Ｄ効果と３Ｄ効果とを合成する。
【００１９】
動作中、２Ｄ／３Ｄエンジン１０２が矢印２００によって示されるように（例えば、図１のアプリケーション１０４−１などのアプリケーションによって提供されるユーザインターフェースを使用してユーザによって選択された）２Ｄ効果を有する形状を受け取るとき、前面ファクトリ２０４は形状を以下の部分、すなわち、（もしあれば）形状に含まれるテキストと、前面の２Ｄ表面（すなわち、形状の前面の表面効果）と、（もしあれば）テキストに適用された３Ｄ効果と、任意の基平面効果（例えば、形状の基平面にレンダリングされる影、グロー、反射効果）と、形状のジオメトリ（例えば、円、長方形、矢印など）とに分解する。
【００２０】
この実施形態において、前面ファクトリ２０４は、任意の２Ｄテキスト効果（例えば、影、グロー、反射）と、任意の２Ｄ形状効果と、任意の２Ｄ表面効果（例えば、塗り潰し、グラデーションによる塗り潰し、画像など）と、形状の２Ｄジオメトリとをレンダリングし、形状の前面に対してレンダリングされた２Ｄテキスト効果および２Ｄ表面効果を使用してテクスチャマップを生成する。この実施形態によれば、前面ファクトリ２０４は、形状の前面が任意のシミュレートされた照明条件の下で形状のあらゆる向きに対してその前面の２Ｄ表面効果（例えば、塗り潰しの色）を維持するようにテクスチャマップを生成する。典型的なビジネスユーザに関して、２Ｄ表面効果の維持機能は、入力された２Ｄ表面効果（例えば、塗り潰しの色）が（この表面効果を有する形状が向きを変えられるときに表面効果がどのように見える可能性があるのかに反して）ユーザが結果として本当に望む効果であるので、（たとえその表面効果がリアリティの低いものに見える可能性があるとしても）望ましい。
【００２１】
さらに、一実施形態において、前面ファクトリ２０４は（例えば、塗り潰し効果または画像を含む）テクスチャを１画素分拡大して、３Ｄモデルの前面のすべての部分が画像による塗り潰し（ｉｍａｇｅ  ｆｉｌｌ）によって覆われることを保証する。
【００２２】
この実施形態において、基平面ファクトリ２０６は、（もしあれば）２Ｄ形状効果に関する基平面を生成する。さらに、テキストに３Ｄ効果を適用する場合、基平面ファクトリ２０６は、２Ｄテキスト効果に関する基平面を生成する。基平面ジェネレータ２０６が、影、ぼかし、および反射などの２Ｄ効果を取得し、それらの２Ｄ効果を背景平面に描画する。３Ｄ効果が（例えば、以下で説明されるように）３Ｄモデリングファクトリによって形状に追加されるとき、基平面が生成され、影、ぼかし、および反射などの２Ｄ形状効果がその基平面上にレンダリングされる。基平面は、形状の後ろにレンダリングされる。３Ｄテキストおよびその効果に関する基平面は形状の前にレンダリングされる。この機能は３Ｄシーン内でほぼ２Ｄ操作の使用を可能にし、リアリティが高く見える３Ｄシーンを効果的にもたらす。
【００２３】
この実施形態において、３Ｄモデリングファクトリ２０２は、形状の押し出しおよび面取り特性を定義することによって２Ｄ形状のジオメトリから３Ｄモデルを生成する。次に、３Ｄモデリングファクトリは、３Ｄモデルの前面にテクスチャをマッピングするための座標を生成する。例えば、３Ｄモデリングファクトリは、面取りの周りを２Ｄ表面効果（例えば、画像または色）で「覆う」。
【００２４】
さらに、一実施形態において、３Ｄモデリングファクトリ２０２は、３Ｄ形状の外形をそれらの基礎となる２Ｄジオメトリに基づいて生成する。外形の一例が図３に示される。この例において、ユーザが形状に対して外形機能を有効化するとき、形状の「輪郭」がより太くされる。外形の色はユーザによって定義可能である。例えば、暗い背景上の暗い形状を際だたせるために白い外形が使用されることができる。３Ｄモデリング中に外形を生成するのではなく、外形は、基礎となる２Ｄ形状と、（形状３０２として示される）２Ｄ形状から生成され、押し出しおよび面取りに適用された３Ｄモデルの部分とから生成される。結果が形状３０４として示される。
【００２５】
この実施形態において、次に、ラスタライザ／合成エンジン２０８が、３Ｄモデリングファクトリ２０２からの（すなわち、３Ｄジオメトリと２Ｄテクスチャマップを伴う）結果として得られる形状を基平面ファクトリ２０６からの（１つまたは複数の）基平面と合成する。ラスタライザ／合成エンジン２０８は、テクスチャ座標を使用してテクスチャを３Ｄモデルにマッピングする。
【００２６】
３Ｄテキストをレンダリングするための例示的なコンポーネント
一実施形態（図示せず）において、３Ｄテキスト用に別個の前面ファクトリと、基平面ファクトリと、３Ｄモデリングファクトリとが存在する。前面ファクトリはテキストの２Ｄ効果をレンダリングする。３Ｄモデリングファクトリは、テキストの押し出しおよび面取り特性を定義し、２Ｄテキスト効果をテキストの３Ｄモデル上にマッピングすることによってテキストの３Ｄモデルを生成する。基平面ファクトリは３Ｄテキストに対して別個の基平面を生成し、次に、影、ぼかし、および反射などの２Ｄ効果がこの基平面上にレンダリングされる。この基平面は、テキスト効果が見えるように形状の上に位置する。３Ｄテキストの一例が図４に示される。
【００２７】
２Ｄ入力形状から３Ｄグラフィックを生成するための例示的な操作フロー
図５は、一実施形態による、２Ｄ形状入力から３Ｄグラフィックを生成することにおける操作フロー５００を示す流れ図である。操作フロー５００は、任意の好適なコンピューティング環境において実行されることができる。例えば、操作フロー４００は、２Ｄ／３Ｄエンジン１０２（図２）などのシステムによって実行されることができる。したがって、操作フロー５００の説明は、図２のコンポーネントのうちの少なくとも１つに当てはまる可能性がある。しかし、図２のコンポーネントに対する任意のそのような言及は説明のみを目的とし、図２の実装は操作フロー５００のための非限定的な環境であることが理解されるべきである。この操作フローの例において、アプリケーション１０４−１（図１）などのアプリケーションを使用するユーザは、レンダリングされるべき形状を生成済みである。
【００２８】
ブロック５０２において、形状がテキストを有する場合、２Ｄレンダリングエンジンが、（例えば、アプリケーションを介してユーザによって有効化されたように）テキストに適用されるべき任意の２Ｄテキスト効果をレンダリングする。一実施形態において、２Ｄレンダリングエンジンは標準的な２Ｄレンダリングエンジンであり、前面ファクトリ２０４（図２）などの前面ファクトリの一部である。
【００２９】
ブロック５０４において、（例えば、ユーザによって有効化されたように）３Ｄテキスト効果が適用される場合、（例えば、基平面ファクトリ２０６と同様であるが形状の代わりにテキストを対象とする）基平面ファクトリがテキストに関する３Ｄ基平面を生成する。この基平面は形状の基平面とは別である。
【００３０】
この例において、ブロック５０２および５０４は、３Ｄ効果が形状のテキストに適用されるべきである場合に限り実行される。
【００３１】
ブロック５０６において、２Ｄ形状効果が形状に適用される。一実施形態において、上述の２Ｄレンダリングエンジンが形状に２Ｄ形状効果（例えば、影効果、グロー効果、反射効果）を適用する。
【００３２】
ブロック５０８において、形状の基平面が生成され、２Ｄ形状効果がその形状の基平面に関連付けられる。一実施形態において、基平面ファクトリ２０６などの基平面ファクトリが基平面を生成し、２Ｄ形状効果（例えば、影効果、グロー効果、反射効果）を形状の基平面に関連付ける。
【００３３】
ブロック５１０はブロック５０２と同じであるが、３Ｄ効果が形状のテキストに適用されないシナリオにおいて実行される。
【００３４】
ブロック５１２において、２Ｄ表面効果が形状に適用される。一実施形態において、前面ファクトリの２Ｄレンダリングエンジンが表面効果（例えば、塗り潰し、グラデーションによる塗り潰し、画像など）を形状に適用する。
【００３５】
ブロック５１４において、ブロック５１０および５１２からの２Ｄテキスト効果および２Ｄ表面効果を使用してテクスチャマップが生成される。一実施形態において、前面ファクトリがテクスチャマップを生成する。
【００３６】
ブロック５１６において、２Ｄジオメトリが形状から取得される。一実施形態において、３Ｄモデリングファクトリ２０２（図２）などの３Ｄモデリングファクトリが形状から２Ｄジオメトリを取得する。
【００３７】
ブロック５１８において、３Ｄモデルが、ブロック５１６において取得された２Ｄジオメトリから生成される。一実施形態において、上述の３Ｄモデリングファクトリが、形状に関する押し出しおよび面取りパラメータを定義することによって３Ｄモデルを生成する。
【００３８】
ブロック５２０において、ブロック５１４からのテクスチャマップがブロック５１８からの３Ｄモデルにマッピングされる。一実施形態において、３Ｄモデリングファクトリが、形状の前面がブロック５１０および５１２からの２Ｄテキスト、テキスト効果、および表面効果を有するようにテクスチャマップを３Ｄモデルにマッピングする。さらに、３Ｄモデリングファクトリは、テクスチャマップを押し出しおよび面取りなどの３Ｄの特徴に適用する（例えば、面取りおよび押し出しの周りのつなぎ部分（ｆｉｌｌ）を「覆う」）こともできる。
【００３９】
ブロック５２２において、ブロック５０８からの基平面と合成されたブロック５２０からの３Ｄ形状をもとにビットマップが生成される。一実施形態において、ラスタライザ／合成エンジン２０８（図２）などのラスタライザ／合成エンジンがビットマップを生成する。さらに、形状のテキストに３Ｄ効果が適用されるシナリオにおいて、ラスタライザ／合成エンジンはブロック５０４からの基平面も使用してビットマップを生成する。
【００４０】
操作フロー５００が特定の順序で順番に示され、説明されたが、その他の実施形態において、ブロックに示された操作は異なる順序で、複数回、および／または並列に実行されることができる。さらに、いくつかの実施形態において、ブロックに示された１つまたは複数の操作は別のブロックに分けられるか、省略されるか、または組み合わされることができる。
【００４１】
図６は、一実施形態による、塗り潰しのための２Ｄメタファを使用するユーザインターフェース（ＵＩ）からのスクリーンショットの例６００を示す。この例において、ユーザは、形状（すなわち、丸い角および丸い面取りを有する３Ｄの長方形）の表面に対して色を選択することができる。ＵＩ機能は２Ｄツール用の色の塗り潰しを選択するためのＵＩ機能と同様であり、有利なことに、このことは２Ｄツールに熟達したユーザが図２に示された２Ｄ／３Ｄエンジンなどの２Ｄ／３Ｄエンジンに容易に適応することができるようにする。
【００４２】
さらに、前面ファクトリ２０４（図２）は、照明による影響を受けることなしに３Ｄオブジェクトの前面の色が調整されることを可能にする。一実施形態において、これは、以下の制約を満足する予め設定された照明形態をユーザに提供することによって達成される。
【００４３】
（１）ｓｕｍ［Ｌｄ＊（Ｎ・Ｌｄｉｒ）］＝１−環境光
（２）Ｍｉｎ［Ｖｓ＊ｓｕｍ［Ｌｓ＊（Ｎ・Ｈ）Ｐ］
式（１）において、Ｌｄは平行光の色であり、Ｌｄｉｒは光の方向ベクトルであり、Ｎは（２Ｄとの関連においてほぼ必ず（０，０，−１）である）前面の面法線である。環境光は、環境の寄与の色および強度である。
【００４４】
式（２）に関して、Ｖｓは形状の鏡面反射の色であり、Ｌｓは光の鏡面反射の強度であり、Ｎは（この場合もほぼ必ず（０，０，−１）である）面法線であり、Ｈは中間ベクトル（ｈａｌｆｗａｙ  ｖｅｃｔｏｒ）であり、Ｐは表面の光沢（ｇｌｏｓｓｉｎｅｓｓ）である。式（２）は最小化され、理想的には０であるべきである。これは、Ｖｓを０に設定すること、鏡面反射の強度を低くすること、またはＰを非常に大きくすることなどの様々なやり方で達成されることができる。
【００４５】
式（１）を満足し、式（２）を最小化する光の組合せを設計することによって、３Ｄ形状の前面は、どのような照明が使用され、３Ｄ形状がどのような向きを有する場合もその前面の色を維持する。この最適化は、３Ｄ形状の前面の法線が（０，０，−１）の方向を指すことが最も多いという仮定を我々が行うことができるので可能である。
【００４６】
図７は、一実施形態による、３Ｄ空間内の形状の異なる順序付けの一例を示す。この例おいて、図７に示されたＵＩが、形状がレンダリングされる順序をユーザが制御することを可能にする。１つの実装において、システムは、形状が３Ｄ空間内でどのように並べられて見えるのかをユーザが制御することを可能にするために、一部の２Ｄツールにおいて使用されるように「前に送る」、「後ろに送る」などの２Ｄのメタファを使用する。例えば、スクリーンショット７０２において、形状の順序は、形状７０４が形状７０６の後ろにあり、さらに形状７０６が形状７０８の後ろにあるようになっている。ユーザは、ＵＩを使用して形状７０４、７０６、および７０８の順序を変更することができる。例えば、スクリーンショット７１０において、ユーザは、形状７０６に対して「後ろに送る」コマンドを使用することによって順序を変更済みである。代替実施形態において、「前に送る」および「後ろに送る」コマンドは、３Ｄ空間内で木レンガのように形状を積み重ねることによって実行される。この実施形態は図示されない。さらに別の実施形態において、上述の「前に送る」および「後ろに送る」コマンドに加えてこの「積み重ねて前に送る（ｓｔａｃｋｉｎｇ  ｓｅｎｄ  ｔｏ  ｆｒｏｎｔ）」および「積み重ねて後ろに送る（ｓｔａｃｋｉｎｇ  ｓｅｎｄ  ｔｏ  ｂａｃｋ）」コマンドが使用されることができる。
【００４７】
図８は、一実施形態による、３Ｄパースペクティブ内のグループ化されていない形状８０２の一例と、３Ｄパースペクティブ内のグループ化された形状８１２の一例とを示す図である。図８において見られることができように、グループ化されていない形状８０２の各形状は別々の消失点を持つように見え、それによってよりリアリティの低い形状の３Ｄパースペクティブをもたらす。対照的に、（一部の２Ｄツールにおいて利用可能なグループ化コマンドと同様の「グループ化」コマンドを使用してグループ化されている）グループ化された形状８１２は、共通の消失点を有するように見える。この共通の消失点は、よりリアリティの高い形状の３Ｄパースペクティブを提供する。
【００４８】
特定の説明された機能、構造、または特徴が少なくとも１つの実施形態に含まれることを意味する「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「例示的一実施形態（ａｎ  ｅｘａｍｐｌｅ  ｅｍｂｏｄｉｍｅｎｔ）」に対する言及が本明細書を通じてなされた。したがって、そのような言い回しは、ちょうど１つを超える実施形態を指す可能性がある。さらに、記載の機能、構造、または特徴は、１つまたは複数の実施形態において任意の好適なやり方で組み合わせられることができる。
【００４９】
しかし、当業者は、実施形態が具体的な詳細のうちの１つまたは複数なしに、またはその他の方法、リソース、素材などと共に実施され得ることを認識するであろう。その他の場合、よく知られた構造、リソース、または操作は、単に実施形態の態様を曖昧にすることを避けるために詳細に示されていないか、または説明されていない。
【００５０】
実施形態およびアプリケーションの例が示され、説明されたが、本発明は上述の厳密な構成およびリソースに限定されないことを理解されたい。当業者に明らかな種々の修正、変更、および変形が、特許請求の範囲に記載された発明の範囲を逸脱することなしに、本明細書において開示された方法およびシステムの構成、操作、および詳細においてなされることができる。
【図面の簡単な説明】
【００５１】
【図１】一実施形態による、複数のアプリケーションおよび２Ｄ／３Ｄエンジンを有する例示的なシステムを示す構成図である。
【図２】一実施形態による、図１の２Ｄ／３Ｄエンジンの例示的なコンポーネントを示す構成図である。
【図３】一実施形態による、形状の２Ｄジオメトリに基づく外形を有する３Ｄ形状を示す図である。
【図４】一実施形態による、形状のテキストに適用される３Ｄテキストおよびテキスト効果を示す図である。
【図５】一実施形態による、２Ｄ形状入力から３Ｄグラフィックを生成することにおける操作フローを示す流れ図である。
【図６】一実施形態による、塗り潰しのための２Ｄメタファを使用するユーザインターフェース（ＵＩ）からのスクリーンショットの例を示す図である。
【図７】一実施形態による、３Ｄ空間内の形状の異なる順序付けの一例を示す図である。
【図８】一実施形態による、３Ｄパースペクティブ内のグループ化されていないオブジェクトの一例と、３Ｄパースペクティブ内のグループ化されたオブジェクトの一例とを示す図である。
【図１】
2009508236.tif 000003
【図２】
2009508236.tif 000004
【図３】
2009508236.tif 000005
【図４】
2009508236.tif 000006
【図５】
2009508236.tif 000007
【図６】
2009508236.tif 000008
【図７】
2009508236.tif 000009
【図８】
2009508236.tif 000010
【国際調査報告】
2009508236.tif 000011
2009508236.tif 000012