(57)【要約】【課題】  繰り返してマッピングすると模様、パターンが連続的に現れるテクスチャを高速に作成する方法の提供にある。【解決手段】  ３次元オブジェクトが配置された空間を２次元平面に描画して得られる描画領域２００を、仮想的に複数の合同な領域２０Ａ〜２０Ｉに分割する。領域２０Ａ〜２０Ｉの対応する画素同士を互いに重ね合わせることで所望のテクスチャを得る。重ね合わせる際には、ＺバッファのＺ値を比較し、視点より近い画素のデータが常に表示されるようにターゲット領域の色情報およびＺ値を更新していく。【選択図】  図５
2006107384.tif 000002
【特許請求の範囲】
【請求項１】
空間に３次元オブジェクトを配置し、該３次元オブジェクトを視点からの奥行きを表すＺ値を参照しながら陰面処理して描画領域に描画するステップと、
前記描画領域を互いに合同な複数の領域に分割するステップと、
分割された領域を、その中の一の領域である所定のターゲット描画領域に合成して描画するステップと、
を含み、前記所定のターゲット描画領域に合成して描画する際には、重なる画素同士のＺ値を比較した結果にもとづき画素データおよびＺ値を更新し、分割された領域を合成することにより得られるデータを目的のテクスチャデータとすることを特徴とするテクスチャ作成方法。
【請求項２】
前記空間に配置されるすべての３次元オブジェクトは、少なくともその一部が、分割された領域のうち前記所定のターゲット描画領域に含まれるように配置されたことを特徴とする請求項１に記載のテクスチャ作成方法。
【請求項３】
前記分割された領域を前記ターゲット描画領域に合成して描画するステップに先立って、前記所定のターゲット描画領域に前記３次元オブジェクトよりも視点から遠いＺ値を用いて背景となるテクスチャを描画するステップを含むことを特徴とする請求項１に記載のテクスチャ作成方法。
【請求項４】
請求項１に記載のテクスチャ作成方法によって作成されたテクスチャの各画素のＺ値を、前記複数の３次元オブジェクトが配置された空間内の視点に対して垂直な所定の基準面からの高さ情報へと変換して固有の高さ情報として保持することを特徴とする高さ情報付きテクスチャ作成方法。
【請求項５】
請求項１に記載のテクスチャ作成方法によって作成されるテクスチャの各画素について法線方向を計算し、保持することを特徴とする法線マップテクスチャ作成方法。
【請求項６】
単位シートの境界を構成する各辺のうち、向かい合う辺上の対応する画素のＺ値が等しく、繰り返し配置したときに、隣接する単位シート同士の境界線でのＺ値が一致するように作成された単位シート。
【請求項７】
前記単位シートは、コンピュータ上で仮想的に作成されることを特徴とする請求項６に記載の単位シート。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元コンピュータグラフィックス技術に関し、特にテクスチャの作成方法に関する。
【背景技術】
【０００２】
コンピュータグラフィックス（ＣＧ）、特に３次元グラフィックの分野においては、より実写映像に近いグラフィックを得るために、単純なポリゴンで表現されるオブジェクトの表面にテクスチャと呼ばれる実際の物体を摸した画像を貼り付けるテクスチャマッピング技術が用いられている。
【０００３】
たとえば、３次元グラフィック表示を行うゲームプログラムにおいては、洞窟内の岩や人間の皮膚を表現するために、ポリゴンの表面に岩や皮膚の質感を摸した画像データを有するテクスチャをマッピングしてフォトリアリスティックな画像、映像を生成している。また、オブジェクトの表面の凹凸を表現するために、３次元モデルの表面は平坦にもかかわらず、あたかも物体の表面が凹凸しているかのように表現するバンプマップとよばれる手法も用いられる。
【０００４】
ここで、物体の表面の広範囲にわたって、ある模様や凹凸を繰り返し表現したい場合には、単位テクスチャを繰り返しマッピングすることになる。この際、隣接する単位テクスチャ間で模様、パターンが連続的となるように単位テクスチャが作成されていないと、単位テクスチャの境界線が不自然に目立ってしまう。
【０００５】
繰り返してマッピングすることにより模様やパターンが連続的に現れるテクスチャをゲームで使用したい場合、プログラム段階で予めテクスチャを用意しておく方法も考えられる。ところが、あらかじめ作成しておいたテクスチャでは、視点や光源の位置は決められてしまっているため、所望の質感を表現するのにふさわしくない場合も考えられる。さらに、時間とともに色彩や凹凸が変化するような物体の表面を表現するような場合には、あらかじめ用意したテクスチャでは限界があった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、繰り返してマッピングすると模様、パターンが連続的に現れるテクスチャを高速に作成する方法の提供にある。
【課題を解決するための手段】
【０００７】
本発明のある態様のテクスチャ作成方法は、空間に３次元オブジェクトを配置し、該３次元オブジェクトを視点からの奥行きを表すＺ値を参照しながら陰面処理して描画領域に描画する。この描画領域を互いに合同な複数の領域に分割し、分割された領域を所定のターゲット描画領域に合成して描画する。ターゲット描画領域に合成して描画する際には、重なる画素同士のＺ値を比較した結果にもとづき画素データおよびＺ値を更新し、分割された領域を合成を行う。このようにして作成されたテクスチャは、繰り返してマッピングしたときに３次元的な模様、パターンが連続的に現れる。
【発明の効果】
【０００８】
本発明に係るテクスチャ作成方法によれば、繰り返してマッピングすると模様、パターンが連続的に現れるテクスチャを高速に作成することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態の詳細について説明する前に、その概要を述べる。
【００１０】
本発明のある態様はテクスチャ作成方法に関する。このテクスチャ作成方法は、空間に３次元オブジェクトを配置し、該３次元オブジェクトを視点からの奥行きを表すＺ値を参照しながら陰面処理して描画領域に描画するステップと、描画領域を互いに合同な複数の領域に分割するステップと、分割された領域を、その中の一の領域である所定のターゲット描画領域に合成して描画するステップと、を含む。所定のターゲット描画領域に合成して描画する際には、重なる画素同士のＺ値を比較した結果にもとづき画素データおよびＺ値を更新し、分割された領域を合成することにより得られるデータを目的のテクスチャデータとする。
【００１１】
この態様によれば、繰り返して貼り付けることが可能なテクスチャを高速かつ効率的に作成することができる。
【００１２】
空間に配置されるすべての３次元オブジェクトは、少なくともその一部が、分割された領域のうち所定のターゲット描画領域に含まれるように配置されてもよい。
このような条件のもと３次元オブジェクトを配置することにより、描画する必要のあるオブジェクトのみが配置されるため、冗長度を減らして、より高速にテクスチャを作成することができる。
【００１３】
分割された領域をターゲット描画領域に合成して描画するステップに先立って、所定のターゲット描画領域に３次元オブジェクトよりも視点から遠いＺ値を用いて背景となるテクスチャを描画するステップを含んでもよい。
背景となるテクスチャは、単なる模様であってもよいし、単なる背景色、あるいは、あらかじめ作成しておいたラップラウンドテクスチャなどであってもよい。
【００１４】
本発明の別の態様は、高さ情報付きテクスチャ作成方法である。この方法は、上述のテクスチャ作成方法によって作成されたテクスチャの各画素のＺ値を、複数の３次元オブジェクトが配置された空間内の視点に対して垂直な所定の基準面からの高さ情報へと変換して固有の高さ情報として保持する。
【００１５】
この態様によれば、Ｚ値を高さ情報に変換するのみで、高さ情報付きの３次元テクスチャを容易に作成することができる。このような高さ情報付きの３次元テクスチャは、演算処理によってディスプレースメントマップとして使用することが可能となり、物体の表面の凹凸などをよりリアルに表現することができる。なお、Ｚ値から高さ情報への変換処理は、平行投影を行う場合などにおいては、Ｚ値がそのまま高さ情報を表すため、特別な処理を必要とせずに高さ情報付きの３次元テクスチャを得ることができる。
【００１６】
本発明のさらに別の態様は、法線マップテクスチャ作成方法である。この法線マップテクスチャ方法は、上述のテクスチャ作成方法によって作成されるテクスチャの各画素についてそのＺ値や高さ情報から法線方向を計算し、保持する。
【００１７】
この態様によれば、バンプマップなどに利用可能で、かつ繰り返し連続的にマッピングすることができる法線マップテクスチャを作成することができる。
【００１８】
本発明のさらに別の態様は、単位シートである。この単位シートは、その境界を構成する各辺のうち、向かい合う辺上の対応する画素のＺ値が等しく、繰り返し配置したときに、隣接する単位シート同士の境界線でのＺ値が一致するように作成されている。
「単位シート」とは、有体物としては、壁に貼り付ける壁紙や、床に敷き詰めるマット、タイルなどの一構成単位をいう。また、無体物としては、上述の壁紙やタイルを実際に製造する際に、コンピュータ上で設計する際に金型や印刷パターンとして必要な電子的データ、あるいは、コンピュータプログラム上で使用されるグラフィックパターンなどをいう。したがって、単位シートは、コンピュータ上で仮想的に作成されていてもよい。
また、単位シートが有体物の場合のＺ値とは、単位シートが有体物として形成される以前のコンピュータ上での電子データの段階での奥行き情報を意味している。
【００１９】
このような単位シートは、上述のテクスチャ作成方法により電子的にデータ作成することができる。
【００２０】
なお、以上の構成要素の任意の組合せや、各構成要素や表現を方法、装置、システムなどの間で相互に置換したものもまた、その一態様として有効である。
【００２１】
以下、本発明の実施の形態について図をもとに詳細に説明する。
図１は、本実施の形態に係るテクスチャ作成方法により作成されるテクスチャ２０を示す。このテクスチャは、各画素ごとに、ＲＧＢ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ）の輝度を表す色情報とともに、視点からの奥行きを表すＺ値をデータとして持っている。
図２は、図１に示すテクスチャ２０を平面上にタイル状に貼り付けた状態を示している。図２に示すように、テクスチャの境界面において、模様やパターンが連続して現れている。以下、このような繰り返してマッピングすると、模様やパターンが連続して現れるテクスチャをラップラウンドテクスチャという。以下、このラップラウンドテクスチャを高速に作成する方法について説明する。
【００２２】
図３は、ラップラウンドテクスチャの作成方法のフローチャートを示す。
まず、テクスチャとして表現が望まれる物体の質感を表現するのにふさわしい３次元オブジェクトを配置する（Ｓ１００）。たとえば、岩の凹凸を表現したい場合には、円柱、楕円球などの３次元オブジェクト、あるいは予め作成しておいた岩の凹凸の一部分を表すオブジェクトなどを所定の空間内１００に配置してモデリングする。
【００２３】
このテクスチャは、単純な３次元的な幾何学模様であってもよい。この場合には、所望の幾何学模様を構成する３次元オブジェクトを配置していけばよい。図４は、所定の空間１００に３次元オブジェクトが配置されるようすを示す。空間内には、円柱型オブジェクト５０、三角錐型オブジェクト６０などが配置されている。
【００２４】
次に、カメラすなわち視点の位置、方向、ビューボリュームなどの描画パラメータを決定する（Ｓ２００）。
次に、たとえばＺバッファ法などによって視点からの奥行き情報を参照しつつ、３次元オブジェクトを描画領域に描画する（Ｓ３００）。図４の上部に示される座標軸Ｚは、カメラの視線方向を表しており、Ｚ座標が大きいほど、視点からの距離が遠いことを意味する。ここでの「描画領域」とは、一般的にはフレームバッファおよびＺバッファとして扱われるメモリ上の領域を意味し、「描画領域に描画する」とは、これらのメモリ上のある領域に画像処理の結果を格納することを意味するものであり、実際の表示画面への表示を意味するものではない。
【００２５】
Ｚバッファ法などによって視点からの奥行き情報を参照して３次元オブジェクトを描画領域に描画する際に、平行投影によって陰面処理する場合、視点を含む平面からの距離を視点からの奥行きを表すＺ値として用いればよい。また、透視投影を行う場合には、視点からの距離あるいは視点を含む平面からの距離のいずれをＺ値として用いてもよい。本実施の形態に係るテクスチャ作成方法においては、いずれをＺ値として用いてもラップラウンドテクスチャを作成することが可能である。
【００２６】
なお、透視投影を行う場合においては、描画時の視点と使用時の視点がずれる場合があるため、テクスチャの端の領域において若干の歪みが発生する場合も考えられるが、視野角が大きすぎたり、厳密な形状が要求されない場合には、十分に実用的なテクスチャを作成することができる。
【００２７】
本実施の形態においては、各画素ごとの色情報であるＲＧＢ値はフレームバッファに、視点からの奥行き情報であるＺ値はＺバッファに書き込まれる。すなわち、３次元オブジェクトを描画領域に描画するとは、ビュー変換および陰面（陰線）処理を行い、仮想的な３次元モデルを平面画像に変換することと同義ととらえることもできる。
【００２８】
図５は、図４の空間内に配置された３次元オブジェクトを描画領域２００に描画した画像データを示す。この描画領域２００は、破線によって仮想的に３行×３列の合同な領域２０Ａ〜２０Ｉに分割される（Ｓ４００）。この合同な領域のうち、中央に配置される領域２０Ａをターゲット領域とし、このターゲット領域２０Ａに各領域２０Ｂ〜２０Ｉに描画された描画データを順次合成する（Ｓ５００）。合成後に、このターゲット領域２０Ａに書き込まれたデータが最終的なテクスチャデータとなるため、分割された領域の大きさが、目的とするテクスチャのサイズに対応することになる。逆にいえば、所望のテクスチャの大きさによって、３次元オブジェクトを配置する空間の大きさ、視点の位置などを決定すればよい。
【００２９】
描画領域２００の分割の結果、図４の円柱型オブジェクト５０は、ターゲット領域２０Ａと領域２０Ｆにまたがって描画され、三角錐型オブジェクト６０は、ターゲット領域２０Ａと領域２０Ｂにまたがって描画されることになる。
【００３０】
次に、領域同士の合成について説明する。図６は、領域同士を合成する様子を模式的に示している。領域２０Ａ〜２０Ｉは合同であり、それぞれＭ行×Ｎ列の画素で構成されている。各領域の第ｉ行ｊ列の画素データのうち、ＲＧＢ値からなる色情報をＣｉｊとし、奥行き情報を表すＺ値をＺｉｊと表すことにする。さらに、例えば領域２０Ａの色情報をＣｉｊ（Ａ）、領域２０Ｂの色情報をＣｉｊ（Ｂ）とすることにより各領域ごとの画素データを区別するものとする。
【００３１】
各領域の合成は、異なる領域内の対応する画素同士、すなわちｉおよびｊの値が等しい画素同士の画素データを以下の条件に従って比較して更新することにより行われる。
領域２０αと領域２０βを合成し、あらたな領域２０γを作成する場合、それぞれの第ｉ行ｊ列の画素についてＺ値同士をそれぞれの領域のＺバッファを参照して比較する。その結果、Ｚｉｊ（α）＞Ｚｉｊ（β）のとき、領域２０βに描画されている画素データの方が視点に近いオブジェクトの一部であることを意味するから、合成の結果あらたに得られる領域２０γの第ｉ行ｊ列の色情報Ｃｉｊ（γ）をＣｉｊ（β）に更新し、Ｚｉｊ（γ）をＣｉｊ（β）に更新する。逆に、Ｚｉｊ（α）＜Ｚｉｊ（β）のとき、領域２０αに描画されている画素データの方が視点に近いオブジェクトの一部であることを意味するから、合成の結果あらたに得られる領域２０γの第ｉ行ｊ列の色情報Ｃｉｊ（γ）をＣｉｊ（α）に更新し、Ｚｉｊ（γ）をＣｉｊ（α）に更新する。
この処理を、第１行１列から第Ｍ行Ｎ列のすべての画素について行うことによって、領域２０αと領域２０βの合成が完了する。こうして得られた領域２０γは、視点から近いオブジェクト、すなわちＺ値の小さなオブジェクトが順次上書きされたものとなる。
【００３２】
上述の合成方法について図を参照しながら説明する。図７は、ターゲット領域２０Ａと、領域２０Ｂ〜２０Ｉを合成する様子を示している。
本実施の形態における各領域同士の合成は、はじめにターゲット領域２０Ａと領域２０Ｂを合成し、合成して得られたデータを新たなターゲット領域２０Ａ’とする。こうして得られた新たなターゲット領域２０Ａ’と、領域２０Ｃを合成しターゲット領域２０Ａ’’とする。このように、順次得られるターゲット領域２０Ａに領域２０Ｂ〜２０Ｉまでを順番に合成していくことにより、すべての領域を合成することができる。ここで、領域の合成は、必ずしもターゲット領域に順次合成していく必要はなく、別途メモリ領域を用意し、この領域に合成後のデータを格納して目的のテクスチャデータを作成してもよい。
【００３３】
円柱型オブジェクト５０は、ターゲット領域に５０ａとして描画されている。また、三角錐型オブジェクト６０は、ターゲット領域に６０ａとして、領域２０Ｂに６０ｂとして描画されている。円柱型オブジェクト５０は、三角錐型オブジェクト６０よりも高さが高いため、視点からの距離は近い。したがって、ターゲット領域２０Ａに描画されている５０ａに含まれる各画素のＺ値は、領域２０Ｂに描画されている６０ｂに含まれる各画素のＺ値よりも大きく、ターゲット領域２０Ａと領域２０Ｂの合成の結果、５０ａと６０ｂが重なる画素については、５０ａの画素データが残ることになる。このようにして、すべての画素についてＺ値を比較して画素データの更新を行った結果、図７に２０Ａ’で示される新たなターゲット領域を得ることができる。
【００３４】
こうして得られたターゲット領域２０Ａ’と、別の領域２０Ｃ〜２０Ｉを順次合成していくことにより、最終的にターゲット領域２０Ａには、すべての領域が合成されたテクスチャデータ２０が作成される。
【００３５】
なお、この合成に際しては、３次元オブジェクトが一切描画されていない領域については、合成処理を行わなくてもよい。たとえば、図４に示す領域のうち、領域２０Ｉ、２０Ｃ、２０Ｅについては、何も描画されていないため、これらの領域については、合成処理を省略することができる。逆に何も描画されていない画素のＺ値は視点から遠い大きな値を持っているため、合成しても特に問題はない。
【００３６】
また、領域を合成する順番も作成されるテクスチャデータには影響を与えず、任意の順番で合成していけばよい。したがって、ターゲット領域という概念は、便宜的に使用され、テクスチャを作成する際には、領域２０Ａ〜２０Ｉのいずれをターゲット領域と定義してもよい場合もある。
【００３７】
領域の合成は以下のように行ってもよい。図８は、空間内に配置された３次元オブジェクトを描画領域２００に描画した画像データを示す。まず、この描画領域２００内に目的とするテクスチャのサイズとなるターゲット領域２０Ａを決定する。
次に、このターゲット領域２０Ａを中心として周囲を領域２０Ｂ〜２０Ｌに分割する。この領域２０Ｂ〜２０Ｌの領域の中で、ターゲット領域２０Ａに含まれるオブジェクトが存在する領域２０Ｂ、２０Ｃ、２０Ｄ、２０Ｆ、２０Ｇ、２０Ｈは合成する必要がある。領域２０Ｉ、２０Ｋ、２０Ｌにはオブジェクトは存在しないため、合成してもしなくてもよい。また、領域２０Ｅのように、ターゲット領域２０Ａに含まれるオブジェクトは存在しないが、その領域にのみ含まれるオブジェクト７０が存在する場合には、合成してもしなくてもよい。
【００３８】
ここで領域２０Ｊについて検討すると、領域２０Ｃと共通して含まれるオブジェクト８０が存在する。領域２０Ｃは合成すべき領域であるので、領域２０Ｊを合成しなければ、オブジェクト８０が不連続となってしまいラップラウンドしなくなってしまう。したがって、この領域２０Ｊについても合成する必要がある。
【００３９】
以上をまとめると、まずターゲット領域２０Ａを中心として、その隣接する領域について合成すべきかを判断する。さらに合成すべき領域と隣接する領域のうち、それまでに合成すべきとされた領域に含まれるオブジェクトを含む領域についても合成すべき領域として設定する。このようにして順次合成すべき領域を設定し、それらの領域と隣接する領域について合成すべきかを判断していき、必要な領域をすべて合成することによってもラップラウンドテクスチャを作成することができる。
【００４０】
以上のようにして作成されたテクスチャは、境界を構成する各辺のうち、向かい合う辺上の対応する画素のＺ値が等しく、繰り返し配置したときに、隣接するテクスチャ同士の境界線でのＺ値が一致するように作成されている。図９は、本実施の形態に係るテクスチャ作成方法よって得られたテクスチャデータ２０をタイル状に繰り返しマッピングした状態を示しており、連続した模様、パターンが繰り返し現れるラップラウンドテクスチャとなっていることがわかる。上述の方法によれば、図３に示す手順に従った演算処理によってこのようなテクスチャを高速に作成することができるため、ゲームのプログラムなどにおいて、視点の位置をリアルタイムで変更しながら、さまざまなテクスチャを作成することができる。
【００４１】
たとえば、ユーザや名前をゲームに取り込み、テクスチャとして使用したい場合など、あらかじめテクスチャとして用意できない場合にも以上の方法によってラップラウンド可能なテクスチャを作成することができる。また、位置や方向、大きさ、ライティング、描画されるオブジェクト等の組み合わせが多すぎて、すべての組み合わせについてテクスチャを作成しておくのが現実的では無い場合にも、リアルタイムでテクスチャを作成できる利益を享受することができる。
さらに、ユーザにテクスチャをデザインさせ、そのテクスチャをゲームで使用する場合にも、リアルタイムで作成する必要があるため、本実施の形態に係るテクスチャ作成方法を利用することができる。
【００４２】
また、リアルタイムで、空間に配置するオブジェクトを移動させながらテクスチャを作成することにより、動くラップラウンドテクスチャとして利用することができる。たとえば、３次元グラフィックのアニメーションにおいて空に浮かぶ雲を表現したい場合などにも用いることができる。
【００４３】
このようなラップラウンドテクスチャは、たとえば２次元の平面にタイル状にマッピングすることができる。この場合には、テクスチャデータのＲＧＢ値からなる色情報のみが参照されることになる。
【００４４】
また、このラップラウンドテクスチャは、ＲＧＢ値のみを参照して、３次元オブジェクトの表面にマッピングすることも可能であり、たとえば３次元オブジェクトに一周させてマッピングしても、境目のない連続的なパターンを表現することができる。
【００４５】
さらに、このラップラウンドテクスチャは、上述の２次元の平面テクスチャとしてだけでなく、奥行き情報のＺ値を有する３次元テクスチャとして使用することも可能である。すなわち、テクスチャの作成過程において、各領域の合成後に得られたターゲット領域の色情報Ｃｉｊ（Ａ）とともに、奥行き情報Ｚｉｊ（Ａ）も保持しておき、この奥行き情報を、テクスチャを貼り付ける面からの高さ情報に変換することによって、３次元コンピュータグラフィックにおいてポリゴンなど物体の表面にテクスチャを貼り付け、テクスチャのもつ高さ情報を利用して、さまざまな表現を行うことが可能となる。こうしたテクスチャデータは、境目の無い連続的なディスプレースメントマップとして使用することができる。
【００４６】
また、テクスチャを作成する過程において、フレームバッファに代えて、あるいは、フレームバッファに加えて各画素ごとの法線データを格納する法線バッファを用意し、法線マップを生成してもよい。すなわち、描画領域２００に３次元オブジェクトを描画し、描画領域を分割して合成した後に得られるターゲット領域の奥行き情報Ｚｉｊ（Ａ）からターゲット領域内の各画素の法線方向を算出し、これを法線バッファに書き込むことにより法線テクスチャを得ることができる。なお、法線方向の計算アルゴリズムについては、当業者にとって周知、慣用の技術を用いて行うことができるため、ここでの説明は省略する。
【００４７】
以上の方法により、連続してマッピングすると境界面において法線方向が連続となるラップラウンド法線マップテクスチャを作成することができる。このような法線データ付きテクスチャによって、バンプマップなどを境目無く連続的にマッピングすることが可能となるため、３次元グラフィックの表現の幅を広げることが可能となる。この法線マップテクスチャも、リアルタイムに高速に作成することができるため、バンプマップを時間とともに変化させることにより、画面に表示される物体の表面の凹凸が時間とともに変化するような表現を行うことが可能となる。
【００４８】
上述のように作成されたテクスチャは、電子計算機上で仮想的に生成されたものであるが、これをもとに作成した実際の壁紙やタイルなどの単位シートも本発明の一実施の形態として有効である。
たとえば、凹凸のない平面のシートを作成したい場合には、上述の方法によって生成されたテクスチャの電子データを、シートを形成する材料に印刷することによって、実際に繰り返し貼り付けることのできる単位シートを作成することができる。
また、３次元的な単位シートとしては、表面に凹凸を有する壁紙やタイルなどが考えられる。たとえば、花柄のデザインのタイルであって、花の模様が浮き出ているようなタイルを構成する単位シートを作成する場合には、上述の方法により作成された３次元テクスチャの電子データをもとに、ＣＡＤをもちいて金型を作成し、この金型をもとに同一のタイルを作成することもできる。
【００４９】
上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５０】
以上の説明では、描画領域２００を正方形または長方形とし、分割して得られるターゲット領域、すなわち最終的なテクスチャデータも正方形または長方形の場合について説明を行ったが、領域の形状には様々なバリエーションが考えられる。
【００５１】
図１０（ａ）〜（ｄ）は、描画領域２００および分割して得られる領域のバリエーションを示す。図１０（ａ）のように、描画領域２００を正方形または長方形に変えて、平行四辺形としてもよい。この場合、合同な領域２０Ａ〜２０Ｉも平行四辺形となる。
【００５２】
図１０（ｂ）は、正六角形の描画領域２００が、正六角形の合同な領域２０Ａ〜２０Ｇに分割されている。テクスチャの形状を正六角形とすることにより、タイル状にマッピングする際に、境界領域が目立ちにくくなるという効果が期待できる。
【００５３】
図１０（ｃ）は、中心角θの扇形の描画領域２００が、中心角θ’の合同な３つの扇形に分割されている。このとき領域２０Ａをターゲット領域として、領域２０Ａ〜２０Ｃを合成することにより、平面の円に貼り付けたときに連続的なパターンが現れるラップラウンドテクスチャとして用いることができる。また、扇形のテクスチャは、円錐の側面にマッピングすることが可能となる。この場合、マッピング対象となる円錐の形状に応じて描画領域の扇形の中心角を調節すればよい。
【００５４】
図１０（ｄ）は、半径Ｒの扇形の中心を半径ｒの扇形によって切り取って得られる描画領域２００が合同な形状に分割されている。この場合、円錐台の側面に連続的にマッピングすることができる。図１０（ｄ）の描画領域についても、マッピング対象となる円錐台の形状にあわせて中心角θおよびθ’、半径Ｒおよびｒを調節すればよい。
【００５５】
描画領域２００に描画されたオブジェクトは、図５においては２つの領域にまたがるように配置されるが、大きなオブジェクトを３つ以上の領域にまたがるように配置してもよい。この場合においても、すべての領域を合成することによりラップラウンドテクスチャを作成することができる。
【００５６】
描画領域を分割する際には、縦、あるいは横一方向にのみ分割してもよい。この場合には、分割した方向に連続的な模様、パターンが現れるラップラウンドテクスチャが生成される。
【００５７】
ターゲット領域２０Ａ以外の領域のみに含まれるオブジェクトは、合成の結果結局、ターゲット領域２０Ａに上書きされることになるため、いたずらに描画領域を広げることになる。たとえば、図４の領域２０Ｉにのみ含まれる球が存在する場合、その球ははじめからターゲット領域２０Ａの対応する位置に配置しておけばよいことになるため、処理としては冗長となる。そこで、３次元オブジェクトを配置する際には、各オブジェクトの少なくとも一部はターゲット領域２０Ａに含まれるように配置することにより、処理を簡略化することができる。
【００５８】
３次元オブジェクトを配置して描画領域２００に描画する際に、あらかじめ無限遠のＺ値を用いてフレームバッファを所望の背景色で塗りつぶしておいてもよい。また、背景として、あらかじめ作成しておいたテクスチャを用いてもよい。
【図面の簡単な説明】
【００５９】
【図１】本実施の形態に係るテクスチャ作成方法により作成されたテクスチャを示す図である。
【図２】図１に示すテクスチャを平面上にマッピングした状態を示す図である。
【図３】ラップラウンドテクスチャの作成方法のフローチャートを示す図である。
【図４】所定の空間に３次元オブジェクトが配置されるようすを示す図である。
【図５】図４の空間内に配置された３次元オブジェクトを描画領域に描画した画像データを示す図である。
【図６】領域同士を合成する様子を模式的に示す図である。
【図７】ターゲット領域２０Ａと、領域２０Ｂ〜２０Ｉを合成する様子を示す図である。
【図８】合成すべき領域の判定方法について説明するための図である。
【図９】本実施の形態に係るテクスチャ作成方法よって得られたテクスチャデータをタイル状に繰り返しマッピングした状態を示す図である。
【図１０】図１０（ａ）〜（ｄ）は、描画領域２００および分割して得られる領域の変形例を示す図である。
【符号の説明】
【００６０】
２０  テクスチャデータ、  ２０Ａ  ターゲット領域、  ２０Ｂ〜２０Ｉ  領域、  １００  空間、  ２００  描画領域。
【図１】
2006107384.tif 000003
【図２】
2006107384.tif 000004
【図３】
2006107384.tif 000005
【図４】
2006107384.tif 000006
【図６】
2006107384.tif 000007
【図１０】
2006107384.tif 000008
【図５】
2006107384.tif 000009
【図７】
2006107384.tif 000010
【図８】
2006107384.tif 000011
【図９】
2006107384.tif 000012
【手続補正書】
【提出日】平成17年8月26日(2005.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
空間に３次元オブジェクトを配置し、該３次元オブジェクトを視点からの奥行きを表すＺ値を参照しながら陰面処理して描画領域に描画するステップと、
前記描画領域を互いに合同な複数の領域に分割するステップと、
分割された領域を、所定のターゲット描画領域に合成して描画するステップと、
を含み、前記所定のターゲット描画領域に合成して描画する際には、重なる画素同士のＺ値を比較した結果にもとづき画素データおよびＺ値を更新し、分割された領域を合成することにより得られるデータを目的のテクスチャデータとすることを特徴とするテクスチャ作成方法。
【請求項２】
前記空間に配置されるすべての３次元オブジェクトは、少なくともその一部が、分割された領域から選択された１つの領域に含まれるように配置されたことを特徴とする請求項１に記載のテクスチャ作成方法。
【請求項３】
前記分割された領域を前記ターゲット描画領域に合成して描画するステップに先立って、前記所定のターゲット描画領域に前記３次元オブジェクトよりも視点から遠いＺ値を用いて背景となるテクスチャを描画するステップを含むことを特徴とする請求項１に記載のテクスチャ作成方法。
【請求項４】
請求項１に記載のテクスチャ作成方法によって作成されたテクスチャの各画素のＺ値を、前記複数の３次元オブジェクトが配置された空間内の視点に対して垂直な所定の基準面からの高さ情報へと変換して固有の高さ情報として保持することを特徴とする高さ情報付きテクスチャ作成方法。
【請求項５】
請求項１に記載のテクスチャ作成方法によって作成されるテクスチャの各画素について法線方向を計算し、保持することを特徴とする法線マップテクスチャ作成方法。
【請求項６】
単位シートの境界を構成する各辺のうち、向かい合う辺上の対応する画素のＺ値が等しく、繰り返し配置したときに、隣接する単位シート同士の境界線でのＺ値が一致するように作成された単位シート。
【請求項７】
前記単位シートは、コンピュータ上で仮想的に作成されることを特徴とする請求項６に記載の単位シート。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
各領域の合成は、異なる領域内の対応する画素同士、すなわちｉおよびｊの値が等しい画素同士の画素データを以下の条件に従って比較して更新することにより行われる。
領域２０αと領域２０βを合成し、あらたな領域２０γを作成する場合、それぞれの第ｉ行ｊ列の画素についてＺ値同士をそれぞれの領域のＺバッファを参照して比較する。その結果、Ｚｉｊ（α）＞Ｚｉｊ（β）のとき、領域２０βに描画されている画素データの方が視点に近いオブジェクトの一部であることを意味するから、合成の結果あらたに得られる領域２０γの第ｉ行ｊ列の色情報Ｃｉｊ（γ）をＣｉｊ（β）に更新し、Ｚｉｊ（γ）をＺｉｊ（β）に更新する。逆に、Ｚｉｊ（α）＜Ｚｉｊ（β）のとき、領域２０αに描画されている画素データの方が視点に近いオブジェクトの一部であることを意味するから、合成の結果あらたに得られる領域２０γの第ｉ行ｊ列の色情報Ｃｉｊ（γ）をＣｉｊ（α）に更新し、Ｚｉｊ（γ）をＺｉｊ（α）に更新する。
この処理を、第１行１列から第Ｍ行Ｎ列のすべての画素について行うことによって、領域２０αと領域２０βの合成が完了する。こうして得られた領域２０γは、視点から近いオブジェクト、すなわちＺ値の小さなオブジェクトが順次上書きされたものとなる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
領域の合成は以下のように行ってもよい。図８は、空間内に配置された３次元オブジェクトを描画領域２００に描画した画像データを示す。まず、この描画領域２００内に目的とするテクスチャのサイズとなるターゲット領域２０Ａを決定する。
次に、このターゲット領域２０Ａを中心として周囲を領域２０Ｂ〜２０Ｌに分割する。この領域２０Ｂ〜２０Ｌの領域の中で、ターゲット領域２０Ａに含まれるオブジェクトが存在する領域２０Ｂ、２０Ｃ、２０Ｄ、２０Ｆ、２０Ｇ、２０Ｈは合成する必要がある。領域２０Ｉ、２０Ｋ、２０Ｌにはオブジェクトは存在しないため、合成してもしなくてもよい。また、領域２０Ｌのように、ターゲット領域２０Ａに含まれるオブジェクトは存在しないが、その領域にのみ含まれるオブジェクト７０が存在する場合には、合成してもしなくてもよい。